@flag-engine/core 0.0.7 → 0.0.9
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/evaluateFlag.d.ts.map +1 -1
- package/dist/getEligibleStrategy.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/resolveStrategyVariant.d.ts.map +1 -1
- package/package.json +13 -13
- package/vitest.config.ts +7 -0
- package/dist/__tests__/api.test.d.ts +0 -2
- package/dist/__tests__/api.test.d.ts.map +0 -1
- package/dist/__tests__/isEligibleForStrategy.test.d.ts +0 -2
- package/dist/__tests__/isEligibleForStrategy.test.d.ts.map +0 -1
- package/dist/__tests__/repartition.test.d.ts +0 -2
- package/dist/__tests__/repartition.test.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluateFlag.d.ts","sourceRoot":"","sources":["../src/evaluateFlag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"evaluateFlag.d.ts","sourceRoot":"","sources":["../src/evaluateFlag.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D,eAAO,MAAM,YAAY,GACvB,YAAY,iBAAiB,EAC7B,mBAAmB,iBAAiB,qBAgBrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEligibleStrategy.d.ts","sourceRoot":"","sources":["../src/getEligibleStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAOrE,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"getEligibleStrategy.d.ts","sourceRoot":"","sources":["../src/getEligibleStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAOrE,eAAO,MAAM,qBAAqB,GAChC,OAAO,IAAI,EAAE,EACb,mBAAmB,iBAAiB,KACnC,OAuEF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,YAAY,iBAAiB,EAC7B,mBAAmB,iBAAiB,2CAKrC,CAAC"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("murmurhash-js");const t=e=>"string"==typeof e,r=e=>null==e,n=(e,a)=>0===e.length||e.every((e=>{if("inSegment"in e)return n(e.inSegment.rules,a);switch(e.operator){case"equals":return a[e.field]===e.value;case"not_equals":return a[e.field]!==e.value;case"greater_than":{const t=a[e.field];return!r(t)&&!r(e.value)&&t>e.value}case"less_than":{const t=a[e.field];return!r(t)&&!r(e.value)&&t<e.value}case"contains":{const r=a[e.field];return t(r)&&t(e.value)&&r.includes(e.value)}case"not_contains":{const r=a[e.field];return t(r)&&t(e.value)&&!r.includes(e.value)}case"in":{const t=a[e.field];return Array.isArray(e.value)&&-1!==e.value.indexOf(t)}case"not_in":{const t=a[e.field];return Array.isArray(e.value)&&-1===e.value.indexOf(t)}default:return!1}})),a=Math.pow(2,32),s=(t,r)=>{if(0===t.strategies.length)return!0;const s=((e,t)=>e.strategies.find((e=>n(e.rules,t))))(t,r);if(!s)return!1;if(0===s.variants.length)return!0;const u=((t,r)=>{t.variants.sort(((e,t)=>e.percent-t.percent));let n=0;const s=`${t.name}-${r}`,u=t.variants.find((
|
|
1
|
+
"use strict";var e=require("murmurhash-js");const t=e=>"string"==typeof e,r=e=>null==e,n=(e,a)=>0===e.length||e.every((e=>{if("inSegment"in e)return n(e.inSegment.rules,a);switch(e.operator){case"equals":return a[e.field]===e.value;case"not_equals":return a[e.field]!==e.value;case"greater_than":{const t=a[e.field];return!r(t)&&!r(e.value)&&t>e.value}case"less_than":{const t=a[e.field];return!r(t)&&!r(e.value)&&t<e.value}case"contains":{const r=a[e.field];return t(r)&&t(e.value)&&r.includes(e.value)}case"not_contains":{const r=a[e.field];return t(r)&&t(e.value)&&!r.includes(e.value)}case"in":{const t=a[e.field];return Array.isArray(e.value)&&-1!==e.value.indexOf(t)}case"not_in":{const t=a[e.field];return Array.isArray(e.value)&&-1===e.value.indexOf(t)}default:return!1}})),a=Math.pow(2,32),s=(t,r)=>{if(0===t.strategies.length)return!0;const s=((e,t)=>e.strategies.find((e=>n(e.rules,t))))(t,r);if(!s)return!1;if(0===s.variants.length)return!0;const u=((t,r)=>{t.variants.sort(((e,t)=>e.percent-t.percent));let n=0;const s=`${t.name}-${r}`,u=e.murmur3(s),l=t.variants.find((e=>{const t=u/a*100;if(n+=e.percent,t<=n)return e}));return l||!1})(s,r.__id);return!!u&&u.name};exports.createFlagEngine=e=>({createUserContext:t=>((e,t)=>{let r=t;return{evaluateAll:()=>{const t={};for(const n of e)t[n.key]="enabled"===n.status&&s(n,r);return t},evaluate:t=>{const n=e.find((e=>e.key===t));return!!n&&"disabled"!==n.status&&s(n,r)},setUserConfiguration:e=>{r=e}}})(e,t)});
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAoCjB,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAEnB,MAAM,SAAS,CAAC;AAoCjB,eAAO,MAAM,gBAAgB,GAC3B,aAAa,kBAAkB,KAC9B,iBAKF,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{murmur3 as e}from"murmurhash-js";const t=e=>"string"==typeof e,n=e=>null==e,r=(e,a)=>0===e.length||e.every((e=>{if("inSegment"in e)return r(e.inSegment.rules,a);switch(e.operator){case"equals":return a[e.field]===e.value;case"not_equals":return a[e.field]!==e.value;case"greater_than":{const t=a[e.field];return!n(t)&&!n(e.value)&&t>e.value}case"less_than":{const t=a[e.field];return!n(t)&&!n(e.value)&&t<e.value}case"contains":{const n=a[e.field];return t(n)&&t(e.value)&&n.includes(e.value)}case"not_contains":{const n=a[e.field];return t(n)&&t(e.value)&&!n.includes(e.value)}case"in":{const t=a[e.field];return Array.isArray(e.value)&&-1!==e.value.indexOf(t)}case"not_in":{const t=a[e.field];return Array.isArray(e.value)&&-1===e.value.indexOf(t)}default:return!1}})),a=Math.pow(2,32),s=(t,n)=>{if(0===t.strategies.length)return!0;const s=((e,t)=>e.strategies.find((e=>r(e.rules,t))))(t,n);if(!s)return!1;if(0===s.variants.length)return!0;const u=((t,n)=>{t.variants.sort(((e,t)=>e.percent-t.percent));let r=0;const s=`${t.name}-${n}`,u=t.variants.find((
|
|
1
|
+
import{murmur3 as e}from"murmurhash-js";const t=e=>"string"==typeof e,n=e=>null==e,r=(e,a)=>0===e.length||e.every((e=>{if("inSegment"in e)return r(e.inSegment.rules,a);switch(e.operator){case"equals":return a[e.field]===e.value;case"not_equals":return a[e.field]!==e.value;case"greater_than":{const t=a[e.field];return!n(t)&&!n(e.value)&&t>e.value}case"less_than":{const t=a[e.field];return!n(t)&&!n(e.value)&&t<e.value}case"contains":{const n=a[e.field];return t(n)&&t(e.value)&&n.includes(e.value)}case"not_contains":{const n=a[e.field];return t(n)&&t(e.value)&&!n.includes(e.value)}case"in":{const t=a[e.field];return Array.isArray(e.value)&&-1!==e.value.indexOf(t)}case"not_in":{const t=a[e.field];return Array.isArray(e.value)&&-1===e.value.indexOf(t)}default:return!1}})),a=Math.pow(2,32),s=(t,n)=>{if(0===t.strategies.length)return!0;const s=((e,t)=>e.strategies.find((e=>r(e.rules,t))))(t,n);if(!s)return!1;if(0===s.variants.length)return!0;const u=((t,n)=>{t.variants.sort(((e,t)=>e.percent-t.percent));let r=0;const s=`${t.name}-${n}`,u=e(s),l=t.variants.find((e=>{const t=u/a*100;if(r+=e.percent,t<=r)return e}));return l||!1})(s,n.__id);return!!u&&u.name},u=e=>({createUserContext:t=>((e,t)=>{let n=t;return{evaluateAll:()=>{const t={};for(const r of e)t[r.key]="enabled"===r.status&&s(r,n);return t},evaluate:t=>{const r=e.find((e=>e.key===t));return!!r&&"disabled"!==r.status&&s(r,n)},setUserConfiguration:e=>{n=e}}})(e,t)});export{u as createFlagEngine};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveStrategyVariant.d.ts","sourceRoot":"","sources":["../src/resolveStrategyVariant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInC,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"resolveStrategyVariant.d.ts","sourceRoot":"","sources":["../src/resolveStrategyVariant.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInC,eAAO,MAAM,sBAAsB,GAAI,UAAU,QAAQ,EAAE,SAAS,MAAM,sCAsBzE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flag-engine/core",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.9",
|
|
5
5
|
"description": "Feature flags evaluation engine, runtime agnostic",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.cjs.js",
|
|
@@ -26,21 +26,21 @@
|
|
|
26
26
|
"author": "",
|
|
27
27
|
"license": "MIT",
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@eslint/js": "^9.
|
|
30
|
-
"@rollup/plugin-node-resolve": "^
|
|
29
|
+
"@eslint/js": "^9.29.0",
|
|
30
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
31
31
|
"@rollup/plugin-terser": "^0.4.4",
|
|
32
|
-
"@rollup/plugin-typescript": "^12.1.
|
|
33
|
-
"@types/eslint__js": "^
|
|
32
|
+
"@rollup/plugin-typescript": "^12.1.3",
|
|
33
|
+
"@types/eslint__js": "^9.14.0",
|
|
34
34
|
"@types/murmurhash-js": "^1.0.6",
|
|
35
|
-
"@vitest/coverage-v8": "2.
|
|
35
|
+
"@vitest/coverage-v8": "3.2.4",
|
|
36
36
|
"bundlesize": "^0.18.2",
|
|
37
|
-
"eslint": "^9.
|
|
38
|
-
"rollup": "^4.
|
|
39
|
-
"tslib": "^2.
|
|
40
|
-
"tsx": "^4.
|
|
41
|
-
"typescript": "^5.
|
|
42
|
-
"typescript-eslint": "^8.
|
|
43
|
-
"vitest": "^2.
|
|
37
|
+
"eslint": "^9.29.0",
|
|
38
|
+
"rollup": "^4.44.0",
|
|
39
|
+
"tslib": "^2.8.1",
|
|
40
|
+
"tsx": "^4.20.3",
|
|
41
|
+
"typescript": "^5.8.3",
|
|
42
|
+
"typescript-eslint": "^8.34.1",
|
|
43
|
+
"vitest": "^3.2.4"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"murmurhash-js": "^1.0.0"
|
package/vitest.config.ts
ADDED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/api.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isEligibleForStrategy.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/isEligibleForStrategy.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repartition.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/repartition.test.ts"],"names":[],"mappings":""}
|