@lossless.org/client 1.6.0 → 1.8.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.
Files changed (51) hide show
  1. package/dist_ts/00_commitinfo_data.js +1 -1
  2. package/dist_ts/nosqldb/classes.atomicdelete.d.ts +1 -0
  3. package/dist_ts/nosqldb/classes.atomicdelete.js +10 -7
  4. package/dist_ts/nosqldb/classes.atomicfindoneandupdate.d.ts +2 -0
  5. package/dist_ts/nosqldb/classes.atomicfindoneandupdate.js +9 -5
  6. package/dist_ts/nosqldb/classes.atomicupdate.d.ts +2 -0
  7. package/dist_ts/nosqldb/classes.atomicupdate.js +13 -8
  8. package/dist_ts/nosqldb/classes.collection.d.ts +13 -4
  9. package/dist_ts/nosqldb/classes.collection.js +57 -64
  10. package/dist_ts/nosqldb/classes.db.d.ts +1 -1
  11. package/dist_ts/nosqldb/classes.doc.d.ts +60 -3
  12. package/dist_ts/nosqldb/classes.doc.js +68 -26
  13. package/dist_ts/nosqldb/classes.exactpersistence.d.ts +36 -7
  14. package/dist_ts/nosqldb/classes.exactpersistence.js +92 -81
  15. package/dist_ts/nosqldb/classes.operationdeadline.d.ts +61 -0
  16. package/dist_ts/nosqldb/classes.operationdeadline.js +149 -0
  17. package/dist_ts/nosqldb/classes.persistence.d.ts +16 -1
  18. package/dist_ts/nosqldb/classes.persistence.js +20 -1
  19. package/dist_ts/nosqldb/classes.session.d.ts +73 -2
  20. package/dist_ts/nosqldb/classes.session.js +164 -38
  21. package/dist_ts/objectstorage/classes.bucket.d.ts +61 -3
  22. package/dist_ts/objectstorage/classes.bucket.js +243 -184
  23. package/dist_ts/objectstorage/classes.directory.js +17 -28
  24. package/dist_ts/objectstorage/classes.smartbucket.d.ts +13 -6
  25. package/dist_ts/objectstorage/classes.smartbucket.js +18 -12
  26. package/dist_ts/objectstorage/classes.watcher.js +1 -2
  27. package/dist_ts/objectstorage/interfaces.d.ts +8 -0
  28. package/dist_ts/objectstorage/internal.bucketrequests.d.ts +14 -0
  29. package/dist_ts/objectstorage/internal.bucketrequests.js +53 -0
  30. package/dist_ts/objectstorage/internal.exactupload.capability.d.ts +12 -0
  31. package/dist_ts/objectstorage/internal.exactupload.capability.js +46 -17
  32. package/package.json +3 -3
  33. package/readme.md +13 -2
  34. package/ts/00_commitinfo_data.ts +1 -1
  35. package/ts/nosqldb/classes.atomicdelete.ts +10 -6
  36. package/ts/nosqldb/classes.atomicfindoneandupdate.ts +10 -4
  37. package/ts/nosqldb/classes.atomicupdate.ts +14 -7
  38. package/ts/nosqldb/classes.collection.ts +82 -73
  39. package/ts/nosqldb/classes.db.ts +1 -1
  40. package/ts/nosqldb/classes.doc.ts +162 -33
  41. package/ts/nosqldb/classes.exactpersistence.ts +131 -93
  42. package/ts/nosqldb/classes.operationdeadline.ts +179 -0
  43. package/ts/nosqldb/classes.persistence.ts +36 -1
  44. package/ts/nosqldb/classes.session.ts +221 -39
  45. package/ts/objectstorage/classes.bucket.ts +350 -218
  46. package/ts/objectstorage/classes.directory.ts +18 -27
  47. package/ts/objectstorage/classes.smartbucket.ts +21 -11
  48. package/ts/objectstorage/classes.watcher.ts +0 -1
  49. package/ts/objectstorage/interfaces.ts +9 -0
  50. package/ts/objectstorage/internal.bucketrequests.ts +70 -0
  51. package/ts/objectstorage/internal.exactupload.capability.ts +105 -24
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@lossless.org/client',
6
- version: '1.6.0',
6
+ version: '1.8.0',
7
7
  description: 'One typed client for NoSQLDB, MongoDB, SQLDB, MariaDB, ClickHouse and S3 object storage.'
