@plyaz/core 1.0.4 → 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/base/cache/strategies/memory.d.ts.map +1 -1
- package/dist/frontend/featureFlags/hooks/useFeatureFlagProvider.d.ts +1 -1
- package/dist/frontend/featureFlags/hooks/useFeatureFlagProvider.d.ts.map +1 -1
- package/dist/frontend/featureFlags/providers/FeatureFlagProviderHelpers.d.ts +2 -16
- package/dist/frontend/featureFlags/providers/FeatureFlagProviderHelpers.d.ts.map +1 -1
- package/dist/frontend/featureFlags/providers/types.d.ts +21 -0
- package/dist/frontend/featureFlags/providers/types.d.ts.map +1 -0
- package/dist/index.cjs +13 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +14 -11
- package/dist/index.mjs.map +1 -1
- package/dist/utils/common/hash.d.ts +14 -3
- package/dist/utils/common/hash.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/base/cache/strategies/memory.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAG7F;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,KAAK,CAKX;IACF,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA2C;IAEpE;;;;OAIG;gBACS,MAAM,GAAE,iBAAsB;IAc1C;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9D;;;;;OAKG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAcxD;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxC;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAcrC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B;;;;OAIG;IACH,OAAO,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/base/cache/strategies/memory.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAG7F;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,KAAK,CAKX;IACF,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA2C;IAEpE;;;;OAIG;gBACS,MAAM,GAAE,iBAAsB;IAc1C;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9D;;;;;OAKG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAcxD;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxC;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC;IAcrC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;CAyB3B"}
|
|
@@ -52,6 +52,6 @@ export declare function useFeatureFlagProviderStatus<FeatureFlagKey extends stri
|
|
|
52
52
|
isInitialized: boolean;
|
|
53
53
|
isLoading: boolean;
|
|
54
54
|
error: Error | null;
|
|
55
|
-
lastUpdated: Date | null;
|
|
55
|
+
lastUpdated: Date | null | undefined;
|
|
56
56
|
};
|
|
57
57
|
//# sourceMappingURL=useFeatureFlagProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFeatureFlagProvider.d.ts","sourceRoot":"","sources":["../../../../src/frontend/featureFlags/hooks/useFeatureFlagProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAA2B,MAAM,cAAc,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,SAAS,MAAM,KAC1B,mBAAmB,CAAC,cAAc,CAAC,CAWvC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,cAAc,SAAS,MAAM,KAAK;IAC7E,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useFeatureFlagProvider.d.ts","sourceRoot":"","sources":["../../../../src/frontend/featureFlags/hooks/useFeatureFlagProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAA2B,MAAM,cAAc,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,SAAS,MAAM,KAC1B,mBAAmB,CAAC,cAAc,CAAC,CAWvC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,cAAc,SAAS,MAAM,KAAK;IAC7E,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC,CAgBA"}
|
|
@@ -7,22 +7,8 @@
|
|
|
7
7
|
* @version 1.0.0
|
|
8
8
|
*/
|
|
9
9
|
import React from 'react';
|
|
10
|
-
import type {
|
|
11
|
-
|
|
12
|
-
* Provider state interface.
|
|
13
|
-
*/
|
|
14
|
-
export interface ProviderState<FeatureFlagKey extends string> {
|
|
15
|
-
provider: IFeatureFlagProvider<FeatureFlagKey> | null;
|
|
16
|
-
isInitialized: boolean;
|
|
17
|
-
isLoading: boolean;
|
|
18
|
-
error: Error | null;
|
|
19
|
-
lastUpdated: Date | null;
|
|
20
|
-
}
|
|
21
|
-
export interface UseFeatureFlagProviderState<FeatureFlagKey extends string> {
|
|
22
|
-
state: ProviderState<FeatureFlagKey>;
|
|
23
|
-
setState: React.Dispatch<React.SetStateAction<ProviderState<FeatureFlagKey>>>;
|
|
24
|
-
initializeProvider: () => Promise<void>;
|
|
25
|
-
}
|
|
10
|
+
import type { FeatureFlagConfig } from '@plyaz/types';
|
|
11
|
+
import type { ProviderState, UseFeatureFlagProviderState } from './types';
|
|
26
12
|
/**
|
|
27
13
|
* Hook for managing feature flag provider state and initialization.
|
|
28
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureFlagProviderHelpers.d.ts","sourceRoot":"","sources":["../../../../src/frontend/featureFlags/providers/FeatureFlagProviderHelpers.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"FeatureFlagProviderHelpers.d.ts","sourceRoot":"","sources":["../../../../src/frontend/featureFlags/providers/FeatureFlagProviderHelpers.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAE1E;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,cAAc,SAAS,MAAM,EACvE,MAAM,EAAE,iBAAiB,CAAC,cAAc,CAAC,EACzC,OAAO,CAAC,EAAE,MAAM,IAAI,EACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC/B,2BAA2B,CAAC,cAAc,CAAC,CA8C7C;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,SAAS,MAAM,EACnE,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,GAC5E,IAAI,CAeN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,OAAO,EAClB,gBAAgB,CAAC,EAAE,KAAK,CAAC,aAAa,GACrC,KAAK,CAAC,YAAY,GAAG,IAAI,CAW3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,EACzE,KAAK,CAAC,EAAE,MAAM,IAAI,GACjB,KAAK,CAAC,YAAY,GAAG,IAAI,CAO3B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { FeatureFlagProvider as IFeatureFlagProvider } from '@plyaz/types';
|
|
3
|
+
/**
|
|
4
|
+
* Provider state interface.
|
|
5
|
+
*/
|
|
6
|
+
export interface ProviderState<FeatureFlagKey extends string> {
|
|
7
|
+
provider: IFeatureFlagProvider<FeatureFlagKey> | null;
|
|
8
|
+
isInitialized: boolean;
|
|
9
|
+
isLoading: boolean;
|
|
10
|
+
error: Error | null;
|
|
11
|
+
lastUpdated: Date | null;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Hook for managing feature flag provider state and initialization.
|
|
15
|
+
*/
|
|
16
|
+
export interface UseFeatureFlagProviderState<FeatureFlagKey extends string> {
|
|
17
|
+
state: ProviderState<FeatureFlagKey>;
|
|
18
|
+
setState: React.Dispatch<React.SetStateAction<ProviderState<FeatureFlagKey>>>;
|
|
19
|
+
initializeProvider: () => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/frontend/featureFlags/providers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,cAAc,SAAS,MAAM;IAC1D,QAAQ,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACtD,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B,CAAC,cAAc,SAAS,MAAM;IACxE,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC9E,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC"}
|
package/dist/index.cjs
CHANGED
|
@@ -52,14 +52,13 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
52
52
|
var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index);
|
|
53
53
|
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "" , value);
|
|
54
54
|
function hashString(str) {
|
|
55
|
-
|
|
56
|
-
let hash =
|
|
55
|
+
if (str.length === 0) return 0;
|
|
56
|
+
let hash = config.FNV_CONSTANTS.FNV_32_OFFSET;
|
|
57
57
|
for (let i = 0; i < str.length; i++) {
|
|
58
|
-
|
|
59
|
-
hash = (hash
|
|
60
|
-
hash = hash & hash;
|
|
58
|
+
hash ^= str.charCodeAt(i);
|
|
59
|
+
hash = Math.imul(hash, config.FNV_CONSTANTS.FNV_32_PRIME) >>> 0;
|
|
61
60
|
}
|
|
62
|
-
return
|
|
61
|
+
return hash >>> 0;
|
|
63
62
|
}
|
|
64
63
|
__name(hashString, "hashString");
|
|
65
64
|
function isInRollout(identifier, percentage) {
|
|
@@ -101,13 +100,14 @@ var HashUtils = {
|
|
|
101
100
|
}, "isInBucketRange"),
|
|
102
101
|
/**
|
|
103
102
|
* Creates a deterministic random seed from a string.
|
|
103
|
+
* Uses the improved hash function and ensures the seed is within
|
|
104
|
+
* the safe range for JavaScript's Math.random seeding.
|
|
104
105
|
*
|
|
105
106
|
* @param str - String to convert to seed
|
|
106
|
-
* @returns Deterministic seed value
|
|
107
|
+
* @returns Deterministic seed value (0 to 2^31-1)
|
|
107
108
|
*/
|
|
108
109
|
createSeed: /* @__PURE__ */ __name((str) => {
|
|
109
|
-
|
|
110
|
-
return hashString(str) % SAFE_INT;
|
|
110
|
+
return hashString(str) % config.HASH_SEED_CONSTANTS.MAX_SAFE_SEED;
|
|
111
111
|
}, "createSeed")
|
|
112
112
|
};
|
|
113
113
|
function isStringFalsy(value) {
|
|
@@ -1135,6 +1135,9 @@ var MemoryCacheStrategy = class {
|
|
|
1135
1135
|
this.cleanupTimer = setInterval(() => {
|
|
1136
1136
|
this.cleanupExpiredEntries();
|
|
1137
1137
|
}, this.cleanupInterval);
|
|
1138
|
+
if (this.cleanupTimer && typeof this.cleanupTimer.unref === "function") {
|
|
1139
|
+
this.cleanupTimer.unref();
|
|
1140
|
+
}
|
|
1138
1141
|
}
|
|
1139
1142
|
/**
|
|
1140
1143
|
* Removes expired entries from the cache.
|
|
@@ -4008,7 +4011,7 @@ function useFeatureFlagProviderStatus() {
|
|
|
4008
4011
|
isInitialized: context.isInitialized,
|
|
4009
4012
|
isLoading: context.isLoading,
|
|
4010
4013
|
error: context.error,
|
|
4011
|
-
lastUpdated: context.lastUpdated
|
|
4014
|
+
lastUpdated: context.lastUpdated ? new Date(context.lastUpdated) : void 0
|
|
4012
4015
|
};
|
|
4013
4016
|
}
|
|
4014
4017
|
__name(useFeatureFlagProviderStatus, "useFeatureFlagProviderStatus");
|