@ztimson/momentum 1.4.4 → 1.4.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.
package/dist/audit.d.ts CHANGED
@@ -4,8 +4,8 @@ import { Momentum } from './momentum';
4
4
  export type AuditLog<T = any> = Meta & {
5
5
  /** Target module */
6
6
  module: string;
7
- /** Document ID */
8
- id: string;
7
+ /** Document Path & ID */
8
+ path: string;
9
9
  /** Changes */
10
10
  delta: any;
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,qBAAqB;AACrB,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG;IACtC,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc;IACd,KAAK,EAAE,GAAG,CAAC;CACX,CAAA;AAED,qBAAa,KAAM,SAAQ,gBAAgB;IAE9B,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;IAIlC,SAAS,IAAI,OAAO,CAAC;QAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAChD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK5C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKzD,QAAQ,CAAC,EAAE,EAAE,MAAM;CAIzB"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,qBAAqB;AACrB,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG;IACtC,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc;IACd,KAAK,EAAE,GAAG,CAAC;CACX,CAAA;AAED,qBAAa,KAAM,SAAQ,gBAAgB;IAE9B,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;IAIlC,SAAS,IAAI,OAAO,CAAC;QAAC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAChD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK5C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKzD,QAAQ,CAAC,EAAE,EAAE,MAAM;CAIzB"}
package/dist/data.d.ts CHANGED
@@ -55,7 +55,7 @@ export declare class Data extends PathEventEmitter {
55
55
  [key: string]: Unsubscribe;
56
56
  };
57
57
  constructor(momentum: Momentum);
58
- protected dataUrl(collection: string, pk?: number): string;
58
+ protected dataUrl(collection: string, pk?: number | null): string;
59
59
  /**
60
60
  * Create new document(s) in collection
61
61
  * @param {string} collection Target collection
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAC,KAAK,IAAI,EAAE,gBAAgB,EAAM,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,uCAAuC;AACvC,MAAM,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtG,mFAAmF;AACnF,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AAEnH,6EAA6E;AAC7E,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI,CAAA;KAC5B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;CAAC,IACrE,KAAK,CAAC,CAAA;KAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAC,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAAC,IAAG,IAAI,CAAC,CAAC;AAEnF,+BAA+B;AAC/B,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;AAEnC,yBAAyB;AACzB,MAAM,MAAM,WAAW,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACzB,CAAC;AAEF,2BAA2B;AAC3B,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,2BAA2B;AAC3B,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAwB;AACxB,MAAM,MAAM,QAAQ,GAAG;IACtB,2BAA2B;IAC3B,OAAO,EAAE,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;IACtJ,gCAAgC;IAChC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,YAAY;IACZ,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,gCAAgC;IAChC,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB,CAAA;AAED,qCAAqC;AACrC,qBAAa,IAAK,SAAQ,gBAAgB;IAG7B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAFxC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;KAAC,CAAM;gBAE5C,QAAQ,EAAE,QAAQ;IAIxC,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAIjE;;;;;OAKG;IACH,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAc3G;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAClF,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IACrF,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmB5F;;;;;;OAMG;IACH,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACjG,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAC5F,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAuBjG;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,GAAE,aAAa,CAAC,CAAC,CAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAmB3I;;;;;OAKG;IACH,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IASzD;;;;;;OAMG;IACH,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,GAAE;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAM,GAAG,WAAW;CAmBtG"}
package/dist/index.js CHANGED
@@ -3207,6 +3207,7 @@ Must be either: call, email or sms`);
3207
3207
  */
