fhir-test-data 0.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/LICENSE +21 -0
- package/README.md +225 -0
- package/dist/chunk-CBIPVWLL.js +121 -0
- package/dist/chunk-CBIPVWLL.js.map +1 -0
- package/dist/chunk-T46LJ67Q.js +4302 -0
- package/dist/chunk-T46LJ67Q.js.map +1 -0
- package/dist/chunk-U2QJNKBG.js +40 -0
- package/dist/chunk-U2QJNKBG.js.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +850 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/faults/index.d.ts +33 -0
- package/dist/core/faults/index.js +14 -0
- package/dist/core/faults/index.js.map +1 -0
- package/dist/core/index.d.ts +115 -0
- package/dist/core/index.js +30 -0
- package/dist/core/index.js.map +1 -0
- package/dist/types-BvGNm2YJ.d.ts +132 -0
- package/package.json +102 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// src/core/generators/rng.ts
|
|
2
|
+
function createRng(seed) {
|
|
3
|
+
let s = seed;
|
|
4
|
+
return () => {
|
|
5
|
+
s |= 0;
|
|
6
|
+
s = s + 1831565813 | 0;
|
|
7
|
+
let t = Math.imul(s ^ s >>> 15, 1 | s);
|
|
8
|
+
t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t;
|
|
9
|
+
return ((t ^ t >>> 14) >>> 0) / 4294967296;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
function pickRandom(array, rng) {
|
|
13
|
+
if (array.length === 0) {
|
|
14
|
+
throw new Error("Cannot pick from empty array");
|
|
15
|
+
}
|
|
16
|
+
const index = Math.floor(rng() * array.length);
|
|
17
|
+
const item = array[index];
|
|
18
|
+
if (item === void 0) {
|
|
19
|
+
throw new Error(`Index ${index} out of bounds for array of length ${array.length}`);
|
|
20
|
+
}
|
|
21
|
+
return item;
|
|
22
|
+
}
|
|
23
|
+
function randomInt(min, max, rng) {
|
|
24
|
+
return min + Math.floor(rng() * (max - min + 1));
|
|
25
|
+
}
|
|
26
|
+
function randomDigits(count, rng) {
|
|
27
|
+
let result = "";
|
|
28
|
+
for (let i = 0; i < count; i++) {
|
|
29
|
+
result += Math.floor(rng() * 10).toString();
|
|
30
|
+
}
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export {
|
|
35
|
+
createRng,
|
|
36
|
+
pickRandom,
|
|
37
|
+
randomInt,
|
|
38
|
+
randomDigits
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=chunk-U2QJNKBG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/generators/rng.ts"],"sourcesContent":["import type { RandomFn } from \"@/core/types.js\";\n\n/**\n * Mulberry32 PRNG — fast, simple, good distribution for test data generation.\n * Same seed always produces the same sequence.\n */\nexport function createRng(seed: number): RandomFn {\n let s = seed;\n return (): number => {\n s |= 0;\n s = (s + 0x6d2b79f5) | 0;\n let t = Math.imul(s ^ (s >>> 15), 1 | s);\n t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;\n return ((t ^ (t >>> 14)) >>> 0) / 4294967296;\n };\n}\n\n/** Pick a random element from an array. Throws if array is empty. */\nexport function pickRandom<T>(array: readonly T[], rng: RandomFn): T {\n if (array.length === 0) {\n throw new Error(\"Cannot pick from empty array\");\n }\n const index = Math.floor(rng() * array.length);\n const item = array[index];\n if (item === undefined) {\n throw new Error(`Index ${index} out of bounds for array of length ${array.length}`);\n }\n return item;\n}\n\n/** Generate a random integer in [min, max] inclusive. */\nexport function randomInt(min: number, max: number, rng: RandomFn): number {\n return min + Math.floor(rng() * (max - min + 1));\n}\n\n/** Generate a string of N random digits (0–9). */\nexport function randomDigits(count: number, rng: RandomFn): string {\n let result = \"\";\n for (let i = 0; i < count; i++) {\n result += Math.floor(rng() * 10).toString();\n }\n return result;\n}\n"],"mappings":";AAMO,SAAS,UAAU,MAAwB;AAChD,MAAI,IAAI;AACR,SAAO,MAAc;AACnB,SAAK;AACL,QAAK,IAAI,aAAc;AACvB,QAAI,IAAI,KAAK,KAAK,IAAK,MAAM,IAAK,IAAI,CAAC;AACvC,QAAK,IAAI,KAAK,KAAK,IAAK,MAAM,GAAI,KAAK,CAAC,IAAK;AAC7C,aAAS,IAAK,MAAM,QAAS,KAAK;AAAA,EACpC;AACF;AAGO,SAAS,WAAc,OAAqB,KAAkB;AACnE,MAAI,MAAM,WAAW,GAAG;AACtB,UAAM,IAAI,MAAM,8BAA8B;AAAA,EAChD;AACA,QAAM,QAAQ,KAAK,MAAM,IAAI,IAAI,MAAM,MAAM;AAC7C,QAAM,OAAO,MAAM,KAAK;AACxB,MAAI,SAAS,QAAW;AACtB,UAAM,IAAI,MAAM,SAAS,KAAK,sCAAsC,MAAM,MAAM,EAAE;AAAA,EACpF;AACA,SAAO;AACT;AAGO,SAAS,UAAU,KAAa,KAAa,KAAuB;AACzE,SAAO,MAAM,KAAK,MAAM,IAAI,KAAK,MAAM,MAAM,EAAE;AACjD;AAGO,SAAS,aAAa,OAAe,KAAuB;AACjE,MAAI,SAAS;AACb,WAAS,IAAI,GAAG,IAAI,OAAO,KAAK;AAC9B,cAAU,KAAK,MAAM,IAAI,IAAI,EAAE,EAAE,SAAS;AAAA,EAC5C;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|