@databuddy/sdk 2.3.30 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/index.d.mts +2 -2
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.mjs +1 -1
- package/dist/node/index.d.mts +34 -80
- package/dist/node/index.d.ts +34 -80
- package/dist/node/index.mjs +12 -244
- package/dist/react/index.d.mts +4 -47
- package/dist/react/index.d.ts +4 -47
- package/dist/react/index.mjs +21 -103
- package/dist/shared/@databuddy/{sdk.iTv-9VIB.d.mts → sdk.DOtKE9NQ.d.mts} +5 -11
- package/dist/shared/@databuddy/{sdk.iTv-9VIB.d.ts → sdk.DOtKE9NQ.d.ts} +5 -11
- package/dist/shared/@databuddy/sdk.GM10R1Kp.mjs +46 -0
- package/dist/shared/@databuddy/{sdk.Clxo9P3a.mjs → sdk.P9GHqNXr.mjs} +1 -1
- package/dist/shared/@databuddy/sdk.Ugr1p2j9.mjs +601 -0
- package/dist/shared/@databuddy/sdk.rnu91OSC.d.mts +81 -0
- package/dist/shared/@databuddy/sdk.rnu91OSC.d.ts +81 -0
- package/dist/vue/index.d.mts +8 -28
- package/dist/vue/index.d.ts +8 -28
- package/dist/vue/index.mjs +29 -65
- package/package.json +1 -1
- package/dist/shared/@databuddy/sdk.CALvx07o.mjs +0 -208
- package/dist/shared/@databuddy/sdk.CdLp6SQb.d.mts +0 -132
- package/dist/shared/@databuddy/sdk.CdLp6SQb.d.ts +0 -132
- package/dist/shared/@databuddy/sdk.DE24-JrU.mjs +0 -559
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
/** Flag evaluation result from API */
|
|
2
|
-
interface FlagResult {
|
|
3
|
-
enabled: boolean;
|
|
4
|
-
value: boolean | string | number;
|
|
5
|
-
payload: Record<string, unknown> | null;
|
|
6
|
-
reason: string;
|
|
7
|
-
variant?: string;
|
|
8
|
-
}
|
|
9
|
-
/** User context for flag evaluation */
|
|
10
|
-
interface UserContext {
|
|
11
|
-
userId?: string;
|
|
12
|
-
email?: string;
|
|
13
|
-
/** Organization ID for org-level rollouts (all org members get same result) */
|
|
14
|
-
organizationId?: string;
|
|
15
|
-
/** Team ID for team-level rollouts (all team members get same result) */
|
|
16
|
-
teamId?: string;
|
|
17
|
-
properties?: Record<string, unknown>;
|
|
18
|
-
}
|
|
19
|
-
/** SDK configuration */
|
|
20
|
-
interface FlagsConfig {
|
|
21
|
-
/** Client ID (website or organization ID) */
|
|
22
|
-
clientId: string;
|
|
23
|
-
/** API URL (default: https://api.databuddy.cc) */
|
|
24
|
-
apiUrl?: string;
|
|
25
|
-
/** User context for evaluation */
|
|
26
|
-
user?: UserContext;
|
|
27
|
-
/** Disable flag evaluation entirely */
|
|
28
|
-
disabled?: boolean;
|
|
29
|
-
/** Enable debug logging */
|
|
30
|
-
debug?: boolean;
|
|
31
|
-
/** Skip persistent storage (browser only) */
|
|
32
|
-
skipStorage?: boolean;
|
|
33
|
-
/** Session is loading - defer evaluation */
|
|
34
|
-
isPending?: boolean;
|
|
35
|
-
/** Auto-fetch all flags on init (default: true) */
|
|
36
|
-
autoFetch?: boolean;
|
|
37
|
-
/** Environment name */
|
|
38
|
-
environment?: string;
|
|
39
|
-
/** Cache TTL in ms - after this, cache is invalid (default: 60000) */
|
|
40
|
-
cacheTtl?: number;
|
|
41
|
-
/** Stale time in ms - after this, revalidate in background (default: cacheTtl/2) */
|
|
42
|
-
staleTime?: number;
|
|
43
|
-
}
|
|
44
|
-
/** Flag status for clear state management */
|
|
45
|
-
type FlagStatus = "loading" | "ready" | "error" | "pending";
|
|
46
|
-
/** Synchronous flag state for React hooks */
|
|
47
|
-
interface FlagState {
|
|
48
|
-
/** Whether the flag is enabled (true/false) */
|
|
49
|
-
on: boolean;
|
|
50
|
-
/** @deprecated Use `on` instead */
|
|
51
|
-
enabled: boolean;
|
|
52
|
-
/** Current status: loading, ready, error, or pending */
|
|
53
|
-
status: FlagStatus;
|
|
54
|
-
/** Whether the flag is still loading */
|
|
55
|
-
loading: boolean;
|
|
56
|
-
/** @deprecated Use `status === 'ready'` instead */
|
|
57
|
-
isLoading: boolean;
|
|
58
|
-
/** @deprecated Use `status === 'ready'` instead */
|
|
59
|
-
isReady: boolean;
|
|
60
|
-
/** The flag's value (boolean, string, or number) */
|
|
61
|
-
value?: boolean | string | number;
|
|
62
|
-
/** Variant name for multivariate flags */
|
|
63
|
-
variant?: string;
|
|
64
|
-
}
|
|
65
|
-
/** Feature state returned by useFeature hook */
|
|
66
|
-
interface FeatureState {
|
|
67
|
-
/** Whether the feature is enabled */
|
|
68
|
-
on: boolean;
|
|
69
|
-
/** Whether the flag is loading */
|
|
70
|
-
loading: boolean;
|
|
71
|
-
/** Current status */
|
|
72
|
-
status: FlagStatus;
|
|
73
|
-
/** The flag's value */
|
|
74
|
-
value?: boolean | string | number;
|
|
75
|
-
/** Variant for A/B tests */
|
|
76
|
-
variant?: string;
|
|
77
|
-
}
|
|
78
|
-
/** Context returned by useFlags hook */
|
|
79
|
-
interface FlagsContext {
|
|
80
|
-
/** @deprecated Use getFlag instead - confusing name */
|
|
81
|
-
isEnabled: (key: string) => FlagState;
|
|
82
|
-
/** Get a flag's full state */
|
|
83
|
-
getFlag: (key: string) => FlagState;
|
|
84
|
-
/** Get a flag's value with type safety */
|
|
85
|
-
getValue: <T extends boolean | string | number = boolean>(key: string, defaultValue?: T) => T;
|
|
86
|
-
/** Check if a flag is on (simple boolean) */
|
|
87
|
-
isOn: (key: string) => boolean;
|
|
88
|
-
/** Async fetch a specific flag */
|
|
89
|
-
fetchFlag: (key: string) => Promise<FlagResult>;
|
|
90
|
-
/** Fetch all flags */
|
|
91
|
-
fetchAllFlags: () => Promise<void>;
|
|
92
|
-
/** Update user context */
|
|
93
|
-
updateUser: (user: UserContext) => void;
|
|
94
|
-
/** Refresh all flags */
|
|
95
|
-
refresh: (forceClear?: boolean) => Promise<void>;
|
|
96
|
-
/** Whether the SDK is ready */
|
|
97
|
-
isReady: boolean;
|
|
98
|
-
}
|
|
99
|
-
/** Storage interface for persistence */
|
|
100
|
-
interface StorageInterface {
|
|
101
|
-
get(key: string): FlagResult | null;
|
|
102
|
-
set(key: string, value: FlagResult): void;
|
|
103
|
-
getAll(): Record<string, FlagResult>;
|
|
104
|
-
setAll(flags: Record<string, FlagResult>): void;
|
|
105
|
-
delete?(key: string): void;
|
|
106
|
-
deleteMultiple?(keys: string[]): void;
|
|
107
|
-
clear(): void;
|
|
108
|
-
cleanupExpired(): void;
|
|
109
|
-
}
|
|
110
|
-
/** Manager constructor options */
|
|
111
|
-
interface FlagsManagerOptions {
|
|
112
|
-
config: FlagsConfig;
|
|
113
|
-
storage?: StorageInterface;
|
|
114
|
-
onFlagsUpdate?: (flags: Record<string, FlagResult>) => void;
|
|
115
|
-
onConfigUpdate?: (config: FlagsConfig) => void;
|
|
116
|
-
onReady?: () => void;
|
|
117
|
-
}
|
|
118
|
-
/** Flags manager interface */
|
|
119
|
-
interface FlagsManager {
|
|
120
|
-
getFlag: (key: string, user?: UserContext) => Promise<FlagResult>;
|
|
121
|
-
isEnabled: (key: string) => FlagState;
|
|
122
|
-
getValue: <T = boolean | string | number>(key: string, defaultValue?: T) => T;
|
|
123
|
-
fetchAllFlags: (user?: UserContext) => Promise<void>;
|
|
124
|
-
updateUser: (user: UserContext) => void;
|
|
125
|
-
refresh: (forceClear?: boolean) => Promise<void>;
|
|
126
|
-
updateConfig: (config: FlagsConfig) => void;
|
|
127
|
-
getMemoryFlags: () => Record<string, FlagResult>;
|
|
128
|
-
isReady: () => boolean;
|
|
129
|
-
destroy?: () => void;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export type { FlagsConfig as F, UserContext as U, FeatureState as a, FlagState as b, FlagsContext as c, FlagResult as d, FlagsManager as e, FlagsManagerOptions as f };
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
/** Flag evaluation result from API */
|
|
2
|
-
interface FlagResult {
|
|
3
|
-
enabled: boolean;
|
|
4
|
-
value: boolean | string | number;
|
|
5
|
-
payload: Record<string, unknown> | null;
|
|
6
|
-
reason: string;
|
|
7
|
-
variant?: string;
|
|
8
|
-
}
|
|
9
|
-
/** User context for flag evaluation */
|
|
10
|
-
interface UserContext {
|
|
11
|
-
userId?: string;
|
|
12
|
-
email?: string;
|
|
13
|
-
/** Organization ID for org-level rollouts (all org members get same result) */
|
|
14
|
-
organizationId?: string;
|
|
15
|
-
/** Team ID for team-level rollouts (all team members get same result) */
|
|
16
|
-
teamId?: string;
|
|
17
|
-
properties?: Record<string, unknown>;
|
|
18
|
-
}
|
|
19
|
-
/** SDK configuration */
|
|
20
|
-
interface FlagsConfig {
|
|
21
|
-
/** Client ID (website or organization ID) */
|
|
22
|
-
clientId: string;
|
|
23
|
-
/** API URL (default: https://api.databuddy.cc) */
|
|
24
|
-
apiUrl?: string;
|
|
25
|
-
/** User context for evaluation */
|
|
26
|
-
user?: UserContext;
|
|
27
|
-
/** Disable flag evaluation entirely */
|
|
28
|
-
disabled?: boolean;
|
|
29
|
-
/** Enable debug logging */
|
|
30
|
-
debug?: boolean;
|
|
31
|
-
/** Skip persistent storage (browser only) */
|
|
32
|
-
skipStorage?: boolean;
|
|
33
|
-
/** Session is loading - defer evaluation */
|
|
34
|
-
isPending?: boolean;
|
|
35
|
-
/** Auto-fetch all flags on init (default: true) */
|
|
36
|
-
autoFetch?: boolean;
|
|
37
|
-
/** Environment name */
|
|
38
|
-
environment?: string;
|
|
39
|
-
/** Cache TTL in ms - after this, cache is invalid (default: 60000) */
|
|
40
|
-
cacheTtl?: number;
|
|
41
|
-
/** Stale time in ms - after this, revalidate in background (default: cacheTtl/2) */
|
|
42
|
-
staleTime?: number;
|
|
43
|
-
}
|
|
44
|
-
/** Flag status for clear state management */
|
|
45
|
-
type FlagStatus = "loading" | "ready" | "error" | "pending";
|
|
46
|
-
/** Synchronous flag state for React hooks */
|
|
47
|
-
interface FlagState {
|
|
48
|
-
/** Whether the flag is enabled (true/false) */
|
|
49
|
-
on: boolean;
|
|
50
|
-
/** @deprecated Use `on` instead */
|
|
51
|
-
enabled: boolean;
|
|
52
|
-
/** Current status: loading, ready, error, or pending */
|
|
53
|
-
status: FlagStatus;
|
|
54
|
-
/** Whether the flag is still loading */
|
|
55
|
-
loading: boolean;
|
|
56
|
-
/** @deprecated Use `status === 'ready'` instead */
|
|
57
|
-
isLoading: boolean;
|
|
58
|
-
/** @deprecated Use `status === 'ready'` instead */
|
|
59
|
-
isReady: boolean;
|
|
60
|
-
/** The flag's value (boolean, string, or number) */
|
|
61
|
-
value?: boolean | string | number;
|
|
62
|
-
/** Variant name for multivariate flags */
|
|
63
|
-
variant?: string;
|
|
64
|
-
}
|
|
65
|
-
/** Feature state returned by useFeature hook */
|
|
66
|
-
interface FeatureState {
|
|
67
|
-
/** Whether the feature is enabled */
|
|
68
|
-
on: boolean;
|
|
69
|
-
/** Whether the flag is loading */
|
|
70
|
-
loading: boolean;
|
|
71
|
-
/** Current status */
|
|
72
|
-
status: FlagStatus;
|
|
73
|
-
/** The flag's value */
|
|
74
|
-
value?: boolean | string | number;
|
|
75
|
-
/** Variant for A/B tests */
|
|
76
|
-
variant?: string;
|
|
77
|
-
}
|
|
78
|
-
/** Context returned by useFlags hook */
|
|
79
|
-
interface FlagsContext {
|
|
80
|
-
/** @deprecated Use getFlag instead - confusing name */
|
|
81
|
-
isEnabled: (key: string) => FlagState;
|
|
82
|
-
/** Get a flag's full state */
|
|
83
|
-
getFlag: (key: string) => FlagState;
|
|
84
|
-
/** Get a flag's value with type safety */
|
|
85
|
-
getValue: <T extends boolean | string | number = boolean>(key: string, defaultValue?: T) => T;
|
|
86
|
-
/** Check if a flag is on (simple boolean) */
|
|
87
|
-
isOn: (key: string) => boolean;
|
|
88
|
-
/** Async fetch a specific flag */
|
|
89
|
-
fetchFlag: (key: string) => Promise<FlagResult>;
|
|
90
|
-
/** Fetch all flags */
|
|
91
|
-
fetchAllFlags: () => Promise<void>;
|
|
92
|
-
/** Update user context */
|
|
93
|
-
updateUser: (user: UserContext) => void;
|
|
94
|
-
/** Refresh all flags */
|
|
95
|
-
refresh: (forceClear?: boolean) => Promise<void>;
|
|
96
|
-
/** Whether the SDK is ready */
|
|
97
|
-
isReady: boolean;
|
|
98
|
-
}
|
|
99
|
-
/** Storage interface for persistence */
|
|
100
|
-
interface StorageInterface {
|
|
101
|
-
get(key: string): FlagResult | null;
|
|
102
|
-
set(key: string, value: FlagResult): void;
|
|
103
|
-
getAll(): Record<string, FlagResult>;
|
|
104
|
-
setAll(flags: Record<string, FlagResult>): void;
|
|
105
|
-
delete?(key: string): void;
|
|
106
|
-
deleteMultiple?(keys: string[]): void;
|
|
107
|
-
clear(): void;
|
|
108
|
-
cleanupExpired(): void;
|
|
109
|
-
}
|
|
110
|
-
/** Manager constructor options */
|
|
111
|
-
interface FlagsManagerOptions {
|
|
112
|
-
config: FlagsConfig;
|
|
113
|
-
storage?: StorageInterface;
|
|
114
|
-
onFlagsUpdate?: (flags: Record<string, FlagResult>) => void;
|
|
115
|
-
onConfigUpdate?: (config: FlagsConfig) => void;
|
|
116
|
-
onReady?: () => void;
|
|
117
|
-
}
|
|
118
|
-
/** Flags manager interface */
|
|
119
|
-
interface FlagsManager {
|
|
120
|
-
getFlag: (key: string, user?: UserContext) => Promise<FlagResult>;
|
|
121
|
-
isEnabled: (key: string) => FlagState;
|
|
122
|
-
getValue: <T = boolean | string | number>(key: string, defaultValue?: T) => T;
|
|
123
|
-
fetchAllFlags: (user?: UserContext) => Promise<void>;
|
|
124
|
-
updateUser: (user: UserContext) => void;
|
|
125
|
-
refresh: (forceClear?: boolean) => Promise<void>;
|
|
126
|
-
updateConfig: (config: FlagsConfig) => void;
|
|
127
|
-
getMemoryFlags: () => Record<string, FlagResult>;
|
|
128
|
-
isReady: () => boolean;
|
|
129
|
-
destroy?: () => void;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export type { FlagsConfig as F, UserContext as U, FeatureState as a, FlagState as b, FlagsContext as c, FlagResult as d, FlagsManager as e, FlagsManagerOptions as f };
|