8
8
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLDBGQUEwRjtDQUN4RyxDQUFBIn0=
@@ -23,4 +23,5 @@ export declare const executeAtomicDelete: <T>(collectionArg: SmartdataCollection
23
23
  export declare const executeAtomicDeleteMany: <T>(collectionArg: SmartdataCollection<T>, filterArg: plugins.mongodb.Filter<plugins.mongodb.Document>, optsArg?: {
24
24
  session?: TSmartdataOrdinarySession;
25
25
  timeoutMS?: number;
26
+ signal?: AbortSignal;
26
27
  }) => Promise<plugins.mongodb.DeleteResult>;
@@ -12,11 +12,12 @@ export const executeAtomicDelete = async (collectionArg, filterArg, optsArg) =>
12
12
  ordinaryWrite: true,
13
13
  prepared: collectionArg.isInitializedForCurrentDatabase(),
14
14
  collectionName: collectionArg.collectionName,
15
- }, async (rawSessionArg) => {
16
- await collectionArg.init();
15
+ timeoutMS: optsArg?.timeoutMS,
16
+ }, async (rawSessionArg, deadlineArg) => {
17
+ await deadlineArg.join(collectionArg.init());
17
18
  return collectionArg.mongoDbCollection.deleteOne(filterArg, {
18
19
  session: rawSessionArg,
19
- timeoutMS: optsArg?.timeoutMS,
20
+ ...deadlineArg.commandOptions(),
20
21
  });
21
22
  });
22
23
  };
@@ -33,12 +34,14 @@ export const executeAtomicDeleteMany = async (collectionArg, filterArg, optsArg)
33
34
  ordinaryWrite: true,
34
35
  prepared: collectionArg.isInitializedForCurrentDatabase(),
35
36
  collectionName: collectionArg.collectionName,
36
- }, async (rawSessionArg) => {
37
- await collectionArg.init();
37
+ timeoutMS: optsArg?.timeoutMS,
38
+ signal: optsArg?.signal,
39
+ }, async (rawSessionArg, deadlineArg) => {
40
+ await deadlineArg.join(collectionArg.init());
38
41
  return collectionArg.mongoDbCollection.deleteMany(filterArg, {
39
42
  session: rawSessionArg,
40
- timeoutMS: optsArg?.timeoutMS,
43
+ ...deadlineArg.commandOptions(),
41
44
  });
42
45
  });
