@webda/models 4.0.0-beta.3 → 4.0.0-beta.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/lib/model.model.d.ts +71 -2
- package/lib/model.model.d.ts.map +1 -1
- package/lib/model.model.js +87 -4
- package/lib/model.model.js.map +1 -1
- package/lib/relations.d.ts +2 -2
- package/lib/relations.d.ts.map +1 -1
- package/lib/relations.js.map +1 -1
- package/lib/repositories/abstract.d.ts +16 -2
- package/lib/repositories/abstract.d.ts.map +1 -1
- package/lib/repositories/abstract.js +37 -2
- package/lib/repositories/abstract.js.map +1 -1
- package/lib/repositories/event.d.ts +3 -2
- package/lib/repositories/event.d.ts.map +1 -1
- package/lib/repositories/event.js +5 -3
- package/lib/repositories/event.js.map +1 -1
- package/lib/repositories/memory.d.ts +56 -2
- package/lib/repositories/memory.d.ts.map +1 -1
- package/lib/repositories/memory.js +160 -32
- package/lib/repositories/memory.js.map +1 -1
- package/lib/repositories/repository.d.ts +1 -1
- package/lib/repositories/repository.d.ts.map +1 -1
- package/lib/storable.d.ts +10 -0
- package/lib/storable.d.ts.map +1 -1
- package/lib/storable.js +10 -0
- package/lib/storable.js.map +1 -1
- package/package.json +10 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../src/repositories/abstract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../src/repositories/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,8 +19,9 @@ export declare class EventRepository<T extends ModelClass = any> extends Abstrac
|
|
|
19
19
|
* @param model - The model class constructor
|
|
20
20
|
* @param pks - Array of primary key field names
|
|
21
21
|
* @param repository - The underlying repository to delegate storage operations to
|
|
22
|
+
* @param separator - Separator used when joining composite key fields (default: "_")
|
|
22
23
|
*/
|
|
23
|
-
constructor(model: T, pks: string[], repository: AbstractRepository<T
|
|
24
|
+
constructor(model: T, pks: string[], repository: AbstractRepository<T>, separator?: string);
|
|
24
25
|
/**
|
|
25
26
|
* Increment numeric attributes with event emission
|
|
26
27
|
* @override
|
|
@@ -28,7 +29,7 @@ export declare class EventRepository<T extends ModelClass = any> extends Abstrac
|
|
|
28
29
|
incrementAttributes<K extends PropertyPaths<InstanceType<T>>, L extends NumericPropertyPaths<InstanceType<T>>>(primaryKey: PK<InstanceType<T>, InstanceType<T>[typeof WEBDA_PRIMARY_KEY][number]>, info: (L | {
|
|
29
30
|
property: L;
|
|
30
31
|
value?: number;
|
|
31
|
-
})[] | Record<L, number>, _conditionField?: K | null, _condition?: any): Promise<void
|
|
32
|
+
})[] | Record<L, number>, _conditionField?: K | null, _condition?: any): Promise<void | Record<string, number>>;
|
|
32
33
|
/**
|
|
33
34
|
* Query with event emission
|
|
34
35
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/repositories/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,EAAc,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,UAAU,GAAG,GAAG,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/repositories/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,9 +16,10 @@ export class EventRepository extends AbstractRepository {
|
|
|
16
16
|
* @param model - The model class constructor
|
|
17
17
|
* @param pks - Array of primary key field names
|
|
18
18
|
* @param repository - The underlying repository to delegate storage operations to
|
|
19
|
+
* @param separator - Separator used when joining composite key fields (default: "_")
|
|
19
20
|
*/
|
|
20
|
-
constructor(model, pks, repository) {
|
|
21
|
-
super(model, pks,
|
|
21
|
+
constructor(model, pks, repository, separator) {
|
|
22
|
+
super(model, pks, separator);
|
|
22
23
|
this.repository = repository;
|
|
23
24
|
/** Test utilities - clears events and delegates to underlying repository */
|
|
24
25
|
this[_a] = {
|
|
@@ -42,13 +43,14 @@ export class EventRepository extends AbstractRepository {
|
|
|
42
43
|
increments: info
|
|
43
44
|
}
|
|
44
45
|
});
|
|
45
|
-
await this.repository.incrementAttributes(primaryKey, info, _conditionField, _condition);
|
|
46
|
+
const updated = await this.repository.incrementAttributes(primaryKey, info, _conditionField, _condition);
|
|
46
47
|
await this.emit("PartialUpdated", {
|
|
47
48
|
object_id: primaryKey,
|
|
48
49
|
partial_update: {
|
|
49
50
|
increments: info
|
|
50
51
|
}
|
|
51
52
|
});
|
|
53
|
+
return updated;
|
|
52
54
|
}
|
|
53
55
|
/**
|
|
54
56
|
* Query with event emission
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/repositories/event.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,OAAO,eAA4C,SAAQ,kBAAqB;
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/repositories/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,12 @@ export declare class MemoryRepository<T extends ModelClass, K extends Map<string
|
|
|
42
42
|
constructor(model: T, pks: string[], separator?: string, map?: K);
|
|
43
43
|
/** @override */
|
|
44
44
|
get(primaryKey: PK<InstanceType<T>, InstanceType<T>[typeof WEBDA_PRIMARY_KEY][number]> | string): Promise<Helpers<InstanceType<T>>>;
|
|
45
|
+
/**
|
|
46
|
+
* Synchronous read used by conditional writes to keep check-and-set atomic
|
|
47
|
+
* @param primaryKey - key of the item
|
|
48
|
+
* @returns the deserialized item
|
|
49
|
+
*/
|
|
50
|
+
protected getSync(primaryKey: PK<InstanceType<T>, InstanceType<T>[typeof WEBDA_PRIMARY_KEY][number]> | string): InstanceType<T>;
|
|
45
51
|
/** @override */
|
|
46
52
|
create(data: Helpers<InstanceType<T>>, save?: boolean): Promise<InstanceType<T>>;
|
|
47
53
|
/** @override */
|
|
@@ -108,6 +114,30 @@ export declare class MemoryRepository<T extends ModelClass, K extends Map<string
|
|
|
108
114
|
* @returns the deserialized model instance
|
|
109
115
|
*/
|
|
110
116
|
deserialize(item: string): InstanceType<T>;
|
|
117
|
+
/**
|
|
118
|
+
* Whether a stored row is a plain JSON object without a serializer envelope
|
|
119
|
+
*
|
|
120
|
+
* Rows written by earlier versions (e.g. a v3 FileStore folder or MemoryStore persistence file) store the
|
|
121
|
+
* object itself, its type in a top-level `__type`.
|
|
122
|
+
* @param raw - the parsed row
|
|
123
|
+
* @returns true for a plain object row
|
|
124
|
+
*/
|
|
125
|
+
protected isPlainRow(raw: any): boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Find the class to hydrate a row typed `identifier`: the repository model, one of its transitive subclasses,
|
|
128
|
+
* or the repository model for one of its ancestors
|
|
129
|
+
* @param identifier - model identifier
|
|
130
|
+
* @returns the class, `this.model` when it carries no Metadata, or undefined when unrelated
|
|
131
|
+
*/
|
|
132
|
+
protected findModelClass(identifier: string): any;
|
|
133
|
+
/**
|
|
134
|
+
* Hydrate a plain JSON row as an instance of the repository model (or of the transitive subclass named by its
|
|
135
|
+
* `__type`; an ancestor type hydrates as the repository model), the same way document stores hydrate their rows;
|
|
136
|
+
* a row typed as an unrelated model is refused
|
|
137
|
+
* @param raw - the parsed row
|
|
138
|
+
* @returns the model instance
|
|
139
|
+
*/
|
|
140
|
+
protected hydratePlainRow(raw: any): InstanceType<T>;
|
|
111
141
|
/**
|
|
112
142
|
* Collect the WebdaQL class-filter identifier list — `this.model`'s
|
|
113
143
|
* identifier and every transitive descendant carried in `Metadata.Subclasses`.
|
|
@@ -158,6 +188,16 @@ export declare class MemoryRepository<T extends ModelClass, K extends Map<string
|
|
|
158
188
|
results: InstanceType<T>[];
|
|
159
189
|
continuationToken?: string;
|
|
160
190
|
}>;
|
|
191
|
+
/**
|
|
192
|
+
* List the storage keys that may belong to this model
|
|
193
|
+
*
|
|
194
|
+
* A storage shared by several models holds foreign entries whose key shape can be invalid for this
|
|
195
|
+
* repository: they are skipped from the stored envelope `__type` before any parsing. Entries without a
|
|
196
|
+
* readable stamp (legacy rows, corrupted payloads) are kept so any error on them still surfaces.
|
|
197
|
+
* @param ids - class identifiers (model and subclasses), undefined to keep everything
|
|
198
|
+
* @returns the keys to evaluate
|
|
199
|
+
*/
|
|
200
|
+
protected listKeysOfModel(ids?: string[]): string[];
|
|
161
201
|
/**
|
|
162
202
|
* Allow to simulate a find on a list of uuids
|
|
163
203
|
* It is static to be reusable by other repository like FileRepository
|
|
@@ -180,11 +220,25 @@ export declare class MemoryRepository<T extends ModelClass, K extends Map<string
|
|
|
180
220
|
delete<K extends PropertyPaths<InstanceType<T>>>(primaryKey: PK<InstanceType<T>, InstanceType<T>[typeof WEBDA_PRIMARY_KEY][number]>, _conditionField?: K | null, _condition?: any): Promise<void>;
|
|
181
221
|
/** @override */
|
|
182
222
|
exists(primaryKey: PK<InstanceType<T>, InstanceType<T>[typeof WEBDA_PRIMARY_KEY][number]> | string): Promise<boolean>;
|
|
183
|
-
/**
|
|
223
|
+
/**
|
|
224
|
+
* Resolve the parent object and last key of a dotted path, creating intermediate objects
|
|
225
|
+
* @param item - root object
|
|
226
|
+
* @param path - dotted path
|
|
227
|
+
* @returns the holder and the last key
|
|
228
|
+
*/
|
|
229
|
+
protected resolvePath(item: any, path: string): {
|
|
230
|
+
holder: any;
|
|
231
|
+
key: string;
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* Increment attributes atomically: the read-modify-write never yields, so concurrent calls all count
|
|
235
|
+
* @override
|
|
236
|
+
* @returns the new value of each incremented attribute, by path
|
|
237
|
+
*/
|
|
184
238
|
incrementAttributes<K extends PropertyPaths<InstanceType<T>>, L extends NumericPropertyPaths<InstanceType<T>>>(primaryKey: PK<InstanceType<T>, InstanceType<T>[typeof WEBDA_PRIMARY_KEY][number]> | string, info: (L | {
|
|
185
239
|
property: L;
|
|
186
240
|
value?: number;
|
|
187
|
-
})[] | Record<L, number>, _conditionField?: K | null, _condition?: any): Promise<void
|
|
241
|
+
})[] | Record<L, number>, _conditionField?: K | null, _condition?: any): Promise<void | Record<string, number>>;
|
|
188
242
|
/**
|
|
189
243
|
* Verify a write condition on a collection item
|
|
190
244
|
* @param item - The array to check
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/repositories/memory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/repositories/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,18 @@ export class MemoryRepository extends AbstractRepository {
|
|
|
34
34
|
throw new Error(`Not found: ${key}`);
|
|
35
35
|
return this.deserialize(item);
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Synchronous read used by conditional writes to keep check-and-set atomic
|
|
39
|
+
* @param primaryKey - key of the item
|
|
40
|
+
* @returns the deserialized item
|
|
41
|
+
*/
|
|
42
|
+
getSync(primaryKey) {
|
|
43
|
+
const key = this.getPrimaryKey(primaryKey).toString();
|
|
44
|
+
const item = this.storage.get(key);
|
|
45
|
+
if (!item)
|
|
46
|
+
throw new Error(`Not found: ${key}`);
|
|
47
|
+
return this.deserialize(item);
|
|
48
|
+
}
|
|
37
49
|
/** @override */
|
|
38
50
|
async create(data, save = true) {
|
|
39
51
|
const item = this.buildItem(data);
|
|
@@ -50,7 +62,7 @@ export class MemoryRepository extends AbstractRepository {
|
|
|
50
62
|
}
|
|
51
63
|
/** @override */
|
|
52
64
|
async update(data, conditionField, condition) {
|
|
53
|
-
const item =
|
|
65
|
+
const item = this.getSync(this.getPrimaryKey(data));
|
|
54
66
|
this.checkCondition(item, conditionField, condition);
|
|
55
67
|
this.storage.set(this.getPrimaryKey(data).toString(), this.serialize(new this.model(data)));
|
|
56
68
|
}
|
|
@@ -70,7 +82,8 @@ export class MemoryRepository extends AbstractRepository {
|
|
|
70
82
|
}
|
|
71
83
|
/** @override */
|
|
72
84
|
async patch(primaryKey, data, conditionField, condition) {
|
|
73
|
-
|
|
85
|
+
// Read, check and write without yielding so the condition acts as an atomic compare-and-set
|
|
86
|
+
const item = this.getSync(primaryKey);
|
|
74
87
|
this.checkCondition(item, conditionField, condition);
|
|
75
88
|
item.load(data);
|
|
76
89
|
this.storage.set(item.getPrimaryKey().toString(), this.serialize(item));
|
|
@@ -143,13 +156,13 @@ export class MemoryRepository extends AbstractRepository {
|
|
|
143
156
|
* @returns the deserialized model instance
|
|
144
157
|
*/
|
|
145
158
|
deserialize(item) {
|
|
146
|
-
const instance = deserialize(item);
|
|
147
159
|
// Re-parse the envelope to read `__type` (the serializer's deserialize
|
|
148
160
|
// path strips it because it's not in `value`). This is cheap relative to
|
|
149
161
|
// deserialize itself.
|
|
150
162
|
let typeFromEnvelope;
|
|
163
|
+
let raw;
|
|
151
164
|
try {
|
|
152
|
-
|
|
165
|
+
raw = JSON.parse(item);
|
|
153
166
|
if (raw && typeof raw === "object") {
|
|
154
167
|
typeFromEnvelope = raw.__type;
|
|
155
168
|
}
|
|
@@ -157,6 +170,7 @@ export class MemoryRepository extends AbstractRepository {
|
|
|
157
170
|
catch {
|
|
158
171
|
// Non-JSON or malformed; skip the stamp — instance is still usable.
|
|
159
172
|
}
|
|
173
|
+
const instance = (this.isPlainRow(raw) ? this.hydratePlainRow(raw) : deserialize(item));
|
|
160
174
|
const stamped = typeFromEnvelope ?? this.model?.Metadata?.Identifier;
|
|
161
175
|
if (stamped) {
|
|
162
176
|
Object.defineProperty(instance, "__type", {
|
|
@@ -168,6 +182,73 @@ export class MemoryRepository extends AbstractRepository {
|
|
|
168
182
|
}
|
|
169
183
|
return instance;
|
|
170
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Whether a stored row is a plain JSON object without a serializer envelope
|
|
187
|
+
*
|
|
188
|
+
* Rows written by earlier versions (e.g. a v3 FileStore folder or MemoryStore persistence file) store the
|
|
189
|
+
* object itself, its type in a top-level `__type`.
|
|
190
|
+
* @param raw - the parsed row
|
|
191
|
+
* @returns true for a plain object row
|
|
192
|
+
*/
|
|
193
|
+
isPlainRow(raw) {
|
|
194
|
+
return (raw !== null &&
|
|
195
|
+
typeof raw === "object" &&
|
|
196
|
+
!Array.isArray(raw) &&
|
|
197
|
+
raw.$serializer === undefined &&
|
|
198
|
+
typeof this.model === "function");
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Find the class to hydrate a row typed `identifier`: the repository model, one of its transitive subclasses,
|
|
202
|
+
* or the repository model for one of its ancestors
|
|
203
|
+
* @param identifier - model identifier
|
|
204
|
+
* @returns the class, `this.model` when it carries no Metadata, or undefined when unrelated
|
|
205
|
+
*/
|
|
206
|
+
findModelClass(identifier) {
|
|
207
|
+
const root = this.model;
|
|
208
|
+
if (!root?.Metadata?.Identifier) {
|
|
209
|
+
return root;
|
|
210
|
+
}
|
|
211
|
+
const seen = new Set();
|
|
212
|
+
const queue = [root];
|
|
213
|
+
while (queue.length) {
|
|
214
|
+
const clazz = queue.shift();
|
|
215
|
+
if (!clazz || seen.has(clazz))
|
|
216
|
+
continue;
|
|
217
|
+
seen.add(clazz);
|
|
218
|
+
if (clazz.Metadata?.Identifier === identifier)
|
|
219
|
+
return clazz;
|
|
220
|
+
queue.push(...(clazz.Metadata?.Subclasses ?? []));
|
|
221
|
+
}
|
|
222
|
+
// An ancestor-typed row (e.g. written before an application subclassed the model) is read as this model
|
|
223
|
+
for (let parent = Object.getPrototypeOf(root); parent && parent !== Function.prototype;) {
|
|
224
|
+
if (parent.Metadata?.Identifier === identifier)
|
|
225
|
+
return root;
|
|
226
|
+
parent = Object.getPrototypeOf(parent);
|
|
227
|
+
}
|
|
228
|
+
return undefined;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Hydrate a plain JSON row as an instance of the repository model (or of the transitive subclass named by its
|
|
232
|
+
* `__type`; an ancestor type hydrates as the repository model), the same way document stores hydrate their rows;
|
|
233
|
+
* a row typed as an unrelated model is refused
|
|
234
|
+
* @param raw - the parsed row
|
|
235
|
+
* @returns the model instance
|
|
236
|
+
*/
|
|
237
|
+
hydratePlainRow(raw) {
|
|
238
|
+
const { __type, ...data } = raw;
|
|
239
|
+
const clazz = __type === undefined ? this.model : this.findModelClass(__type);
|
|
240
|
+
if (!clazz) {
|
|
241
|
+
throw new Error(`Row of type '${__type}' does not belong to ${this.model?.Metadata?.Identifier}`);
|
|
242
|
+
}
|
|
243
|
+
const instance = new clazz(data);
|
|
244
|
+
if (typeof instance.load === "function") {
|
|
245
|
+
instance.load(data);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
Object.assign(instance, data);
|
|
249
|
+
}
|
|
250
|
+
return instance;
|
|
251
|
+
}
|
|
171
252
|
/**
|
|
172
253
|
* Collect the WebdaQL class-filter identifier list — `this.model`'s
|
|
173
254
|
* identifier and every transitive descendant carried in `Metadata.Subclasses`.
|
|
@@ -266,7 +347,33 @@ export class MemoryRepository extends AbstractRepository {
|
|
|
266
347
|
}
|
|
267
348
|
}
|
|
268
349
|
}
|
|
269
|
-
return MemoryRepository.simulateFind(parsed,
|
|
350
|
+
return MemoryRepository.simulateFind(parsed, this.listKeysOfModel(ids), this);
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* List the storage keys that may belong to this model
|
|
354
|
+
*
|
|
355
|
+
* A storage shared by several models holds foreign entries whose key shape can be invalid for this
|
|
356
|
+
* repository: they are skipped from the stored envelope `__type` before any parsing. Entries without a
|
|
357
|
+
* readable stamp (legacy rows, corrupted payloads) are kept so any error on them still surfaces.
|
|
358
|
+
* @param ids - class identifiers (model and subclasses), undefined to keep everything
|
|
359
|
+
* @returns the keys to evaluate
|
|
360
|
+
*/
|
|
361
|
+
listKeysOfModel(ids) {
|
|
362
|
+
const keys = [...this.storage.keys()];
|
|
363
|
+
if (!ids)
|
|
364
|
+
return keys;
|
|
365
|
+
return keys.filter(key => {
|
|
366
|
+
const raw = this.storage.get(key);
|
|
367
|
+
if (typeof raw !== "string")
|
|
368
|
+
return true;
|
|
369
|
+
try {
|
|
370
|
+
const type = JSON.parse(raw)?.__type;
|
|
371
|
+
return typeof type !== "string" || ids.includes(type);
|
|
372
|
+
}
|
|
373
|
+
catch {
|
|
374
|
+
return true;
|
|
375
|
+
}
|
|
376
|
+
});
|
|
270
377
|
}
|
|
271
378
|
/**
|
|
272
379
|
* Allow to simulate a find on a list of uuids
|
|
@@ -364,38 +471,59 @@ export class MemoryRepository extends AbstractRepository {
|
|
|
364
471
|
async exists(primaryKey) {
|
|
365
472
|
return this.storage.has(this.getPrimaryKey(primaryKey).toString());
|
|
366
473
|
}
|
|
367
|
-
/**
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
current[part] ??= {};
|
|
379
|
-
current = current[part];
|
|
380
|
-
}
|
|
381
|
-
const lastPart = parts[parts.length - 1];
|
|
382
|
-
current[lastPart] = (current[lastPart] || 0) + inc;
|
|
474
|
+
/**
|
|
475
|
+
* Resolve the parent object and last key of a dotted path, creating intermediate objects
|
|
476
|
+
* @param item - root object
|
|
477
|
+
* @param path - dotted path
|
|
478
|
+
* @returns the holder and the last key
|
|
479
|
+
*/
|
|
480
|
+
resolvePath(item, path) {
|
|
481
|
+
const parts = path.split(".");
|
|
482
|
+
for (const part of parts) {
|
|
483
|
+
if (part === "__proto__" || part === "constructor" || part === "prototype") {
|
|
484
|
+
throw new Error(`Invalid path segment '${part}' in '${path}'`);
|
|
383
485
|
}
|
|
384
486
|
}
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
487
|
+
let holder = item;
|
|
488
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
489
|
+
const part = parts[i];
|
|
490
|
+
// Only ever descend into own properties, so the walk can never reach a prototype
|
|
491
|
+
if (!Object.prototype.hasOwnProperty.call(holder, part) || holder[part] === null || holder[part] === undefined) {
|
|
492
|
+
Object.defineProperty(holder, part, { value: {}, writable: true, enumerable: true, configurable: true });
|
|
493
|
+
}
|
|
494
|
+
holder = holder[part];
|
|
495
|
+
}
|
|
496
|
+
return { holder, key: parts[parts.length - 1] };
|
|
497
|
+
}
|
|
498
|
+
/**
|
|
499
|
+
* Increment attributes atomically: the read-modify-write never yields, so concurrent calls all count
|
|
500
|
+
* @override
|
|
501
|
+
* @returns the new value of each incremented attribute, by path
|
|
502
|
+
*/
|
|
503
|
+
async incrementAttributes(primaryKey, info, _conditionField, _condition) {
|
|
504
|
+
const item = this.getSync(primaryKey);
|
|
505
|
+
const entries = Array.isArray(info)
|
|
506
|
+
? info.map(entry => typeof entry === "string"
|
|
507
|
+
? [entry, 1]
|
|
508
|
+
: [entry.property, entry.value ?? 1])
|
|
509
|
+
: Object.entries(info).map(([prop, value]) => [prop, value]);
|
|
510
|
+
const updated = {};
|
|
511
|
+
for (const [prop, inc] of entries) {
|
|
512
|
+
const { holder, key } = this.resolvePath(item, prop);
|
|
513
|
+
if (key === "__proto__" || key === "constructor" || key === "prototype" || holder === Object.prototype) {
|
|
514
|
+
throw new Error(`Invalid path segment in '${prop}'`);
|
|
396
515
|
}
|
|
516
|
+
const current = Object.prototype.hasOwnProperty.call(holder, key) ? holder[key] : 0;
|
|
517
|
+
Object.defineProperty(holder, key, {
|
|
518
|
+
value: (current || 0) + inc,
|
|
519
|
+
writable: true,
|
|
520
|
+
enumerable: true,
|
|
521
|
+
configurable: true
|
|
522
|
+
});
|
|
523
|
+
updated[prop] = holder[key];
|
|
397
524
|
}
|
|
398
525
|
this.storage.set(this.getPrimaryKey(primaryKey).toString(), this.serialize(item));
|
|
526
|
+
return updated;
|
|
399
527
|
}
|
|
400
528
|
/**
|
|
401
529
|
* Verify a write condition on a collection item
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/repositories/memory.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAc,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiBzD,qDAAqD;AACrD,IAAI,OAAO,GAEP,IAAI,CAAC;AAQT;;;GAGG;AACH,MAAM,OAAO,gBAGX,SAAQ,kBAAqB;kBA0gB5B,UAAU;IAvgBX;;;;;OAKG;IACH,YAAY,KAAQ,EAAE,GAAa,EAAE,SAAkB,EAAE,GAAO;QAC9D,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QA+f/B,8CAA8C;QAC9C,QAAY,GAAG;YACb,KAAK,EAAE,KAAK,IAAI,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvB,CAAC;SACF,CAAC;QAngBA,IAAI,CAAC,OAAO,GAAG,GAAG,IAAK,IAAI,GAAG,EAAwB,CAAC;IACzD,CAAC;IACD,gBAAgB;IAChB,KAAK,CAAC,GAAG,CACP,UAA2F;QAE3F,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA6B,CAAC;IAC5D,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,MAAM,CAAC,IAA8B,EAAE,IAAI,GAAY,IAAI;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,4EAA4E;QAC5E,oDAAoD;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,MAAM,CACV,IAA8B,EAC9B,cAAyB,EACzB,SAAe;QAEf,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAoB,CAAC;QAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC,CAAC,CAAC;IACjH,CAAC;IAED;;;;;;OAMG;IACO,cAAc,CACtB,IAAqB,EACrB,cAAyB,EACzB,SAAe;QAEf,IAAI,cAAc,EAAE,CAAC;YACnB,IAAK,IAAY,CAAC,cAAwB,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,qBAAqB,cAAwB,QAAQ,SAAS,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;IACD,gBAAgB;IAChB,KAAK,CAAC,KAAK,CACT,UAA2F,EAC3F,IAA8B,EAC9B,cAAyB,EACzB,SAAe;QAEf,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAoB,CAAC;QAC7D,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,SAAS,CAAC,IAAqB;QAC7B,MAAM,cAAc,GAAI,IAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC;QACxE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,sEAAsE;QACtE,0EAA0E;QAC1E,sEAAsE;QACtE,yEAAyE;QACzE,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAK,GAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACrC,GAAW,CAAC,MAAM,GAAG,cAAc,CAAC;YACvC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,WAAW,CAAC,IAAY;QACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAoB,CAAC;QACtD,uEAAuE;QACvE,yEAAyE;QACzE,sBAAsB;QACtB,IAAI,gBAAoC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnC,gBAAgB,GAAI,GAAW,CAAC,MAAM,CAAC;YACzC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;QACD,MAAM,OAAO,GAAG,gBAAgB,IAAK,IAAI,CAAC,KAAa,EAAE,QAAQ,EAAE,UAAU,CAAC;QAC9E,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE;gBACxC,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACO,2BAA2B;QACnC,MAAM,IAAI,GAAS,IAAI,CAAC,KAAa,EAAE,QAAQ,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,UAAU;YAAE,OAAO,SAAS,CAAC;QAExC,MAAM,GAAG,GAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,UAAU,GAAU,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC;YACrC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACO,gBAAgB;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAC3B,wEAAwE;QACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO,cAAc,QAAQ,GAAG,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,KAAK,CACT,KAAqB,EACrB,MAAwB;QAExB,OAAO,KAAK,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACtD,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAC/C,IAAI,MAAa,CAAC;QAElB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACvF,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,KAAc,CAAC;YACxB,IAAI,GAAG,EAAE,CAAC;gBACR,+DAA+D;gBAC/D,gEAAgE;gBAChE,uEAAuE;gBACvE,iEAAiE;gBACjE,uCAAuC;gBACvC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC1E,MAAM,OAAO,GAAS,MAAc,CAAC,MAAM,CAAC;gBAC5C,IAAI,OAAO,YAAY,OAAO,CAAC,aAAa,EAAE,CAAC;oBAC7C,oDAAoD;oBACpD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CACnC,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,YAAY,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CACpG,CAAC;oBACF,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACL,MAAc,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,KAAY,EACZ,KAAY,EACZ,UAAyB;QAEzB,MAAM,MAAM,GAAgC;YAC1C,OAAO,EAAE,EAAE;YACX,iBAAiB,EAAE,SAAS;YAC5B,MAAM,EAAE,IAAI;SACb,CAAC;QACF,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,IAAI,GAAG,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,MAAM,CAAC;QAE9B,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,GAAG,CAAC,CAAC;YACX,kDAAkD;YAClD,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAClC,CAAC;QACD,6BAA6B;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,EAAE,CAAC;YACR,eAAe;YACf,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YACD,MAAM,GAAG,GAAG,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,IAAW,CAAC,CAAoB,CAAC;YACnE,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBACnC,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC5C,OAAO,MAAM,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAED,WAAW;QACX,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1C,sBAAsB;YACtB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,IAAI,IAAI,EAAE,IAAI,CAAC;gBACf,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,OAAQ,EAAE,CAAC;oBACrC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpD,IAAI,GAAG,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBACnF,IAAI,GAAG,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBACnF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBAClB,SAAS;oBACX,CAAC;oBACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;oBAC3C,CAAC;oBACD,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBACzC,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC;YACpF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACzC,MAAM,CAAC,iBAAiB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,CAAC,OAAO,CAAC,KAAa,EAAE,MAAwB;QACpD,OAAO,KAAK,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,oBAAoB;QACpB,MAAM,CAAC,GAAU,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB;QAC5D,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACb,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,0BAA0B;QAC3C,CAAC;QACD,GAAG,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAoB,CAAC;YAC7B,CAAC;YACD,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;QAC9C,CAAC,QAAQ,CAAC,CAAC,iBAAiB,EAAE;IAChC,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,MAAM,CACV,UAAkF,EAClF,eAA0B,EAC1B,UAAgB;QAEhB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,MAAM,CACV,UAA2F;QAE3F,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,mBAAmB,CACvB,UAA2F,EAC3F,IAAiE,EACjE,eAA0B,EAC1B,UAAgB;QAEhB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAoB,CAAC;QAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,KAAa,CAAC,QAAQ,CAAC;gBACzE,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,KAAa,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACxE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,OAAO,GAAQ,IAAI,CAAC;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACrB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACxC,OAAe,CAAC,QAAQ,CAAC,GAAG,CAAE,OAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC;YACvE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,OAAO,GAAQ,IAAI,CAAC;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACrB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACxC,OAAe,CAAC,QAAQ,CAAC,GAAG,CAAE,OAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAE,CAAC;YAC/E,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;OAOG;IACO,uBAAuB,CAC/B,IAAW,EACX,KAAa,EACb,uBAA+B,EAC/B,kBAAuB;QAEvB,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC,KAAK,kBAAkB,CAAC;YAC3G,CAAC,kBAAkB,EACnB,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,sBAAsB,CAI1B,UAAkF,EAClF,UAAa,EACb,IAAiF,EACjF,KAAc,EACd,uBAA6B,EAC7B,kBAAwB;QAExB,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAoB,CAAC;QAC3D,GAAW,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,uBAAuB,CAC1B,GAAG,CAAC,UAAU,CAAe,EAC7B,KAAe,EACf,uBAAuB,EACvB,kBAAkB,CACnB,CAAC;QACF,MAAM,GAAG,GAAI,GAAW,CAAC,UAAU,CAAe,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,wBAAwB,CAI5B,UAAkF,EAClF,UAAa,EACb,KAAa,EACb,uBAA6B,EAC7B,kBAAwB;QAExB,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAoB,CAAC;QAC5D,MAAM,GAAG,GAAI,GAAW,CAAC,UAAU,CAAe,CAAC;QACnD,IAAI,CAAC,uBAAuB,CAC1B,GAAG,CAAC,UAAU,CAAe,EAC7B,KAAe,EACf,uBAAuB,EACvB,kBAAkB,CACnB,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,eAAe,CACnB,UAAkF,EAClF,SAAY,EACZ,eAA0B,EAC1B,UAAgB;QAEhB,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAoB,CAAC;QAC5D,OAAQ,GAAW,CAAC,SAAmB,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnF,CAAC;CAQF"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/repositories/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -152,7 +152,7 @@ export interface AtomicOperations<T extends ModelClass = ModelClass> {
|
|
|
152
152
|
incrementAttributes<K extends PropertyPaths<InstanceType<T>>, L extends NumericPropertyPaths<InstanceType<T>>>(primaryKeyOrUid: PrimaryKeyType<InstanceType<T>> | string, info: ({
|
|
153
153
|
property: L;
|
|
154
154
|
value?: number;
|
|
155
|
-
} | L)[] | Record<L, number>, conditionField?: K | null, condition?: PropertyPathType<InstanceType<T>, K> | JSONed<PropertyPathType<InstanceType<T>, K>>): Promise<void
|
|
155
|
+
} | L)[] | Record<L, number>, conditionField?: K | null, condition?: PropertyPathType<InstanceType<T>, K> | JSONed<PropertyPathType<InstanceType<T>, K>>): Promise<void | Record<string, number>>;
|
|
156
156
|
/**
|
|
157
157
|
* Atomically increment a single numeric field
|
|
158
158
|
* @param primaryKeyOrUid - Primary key of object to update
|