@dxos/random 0.6.12 → 0.6.13-main.548ca8d
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"inject-globals:@inject-globals":{"bytes":
|
|
1
|
+
{"inputs":{"inject-globals:@inject-globals":{"bytes":324,"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/common/random/src/util.ts":{"bytes":4215,"imports":[{"path":"@ngneat/falso","kind":"import-statement","external":true},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/common/random/src/faker.ts":{"bytes":9505,"imports":[{"path":"@ngneat/falso","kind":"import-statement","external":true},{"path":"packages/common/random/src/util.ts","kind":"import-statement","original":"./util"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"},"packages/common/random/src/index.ts":{"bytes":590,"imports":[{"path":"@ngneat/falso","kind":"import-statement","external":true},{"path":"packages/common/random/src/faker.ts","kind":"import-statement","original":"./faker"},{"path":"@inject-globals","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"packages/common/random/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7589},"packages/common/random/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/node-std/inject-globals","kind":"import-statement","external":true},{"path":"@ngneat/falso","kind":"import-statement","external":true},{"path":"@ngneat/falso","kind":"import-statement","external":true},{"path":"@ngneat/falso","kind":"import-statement","external":true}],"exports":["faker"],"entryPoint":"packages/common/random/src/index.ts","inputs":{"inject-globals:@inject-globals":{"bytesInOutput":79},"packages/common/random/src/index.ts":{"bytesInOutput":31},"packages/common/random/src/faker.ts":{"bytesInOutput":1998},"packages/common/random/src/util.ts":{"bytesInOutput":820}},"bytes":3210}}}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// packages/common/random/src/index.ts
|
|
4
|
+
export * from "@ngneat/falso";
|
|
5
|
+
|
|
6
|
+
// packages/common/random/src/faker.ts
|
|
7
|
+
import { rand, randChanceBoolean, randCompanyName, randEmail, randFirstName, randFloat, randFullName, randHexaDecimal, randNumber as randNumber2, randParagraph, randProductName, randRecentDate, randSentence, randUrl, randUuid, randWord, seed } from "@ngneat/falso";
|
|
8
|
+
|
|
9
|
+
// packages/common/random/src/util.ts
|
|
10
|
+
import { randNumber } from "@ngneat/falso";
|
|
11
|
+
var toRange = (range, min = 0) => typeof range === "number" ? {
|
|
12
|
+
min,
|
|
13
|
+
max: range
|
|
14
|
+
} : range;
|
|
15
|
+
var getCount = (range) => typeof range === "number" ? range : randNumber(range);
|
|
16
|
+
var multiple = (f, n) => {
|
|
17
|
+
return Array.from({
|
|
18
|
+
length: n
|
|
19
|
+
}).map(() => f());
|
|
20
|
+
};
|
|
21
|
+
var uniqueArray = (values, n) => {
|
|
22
|
+
if (Array.isArray(values)) {
|
|
23
|
+
const results = [];
|
|
24
|
+
const selection = Array.from(new Set(values));
|
|
25
|
+
for (let i = 0; i < n; i++) {
|
|
26
|
+
if (selection.length === 0) {
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
results.push(selection.splice(Math.floor(Math.random() * selection.length), 1)[0]);
|
|
30
|
+
}
|
|
31
|
+
return results;
|
|
32
|
+
} else {
|
|
33
|
+
const results = /* @__PURE__ */ new Set();
|
|
34
|
+
while (results.size < n) {
|
|
35
|
+
results.add(values());
|
|
36
|
+
}
|
|
37
|
+
return Array.from(results);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// packages/common/random/src/faker.ts
|
|
42
|
+
var faker = {
|
|
43
|
+
//
|
|
44
|
+
// Util
|
|
45
|
+
//
|
|
46
|
+
seed: (value) => seed(String(value)),
|
|
47
|
+
helpers: {
|
|
48
|
+
arrayElement: (a) => rand(a),
|
|
49
|
+
multiple: (f, { count }) => multiple(f, typeof count === "number" ? count : getCount(count)),
|
|
50
|
+
uniqueArray: (f, n) => uniqueArray(f, n)
|
|
51
|
+
},
|
|
52
|
+
//
|
|
53
|
+
// Type
|
|
54
|
+
//
|
|
55
|
+
number: {
|
|
56
|
+
float: (range) => randFloat(range ? toRange(range) : void 0),
|
|
57
|
+
int: (range) => randNumber2(range ? toRange(range) : void 0)
|
|
58
|
+
},
|
|
59
|
+
datatype: {
|
|
60
|
+
boolean: (p) => randChanceBoolean({
|
|
61
|
+
chanceTrue: p?.probability ?? 0.5
|
|
62
|
+
})
|
|
63
|
+
},
|
|
64
|
+
date: {
|
|
65
|
+
recent: () => randRecentDate()
|
|
66
|
+
},
|
|
67
|
+
//
|
|
68
|
+
// Text
|
|
69
|
+
//
|
|
70
|
+
lorem: {
|
|
71
|
+
word: () => randWord(),
|
|
72
|
+
words: (n = 1) => randWord({
|
|
73
|
+
length: getCount(n)
|
|
74
|
+
}).join(" "),
|
|
75
|
+
sentence: (n = 1) => {
|
|
76
|
+
if (n) {
|
|
77
|
+
const text = randWord({
|
|
78
|
+
length: getCount(n)
|
|
79
|
+
}).join(" ");
|
|
80
|
+
return text.charAt(0).toUpperCase() + text.slice(1) + ".";
|
|
81
|
+
}
|
|
82
|
+
return randSentence();
|
|
83
|
+
},
|
|
84
|
+
sentences: (n = 1) => randSentence({
|
|
85
|
+
length: getCount(n)
|
|
86
|
+
}).join(" "),
|
|
87
|
+
paragraph: (n = 1) => {
|
|
88
|
+
if (n) {
|
|
89
|
+
return randSentence({
|
|
90
|
+
length: getCount(n)
|
|
91
|
+
}).join(" ");
|
|
92
|
+
}
|
|
93
|
+
return randParagraph();
|
|
94
|
+
},
|
|
95
|
+
paragraphs: (n = 1) => randParagraph({
|
|
96
|
+
length: getCount(n)
|
|
97
|
+
}).join("\n")
|
|
98
|
+
},
|
|
99
|
+
//
|
|
100
|
+
// String
|
|
101
|
+
//
|
|
102
|
+
string: {
|
|
103
|
+
hexadecimal: (l) => randHexaDecimal(l).join(""),
|
|
104
|
+
uuid: () => randUuid()
|
|
105
|
+
},
|
|
106
|
+
//
|
|
107
|
+
// Custom
|
|
108
|
+
//
|
|
109
|
+
internet: {
|
|
110
|
+
email: () => randEmail(),
|
|
111
|
+
url: () => randUrl()
|
|
112
|
+
},
|
|
113
|
+
person: {
|
|
114
|
+
firstName: () => randFirstName(),
|
|
115
|
+
fullName: () => randFullName()
|
|
116
|
+
},
|
|
117
|
+
company: {
|
|
118
|
+
name: () => randCompanyName()
|
|
119
|
+
},
|
|
120
|
+
commerce: {
|
|
121
|
+
productName: () => randProductName()
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
export {
|
|
125
|
+
faker
|
|
126
|
+
};
|
|
127
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/index.ts", "../../../src/faker.ts", "../../../src/util.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nexport * from '@ngneat/falso';\n\nexport * from './faker';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n rand,\n randChanceBoolean,\n randCompanyName,\n randEmail,\n randFirstName,\n randFloat,\n randFullName,\n randHexaDecimal,\n randNumber,\n randParagraph,\n randProductName,\n randRecentDate,\n randSentence,\n randUrl,\n randUuid,\n randWord,\n seed,\n} from '@ngneat/falso';\n\nimport { type Range, getCount, multiple, toRange, uniqueArray } from './util';\n\n// Fake faker.\nexport const faker = {\n //\n // Util\n //\n seed: (value: number) => seed(String(value)),\n helpers: {\n arrayElement: <T>(a: T[]) => rand(a),\n multiple: <T>(f: () => T, { count }: { count: number | { min: number; max: number } }) =>\n multiple(f, typeof count === 'number' ? count : getCount(count)),\n uniqueArray: <T>(f: T[] | (() => T), n: number) => uniqueArray(f, n),\n },\n\n //\n // Type\n //\n number: {\n float: (range?: number | Range) => randFloat(range ? toRange(range) : undefined),\n int: (range?: number | Range) => randNumber(range ? toRange(range) : undefined),\n },\n datatype: {\n boolean: (p?: { probability: number }) => randChanceBoolean({ chanceTrue: p?.probability ?? 0.5 }),\n },\n date: {\n recent: () => randRecentDate(),\n },\n\n //\n // Text\n //\n lorem: {\n word: () => randWord(),\n words: (n: number | Range = 1) => randWord({ length: getCount(n) }).join(' '),\n sentence: (n: number | Range = 1) => {\n if (n) {\n const text = randWord({ length: getCount(n) }).join(' ');\n return text.charAt(0).toUpperCase() + text.slice(1) + '.';\n }\n\n return randSentence();\n },\n sentences: (n: number | Range = 1) => randSentence({ length: getCount(n) }).join(' '),\n paragraph: (n: number | Range = 1) => {\n if (n) {\n return randSentence({ length: getCount(n) }).join(' ');\n }\n\n return randParagraph();\n },\n paragraphs: (n: number | Range = 1) => randParagraph({ length: getCount(n) }).join('\\n'),\n },\n\n //\n // String\n //\n string: {\n hexadecimal: (l?: { length: number }) => randHexaDecimal(l).join(''),\n uuid: () => randUuid(),\n },\n\n //\n // Custom\n //\n internet: {\n email: () => randEmail(),\n url: () => randUrl(),\n },\n person: {\n firstName: () => randFirstName(),\n fullName: () => randFullName(),\n },\n company: {\n name: () => randCompanyName(),\n },\n commerce: {\n productName: () => randProductName(),\n },\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { randNumber } from '@ngneat/falso';\n\nexport type Range = { min?: number; max?: number; count?: number };\n\nexport const toRange = (range: number | Range, min = 0) => (typeof range === 'number' ? { min, max: range } : range);\n\nexport const getCount = (range?: number | Range) => (typeof range === 'number' ? range : randNumber(range));\n\nexport const multiple = <T>(f: () => T, n: number): T[] => {\n return Array.from({ length: n }).map(() => f());\n};\n\nexport const uniqueArray = <T>(values: T[] | (() => T), n: number): T[] => {\n if (Array.isArray(values)) {\n const results: T[] = [];\n const selection = Array.from(new Set<T>(values));\n for (let i = 0; i < n; i++) {\n if (selection.length === 0) {\n break;\n }\n results.push(selection.splice(Math.floor(Math.random() * selection.length), 1)[0]);\n }\n return results;\n } else {\n const results = new Set<T>();\n // TODO(burdon): Set timeout.\n while (results.size < n) {\n results.add(values());\n }\n\n return Array.from(results);\n }\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["rand", "randChanceBoolean", "randCompanyName", "randEmail", "randFirstName", "randFloat", "randFullName", "randHexaDecimal", "randNumber", "randParagraph", "randProductName", "randRecentDate", "randSentence", "randUrl", "randUuid", "randWord", "seed", "randNumber", "toRange", "range", "min", "max", "getCount", "randNumber", "multiple", "f", "n", "Array", "from", "length", "map", "uniqueArray", "values", "isArray", "results", "selection", "Set", "i", "push", "splice", "Math", "floor", "random", "size", "add", "faker", "seed", "value", "String", "helpers", "arrayElement", "a", "rand", "multiple", "f", "count", "getCount", "uniqueArray", "n", "number", "float", "range", "randFloat", "toRange", "undefined", "int", "randNumber", "datatype", "boolean", "p", "randChanceBoolean", "chanceTrue", "probability", "date", "recent", "randRecentDate", "lorem", "word", "randWord", "words", "length", "join", "sentence", "text", "charAt", "toUpperCase", "slice", "randSentence", "sentences", "paragraph", "randParagraph", "paragraphs", "string", "hexadecimal", "l", "randHexaDecimal", "uuid", "randUuid", "internet", "email", "randEmail", "url", "randUrl", "person", "firstName", "randFirstName", "fullName", "randFullName", "company", "name", "randCompanyName", "commerce", "productName", "randProductName"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"packages/common/random/src/util.ts":{"bytes":4215,"imports":[{"path":"@ngneat/falso","kind":"import-statement","external":true}],"format":"esm"},"packages/common/random/src/faker.ts":{"bytes":9505,"imports":[{"path":"@ngneat/falso","kind":"import-statement","external":true},{"path":"packages/common/random/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/common/random/src/index.ts":{"bytes":590,"imports":[{"path":"@ngneat/falso","kind":"import-statement","external":true},{"path":"packages/common/random/src/faker.ts","kind":"import-statement","original":"./faker"}],"format":"esm"}},"outputs":{"packages/common/random/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7582},"packages/common/random/dist/lib/node-esm/index.mjs":{"imports":[{"path":"@ngneat/falso","kind":"import-statement","external":true},{"path":"@ngneat/falso","kind":"import-statement","external":true},{"path":"@ngneat/falso","kind":"import-statement","external":true}],"exports":["faker"],"entryPoint":"packages/common/random/src/index.ts","inputs":{"packages/common/random/src/index.ts":{"bytesInOutput":31},"packages/common/random/src/faker.ts":{"bytesInOutput":1998},"packages/common/random/src/util.ts":{"bytesInOutput":820}},"bytes":3155}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/random",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.13-main.548ca8d",
|
|
4
4
|
"description": "Random data generator.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
".": {
|
|
11
11
|
"browser": "./dist/lib/browser/index.mjs",
|
|
12
12
|
"node": {
|
|
13
|
-
"
|
|
13
|
+
"require": "./dist/lib/node/index.cjs",
|
|
14
|
+
"default": "./dist/lib/node-esm/index.mjs"
|
|
14
15
|
},
|
|
15
16
|
"types": "./dist/types/src/index.d.ts"
|
|
16
17
|
}
|
|
@@ -25,14 +26,9 @@
|
|
|
25
26
|
],
|
|
26
27
|
"dependencies": {
|
|
27
28
|
"@ngneat/falso": "^7.1.1",
|
|
28
|
-
"
|
|
29
|
-
"uuid": "^9.0.0",
|
|
30
|
-
"@dxos/node-std": "0.6.12"
|
|
31
|
-
},
|
|
32
|
-
"devDependencies": {
|
|
33
|
-
"@types/seedrandom": "^3.0.5",
|
|
34
|
-
"@types/uuid": "^9.0.0"
|
|
29
|
+
"@dxos/node-std": "0.6.13-main.548ca8d"
|
|
35
30
|
},
|
|
31
|
+
"devDependencies": {},
|
|
36
32
|
"publishConfig": {
|
|
37
33
|
"access": "public"
|
|
38
34
|
}
|