43
46
  };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdG9taWNkZWxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9ub3NxbGRiL2NsYXNzZXMuYXRvbWljZGVsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE9BQU8sRUFDTCwrQkFBK0IsR0FFaEMsTUFBTSxzQkFBc0IsQ0FBQztBQUU5Qjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEVBQ3RDLGFBQXFDLEVBQ3JDLFNBQTJELEVBQzNELE9BR0MsRUFDc0MsRUFBRTtJQUN6QyxPQUFPLCtCQUErQixDQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUNoQixhQUFhLENBQUMsV0FBVyxFQUN6QjtRQUNFLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFFBQVEsRUFBRSxhQUFhLENBQUMsK0JBQStCLEVBQUU7UUFDekQsY0FBYyxFQUFFLGFBQWEsQ0FBQyxjQUFjO0tBQzdDLEVBQ0QsS0FBSyxFQUFFLGFBQWEsRUFBRSxFQUFFO1FBQ3RCLE1BQU0sYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLE9BQU8sYUFBYSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FDOUMsU0FBUyxFQUNUO1lBQ0UsT0FBTyxFQUFFLGFBQWE7WUFDdEIsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTO1NBQzlCLENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEtBQUssRUFDMUMsYUFBcUMsRUFDckMsU0FBMkQsRUFDM0QsT0FHQyxFQUNzQyxFQUFFO0lBQ3pDLE9BQU8sK0JBQStCLENBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLGFBQWEsQ0FBQyxXQUFXLEVBQ3pCO1FBQ0UsYUFBYSxFQUFFLElBQUk7UUFDbkIsUUFBUSxFQUFFLGFBQWEsQ0FBQywrQkFBK0IsRUFBRTtRQUN6RCxjQUFjLEVBQUUsYUFBYSxDQUFDLGNBQWM7S0FDN0MsRUFDRCxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7UUFDdEIsTUFBTSxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsT0FBTyxhQUFhLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUMvQyxTQUFTLEVBQ1Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVM7U0FDOUIsQ0FDRixDQUFDO0lBQ0osQ0FBQyxDQUNGLENBQUM7QUFDSixDQUFDLENBQUMifQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdG9taWNkZWxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9ub3NxbGRiL2NsYXNzZXMuYXRvbWljZGVsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE9BQU8sRUFDTCwrQkFBK0IsR0FFaEMsTUFBTSxzQkFBc0IsQ0FBQztBQUU5Qjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEVBQ3RDLGFBQXFDLEVBQ3JDLFNBQTJELEVBQzNELE9BR0MsRUFDc0MsRUFBRTtJQUN6QyxPQUFPLCtCQUErQixDQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUNoQixhQUFhLENBQUMsV0FBVyxFQUN6QjtRQUNFLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFFBQVEsRUFBRSxhQUFhLENBQUMsK0JBQStCLEVBQUU7UUFDekQsY0FBYyxFQUFFLGFBQWEsQ0FBQyxjQUFjO1FBQzVDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUztLQUM5QixFQUNELEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sYUFBYSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FDOUMsU0FBUyxFQUNUO1lBQ0UsT0FBTyxFQUFFLGFBQWE7WUFDdEIsR0FBRyxXQUFXLENBQUMsY0FBYyxFQUFFO1NBQ2hDLENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEtBQUssRUFDMUMsYUFBcUMsRUFDckMsU0FBMkQsRUFDM0QsT0FJQyxFQUNzQyxFQUFFO0lBQ3pDLE9BQU8sK0JBQStCLENBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLGFBQWEsQ0FBQyxXQUFXLEVBQ3pCO1FBQ0UsYUFBYSxFQUFFLElBQUk7UUFDbkIsUUFBUSxFQUFFLGFBQWEsQ0FBQywrQkFBK0IsRUFBRTtRQUN6RCxjQUFjLEVBQUUsYUFBYSxDQUFDLGNBQWM7UUFDNUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTO1FBQzdCLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTTtLQUN4QixFQUNELEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sYUFBYSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FDL0MsU0FBUyxFQUNUO1lBQ0UsT0FBTyxFQUFFLGFBQWE7WUFDdEIsR0FBRyxXQUFXLENBQUMsY0FBYyxFQUFFO1NBQ2hDLENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
@@ -30,6 +30,7 @@ export declare const executeAtomicFindOneAndUpdate: <T>(collectionArg: Smartdata
30
30
  upsert: boolean;
31
31
  sort?: Record<string, 1 | -1>;
32
32
  session?: TSmartdataOrdinarySession;
33
+ timeoutMS?: number;
33
34
  }) => Promise<TAtomicFindOneAndUpdateExecutionResult>;
