@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":384,"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}}}
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.12",
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
- "default": "./dist/lib/node/index.cjs"
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
- "seedrandom": "^3.0.5",
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
  }
@@ -2,9 +2,7 @@
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
4
 
5
- import { expect } from 'chai';
6
-
7
- import { describe, test } from '@dxos/test';
5
+ import { describe, expect, test } from 'vitest';
8
6
 
9
7
  describe('Random', () => {
10
8
  test('test', () => {