@kidus.dev/flowdb 1.0.3 → 1.0.5

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,24 +1,20 @@
1
1
  export default class Document {
2
- private _id;
3
- private _data;
4
- constructor({ id, ...data }: {
5
- id: string;
6
- [key: string]: any;
7
- });
2
+ private readonly _id;
3
+ private readonly _data;
4
+ private readonly _createdAt;
5
+ private readonly _updatedAt;
6
+ constructor(data: Record<string, any>);
8
7
  get id(): string;
8
+ get createdAt(): Date;
9
+ get updatedAt(): Date;
9
10
  get data(): Record<string, any>;
10
11
  get(key: string): any;
11
- set(key: string, value: any): void;
12
12
  containsKey(key: string): boolean;
13
13
  containsValue(value: any): boolean;
14
14
  get keys(): string[];
15
15
  get values(): any[];
16
- static fromJson({ id, data, }: {
17
- id?: string;
18
- data: Record<string, any>;
19
- }): Document;
20
- format(indent?: number): string;
21
- private _getNested;
22
- private _update;
16
+ static fromJson(data: Record<string, any>): Document;
17
+ pick(...keys: string[]): Document;
18
+ omit(...keys: string[]): Document;
23
19
  }
24
20
  //# sourceMappingURL=document.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/core/collection/document.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAsB;gBAEvB,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAK/D,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAE9B;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAIrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIlC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIlC,IAAI,IAAI,IAAI,MAAM,EAAE,CAEnB;IAED,IAAI,MAAM,IAAI,GAAG,EAAE,CAElB;IAED,MAAM,CAAC,QAAQ,CAAC,EACd,EAAE,EACF,IAAI,GACL,EAAE;QACD,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC3B,GAAG,QAAQ;IAMZ,MAAM,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM;IAoClC,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,OAAO;CAkBhB"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/core/collection/document.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAO;gBAEtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAarC,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAE9B;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAIrB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAIlC,IAAI,IAAI,IAAI,MAAM,EAAE,CAEnB;IAED,IAAI,MAAM,IAAI,GAAG,EAAE,CAElB;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ;IAI7C,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ;IAQjC,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ;CAOzC"}