34
35
  /**
35
36
  * Executes a model-validated atomic find-one-and-replace against MongoDB.
@@ -43,5 +44,6 @@ export declare const executeAtomicFindOneAndUpdate: <T>(collectionArg: Smartdata
43
44
  export declare const executeAtomicFindOneAndReplace: <T>(collectionArg: SmartdataCollection<T>, filterArg: plugins.mongodb.Filter<plugins.mongodb.Document>, replacementArg: plugins.mongodb.WithoutId<plugins.mongodb.Document>, optionsArg: {
44
45
  returnDocument: "before" | "after";
45
46
  session?: TSmartdataOrdinarySession;
47
+ timeoutMS?: number;
46
48
  }) => Promise<TAtomicFindOneAndReplaceExecutionResult>;
47
49
  export {};
@@ -51,11 +51,12 @@ export const executeAtomicFindOneAndUpdate = async (collectionArg, filterArg, up
51
51
  ordinaryWrite: true,
52
52
  prepared: collectionArg.isInitializedForCurrentDatabase(),
53
53
  collectionName: collectionArg.collectionName,
54
- }, async (rawSessionArg) => {
54
+ timeoutMS: optionsArg.timeoutMS,
55
+ }, async (rawSessionArg, deadlineArg) => {
55
56
  if (policy && !rawSessionArg?.inTransaction()) {
56
57
  throw new SmartdataPersistenceError('unsupported_operation', 'Validated ordinary updates require an active owned transaction.');
57
58
  }
58
- await collectionArg.init();
59
+ await deadlineArg.join(collectionArg.init());
59
60
  try {
60
61
  const result = await collectionArg.mongoDbCollection.findOneAndUpdate(filterArg, updateArg, {
61
62
  includeResultMetadata: true,
@@ -63,6 +64,7 @@ export const executeAtomicFindOneAndUpdate = async (collectionArg, filterArg, up
63
64
  upsert: optionsArg.upsert,
64
65
  ...(optionsArg.sort ? { sort: optionsArg.sort } : {}),
65
66
  session: rawSessionArg,
67
+ ...deadlineArg.commandOptions(),
66
68
  });
67
69
  try {
68
70
  const classified = classifyResult(result, optionsArg);
@@ -102,14 +104,16 @@ export const executeAtomicFindOneAndReplace = async (collectionArg, filterArg, r
102
104
  ordinaryWrite: true,
103
105
  prepared: collectionArg.isInitializedForCurrentDatabase(),
104
106
  collectionName: collectionArg.collectionName,
105
- }, async (rawSessionArg) => {
106
- await collectionArg.init();
107
+ timeoutMS: optionsArg.timeoutMS,
108
+ }, async (rawSessionArg, deadlineArg) => {
109
+ await deadlineArg.join(collectionArg.init());
107
110
  try {
108
111
  const result = await collectionArg.mongoDbCollection.findOneAndReplace(filterArg, replacementArg, {
109
112
  includeResultMetadata: true,
110
113
  returnDocument: optionsArg.returnDocument,
111
114
  upsert: false,
112
115
  session: rawSessionArg,
116
+ ...deadlineArg.commandOptions(),
113
117
  });
114
118
  const classified = classifyResult(result, {
115
119
  returnDocument: optionsArg.returnDocument,
@@ -126,4 +130,4 @@ export const executeAtomicFindOneAndReplace = async (collectionArg, filterArg, r
126
130
  }
127
131
  });
128
132
  };
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdG9taWNmaW5kb25lYW5kdXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbm9zcWxkYi9jbGFzc2VzLmF0b21pY2ZpbmRvbmVhbmR1cGRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyx5QkFBeUIsR0FDMUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGtCQUFrQixFQUNsQix3QkFBd0IsR0FHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQWFsRixNQUFNLGlCQUFpQixHQUFHLEdBQVUsRUFBRTtJQUNwQyxNQUFNLElBQUkseUJBQXlCLENBQ2pDLHVCQUF1QixFQUN2QixtRUFBbUUsQ0FDcEUsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLENBQ3JCLFNBQWlFLEVBQ2pFLFVBR0MsRUFDdUMsRUFBRTtJQUMxQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDO0lBQzNDLElBQUksU0FBUyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2hFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDL0UsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUVuQyxJQUNFLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQztXQUNiLFFBQVEsQ0FBQyxlQUFlLEtBQUssSUFBSTtXQUNqQyxDQUFDLFdBQVc7V0FDWixTQUFTLENBQUMsS0FBSyxLQUFLLElBQUksRUFDM0IsQ0FB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
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdG9taWNmaW5kb25lYW5kdXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbm9zcWxkYi9jbGFzc2VzLmF0b21pY2ZpbmRvbmVhbmR1cGRhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyx5QkFBeUIsR0FDMUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGtCQUFrQixFQUNsQix3QkFBd0IsR0FHekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQWFsRixNQUFNLGlCQUFpQixHQUFHLEdBQVUsRUFBRTtJQUNwQyxNQUFNLElBQUkseUJBQXlCLENBQ2pDLHVCQUF1QixFQUN2QixtRUFBbUUsQ0FDcEUsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLENBQ3JCLFNBQWlFLEVBQ2pFLFVBR0MsRUFDdUMsRUFBRTtJQUMxQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDO0lBQzNDLElBQUksU0FBUyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2hFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDL0UsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUVuQyxJQUNFLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQztXQUNiLFFBQVEsQ0FBQyxlQUFlLEtBQUssSUFBSTtXQUNqQyxDQUFDLFdBQVc7V0FDWixTQUFTLENBQUMsS0FBSyxLQUFLLElBQUksRUFDM0IsQ0FB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
@@ -11,6 +11,7 @@ import { type TSmartdataOrdinarySession } from './classes.session.js';
11
11
  export declare const executeAtomicUpdate: <T>(collectionArg: SmartdataCollection<T>, filterArg: plugins.mongodb.Filter<plugins.mongodb.Document>, updateArg: plugins.mongodb.UpdateFilter<plugins.mongodb.Document>, optsArg?: {
12
12
  upsert?: boolean;
13
13
  session?: TSmartdataOrdinarySession;
14
+ timeoutMS?: number;
14
15
  }) => Promise<plugins.mongodb.UpdateResult>;
15
16
  /**
16
17
  * Executes a bounded batch of model-validated atomic upserts against MongoDB.
@@ -44,4 +45,5 @@ export declare const executeAtomicUpsertMany: <T>(collectionArg: SmartdataCollec
44
45
  */
