@datadog/openfeature-node-server 0.1.0-preview.3
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/cjs/configuration/evaluateForSubject.d.ts +7 -0
- package/cjs/configuration/evaluateForSubject.d.ts.map +1 -0
- package/cjs/configuration/evaluateForSubject.js +151 -0
- package/cjs/configuration/evaluateForSubject.js.map +1 -0
- package/cjs/configuration/evaluation.d.ts +5 -0
- package/cjs/configuration/evaluation.d.ts.map +1 -0
- package/cjs/configuration/evaluation.js +33 -0
- package/cjs/configuration/evaluation.js.map +1 -0
- package/cjs/configuration/ufc-v1.d.ts +52 -0
- package/cjs/configuration/ufc-v1.d.ts.map +1 -0
- package/cjs/configuration/ufc-v1.js +3 -0
- package/cjs/configuration/ufc-v1.js.map +1 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +4 -0
- package/cjs/index.js.map +1 -0
- package/cjs/provider.d.ts +25 -0
- package/cjs/provider.d.ts.map +1 -0
- package/cjs/provider.js +42 -0
- package/cjs/provider.js.map +1 -0
- package/cjs/rules/rules.d.ts +51 -0
- package/cjs/rules/rules.d.ts.map +1 -0
- package/cjs/rules/rules.js +71 -0
- package/cjs/rules/rules.js.map +1 -0
- package/cjs/shards/matchesShard.d.ts +4 -0
- package/cjs/shards/matchesShard.d.ts.map +1 -0
- package/cjs/shards/matchesShard.js +16 -0
- package/cjs/shards/matchesShard.js.map +1 -0
- package/cjs/shards/obfuscation.d.ts +9 -0
- package/cjs/shards/obfuscation.d.ts.map +1 -0
- package/cjs/shards/obfuscation.js +23 -0
- package/cjs/shards/obfuscation.js.map +1 -0
- package/cjs/shards/sharders.d.ts +12 -0
- package/cjs/shards/sharders.d.ts.map +1 -0
- package/cjs/shards/sharders.js +30 -0
- package/cjs/shards/sharders.js.map +1 -0
- package/esm/configuration/evaluateForSubject.d.ts +7 -0
- package/esm/configuration/evaluateForSubject.d.ts.map +1 -0
- package/esm/configuration/evaluateForSubject.js +147 -0
- package/esm/configuration/evaluateForSubject.js.map +1 -0
- package/esm/configuration/evaluation.d.ts +5 -0
- package/esm/configuration/evaluation.d.ts.map +1 -0
- package/esm/configuration/evaluation.js +30 -0
- package/esm/configuration/evaluation.js.map +1 -0
- package/esm/configuration/ufc-v1.d.ts +52 -0
- package/esm/configuration/ufc-v1.d.ts.map +1 -0
- package/esm/configuration/ufc-v1.js +2 -0
- package/esm/configuration/ufc-v1.js.map +1 -0
- package/esm/index.d.ts +2 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +4 -0
- package/esm/index.js.map +1 -0
- package/esm/provider.d.ts +25 -0
- package/esm/provider.d.ts.map +1 -0
- package/esm/provider.js +38 -0
- package/esm/provider.js.map +1 -0
- package/esm/rules/rules.d.ts +51 -0
- package/esm/rules/rules.d.ts.map +1 -0
- package/esm/rules/rules.js +67 -0
- package/esm/rules/rules.js.map +1 -0
- package/esm/shards/matchesShard.d.ts +4 -0
- package/esm/shards/matchesShard.d.ts.map +1 -0
- package/esm/shards/matchesShard.js +13 -0
- package/esm/shards/matchesShard.js.map +1 -0
- package/esm/shards/obfuscation.d.ts +9 -0
- package/esm/shards/obfuscation.d.ts.map +1 -0
- package/esm/shards/obfuscation.js +16 -0
- package/esm/shards/obfuscation.js.map +1 -0
- package/esm/shards/sharders.d.ts +12 -0
- package/esm/shards/sharders.d.ts.map +1 -0
- package/esm/shards/sharders.js +24 -0
- package/esm/shards/sharders.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getMD5Hash } from './obfuscation';
|
|
2
|
+
export class Sharder {
|
|
3
|
+
}
|
|
4
|
+
export class MD5Sharder extends Sharder {
|
|
5
|
+
getShard(input, totalShards) {
|
|
6
|
+
const hashOutput = getMD5Hash(input);
|
|
7
|
+
// get the first 4 bytes of the md5 hex string and parse it using base 16
|
|
8
|
+
// (8 hex characters represent 4 bytes, e.g. 0xffffffff represents the max 4-byte integer)
|
|
9
|
+
const intFromHash = parseInt(hashOutput.slice(0, 8), 16);
|
|
10
|
+
return intFromHash % totalShards;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export class DeterministicSharder extends Sharder {
|
|
14
|
+
constructor(lookup) {
|
|
15
|
+
super();
|
|
16
|
+
this.lookup = lookup;
|
|
17
|
+
}
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
19
|
+
getShard(input, _totalShards) {
|
|
20
|
+
var _a;
|
|
21
|
+
return (_a = this.lookup[input]) !== null && _a !== void 0 ? _a : 0;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=sharders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharders.js","sourceRoot":"","sources":["../../src/shards/sharders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,OAAgB,OAAO;CAE5B;AAED,MAAM,OAAO,UAAW,SAAQ,OAAO;IACrC,QAAQ,CAAC,KAAa,EAAE,WAAmB;QACzC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QACpC,yEAAyE;QACzE,0FAA0F;QAC1F,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACxD,OAAO,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IAO/C,YAAY,MAA8B;QACxC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,6DAA6D;IAC7D,QAAQ,CAAC,KAAa,EAAE,YAAoB;;QAC1C,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAI,CAAC,CAAA;IAChC,CAAC;CACF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@datadog/openfeature-node-server",
|
|
3
|
+
"version": "0.1.0-preview.3",
|
|
4
|
+
"description": "React Native bindings for OpenFeature (wraps @datadog/flagging-core)",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"homepage": "https://github.com/DataDog/openfeature-js-client#readme",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/DataDog/openfeature-js-client.git",
|
|
10
|
+
"directory": "packages/node-server"
|
|
11
|
+
},
|
|
12
|
+
"main": "cjs/index.js",
|
|
13
|
+
"module": "esm/index.js",
|
|
14
|
+
"types": "cjs/index.d.ts",
|
|
15
|
+
"sideEffects": false,
|
|
16
|
+
"files": [
|
|
17
|
+
"cjs/",
|
|
18
|
+
"esm/",
|
|
19
|
+
"*.d.ts"
|
|
20
|
+
],
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"prepack": "yarn build",
|
|
26
|
+
"pack": "yarn pack",
|
|
27
|
+
"build": "run-p build:cjs build:esm",
|
|
28
|
+
"build:cjs": "rm -rf cjs && tsc -p tsconfig.cjs.json && yarn replace-build-env cjs",
|
|
29
|
+
"build:esm": "rm -rf esm && tsc -p tsconfig.esm.json && yarn replace-build-env esm",
|
|
30
|
+
"replace-build-env": "node ../../scripts/build/replace-build-env.js",
|
|
31
|
+
"clean": "rm -rf dist cjs esm",
|
|
32
|
+
"test": "jest --passWithNoTests",
|
|
33
|
+
"typecheck": "tsc --noEmit"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@datadog/flagging-core": "0.1.0-preview.3",
|
|
37
|
+
"@openfeature/server-sdk": "^1.19.0"
|
|
38
|
+
},
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"@openfeature/core": "^1.8.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@openfeature/core": "^1.9.0",
|
|
44
|
+
"@types/jest": "^30.0.0",
|
|
45
|
+
"@types/node": "^20.0.0",
|
|
46
|
+
"jest": "^30.0.4",
|
|
47
|
+
"npm-run-all": "^4.1.5",
|
|
48
|
+
"ts-jest": "^29.4.0",
|
|
49
|
+
"ts-loader": "^9.5.2",
|
|
50
|
+
"typescript": "^5.5.0"
|
|
51
|
+
}
|
|
52
|
+
}
|