boosty
1package auth
2
3import (
4"encoding/json"
5"os"
6)
7
8type Option func(a *Auth) error
9
10func WithFile(file string) Option {
11return func(a *Auth) error {
12data, err := os.ReadFile(file)
13if err != nil {
14return err
15}
16
17if err = json.Unmarshal(data, &(a.info)); err != nil {
18return err
19}
20
21a.file = file
22
23return nil
24}
25}
26
27func WithInfo(info Info) Option {
28return func(a *Auth) error {
29a.info = info
30
31return nil
32}
33}
34
35func WithInfoUpdateCallback(callback Callback) Option {
36return func(a *Auth) error {
37a.callback = callback
38
39return nil
40}
41}
42