func procLookupOpts(opts []LookupOption) (lookupOptions, error) {
	result := lookupOptions{
		ctx: context.Background(),
	}

	// Apply the options
	for _, opt := range opts {
		if err := opt.apply(&result); err != nil {
			return lookupOptions{}, err
		}
	}

	// Make sure we have a key
	if result.key == nil {
		return lookupOptions{}, ErrNoKey
	}

	return result, nil
}
// procLookupOpts processes a list of options and returns a
// constructed options structure.
procLookupOpts processes a list of options and returns a
constructed options structure.
// procLookupOpts processes a list of options and returns a // constructed options structure .
func procLookupOpts(opts []LookupOption) (lookupOptions, error) {
	result := lookupOptions{
		ctx: context.Background(),
	}
	for _, opt := range opts {
		if err := opt.apply(&result); err != nil {
			return lookupOptions{}, err
		}
	}
	if result.key == nil {
		return lookupOptions{}, ErrNoKey
	}
	return result, nil
}
func procLookupOpts ( opts [ ] LookupOption ) ( lookupOptions , error ) { result := lookupOptions { ctx : context . Background ( ) , } for _ , opt := range opts { if err := opt . apply ( & result ) ; err != nil { return lookupOptions { } , err } } if result . key == nil { return lookupOptions { } , ErrNoKey } return result , nil }
procLookupOpts processes a list of options and returns a
constructed options structure.
procLookupOpts processes a list of options and returns a constructed options structure .
// Apply the options // Make sure we have a key