@@ -2,21 +2,33 @@ import { Json, Random } from "../../tools";
2
2
  export default class Document {
3
3
  _id;
4
4
  _data;
5
- constructor({ id, ...data }) {
6
- this._id = id;
7
- this._data = data;
5
+ _createdAt;
6
+ _updatedAt;
7
+ constructor(data) {
8
+ this._id = data["__id"] ?? Random.cuid();
9
+ this._createdAt = data["__created_at"] ?? new Date();
10
+ this._updatedAt = data["__updated_at"] ?? new Date();
11
+ this._data = {
12
+ __id: this._id,
13
+ ...data,
14
+ __created_at: this._createdAt,
15
+ __updated_at: this._updatedAt,
16
+ };
8
17
  }
9
18
  get id() {
10
19
  return this._id;
11
20
  }
21
+ get createdAt() {
22
+ return this._createdAt;
23
+ }
24
+ get updatedAt() {
25
+ return this._updatedAt;
26
+ }
12
27
  get data() {
13
28
  return this._data;
14
29
  }
15
30
  get(key) {
16
- return this._getNested(this._data, key);
17
- }
18
- set(key, value) {
19
- this._update(this._data, key, value);
31
+ return Json.getNested(this._data, key);
20
32
  }
21
33
  containsKey(key) {
22
34
  return Object.prototype.hasOwnProperty.call(this._data, key);
@@ -30,57 +42,15 @@ export default class Document {
30
42
  get values() {
31
43
  return Object.values(this._data);
32
44
  }
33
- static fromJson({ id, data, }) {
34
- const document_id = id ?? data["__id"] ?? Random.uuid();
35
- return new Document({ id: document_id, data });
36
- }
37
- // FORMAT
38
- format(indent = 0) {
39
- const formatValue = (value, indent) => {
40
- if (value instanceof Document) {
41
- const docStr = value
42
- .format(indent + 1)
43
- .split("\n")
44
- .map((line) => " " + line)
45
- .join("\n");
46
- return docStr;
47
- }
48
- if (Array.isArray(value) && value.every((v) => v instanceof Document)) {
49
- const listStr = value
50
- .map((item) => item
51
- .format(indent + 1)
52
- .split("\n")
53
- .map((line) => " " + line)
54
- .join("\n"))
55
- .join(",\n ");
56
- return `(${value.length}) [\n${listStr}\n ]`;
57
- }
58
- return JSON.stringify(value);
59
- };
60
- const entries = Object.entries(this._data)
61
- .map(([k, v]) => {
62
- return `${" ".repeat(indent)}${k} => ${formatValue(v, indent)}`;
63
- })
64
- .join(",\n ");
65
- return `{\n ${entries}\n${" ".repeat(indent)}}`;
45
+ static fromJson(data) {
46
+ return new Document(data);
66
47
  }
67
- // Utility for get/set with dot-notation
68
- _getNested(obj, key) {
69
- if (!key)
70
- return obj;
71
- return key
72
- .split(".")
73
- .reduce((o, x) => (o == undefined ? undefined : o[x]), obj);
48
+ pick(...keys) {
49
+ const pickedData = Object.fromEntries(keys.filter((k) => keys.includes(k)).map((k) => [k, this._data[k]]));
50
+ return new Document(pickedData);
74
51
  }
75
- _update(obj, key, value) {
76
- const parts = key.split(".");
77
- let curr = obj;
78
- for (let i = 0; i < parts.length - 1; i++) {
79
- if (!(parts[i] in curr))
80
- curr[parts[i]] = {};
81
- curr = curr[parts[i]];
82
- }
83
- curr[parts[parts.length - 1]] = value;
84
- return curr;
52
+ omit(...keys) {
53
+ const omittedData = Object.fromEntries(Object.entries(this._data).filter(([k]) => !keys.includes(k)));
54
+ return new Document(omittedData);
85
55
  }
86
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collection_file_driver.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/driver/collection_file_driver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAQ,MAAM,gBAAgB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAU;gBAEf,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO;IAMhE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,UAAU,IAAI,IAAI;IAKZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,UAAU,IAAI,IAAI;IAIZ,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,QAAQ,IAAI,MAAM;IAKZ,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAarE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI;IAapD,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAcxD,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAYvC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpE,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI;CAU1D"}
1
+ {"version":3,"file":"collection_file_driver.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/driver/collection_file_driver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAQ,MAAM,gBAAgB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAU;gBAEf,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO;IAMhE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B,UAAU,IAAI,IAAI;IAKZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,UAAU,IAAI,IAAI;IAIZ,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAK7B,QAAQ,IAAI,MAAM;IAKZ,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI;IAapD,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAcxD,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAYvC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpE,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI;CAU1D"}
@@ -33,6 +33,7 @@ export default class CollectionFileDriver {
33
33
  return stats.size;
34
34
  }
35
35
  async appendRecords(lines) {
36
+ console.log(lines);
36
37
  const content = lines
37
38
  .map((line) => this.encrypted
38
39
  ? this.encryptor.enc(JSON.stringify(line))
@@ -1 +1 @@
1
- {"version":3,"file":"collection_operations.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/driver/collection_operations.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,oBAAoB,MAAM,0BAA0B,CAAC;AAG5D,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,oBAAoB,CAAC;gBAErB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE;IAUhE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAG7B,UAAU,IAAI,IAAI;IAIZ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAG7B,UAAU,IAAI,IAAI;IAIZ,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAG7B,QAAQ,IAAI,MAAM;IAKZ,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMvD,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,QAAQ;IAOtC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAM/D,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,QAAQ,EAAE;IAO9C,MAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKnC,UAAU,IAAI,QAAQ,EAAE;IAMlB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAQnD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAQlC,SAAS,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAO3C,aAAa,IAAI,QAAQ,GAAG,IAAI;IAO1B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IASvD,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IAUtC,mBAAmB,CACvB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAsB3B,uBAAuB,CACrB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,QAAQ,GAAG,IAAI;IAuBZ,mCAAmC,CACvC,GAAG,EAAE,MAAM,EAAE,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoBtB,uCAAuC,CACrC,GAAG,EAAE,MAAM,EAAE,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACxB,QAAQ,EAAE;IAqBP,yCAAyC,CAC7C,GAAG,EAAE,MAAM,EAAE,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAC3B,OAAO,CAAC,QAAQ,EAAE,CAAC;IAqBtB,6CAA6C,CAC3C,GAAG,EAAE,MAAM,EAAE,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAC3B,QAAQ,EAAE;IAsBP,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAetD,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAgBrC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAezD,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE;IAgBxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAG5B,SAAS,IAAI,IAAI;CAGlB"}
1
+ {"version":3,"file":"collection_operations.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/driver/collection_operations.ts"],"names":[],"mappings":"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"}
@@ -31,41 +31,41 @@ export default class CollectionOperations {
31
31
  }
32
32
  // ADD
33
33
  async add(data) {
34
- const record = Document.fromJson({ data });
34
+ const record = Document.fromJson(data);
35
35
  await this.fileDriver.appendRecords([record.data]);
36
36
  return record;
37
37
  }
38
38
  addSync(data) {
39
- const record = Document.fromJson({ data });
39
+ const record = Document.fromJson(data);
40
40
  this.fileDriver.appendRecordsSync([record.data]);
41
41
  return record;
42
42
  }
43
43
  // ADD MANY
44
44
  async addMany(data) {
45
- const records = data.map((item) => Document.fromJson({ data: item }));
45
+ const records = data.map((item) => Document.fromJson(item));
46
46
  await this.fileDriver.appendRecords(records.map((item) => item.data));
47
47
  return records;
48
48
  }
49
49
  addManySync(data) {
50
- const records = data.map((item) => Document.fromJson({ data: item }));
50
+ const records = data.map((item) => Document.fromJson(item));
51
51
  this.fileDriver.appendRecordsSync(records.map((item) => item.data));
52
52
  return records;
53
53
  }
54
54
  // GET ALL
55
55
  async getAll() {
56
56
  const lines = await this.fileDriver.readRecords();
57
- return lines.map((item) => Document.fromJson({ data: item }));
57
+ return lines.map((item) => Document.fromJson(item));
58
58
  }
59
59
  getAllSync() {
60
60
  const lines = this.fileDriver.readRecordsSync();
61
- return lines.map((item) => Document.fromJson({ data: item }));
61
+ return lines.map((item) => Document.fromJson(item));
62
62
  }
63
63
  // GET BY ID
64
64
  async getById(id) {
65
65
  const records = await this.fileDriver.readRecords();
66
66
  for (const record of records) {
67
67
  if (record["__id"] === id)
68
- return Document.fromJson({ data: record });
68
+ return Document.fromJson(record);
69
69
  }
70
70
  return null;
71
71
  }
@@ -73,29 +73,29 @@ export default class CollectionOperations {
73
73
  const records = this.fileDriver.readRecordsSync();
74
74
  for (const record of records) {
75
75
  if (record["__id"] === id)
76
- return Document.fromJson({ data: record });
76
+ return Document.fromJson(record);
77
77
  }
78
78
  return null;
79
79
  }
80
80
  async getRandom() {
81
81
  const records = await this.fileDriver.readRecords();
82
- return Random.pickOne(records.map((item) => Document.fromJson({ data: item })));
82
+ return Random.pickOne(records.map((item) => Document.fromJson(item)));
83
83
  }
84
84
  getRandomSync() {
85
85
  const records = this.fileDriver.readRecordsSync();
86
- return Random.pickOne(records.map((item) => Document.fromJson({ data: item })));
86
+ return Random.pickOne(records.map((item) => Document.fromJson(item)));
87
87
  }
88
88
  async getRandomMany(count) {
89
89
  if (count < 0)
90
90
  throw new Error("count must be >= 0");
91
91
  const records = await this.fileDriver.readRecords();
92
- return Random.pickMany(records.map((item) => Document.fromJson({ data: item })), { count });
92
+ return Random.pickMany(records.map((item) => Document.fromJson(item)), { count });
93
93
  }
94
94
  getRandomManySync(count) {
95
95
  if (count < 0)
96
96
  throw new Error("count must be >= 0");
97
97
  const records = this.fileDriver.readRecordsSync();
98
- return Random.pickMany(records.map((item) => Document.fromJson({ data: item })), { count });
98
+ return Random.pickMany(records.map((item) => Document.fromJson(item)), { count });
99
99
  }
100
100
  // UPDATE ONE DOCUMENT BY ID - Only update 1 record
101
101
  async updateOneRecordById(id, data) {
@@ -106,13 +106,14 @@ export default class CollectionOperations {
106
106
  for (const record of records) {
107
107
  if (!updated && record["__id"] === id) {
108
108
  const mergedData = { ...record, ...data };
109
- const newDoc = Document.fromJson({ data: mergedData });
109
+ mergedData["__updated_at"] = new Date();
110
+ const newDoc = Document.fromJson(mergedData);
110
111
  output.push(newDoc);
111
112
  updatedRecord = newDoc;
112
113
  updated = true;
113
114
  }
114
115
  else {
115
- output.push(Document.fromJson({ data: record }));
116
+ output.push(Document.fromJson(record));
116
117
  }
117
118
  }
118
119
  await this.fileDriver.writeRecords(output.map((item) => item.data));
@@ -126,13 +127,14 @@ export default class CollectionOperations {
126
127
  for (const record of records) {
127
128
  if (!updated && record["__id"] === id) {
128
129
  const mergedData = { ...record, ...data };
129
- const newDoc = Document.fromJson({ data: mergedData });
130
+ mergedData["__updated_at"] = new Date();
131
+ const newDoc = Document.fromJson(mergedData);
130
132
  output.push(newDoc);
131
133
  updatedRecord = newDoc;
132
134
  updated = true;
133
135
  }
134
136
  else {
135
- output.push(Document.fromJson({ data: record }));
137
+ output.push(Document.fromJson(record));
136
138
  }
137
139
  }
138
140
  this.fileDriver.writeRecordsSync(output.map((item) => item.data));
@@ -146,12 +148,13 @@ export default class CollectionOperations {
146
148
  for (const record of records) {
147
149
  if (ids.includes(record["__id"])) {
148
150
  const mergedData = { ...record, ...data };
149
- const doc = Document.fromJson({ data: mergedData });
151
+ mergedData["__updated_at"] = new Date();
152
+ const doc = Document.fromJson(mergedData);
150
153
  output.push(doc);
151
154
  updatedRecords.push(doc);
152
155
  }
153
156
  else {
154
- output.push(Document.fromJson({ data: record }));
157
+ output.push(Document.fromJson(record));
155
158
  }
156
159
  }
157
160
  await this.fileDriver.writeRecords(output.map((item) => item.data));
@@ -164,12 +167,13 @@ export default class CollectionOperations {
164
167
  for (const record of records) {
165
168
  if (ids.includes(record["__id"])) {
166
169
  const mergedData = { ...record, ...data };
167
- const doc = Document.fromJson({ data: mergedData });
170
+ mergedData["__updated_at"] = new Date();
171
+ const doc = Document.fromJson(mergedData);
168
172
  output.push(doc);
169
173
  updatedRecords.push(doc);
170
174
  }
171
175
  else {
172
- output.push(Document.fromJson({ data: record }));
176
+ output.push(Document.fromJson(record));
173
177
  }
174
178
  }
175
179
  this.fileDriver.writeRecordsSync(output.map((item) => item.data));
@@ -184,12 +188,13 @@ export default class CollectionOperations {
184
188
  if (ids.includes(record["__id"])) {
185
189
  const index = ids.indexOf(record["__id"]);
186
190
  const mergedData = { ...record, ...datas[index] };
187
- const doc = Document.fromJson({ data: mergedData });
191
+ mergedData["__updated_at"] = new Date();
192
+ const doc = Document.fromJson(mergedData);
188
193
  output.push(doc);
189
194
  updatedRecords.push(doc);
190
195
  }
191
196
  else {
192
- output.push(Document.fromJson({ data: record }));
197
+ output.push(Document.fromJson(record));
193
198
  }
194
199
  }
195
200
  await this.fileDriver.writeRecords(output.map((item) => item.data));
@@ -203,12 +208,13 @@ export default class CollectionOperations {
203
208
  if (ids.includes(record["__id"])) {
204
209
  const index = ids.indexOf(record["__id"]);
205
210
  const mergedData = { ...record, ...datas[index] };
206
- const doc = Document.fromJson({ data: mergedData });
211
+ mergedData["__updated_at"] = new Date();
212
+ const doc = Document.fromJson(mergedData);
207
213
  output.push(doc);
208
214
  updatedRecords.push(doc);
209
215
  }
210
216
  else {
211
- output.push(Document.fromJson({ data: record }));
217
+ output.push(Document.fromJson(record));
212
218
  }
213
219
  }
214
220
  this.fileDriver.writeRecordsSync(output.map((item) => item.data));
@@ -222,8 +228,8 @@ export default class CollectionOperations {
222
228
  for (const record of records) {
223
229
  if (record["__id"] === id)
224
230
  continue;
225
- output.push(Document.fromJson({ data: record }));
226
- deletedRecord = Document.fromJson({ data: record });
231
+ output.push(Document.fromJson(record));
232
+ deletedRecord = Document.fromJson(record);
227
233
  }
228
234
  await this.fileDriver.writeRecords(output.map((item) => item.data));
229
235
  return deletedRecord;
@@ -235,8 +241,8 @@ export default class CollectionOperations {
235
241
  for (const record of records) {
236
242
  if (record["__id"] === id)
237
243
  continue;
238
- output.push(Document.fromJson({ data: record }));
239
- deletedRecord = Document.fromJson({ data: record });
244
+ output.push(Document.fromJson(record));
245
+ deletedRecord = Document.fromJson(record);
240
246
  }
241
247
  this.fileDriver.writeRecordsSync(output.map((item) => item.data));
242
248
  return deletedRecord;
@@ -249,8 +255,8 @@ export default class CollectionOperations {
249
255
  for (const record of records) {
250
256
  if (ids.includes(record["__id"]))
251
257
  continue;
252
- output.push(Document.fromJson({ data: record }));
253
- deletedRecords.push(Document.fromJson({ data: record }));
258
+ output.push(Document.fromJson(record));
259
+ deletedRecords.push(Document.fromJson(record));
254
260
  }
255
261
  await this.fileDriver.writeRecords(output.map((item) => item.data));
256
262
  return deletedRecords;
@@ -262,8 +268,8 @@ export default class CollectionOperations {
262
268
  for (const record of records) {
263
269
  if (ids.includes(record["__id"]))
264
270
  continue;
265
- output.push(Document.fromJson({ data: record }));
266
- deletedRecords.push(Document.fromJson({ data: record }));
271
+ output.push(Document.fromJson(record));
272
+ deletedRecords.push(Document.fromJson(record));
267
273
  }
268
274
  this.fileDriver.writeRecordsSync(output.map((item) => item.data));
269
275
  return deletedRecords;
@@ -1 +1 @@
1
- {"version":3,"file":"filtering.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/query/filtering.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,qBAAa,SAAS;IACpB,MAAM,CAAC,gBAAgB,CACrB,SAAS,EAAE,QAAQ,EAAE,EACrB,UAAU,EAAE,KAAK,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,GACxC,QAAQ,EAAE;IAsCb,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAClC,QAAQ,EAAE;IA6Cb,MAAM,CAAC,oBAAoB,CACzB,SAAS,EAAE,QAAQ,EAAE,EACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GACnB,QAAQ,EAAE;IAOb,MAAM,CAAC,oBAAoB,CACzB,SAAS,EAAE,QAAQ,EAAE,EACrB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EACjB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAChB,QAAQ,EAAE;IA8Bb,MAAM,CAAC,qBAAqB,CAC1B,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GACjC,QAAQ,EAAE;WAiCA,iBAAiB,CAC5B,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GACjC,OAAO,CAAC,QAAQ,EAAE,CAAC;CAgCvB"}
1
+ {"version":3,"file":"filtering.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/query/filtering.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,qBAAa,SAAS;IACpB,MAAM,CAAC,gBAAgB,CACrB,SAAS,EAAE,QAAQ,EAAE,EACrB,UAAU,EAAE,KAAK,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,GACxC,QAAQ,EAAE;IAsCb,MAAM,CAAC,eAAe,CACpB,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAClC,QAAQ,EAAE;IA6Cb,MAAM,CAAC,oBAAoB,CACzB,SAAS,EAAE,QAAQ,EAAE,EACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GACnB,QAAQ,EAAE;IAOb,MAAM,CAAC,oBAAoB,CACzB,SAAS,EAAE,QAAQ,EAAE,EACrB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EACjB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAChB,QAAQ,EAAE;IAab,MAAM,CAAC,qBAAqB,CAC1B,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GACjC,QAAQ,EAAE;WAiCA,iBAAiB,CAC5B,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GACjC,OAAO,CAAC,QAAQ,EAAE,CAAC;CAgCvB"}
@@ -85,32 +85,12 @@ export class Filtering {
85
85
  return result;
86
86
  }
87
87
  static pickAndOmitDocuments(documents, pick, omit) {
88
- if (pick.size > 0 && omit.size > 0) {
88
+ if (pick.size > 0 && omit.size > 0)
89
89
  throw new Error("Pick and Omit cannot be used together");
90
- }
91
- if (pick.size > 0) {
92
- return Array.from(documents).map((doc) => {
93
- const filteredData = {};
94
- for (const k of pick) {
95
- if (doc.data.hasOwnProperty(k)) {
96
- filteredData[k] = doc.data[k];
97
- }
98
- }
99
- // Assume Document.fromJson equivalent is Document.fromJson in JS/TS
100
- return Document.fromJson(filteredData);
101
- });
102
- }
103
- if (omit.size > 0) {
104
- return Array.from(documents).map((doc) => {
105
- const filteredData = {};
106
- for (const [k, v] of Object.entries(doc.data)) {
107
- if (!omit.has(k)) {
108
- filteredData[k] = v;
109
- }
110
- }
111
- return Document.fromJson(filteredData);
112
- });
113
- }
90
+ if (pick.size > 0)
91
+ return documents.map((doc) => doc.pick(...Array.from(pick)));
92
+ if (omit.size > 0)
93
+ return documents.map((doc) => doc.omit(...Array.from(omit)));
114
94
  return documents;
115
95
  }
116
96
  static includedDocumentsSync(documents, includes) {
@@ -78,10 +78,8 @@ export default class QueryBuilder {
78
78
  isNotEmpty?: boolean;
79
79
  filter?: (value: any) => boolean;
80
80
  }): this;
81
- pick(field: string): this;
82
- pickMany(fields: string[]): this;
83
- omit(field: string): this;
84
- omitMany(fields: string[]): this;
81
+ pick(...fields: string[]): this;
82
+ omit(...fields: string[]): this;
85
83
  skip(skip: number): this;
86
84
  limit(limit: number): this;
87
85
  take(take: number): this;
@@ -1 +1 @@
1
- {"version":3,"file":"query_builder.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/query/query_builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query_builder.d.ts","sourceRoot":"","sources":["../../../../src/core/collection/query/query_builder.ts"],"names":[],"mappings":"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"}
@@ -40,21 +40,14 @@ export default class QueryBuilder {
40
40
  this._executor.addCondition(compare);
41
41
  return this;
42
42
  }
43
- pick(field) {
44
- this._executor.addPick(field);
45
- return this;
46
- }
47
- pickMany(fields) {
43
+ pick(...fields) {
48
44
  for (const field of fields) {
49
45
  this._executor.addPick(field);
50
46
  }
51
47
  return this;
52
- }
53
- omit(field) {
54
- this._executor.addOmit(field);
55
48
  return this;
56
49
  }
57
- omitMany(fields) {
50
+ omit(...fields) {
58
51
  for (const field of fields) {
59
52
  this._executor.addOmit(field);
60
53
  }
@@ -1,6 +1,9 @@
1
1
  export default class Random {
2
2
  private static _cuidCounter;
3
- static nextInt(max: number): number;
3
+ static number({ min, max }: {
4
+ min?: number;
5
+ max?: number;
6
+ }): number;
4
7
  static uuid(): string;
5
8
  static cuid(): string;
6
9
  static alpha(length: number, opts?: {
@@ -13,7 +16,6 @@ export default class Random {
13
16
  static boolean(): boolean;
14
17
  static pickOne<T>(values: T[]): T;
15
18
  static shuffle<T>(values: T[]): T[];
16
- static nextDouble(): number;
17
19
  static date(args?: {
18
20
  start?: Date;
19
21
  end?: Date;
@@ -22,15 +24,6 @@ export default class Random {
22
24
  static hexColor(opts?: {
23
25
  withAlpha?: boolean;
24
26
  }): string;
25
- static pickMapValue<K, V>(map: Map<K, V> | {
26
- [key: string]: V;
27
- }, opts?: {
28
- weights?: number[];
29
- }): V;
30
- static duration(args?: {
31
- min?: number;
32
- max?: number;
33
- }): number;
34
27
  static coin(probability: number): boolean;
35
28
  static pickSome<T>(values: T[], args?: {
36
29
  min?: number;
@@ -40,7 +33,5 @@ export default class Random {
40
33
  count?: number;
41
34
  }): T[];
42
35
  static ipv4(): string;
43
- static doubleInRange(min: number, max: number): number;
44
- static intInRange(min: number, max: number): number;
45
36
  }
46
37
  //# sourceMappingURL=random.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/tools/random.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAK;IAEhC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAInC,MAAM,CAAC,IAAI,IAAI,MAAM;IA4BrB,MAAM,CAAC,IAAI,IAAI,MAAM;IAoBrB,MAAM,CAAC,KAAK,CACV,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GACxC,MAAM;IAWT,MAAM,CAAC,YAAY,CACjB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GACxC,MAAM;IAcT,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAStC,MAAM,CAAC,OAAO,IAAI,OAAO;IAIzB,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;IAKjC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IASnC,MAAM,CAAC,UAAU,IAAI,MAAM;IAI3B,MAAM,CAAC,IAAI,CAAC,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,IAAI,CAAC;QAAC,GAAG,CAAC,EAAE,IAAI,CAAA;KAAO,GAAG,IAAI;IAY1D,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAS3D,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,MAAM;IAU3D,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EACtB,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE,EACrC,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,GAChC,CAAC;IA0BJ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,MAAM;IAQlE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAOzC,MAAM,CAAC,QAAQ,CAAC,CAAC,EACf,MAAM,EAAE,CAAC,EAAE,EACX,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GACxC,CAAC,EAAE;IAgBN,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,CAAC,EAAE;IAanE,MAAM,CAAC,IAAI,IAAI,MAAM;IAIrB,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAKtD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;CAIpD"}
1
+ {"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../src/tools/random.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAK;IAEhC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAO,EAAE,GAAO,EAAE,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAI3E,MAAM,CAAC,IAAI,IAAI,MAAM;IAgCrB,MAAM,CAAC,IAAI,IAAI,MAAM;IAwBrB,MAAM,CAAC,KAAK,CACV,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GACxC,MAAM;IAWT,MAAM,CAAC,YAAY,CACjB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAO,GACxC,MAAM;IAcT,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAStC,MAAM,CAAC,OAAO,IAAI,OAAO;IAIzB,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC;IAKjC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IASnC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,IAAI,CAAC;QAAC,GAAG,CAAC,EAAE,IAAI,CAAA;KAAO,GAAG,IAAI;IAY1D,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAS3D,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,MAAM;IAU3D,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAQzC,MAAM,CAAC,QAAQ,CAAC,CAAC,EACf,MAAM,EAAE,CAAC,EAAE,EACX,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GACxC,CAAC,EAAE;IAgBN,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,CAAC,EAAE;IAanE,MAAM,CAAC,IAAI,IAAI,MAAM;CAKtB"}
@@ -1,14 +1,18 @@
1
1
  export default class Random {
2
2
  static _cuidCounter = 0;
3
- static nextInt(max) {
4
- return Math.floor(Math.random() * max);
3
+ static number({ min = 0, max = 1 }) {
4
+ return min + Math.floor(Math.random() * (max - min + 1));
5
5
  }
6
6
  static uuid() {
7
7
  function fourDigits() {
8
- return Random.nextInt(0x10000).toString(16).padStart(4, "0");
8
+ return Random.number({ min: 0, max: 0x10000 })
9
+ .toString(16)
10
+ .padStart(4, "0");
9
11
  }
10
12
  function twoDigits() {
11
- return Random.nextInt(0x100).toString(16).padStart(2, "0");
13
+ return Random.number({ min: 0, max: 0x100 })
14
+ .toString(16)
15
+ .padStart(2, "0");
12
16
  }
13
17
  return (fourDigits() +
14
18
  fourDigits() +
@@ -19,7 +23,7 @@ export default class Random {
19
23
  twoDigits() +
20
24
  twoDigits() +
21
25
  "-" +
22
- (8 + Random.nextInt(4)).toString(16) +
26
+ (8 + Random.number({ min: 0, max: 4 })).toString(16) +
23
27
  twoDigits() +
24
28
  twoDigits() +
25
29
  "-" +
@@ -31,7 +35,9 @@ export default class Random {
31
35
  const ts = Date.now().toString(36).padStart(8, "0");
32
36
  Random._cuidCounter = (Random._cuidCounter + 1) % 1679616;
33
37
  const count = Random._cuidCounter.toString(36).padStart(4, "0");
34
- const randomPart = Random.nextInt(1679616).toString(36).padStart(4, "0");
38
+ const randomPart = Random.number({ min: 0, max: 1679616 })
39
+ .toString(36)
40
+ .padStart(4, "0");
35
41
  let fingerprint = "0000";
36
42
  try {
37
43
  fingerprint = ((typeof process !== "undefined" && process.pid ? process.pid : 0) ^
@@ -41,7 +47,9 @@ export default class Random {
41
47
  }
42
48
  catch {
43
49
  // fallback
44
- fingerprint = Random.nextInt(0x10000).toString(36).padStart(4, "0");
50
+ fingerprint = Random.number({ min: 0, max: 0x10000 })
51
+ .toString(36)
52
+ .padStart(4, "0");
45
53
  }
46
54
  return `c${ts}${count}${randomPart}${fingerprint}`;
47
55
  }
@@ -51,7 +59,7 @@ export default class Random {
51
59
  const chars = opts.includeUppercase ? lowercase + uppercase : lowercase;
52
60
  let out = "";
53
61
  for (let i = 0; i < length; ++i) {
54
- out += chars[Random.nextInt(chars.length)];
62
+ out += chars[Random.number({ min: 0, max: chars.length })];
55
63
  }
56
64
  return out;
57
65
  }
@@ -64,7 +72,7 @@ export default class Random {
64
72
  : lowercase + numbers;
65
73
  let out = "";
66
74
  for (let i = 0; i < length; ++i) {
67
- out += chars[Random.nextInt(chars.length)];
75
+ out += chars[Random.number({ min: 0, max: chars.length })];
68
76
  }
69
77
  return out;
70
78
  }
@@ -72,7 +80,7 @@ export default class Random {
72
80
  const numbers = "0123456789";
73
81
  let out = "";
74
82
  for (let i = 0; i < length; ++i) {
75
- out += numbers[Random.nextInt(numbers.length)];
83
+ out += numbers[Random.number({ min: 0, max: numbers.length })];
76
84
  }
77
85
  return out;
78
86
  }
@@ -82,19 +90,16 @@ export default class Random {
82
90
  static pickOne(values) {
83
91
  if (!values.length)
84
92
  throw new Error("List cannot be empty");
85
- return values[Random.nextInt(values.length)];
93
+ return values[Random.number({ min: 0, max: values.length })];
86
94
  }
87
95
  static shuffle(values) {
88
96
  const list = values.slice();
89
97
  for (let i = list.length - 1; i > 0; --i) {
90
- const j = Random.nextInt(i + 1);
98
+ const j = Random.number({ min: 0, max: i + 1 });
91
99
  [list[i], list[j]] = [list[j], list[i]];
92
100
  }
93
101
  return list;
94
102
  }
95
- static nextDouble() {
96
- return Math.random();
97
- }
98
103
  static date(args = {}) {
99
104
  const from = args.start || new Date(1970, 0, 1);
100
105
  const to = args.end || new Date();
@@ -110,56 +115,19 @@ export default class Random {
110
115
  throw new Error("charset cannot be empty");
111
116
  let out = "";
112
117
  for (let i = 0; i < length; ++i) {
113
- out += charset[Random.nextInt(charset.length)];
118
+ out += charset[Random.number({ min: 0, max: charset.length })];
114
119
  }
115
120
  return out;
116
121
  }
117
122
  static hexColor(opts = {}) {
118
123
  const withAlpha = opts.withAlpha || false;
119
124
  const value = withAlpha
120
- ? Random.nextInt(0x100000000)
121
- : Random.nextInt(0x1000000);
125
+ ? Random.number({ min: 0, max: 0x100000000 })
126
+ : Random.number({ min: 0, max: 0x1000000 });
122
127
  return withAlpha
123
128
  ? `#${value.toString(16).padStart(8, "0").toUpperCase()}`
124
129
  : `#${value.toString(16).padStart(6, "0").toUpperCase()}`;
125
130
  }
126
- static pickMapValue(map, opts = {}) {
127
- // Support both Map and object
128
- let values;
129
- if (map instanceof Map) {
130
- values = Array.from(map.values());
131
- }
132
- else {
133
- values = Object.values(map);
134
- }
135
- if (!values.length)
136
- throw new Error("Map cannot be empty");
137
- if (!opts.weights) {
138
- return Random.pickOne(values);
139
- }
140
- const weights = opts.weights;
141
- if (weights.length !== values.length) {
142
- throw new Error("Weights length must match Map value count.");
143
- }
144
- let sum = weights.reduce((a, b) => a + b, 0);
145
- let r = Math.random() * sum;
146
- for (let i = 0; i < values.length; ++i) {
147
- if (!weights[i])
148
- continue;
149
- if (r < weights[i])
150
- return values[i];
151
- r -= weights[i];
152
- }
153
- return values[values.length - 1];
154
- }
155
- static duration(args = {}) {
156
- // Returns random milliseconds between min (inclusive) and max (inclusive)
157
- const min = args.min ?? 0;
158
- const max = args.max ?? 60000;
159
- if (min > max)
160
- throw new Error("min must be < max");
161
- return min + Random.nextInt(max - min + 1);
162
- }
163
131
  static coin(probability) {
164
132
  if (probability < 0.0 || probability > 1.0) {
165
133
  throw new Error("probability must be from 0.0 to 1.0");
@@ -177,10 +145,10 @@ export default class Random {
177
145
  upper = values.length;
178
146
  if (lower > upper)
179
147
  throw new Error("min must be <= max");
180
- const count = lower + Random.nextInt(upper - lower + 1);
148
+ const count = lower + Random.number({ min: 0, max: upper - lower + 1 });
181
149
  const list = values.slice();
182
150
  for (let i = list.length - 1; i > 0; --i) {
183
- const j = Random.nextInt(i + 1);
151
+ const j = Random.number({ min: 0, max: i + 1 });
184
152
  [list[i], list[j]] = [list[j], list[i]];
185
153
  }
186
154
  return list.slice(0, count);
@@ -193,22 +161,12 @@ export default class Random {
193
161
  throw new Error("count must be <= values.length");
194
162
  const list = values.slice();
195
163
  for (let i = list.length - 1; i > 0; --i) {
196
- const j = Random.nextInt(i + 1);
164
+ const j = Random.number({ min: 0, max: i + 1 });
197
165
  [list[i], list[j]] = [list[j], list[i]];
198
166
  }
199
167
  return list.slice(0, count);
200
168
  }
201
169
  static ipv4() {
202
- return Array.from({ length: 4 }, () => Random.nextInt(256)).join(".");
203
- }
204
- static doubleInRange(min, max) {
205
- if (min >= max)
206
- throw new Error("min must be less than max");
207
- return min + Math.random() * (max - min);
208
- }
209
- static intInRange(min, max) {
210
- if (min >= max)
211
- throw new Error("min must be less than max");
212
- return min + Random.nextInt(max - min);
170
+ return Array.from({ length: 4 }, () => Random.number({ min: 0, max: 256 })).join(".");
213
171
  }
214
172
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kidus.dev/flowdb",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "A lightweight, pluggable local database for TypeScript and JavaScript projects.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",