@savvagent/solid 1.0.1 → 1.1.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/index.d.mts +32 -1
- package/dist/index.d.ts +32 -1
- package/dist/index.js +23 -0
- package/dist/index.mjs +22 -0
- package/package.json +5 -2
package/dist/index.d.mts
CHANGED
|
@@ -282,6 +282,37 @@ interface CreateUserReturn {
|
|
|
282
282
|
* ```
|
|
283
283
|
*/
|
|
284
284
|
declare function createUser(): CreateUserReturn;
|
|
285
|
+
interface CreateEnvironmentReturn {
|
|
286
|
+
/** Current environment as a reactive signal */
|
|
287
|
+
environment: Accessor<string>;
|
|
288
|
+
/** Set the environment */
|
|
289
|
+
setEnvironment: (env: string) => void;
|
|
290
|
+
/** Get the current environment from client */
|
|
291
|
+
getEnvironment: () => string;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Create signals for environment management.
|
|
295
|
+
*
|
|
296
|
+
* @returns Environment management functions and reactive signal
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* ```tsx
|
|
300
|
+
* import { createEnvironment } from '@savvagent/solid';
|
|
301
|
+
*
|
|
302
|
+
* function EnvironmentSwitcher() {
|
|
303
|
+
* const { environment, setEnvironment } = createEnvironment();
|
|
304
|
+
*
|
|
305
|
+
* return (
|
|
306
|
+
* <select value={environment()} onChange={(e) => setEnvironment(e.target.value)}>
|
|
307
|
+
* <option value="development">Development</option>
|
|
308
|
+
* <option value="staging">Staging</option>
|
|
309
|
+
* <option value="production">Production</option>
|
|
310
|
+
* </select>
|
|
311
|
+
* );
|
|
312
|
+
* }
|
|
313
|
+
* ```
|
|
314
|
+
*/
|
|
315
|
+
declare function createEnvironment(): CreateEnvironmentReturn;
|
|
285
316
|
/**
|
|
286
317
|
* Legacy function - use createUser() instead.
|
|
287
318
|
* Create signals for user identification.
|
|
@@ -355,4 +386,4 @@ declare function createTrackError(flagKey: string, context?: FlagContext): (erro
|
|
|
355
386
|
*/
|
|
356
387
|
declare function trackError(flagKey: string, error: Error, context?: FlagContext): void;
|
|
357
388
|
|
|
358
|
-
export { type CreateFlagOptions, type CreateFlagReturn, type CreateFlagsOptions, type CreateFlagsReturn, type CreateUserReturn, type DefaultFlagContext, SavvagentProvider, type SavvagentProviderProps, createFlag, createFlagValue, createFlags, createTrackError, createUser, createUserSignals, createWithFlag, trackError, useSavvagent };
|
|
389
|
+
export { type CreateEnvironmentReturn, type CreateFlagOptions, type CreateFlagReturn, type CreateFlagsOptions, type CreateFlagsReturn, type CreateUserReturn, type DefaultFlagContext, SavvagentProvider, type SavvagentProviderProps, createEnvironment, createFlag, createFlagValue, createFlags, createTrackError, createUser, createUserSignals, createWithFlag, trackError, useSavvagent };
|
package/dist/index.d.ts
CHANGED
|
@@ -282,6 +282,37 @@ interface CreateUserReturn {
|
|
|
282
282
|
* ```
|
|
283
283
|
*/
|
|
284
284
|
declare function createUser(): CreateUserReturn;
|
|
285
|
+
interface CreateEnvironmentReturn {
|
|
286
|
+
/** Current environment as a reactive signal */
|
|
287
|
+
environment: Accessor<string>;
|
|
288
|
+
/** Set the environment */
|
|
289
|
+
setEnvironment: (env: string) => void;
|
|
290
|
+
/** Get the current environment from client */
|
|
291
|
+
getEnvironment: () => string;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Create signals for environment management.
|
|
295
|
+
*
|
|
296
|
+
* @returns Environment management functions and reactive signal
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* ```tsx
|
|
300
|
+
* import { createEnvironment } from '@savvagent/solid';
|
|
301
|
+
*
|
|
302
|
+
* function EnvironmentSwitcher() {
|
|
303
|
+
* const { environment, setEnvironment } = createEnvironment();
|
|
304
|
+
*
|
|
305
|
+
* return (
|
|
306
|
+
* <select value={environment()} onChange={(e) => setEnvironment(e.target.value)}>
|
|
307
|
+
* <option value="development">Development</option>
|
|
308
|
+
* <option value="staging">Staging</option>
|
|
309
|
+
* <option value="production">Production</option>
|
|
310
|
+
* </select>
|
|
311
|
+
* );
|
|
312
|
+
* }
|
|
313
|
+
* ```
|
|
314
|
+
*/
|
|
315
|
+
declare function createEnvironment(): CreateEnvironmentReturn;
|
|
285
316
|
/**
|
|
286
317
|
* Legacy function - use createUser() instead.
|
|
287
318
|
* Create signals for user identification.
|
|
@@ -355,4 +386,4 @@ declare function createTrackError(flagKey: string, context?: FlagContext): (erro
|
|
|
355
386
|
*/
|
|
356
387
|
declare function trackError(flagKey: string, error: Error, context?: FlagContext): void;
|
|
357
388
|
|
|
358
|
-
export { type CreateFlagOptions, type CreateFlagReturn, type CreateFlagsOptions, type CreateFlagsReturn, type CreateUserReturn, type DefaultFlagContext, SavvagentProvider, type SavvagentProviderProps, createFlag, createFlagValue, createFlags, createTrackError, createUser, createUserSignals, createWithFlag, trackError, useSavvagent };
|
|
389
|
+
export { type CreateEnvironmentReturn, type CreateFlagOptions, type CreateFlagReturn, type CreateFlagsOptions, type CreateFlagsReturn, type CreateUserReturn, type DefaultFlagContext, SavvagentProvider, type SavvagentProviderProps, createEnvironment, createFlag, createFlagValue, createFlags, createTrackError, createUser, createUserSignals, createWithFlag, trackError, useSavvagent };
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ var index_exports = {};
|
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
FlagClient: () => import_sdk2.FlagClient,
|
|
24
24
|
SavvagentProvider: () => SavvagentProvider,
|
|
25
|
+
createEnvironment: () => createEnvironment,
|
|
25
26
|
createFlag: () => createFlag,
|
|
26
27
|
createFlagValue: () => createFlagValue,
|
|
27
28
|
createFlags: () => createFlags,
|
|
@@ -62,6 +63,9 @@ function SavvagentProvider(props) {
|
|
|
62
63
|
language: props.defaultContext?.language,
|
|
63
64
|
attributes: props.defaultContext?.attributes
|
|
64
65
|
}));
|
|
66
|
+
if (props.defaultContext?.userId) {
|
|
67
|
+
client.setUserId(props.defaultContext.userId);
|
|
68
|
+
}
|
|
65
69
|
(0, import_solid_js.onCleanup)(() => {
|
|
66
70
|
client.close();
|
|
67
71
|
});
|
|
@@ -328,6 +332,24 @@ function createUser() {
|
|
|
328
332
|
getAnonymousId
|
|
329
333
|
};
|
|
330
334
|
}
|
|
335
|
+
function createEnvironment() {
|
|
336
|
+
const {
|
|
337
|
+
client
|
|
338
|
+
} = useSavvagent();
|
|
339
|
+
const [environment, setEnvironmentSignal] = (0, import_solid_js.createSignal)(client.getEnvironment());
|
|
340
|
+
const setEnvironment = (env) => {
|
|
341
|
+
client.setEnvironment(env);
|
|
342
|
+
setEnvironmentSignal(env);
|
|
343
|
+
};
|
|
344
|
+
const getEnvironment = () => {
|
|
345
|
+
return client.getEnvironment();
|
|
346
|
+
};
|
|
347
|
+
return {
|
|
348
|
+
environment,
|
|
349
|
+
setEnvironment,
|
|
350
|
+
getEnvironment
|
|
351
|
+
};
|
|
352
|
+
}
|
|
331
353
|
function createUserSignals() {
|
|
332
354
|
const {
|
|
333
355
|
client
|
|
@@ -357,6 +379,7 @@ function trackError(flagKey, error, context) {
|
|
|
357
379
|
0 && (module.exports = {
|
|
358
380
|
FlagClient,
|
|
359
381
|
SavvagentProvider,
|
|
382
|
+
createEnvironment,
|
|
360
383
|
createFlag,
|
|
361
384
|
createFlagValue,
|
|
362
385
|
createFlags,
|
package/dist/index.mjs
CHANGED
|
@@ -28,6 +28,9 @@ function SavvagentProvider(props) {
|
|
|
28
28
|
language: props.defaultContext?.language,
|
|
29
29
|
attributes: props.defaultContext?.attributes
|
|
30
30
|
}));
|
|
31
|
+
if (props.defaultContext?.userId) {
|
|
32
|
+
client.setUserId(props.defaultContext.userId);
|
|
33
|
+
}
|
|
31
34
|
onCleanup(() => {
|
|
32
35
|
client.close();
|
|
33
36
|
});
|
|
@@ -294,6 +297,24 @@ function createUser() {
|
|
|
294
297
|
getAnonymousId
|
|
295
298
|
};
|
|
296
299
|
}
|
|
300
|
+
function createEnvironment() {
|
|
301
|
+
const {
|
|
302
|
+
client
|
|
303
|
+
} = useSavvagent();
|
|
304
|
+
const [environment, setEnvironmentSignal] = createSignal(client.getEnvironment());
|
|
305
|
+
const setEnvironment = (env) => {
|
|
306
|
+
client.setEnvironment(env);
|
|
307
|
+
setEnvironmentSignal(env);
|
|
308
|
+
};
|
|
309
|
+
const getEnvironment = () => {
|
|
310
|
+
return client.getEnvironment();
|
|
311
|
+
};
|
|
312
|
+
return {
|
|
313
|
+
environment,
|
|
314
|
+
setEnvironment,
|
|
315
|
+
getEnvironment
|
|
316
|
+
};
|
|
317
|
+
}
|
|
297
318
|
function createUserSignals() {
|
|
298
319
|
const {
|
|
299
320
|
client
|
|
@@ -322,6 +343,7 @@ function trackError(flagKey, error, context) {
|
|
|
322
343
|
export {
|
|
323
344
|
FlagClient2 as FlagClient,
|
|
324
345
|
SavvagentProvider,
|
|
346
|
+
createEnvironment,
|
|
325
347
|
createFlag,
|
|
326
348
|
createFlagValue,
|
|
327
349
|
createFlags,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@savvagent/solid",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "SolidJS SDK for Savvagent feature flags with reactive primitives",
|
|
5
5
|
"author": "Savvagent",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,12 +21,15 @@
|
|
|
21
21
|
"solid-js": ">=1.0.0"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@savvagent/sdk": "1.0
|
|
24
|
+
"@savvagent/sdk": "1.1.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@solidjs/testing-library": "0.8.10",
|
|
28
28
|
"@testing-library/jest-dom": "6.9.1",
|
|
29
|
+
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
|
30
|
+
"@typescript-eslint/parser": "^7.18.0",
|
|
29
31
|
"esbuild-plugin-solid": "0.6.0",
|
|
32
|
+
"eslint": "^8.57.0",
|
|
30
33
|
"jsdom": "27.2.0",
|
|
31
34
|
"solid-js": "^1.9.10",
|
|
32
35
|
"tsup": "^8.5.1",
|