From e8f7a7e32906f0b9ee47482c389fdb230c8581f7 Mon Sep 17 00:00:00 2001 From: juancwu Date: Tue, 5 May 2026 15:01:38 +0000 Subject: [PATCH] refactor: change the way default values are set in service constructor --- service/service.go | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/service/service.go b/service/service.go index 95d2fee..c048482 100644 --- a/service/service.go +++ b/service/service.go @@ -39,27 +39,30 @@ func New(s store.Store, opts Options) (*Service, error) { return nil, errors.New("pase: store is required") } - if opts.IDGenerator == nil { - opts.IDGenerator = DefaultIDGenerator() + idGenerator := DefaultIDGenerator() + if opts.IDGenerator != nil { + idGenerator = opts.IDGenerator } + operationTimeout := DefaultOperationTimeout if opts.OperationTimeout < 0 { return nil, errors.New("pase: OperationTimeout must be non-negative") - } else if opts.OperationTimeout == 0 { - opts.OperationTimeout = DefaultOperationTimeout + } else if opts.OperationTimeout != 0 { + operationTimeout = opts.OperationTimeout } + magicLinkTTL := DefaultMagicLinkTTL if opts.MagicLinkTTL < 0 { return nil, errors.New("pase: MagicLinkTTL must be non-negative") - } else if opts.MagicLinkTTL == 0 { - opts.MagicLinkTTL = DefaultMagicLinkTTL + } else if opts.MagicLinkTTL != 0 { + magicLinkTTL = opts.MagicLinkTTL } return &Service{ store: s, - idGenerator: opts.IDGenerator, - operationTimeout: opts.OperationTimeout, - magicLinkTTL: opts.MagicLinkTTL, + idGenerator: idGenerator, + operationTimeout: operationTimeout, + magicLinkTTL: magicLinkTTL, }, nil }