45
46
  export declare const executeAtomicUpdateMany: <T>(collectionArg: SmartdataCollection<T>, filterArg: plugins.mongodb.Filter<plugins.mongodb.Document>, updateArg: plugins.mongodb.UpdateFilter<plugins.mongodb.Document>, optsArg?: {
46
47
  session?: TSmartdataOrdinarySession;
48
+ timeoutMS?: number;
47
49
  }) => Promise<plugins.mongodb.UpdateResult>;
@@ -13,12 +13,14 @@ export const executeAtomicUpdate = async (collectionArg, filterArg, updateArg, o
13
13
  ordinaryWrite: true,
14
14
  prepared: collectionArg.isInitializedForCurrentDatabase(),
15
15
  collectionName: collectionArg.collectionName,
16
- }, async (rawSessionArg) => {
17
- await collectionArg.init();
16
+ timeoutMS: optsArg?.timeoutMS,
17
+ }, async (rawSessionArg, deadlineArg) => {
18
+ await deadlineArg.join(collectionArg.init());
18
19
  try {
19
20
  return await collectionArg.mongoDbCollection.updateOne(filterArg, updateArg, {
20
21
  upsert: optsArg?.upsert === true,
21
22
  session: rawSessionArg,
23
+ ...deadlineArg.commandOptions(),
22
24
  });
23
25
  }
24
26
  catch (errorArg) {
@@ -40,8 +42,9 @@ export const executeAtomicUpsertMany = async (collectionArg, operationsArg, opts
40
42
  ordinaryWrite: true,
41
43
  prepared: collectionArg.isInitializedForCurrentDatabase(),
42
44
  collectionName: collectionArg.collectionName,
43
- }, async (rawSessionArg) => {
44
- await collectionArg.init();
45
+ timeoutMS: optsArg?.timeoutMS,
46
+ }, async (rawSessionArg, deadlineArg) => {
47
+ await deadlineArg.join(collectionArg.init());
45
48
  try {
46
49
  const result = await collectionArg.mongoDbCollection.bulkWrite(operationsArg.map((operationArg) => ({
47
50
  updateOne: {
@@ -52,7 +55,7 @@ export const executeAtomicUpsertMany = async (collectionArg, operationsArg, opts
52
55
  })), {
53
56
  ordered: false,
54
57
  session: rawSessionArg,
55
- timeoutMS: optsArg?.timeoutMS,
58
+ ...deadlineArg.commandOptions(),
56
59
  });
57
60
  return {
58
61
  acknowledged: result.isOk(),
@@ -80,11 +83,13 @@ export const executeAtomicUpdateMany = async (collectionArg, filterArg, updateAr
80
83
  ordinaryWrite: true,
81
84
  prepared: collectionArg.isInitializedForCurrentDatabase(),
82
85
  collectionName: collectionArg.collectionName,
83
- }, async (rawSessionArg) => {
84
- await collectionArg.init();
86
+ timeoutMS: optsArg?.timeoutMS,
87
+ }, async (rawSessionArg, deadlineArg) => {
88
+ await deadlineArg.join(collectionArg.init());
85
89
  try {
86
90
  return await collectionArg.mongoDbCollection.updateMany(filterArg, updateArg, {
87
91
  session: rawSessionArg,
92
+ ...deadlineArg.commandOptions(),
88
93
  });
89
94
  }
90
95
  catch (errorArg) {
@@ -92,4 +97,4 @@ export const executeAtomicUpdateMany = async (collectionArg, filterArg, updateAr
92
97
  }
93
98
  });
94
99
  };
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdG9taWN1cGRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9ub3NxbGRiL2NsYXNzZXMuYXRvbWljdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdFLE9BQU8sRUFDTCwrQkFBK0IsR0FFaEMsTUFBTSxzQkFBc0IsQ0FBQztBQUU5Qjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEVBQ3RDLGFBQXFDLEVBQ3JDLFNBQTJELEVBQzNELFNBQWlFLEVBQ2pFLE9BR0MsRUFDc0MsRUFBRTtJQUN6QyxPQUFPLCtCQUErQixDQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUNoQixhQUFhLENBQUMsV0FBVyxFQUN6QjtRQUNFLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFFBQVEsRUFBRSxhQUFhLENBQUMsK0JBQStCLEVBQUU7UUFDekQsY0FBYyxFQUFFLGFBQWEsQ0FBQyxjQUFjO0tBQzdDLEVBQ0QsS0FBSyxFQUFFLGFBQWEsRUFBRSxFQUFFO1FBQ3RCLE1BQU0sYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQztZQUNILE9BQU8sTUFBTSxhQUFhLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUNwRCxTQUFTLEVBQ1QsU0FBUyxFQUNUO2dCQUNFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxLQUFLLElBQUk7Z0JBQ2hDLE9BQU8sRUFBRSxhQUFhO2FBQ3ZCLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU8saUNBQWlDLENBQ3RDLFFBQVEsRUFDUiw4REFBOEQsYUFBYSxDQUFDLGNBQWMsSUFBSSxDQUMvRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FDRixD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
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hdG9taWN1cGRhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9ub3NxbGRiL2NsYXNzZXMuYXRvbWljdXBkYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdFLE9BQU8sRUFDTCwrQkFBK0IsR0FFaEMsTUFBTSxzQkFBc0IsQ0FBQztBQUU5Qjs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEVBQ3RDLGFBQXFDLEVBQ3JDLFNBQTJELEVBQzNELFNBQWlFLEVBQ2pFLE9BSUMsRUFDc0MsRUFBRTtJQUN6QyxPQUFPLCtCQUErQixDQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUNoQixhQUFhLENBQUMsV0FBVyxFQUN6QjtRQUNFLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFFBQVEsRUFBRSxhQUFhLENBQUMsK0JBQStCLEVBQUU7UUFDekQsY0FBYyxFQUFFLGFBQWEsQ0FBQyxjQUFjO1FBQzVDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUztLQUM5QixFQUNELEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQztZQUNILE9BQU8sTUFBTSxhQUFhLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUNwRCxTQUFTLEVBQ1QsU0FBUyxFQUNUO2dCQUNFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxLQUFLLElBQUk7Z0JBQ2hDLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixHQUFHLFdBQVcsQ0FBQyxjQUFjLEVBQUU7YUFDaEMsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxpQ0FBaUMsQ0FDdEMsUUFBUSxFQUNSLDhEQUE4RCxhQUFhLENBQUMsY0FBYyxJQUFJLENBQy9GLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQyxDQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEtBQUssRUFDMUMsYUFBcUMsRUFDckMsYUFHRSxFQUNGLE9BR0MsRUFNQSxFQUFFO0lBQ0gsT0FBTywrQkFBK0IsQ0FDcEMsT0FBTyxFQUFFLE9BQU8sRUFDaEIsYUFBYSxDQUFDLFdBQVcsRUFDekI7UUFDRSxhQUFhLEVBQUUsSUFBSTtRQUNuQixRQUFRLEVBQUUsYUFBYSxDQUFDLCtCQUErQixFQUFFO1FBQ3pELGNBQWMsRUFBRSxhQUFhLENBQUMsY0FBYztRQUM1QyxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVM7S0FDOUIsRUFDRCxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxFQUFFO1FBQ25DLE1BQU0sV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQzVELGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ25DLFNBQVMsRUFBRTtvQkFDVCxNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU07b0JBQzNCLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTTtvQkFDM0IsTUFBTSxFQUFFLElBQUk7aUJBQ2I7YUFDRixDQUFDLENBQUMsRUFDSDtnQkFDRSxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsR0FBRyxXQUFXLENBQUMsY0FBYyxFQUFFO2FBQ2hDLENBQ0YsQ0FBQztZQUNGLE9BQU87Z0JBQ0wsWUFBWSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQzNCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtnQkFDakMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhO2dCQUNuQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGFBQWE7YUFDcEMsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLE9BQU8saUNBQWlDLENBQ3RDLFFBQVEsRUFDUixtRUFBbUUsYUFBYSxDQUFDLGNBQWMsSUFBSSxDQUNwRyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxLQUFLLEVBQzFDLGFBQXFDLEVBQ3JDLFNBQTJELEVBQzNELFNBQWlFLEVBQ2pFLE9BR0MsRUFDc0MsRUFBRTtJQUN6QyxPQUFPLCtCQUErQixDQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUNoQixhQUFhLENBQUMsV0FBVyxFQUN6QjtRQUNFLGFBQWEsRUFBRSxJQUFJO1FBQ25CLFFBQVEsRUFBRSxhQUFhLENBQUMsK0JBQStCLEVBQUU7UUFDekQsY0FBYyxFQUFFLGFBQWEsQ0FBQyxjQUFjO1FBQzVDLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUztLQUM5QixFQUNELEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQztZQUNILE9BQU8sTUFBTSxhQUFhLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUNyRCxTQUFTLEVBQ1QsU0FBUyxFQUNUO2dCQUNFLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixHQUFHLFdBQVcsQ0FBQyxjQUFjLEVBQUU7YUFDaEMsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxpQ0FBaUMsQ0FDdEMsUUFBUSxFQUNSLG1FQUFtRSxhQUFhLENBQUMsY0FBYyxJQUFJLENBQ3BHLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQyxDQUNGLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -5,6 +5,7 @@ import { SmartdataDb } from './classes.db.js';
5
5
  import { SmartdataDbCursor } from './classes.cursor.js';
6
6
  import { SmartDataDbDoc, type IIndexOptions, type TSmartdataNumericDocumentPath, type TSmartdataIdentityValueType } from './classes.doc.js';
7
7
  import { SmartdataDbWatcher } from './classes.watcher.js';
8
+ import type { SmartdataOperationDeadline } from './classes.operationdeadline.js';
8
9
  import { type TSmartdataOrdinarySession } from './classes.session.js';
9
10
  export interface IFindOptions {
10
11
  limit?: number;
@@ -236,16 +237,18 @@ export declare class SmartdataCollection<T> {
236
237
  private initializeOnce;
237
238
  private publishModelIndexes;
238
239
  /**
239
- * mark unique index
240
+ * Creates the single-field unique indexes the collection has not built yet,
241
+ * each within the time the calling operation's deadline has left.
240
242
  */
241
- markUniqueIndexes(keyArrayArg?: string[]): Promise<void>;
243
+ markUniqueIndexes(keyArrayArg?: string[], deadlineArg?: SmartdataOperationDeadline): Promise<void>;
242
244
  /**
243
- * creates regular indexes for the collection
245
+ * Creates the regular indexes the collection has not built yet, each within
246
+ * the time the calling operation's deadline has left.
244
247
  */
245
248
  createRegularIndexes(indexesArg?: Array<{
246
249
  field: string;
247
250
  options: IIndexOptions;
248
- }>): Promise<void>;
251
+ }>, deadlineArg?: SmartdataOperationDeadline): Promise<void>;
249
252
  /**
250
253
  * Logs duplicate values for a field to help diagnose unique index creation failures.
251
254
  */
@@ -260,6 +263,7 @@ export declare class SmartdataCollection<T> {
260
263
  findOne(filterObject: any, opts?: {
261
264
  projection?: plugins.mongodb.Document;
262
265
  maxTimeMS?: number;
266
+ timeoutMS?: number;
263
267
  session?: TSmartdataOrdinarySession;
264
268
  }): Promise<any>;
265
269
  /**
@@ -275,6 +279,7 @@ export declare class SmartdataCollection<T> {
275
279
  */
276
280
  findAll(filterObject: any, opts?: {
277
281
  session?: TSmartdataOrdinarySession;
282
+ timeoutMS?: number;
278
283
  }): Promise<any[]>;
279
284
  /**
280
285
  * Watches the collection, returning a SmartdataDbWatcher with RxJS and EventEmitter support.
@@ -300,6 +305,7 @@ export declare class SmartdataCollection<T> {
300
305
  private get preparesStoredDocuments();
301
306
  insert(dbDocArg: T & SmartDataDbDoc<T, unknown>, opts?: {
302
307
  session?: TSmartdataOrdinarySession;
308
+ timeoutMS?: number;
303
309
  }): Promise<any>;
304
310
  /**
305
311
  * Executes a bounded grouped-totals aggregation over already-validated
@@ -316,6 +322,7 @@ export declare class SmartdataCollection<T> {
316
322
  insertMany(dbDocsArg: Array<T & SmartDataDbDoc<T, unknown>>, opts?: {
317
323
  session?: TSmartdataOrdinarySession;
318
324
  ordered?: boolean;
325
+ timeoutMS?: number;
319
326
  }): Promise<plugins.mongodb.InsertManyResult>;
320
327
  /** Model.insertManyIfAbsent owns identity and new-instance validation. */
321
328
  insertManyIfAbsent(documentsArg: Array<T & SmartDataDbDoc<T, unknown>>, identityFieldArg: string, optsArg: {
@@ -330,9 +337,11 @@ export declare class SmartdataCollection<T> {
330
337
  */
331
338
  update(dbDocArg: T & SmartDataDbDoc<T, unknown>, opts?: {
332
339
  session?: TSmartdataOrdinarySession;
340
+ timeoutMS?: number;
333
341
  }): Promise<any>;
334
342
  delete(dbDocArg: T & SmartDataDbDoc<T, unknown>, opts?: {
335
343
  session?: TSmartdataOrdinarySession;
344
+ timeoutMS?: number;
336
345
  }): Promise<any>;
337
346
  /**
338
347
  * Rejects instance-level document targeting when the model declares no