3208
3208
  create(collection, documents) {
3209
3209
  if (!collection || !documents) throw new Error("Cannot create document, missing collection or document");
3210
+ if (Array.isArray(documents) && !documents.length) return Promise.resolve([]);
3210
3211
  return this.momentum.api.request({
3211
3212
  url: `api/` + PES`data/${collection}`,
3212
3213
  method: "POST",
@@ -3219,7 +3220,8 @@ Must be either: call, email or sms`);
3219
3220
  }
3220
3221
  async delete(collection, filter, options) {
3221
3222
  if (!collection || filter == null) throw new Error("Cannot delete document, missing collection or filter");
3222
- const pk = Array.isArray(filter) ? null : typeof filter == "object" ? filter?.["_id"] ?? null : filter;
3223
+ if (Array.isArray(filter) && !filter.length) return [];
3224
+ const pk = Array.isArray(filter) ? null : typeof filter == "object" ? filter["_id"] == null || Array.isArray(filter["_id"]) ? null : filter["_id"] : filter;
3223
3225
  const url = this.dataUrl(collection, pk);
3224
3226
  const ids = await this.momentum.api.request({
3225
3227
  url,
@@ -3234,7 +3236,7 @@ Must be either: call, email or sms`);
3234
3236
  }
3235
3237
  read(collection, filter, options) {
3236
3238
  if (!collection) throw new Error("Cannot read documents, missing collection");
3237
- const pk = typeof filter == "object" ? Array.isArray(filter) ? null : filter?.["_id"] ?? null : filter;
3239
+ const pk = Array.isArray(filter) ? null : typeof filter == "object" ? filter["_id"] == null || Array.isArray(filter["_id"]) ? null : filter["_id"] : filter;
3238
3240
  const q = typeof filter == "object" && filter != null && Object.keys(filter).length && pk == null ? filter : null;
3239
3241
  const url = this.dataUrl(collection, pk);
3240
3242
  return this.momentum.api.request({
@@ -3260,11 +3262,12 @@ Must be either: call, email or sms`);
3260
3262
  * @return {Promise<Document<T> | Document<T>[]>} Updated document(s)
3261
3263
  */
3262
3264
  update(collection, documents, options = {}) {
3263
- if (!collection || !documents) throw new Error("Cannot update document, missing collection or document");
3265
+ if (!collection || !documents) throw new Error("Cannot update, missing collection or document");
3266
+ if (Array.isArray(documents) && !documents.length) return Promise.resolve([]);
3264
3267
  const { filter, append, ...queryOptions } = options;
3265
3268
  const isArray = Array.isArray(documents);
3266
3269
  const firstDoc = isArray ? documents[0] : documents;
3267
- const pk = isArray ? null : filter ? filter?._id ?? firstDoc._id : firstDoc._id;
3270
+ const pk = (isArray ? null : filter && !Array.isArray(filter?._id) ? filter?._id : null) ?? firstDoc._id;
3268
3271
  const url = this.dataUrl(collection, pk);
3269
3272
  return this.momentum.api.request({
3270
3273
  url,
@@ -4335,7 +4338,7 @@ ${log}`;
4335
4338
  }
4336
4339
  momentum;
4337
4340
  }
4338
- const version = "1.4.4";
4341
+ const version = "1.4.5";
4339
4342
  class WebRtc extends PathEventEmitter {
4340
4343
  constructor(momentum) {
4341
4344
  super("webrtc");
package/dist/index.mjs CHANGED
@@ -3203,6 +3203,7 @@ class Data extends PathEventEmitter {
3203
3203
  */
3204
3204
  create(collection, documents) {
3205
3205
  if (!collection || !documents) throw new Error("Cannot create document, missing collection or document");
3206
+ if (Array.isArray(documents) && !documents.length) return Promise.resolve([]);
3206
3207
  return this.momentum.api.request({
3207
3208
  url: `api/` + PES`data/${collection}`,
3208
3209
  method: "POST",
@@ -3215,7 +3216,8 @@ class Data extends PathEventEmitter {
3215
3216
  }
3216
3217
  async delete(collection, filter, options) {
3217
3218
  if (!collection || filter == null) throw new Error("Cannot delete document, missing collection or filter");
3218
- const pk = Array.isArray(filter) ? null : typeof filter == "object" ? filter?.["_id"] ?? null : filter;
3219
+ if (Array.isArray(filter) && !filter.length) return [];
3220
+ const pk = Array.isArray(filter) ? null : typeof filter == "object" ? filter["_id"] == null || Array.isArray(filter["_id"]) ? null : filter["_id"] : filter;
3219
3221
  const url = this.dataUrl(collection, pk);
3220
3222
  const ids = await this.momentum.api.request({
3221
3223
  url,
@@ -3230,7 +3232,7 @@ class Data extends PathEventEmitter {
3230
3232
  }
3231
3233
  read(collection, filter, options) {
3232
3234
  if (!collection) throw new Error("Cannot read documents, missing collection");
3233
- const pk = typeof filter == "object" ? Array.isArray(filter) ? null : filter?.["_id"] ?? null : filter;
3235
+ const pk = Array.isArray(filter) ? null : typeof filter == "object" ? filter["_id"] == null || Array.isArray(filter["_id"]) ? null : filter["_id"] : filter;
3234
3236
  const q = typeof filter == "object" && filter != null && Object.keys(filter).length && pk == null ? filter : null;
3235
3237
  const url = this.dataUrl(collection, pk);
3236
3238
  return this.momentum.api.request({
@@ -3256,11 +3258,12 @@ class Data extends PathEventEmitter {
3256
3258
  * @return {Promise<Document<T> | Document<T>[]>} Updated document(s)
3257
3259
  */
3258
3260
  update(collection, documents, options = {}) {
3259
- if (!collection || !documents) throw new Error("Cannot update document, missing collection or document");
3261
+ if (!collection || !documents) throw new Error("Cannot update, missing collection or document");
3262
+ if (Array.isArray(documents) && !documents.length) return Promise.resolve([]);
3260
3263
  const { filter, append, ...queryOptions } = options;
3261
3264
  const isArray = Array.isArray(documents);
3262
3265
  const firstDoc = isArray ? documents[0] : documents;
3263
- const pk = isArray ? null : filter ? filter?._id ?? firstDoc._id : firstDoc._id;
3266
+ const pk = (isArray ? null : filter && !Array.isArray(filter?._id) ? filter?._id : null) ?? firstDoc._id;
3264
3267
  const url = this.dataUrl(collection, pk);
3265
3268
  return this.momentum.api.request({
3266
3269
  url,
@@ -4331,7 +4334,7 @@ class Static extends Storage {
4331
4334
  }
4332
4335
  momentum;
4333
4336
  }
4334
- const version = "1.4.4";
4337
+ const version = "1.4.5";
4335
4338
  class WebRtc extends PathEventEmitter {
4336
4339
  constructor(momentum) {
4337
4340
  super("webrtc");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ztimson/momentum",
3
- "version": "1.4.4",
3
+ "version": "1.4.5",
4
4
  "description": "Client library for momentum",
5
5
  "keywords": [
6
6
  "Momentum"
@@ -33,7 +33,7 @@
33
33
  "postbuild": "npm run build:docs && node -e \"const fs=require('fs');fs.cpSync('dist/index.mjs','../server/public/momentum.mjs');fs.cpSync('dist/index.js','../server/public/momentum.js');fs.cpSync('dist/momentum.worker.mjs','../server/public/momentum.worker.mjs')\""
34
34
  },
35
35
  "dependencies": {
36
- "@ztimson/utils": "^0.29.7"
36
+ "@ztimson/utils": "^0.30.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/node": "^22.5.4",