@webda/models 4.0.0-beta.4 → 4.0.0-beta.6
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/aggregation.d.ts +81 -0
- package/lib/aggregation.d.ts.map +1 -0
- package/lib/aggregation.js +2 -0
- package/lib/aggregation.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/model.model.d.ts +39 -0
- package/lib/model.model.d.ts.map +1 -1
- package/lib/model.model.js +24 -0
- package/lib/model.model.js.map +1 -1
- package/lib/repositories/abstract.d.ts +121 -1
- package/lib/repositories/abstract.d.ts.map +1 -1
- package/lib/repositories/abstract.js +297 -0
- package/lib/repositories/abstract.js.map +1 -1
- package/lib/repositories/conformance.d.ts +27 -0
- package/lib/repositories/conformance.d.ts.map +1 -1
- package/lib/repositories/conformance.js +285 -0
- package/lib/repositories/conformance.js.map +1 -1
- package/lib/repositories/event.d.ts +35 -1
- package/lib/repositories/event.d.ts.map +1 -1
- package/lib/repositories/event.js +48 -0
- package/lib/repositories/event.js.map +1 -1
- package/lib/repositories/hooks.d.ts +15 -2
- package/lib/repositories/hooks.d.ts.map +1 -1
- package/lib/repositories/hooks.js +14 -0
- package/lib/repositories/hooks.js.map +1 -1
- package/lib/repositories/memory.d.ts +34 -1
- package/lib/repositories/memory.d.ts.map +1 -1
- package/lib/repositories/memory.js +75 -2
- package/lib/repositories/memory.js.map +1 -1
- package/lib/repositories/repository.d.ts +57 -1
- package/lib/repositories/repository.d.ts.map +1 -1
- package/lib/repositories/repository.js.map +1 -1
- package/package.json +9 -8
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { WebdaQLString } from "@webda/ql";
|
|
2
|
+
import type { NumericPropertyPaths, PropertyPaths, PropertyPathType } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Typed metric definition
|
|
5
|
+
*/
|
|
6
|
+
export type MetricSpec<T extends object> = {
|
|
7
|
+
count: "*" | PropertyPaths<T>;
|
|
8
|
+
} | {
|
|
9
|
+
countDistinct: PropertyPaths<T>;
|
|
10
|
+
} | {
|
|
11
|
+
sum: NumericPropertyPaths<T>;
|
|
12
|
+
} | {
|
|
13
|
+
avg: NumericPropertyPaths<T>;
|
|
14
|
+
} | {
|
|
15
|
+
min: PropertyPaths<T>;
|
|
16
|
+
} | {
|
|
17
|
+
max: PropertyPaths<T>;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Type of an attribute value in an aggregated row: a Date comes back as its ISO string on every backend
|
|
21
|
+
*/
|
|
22
|
+
export type RowValue<V> = V extends Date ? string : V;
|
|
23
|
+
/**
|
|
24
|
+
* Type of the value computed by a metric
|
|
25
|
+
*/
|
|
26
|
+
export type MetricValue<T extends object, S> = S extends {
|
|
27
|
+
count: any;
|
|
28
|
+
} | {
|
|
29
|
+
countDistinct: any;
|
|
30
|
+
} | {
|
|
31
|
+
sum: any;
|
|
32
|
+
} ? number : S extends {
|
|
33
|
+
avg: any;
|
|
34
|
+
} ? number | null : S extends {
|
|
35
|
+
min: infer P;
|
|
36
|
+
} | {
|
|
37
|
+
max: infer P;
|
|
38
|
+
} ? P extends PropertyPaths<T> ? RowValue<PropertyPathType<T, P>> | null : unknown : never;
|
|
39
|
+
/**
|
|
40
|
+
* Typed aggregation request
|
|
41
|
+
*/
|
|
42
|
+
export interface AggregationSpec<T extends object, G extends readonly PropertyPaths<T>[], M extends Record<string, MetricSpec<T>>> {
|
|
43
|
+
/**
|
|
44
|
+
* WebdaQL filter, optionally with `?` / `:name` placeholders; no ORDER BY / LIMIT / OFFSET
|
|
45
|
+
*/
|
|
46
|
+
filter?: WebdaQLString<T>;
|
|
47
|
+
groupBy?: G;
|
|
48
|
+
metrics: M;
|
|
49
|
+
orderBy?: {
|
|
50
|
+
key: G[number] | Extract<keyof M, string>;
|
|
51
|
+
direction: "ASC" | "DESC";
|
|
52
|
+
}[];
|
|
53
|
+
limit?: number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* One aggregated row: group paths keep their attribute type (or null), aliases their metric type;
|
|
57
|
+
* Date attributes are ISO strings
|
|
58
|
+
*/
|
|
59
|
+
export type AggregatedRow<T extends object, G extends readonly string[], M> = {
|
|
60
|
+
[K in G[number]]: (K extends PropertyPaths<T> ? RowValue<PropertyPathType<T, K>> : unknown) | null;
|
|
61
|
+
} & {
|
|
62
|
+
[A in keyof M]: MetricValue<T, M[A]>;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Aggregation behavior of a repository, configured by its store
|
|
66
|
+
*/
|
|
67
|
+
export interface AggregationOptions {
|
|
68
|
+
/**
|
|
69
|
+
* What to do when the backend cannot aggregate natively
|
|
70
|
+
*/
|
|
71
|
+
fallback: "allow" | "warn" | "deny";
|
|
72
|
+
/**
|
|
73
|
+
* Maximum number of groups computed in memory, or returned without LIMIT natively
|
|
74
|
+
*/
|
|
75
|
+
maxGroups: number;
|
|
76
|
+
/**
|
|
77
|
+
* Receives fallback warnings
|
|
78
|
+
*/
|
|
79
|
+
warn?: (message: string) => void;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=aggregation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregation.d.ts","sourceRoot":"","sources":["../src/aggregation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregation.js","sourceRoot":"","sources":["../src/aggregation.ts"],"names":[],"mappings":""}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
|
package/lib/model.model.d.ts
CHANGED
|
@@ -47,6 +47,9 @@ export type ModelEvents<T = any> = {
|
|
|
47
47
|
Query: {
|
|
48
48
|
query: string;
|
|
49
49
|
};
|
|
50
|
+
Aggregate: {
|
|
51
|
+
query: any;
|
|
52
|
+
};
|
|
50
53
|
Created: {
|
|
51
54
|
object_id: string;
|
|
52
55
|
object: T;
|
|
@@ -70,6 +73,11 @@ export type ModelEvents<T = any> = {
|
|
|
70
73
|
results: T[];
|
|
71
74
|
continuationToken?: string;
|
|
72
75
|
};
|
|
76
|
+
Aggregated: {
|
|
77
|
+
query: any;
|
|
78
|
+
rows: any[];
|
|
79
|
+
native: boolean;
|
|
80
|
+
};
|
|
73
81
|
};
|
|
74
82
|
/**
|
|
75
83
|
* Serializer used by repositories to store a model.
|
|
@@ -99,6 +107,17 @@ export declare class ModelSerializer extends ObjectSerializer {
|
|
|
99
107
|
} | undefined;
|
|
100
108
|
};
|
|
101
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* What a permission check answers: `true` allows, anything else refuses (a string is the refusal reason)
|
|
112
|
+
*/
|
|
113
|
+
export type CanActResult = Promise<boolean | string> | boolean | string;
|
|
114
|
+
/**
|
|
115
|
+
* Minimal view of the caller the permission checks receive (`@webda/core` passes its operation context)
|
|
116
|
+
*/
|
|
117
|
+
export interface CanActContext {
|
|
118
|
+
getCurrentUserId(): string | undefined;
|
|
119
|
+
[key: string]: any;
|
|
120
|
+
}
|
|
102
121
|
declare const Model_base: {
|
|
103
122
|
new (...args: any[]): {
|
|
104
123
|
toProxy(): /*elided*/ any;
|
|
@@ -110,6 +129,7 @@ declare const Model_base: {
|
|
|
110
129
|
continuationToken?: string;
|
|
111
130
|
}>;
|
|
112
131
|
iterate<T extends ModelClass>(this: T, query: import("@webda/ql").WebdaQLString<InstanceType<T>>, params?: import("@webda/ql").QueryParameters): AsyncGenerator<InstanceType<T>, any, any>;
|
|
132
|
+
aggregate<T extends ModelClass, const G extends readonly import("./types.js").PropertyPaths<InstanceType<T>>[] = [], const M extends Record<string, import("./aggregation.js").MetricSpec<InstanceType<T>>> = Record<string, import("./aggregation.js").MetricSpec<InstanceType<T>>>>(this: T, spec: import("./aggregation.js").AggregationSpec<InstanceType<T>, G, M>, params?: import("@webda/ql").QueryParameters): Promise<import("@webda/ql").AggregationResult<import("./aggregation.js").AggregatedRow<InstanceType<T>, G, M>>>;
|
|
113
133
|
ref<T extends ModelClass>(this: T, key: import("./storable.js").SettablePrimaryKey<InstanceType<T>>): import("./relations.js").ModelRefWithCreate<InstanceType<T>>;
|
|
114
134
|
} & ObjectConstructor;
|
|
115
135
|
/**
|
|
@@ -118,6 +138,25 @@ declare const Model_base: {
|
|
|
118
138
|
* This is the core of many application
|
|
119
139
|
*/
|
|
120
140
|
export declare abstract class Model extends Model_base implements Storable {
|
|
141
|
+
/**
|
|
142
|
+
* The one permission entry point the framework asks before running an operation a client sent
|
|
143
|
+
*
|
|
144
|
+
* `object` is the loaded object for an operation on an object (get, update, patch, delete, actions, behavior
|
|
145
|
+
* actions, each query row), the new unsaved object for a create, and `undefined` for a static (class-level)
|
|
146
|
+
* action.
|
|
147
|
+
*
|
|
148
|
+
* This base implementation delegates to the instance method `canAct(context, action)` when `object` defines
|
|
149
|
+
* one (a subclass overrode it), and **denies in every other case**: no instance method, or no object. A model is
|
|
150
|
+
* therefore refused on every transport until it defines one of the two forms. Override the static method to
|
|
151
|
+
* control static actions, creation rules or class-level policy; it may call `super.canAct(context, action,
|
|
152
|
+
* object)` to keep the instance check for objects. Opt into open access with `static canAct() { return true; }`.
|
|
153
|
+
*
|
|
154
|
+
* @param context - the caller context
|
|
155
|
+
* @param action - the action name ("get", "create", "update", "delete", an action name, "attribute.action")
|
|
156
|
+
* @param object - the object the action targets, if any
|
|
157
|
+
* @returns `true` when allowed, otherwise a refusal (a reason string or `false`)
|
|
158
|
+
*/
|
|
159
|
+
static canAct(context: CanActContext, action: string, object?: any): CanActResult;
|
|
121
160
|
/**
|
|
122
161
|
* Model events
|
|
123
162
|
*/
|
package/lib/model.model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.model.d.ts","sourceRoot":"","sources":["../src/model.model.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,KAAK,EAAE,EACP,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,2BAA2B,EAC3B,aAAa,EACb,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAc,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAW,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAsB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI;IACjC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,CAAC;IACzC,aAAa,EAAE,GAAG,CAAC;IACnB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAA;KAAE,CAAC;IACtD,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAA;KAAE,CAAC;IACrD,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"model.model.d.ts","sourceRoot":"","sources":["../src/model.model.ts"],"names":[],"mappings":"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"}
|
package/lib/model.model.js
CHANGED
|
@@ -59,6 +59,30 @@ export class Model extends RepositoryStorageClassMixIn(Object) {
|
|
|
59
59
|
this[_a] = {};
|
|
60
60
|
}
|
|
61
61
|
static { _a = WEBDA_STORAGE; }
|
|
62
|
+
/**
|
|
63
|
+
* The one permission entry point the framework asks before running an operation a client sent
|
|
64
|
+
*
|
|
65
|
+
* `object` is the loaded object for an operation on an object (get, update, patch, delete, actions, behavior
|
|
66
|
+
* actions, each query row), the new unsaved object for a create, and `undefined` for a static (class-level)
|
|
67
|
+
* action.
|
|
68
|
+
*
|
|
69
|
+
* This base implementation delegates to the instance method `canAct(context, action)` when `object` defines
|
|
70
|
+
* one (a subclass overrode it), and **denies in every other case**: no instance method, or no object. A model is
|
|
71
|
+
* therefore refused on every transport until it defines one of the two forms. Override the static method to
|
|
72
|
+
* control static actions, creation rules or class-level policy; it may call `super.canAct(context, action,
|
|
73
|
+
* object)` to keep the instance check for objects. Opt into open access with `static canAct() { return true; }`.
|
|
74
|
+
*
|
|
75
|
+
* @param context - the caller context
|
|
76
|
+
* @param action - the action name ("get", "create", "update", "delete", an action name, "attribute.action")
|
|
77
|
+
* @param object - the object the action targets, if any
|
|
78
|
+
* @returns `true` when allowed, otherwise a refusal (a reason string or `false`)
|
|
79
|
+
*/
|
|
80
|
+
static canAct(context, action, object) {
|
|
81
|
+
if (object !== undefined && object !== null && typeof object.canAct === "function") {
|
|
82
|
+
return object.canAct(context, action);
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
62
86
|
/**
|
|
63
87
|
* K is inferred as the literal tuple type of `this.keyFields`,
|
|
64
88
|
* so K[number] is the exact union of keys you wrote.
|
package/lib/model.model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.model.js","sourceRoot":"","sources":["../src/model.model.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,EAIjB,2BAA2B,EAC3B,aAAa,EAEd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAc,WAAW,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAiB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAA0B,MAAM,kBAAkB,CAAC;AAEhG,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAWtE;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"model.model.js","sourceRoot":"","sources":["../src/model.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@ import { WEBDA_PRIMARY_KEY, WEBDA_EVENTS } from "../storable.js";
|
|
|
4
4
|
import { ModelRefWithCreate } from "../relations.js";
|
|
5
5
|
import { Repository } from "./repository.js";
|
|
6
6
|
import type { ArrayElement } from "@webda/tsc-esm";
|
|
7
|
-
import type { QueryParameters } from "@webda/ql";
|
|
7
|
+
import type { AggregationQuery, AggregationResult, Assignment, Query as WebdaQLQuery, QueryParameters } from "@webda/ql";
|
|
8
|
+
import type { AggregatedRow, AggregationOptions, AggregationSpec, MetricSpec } from "../aggregation.js";
|
|
8
9
|
/**
|
|
9
10
|
* Base repository implementation providing shared logic for key management,
|
|
10
11
|
* event handling, and default method implementations.
|
|
@@ -20,6 +21,10 @@ export declare abstract class AbstractRepository<T extends ModelClass> implement
|
|
|
20
21
|
protected separator: string;
|
|
21
22
|
/** Registered event listeners keyed by event name */
|
|
22
23
|
protected events: Map<keyof InstanceType<T>[typeof WEBDA_EVENTS], Set<(data: any) => void>>;
|
|
24
|
+
/** Aggregation fallback policy, set by the owning store through configureAggregation */
|
|
25
|
+
protected aggregationOptions: AggregationOptions;
|
|
26
|
+
/** Fallback shapes already warned about */
|
|
27
|
+
protected warnedAggregations: Set<string>;
|
|
23
28
|
/**
|
|
24
29
|
* @param model - The model class constructor
|
|
25
30
|
* @param pks - Array of primary key field names
|
|
@@ -84,11 +89,126 @@ export declare abstract class AbstractRepository<T extends ModelClass> implement
|
|
|
84
89
|
property: L;
|
|
85
90
|
value?: number;
|
|
86
91
|
})[] | Record<L, number>, _conditionField?: K | null, _condition?: any): Promise<void | Record<string, number>>;
|
|
92
|
+
/**
|
|
93
|
+
* Field paths of the model, from its metadata (`Reflection` and the stored, input and output schemas)
|
|
94
|
+
*
|
|
95
|
+
* Used to validate UPDATE SET targets.
|
|
96
|
+
* @returns the field names, undefined when the model carries no field metadata (no validation then)
|
|
97
|
+
*/
|
|
98
|
+
getAllowedFields(): string[] | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* Parse a bulk statement and check it is of the expected type
|
|
101
|
+
*
|
|
102
|
+
* For an UPDATE, every SET target is checked: no primary key field, no private (`__`) segment, no
|
|
103
|
+
* `constructor`/`prototype` segment, and a field of the model when its metadata lists them.
|
|
104
|
+
* @param type - the expected statement type
|
|
105
|
+
* @param statement - the statement string or its parsed form
|
|
106
|
+
* @param params - values for the placeholders of a statement string
|
|
107
|
+
* @returns the parsed statement
|
|
108
|
+
* @throws WebdaQLError when the statement has another type or a SET target is refused
|
|
109
|
+
* @throws SyntaxError when the statement does not parse, or a SET target is not a field of the model
|
|
110
|
+
*/
|
|
111
|
+
protected parseStatement(type: "DELETE" | "UPDATE", statement: string | WebdaQLQuery, params?: QueryParameters): Promise<WebdaQLQuery>;
|
|
112
|
+
/**
|
|
113
|
+
* Set the assignments of an UPDATE on an object, creating the intermediate objects of dotted paths
|
|
114
|
+
*
|
|
115
|
+
* Targets were checked by {@link parseStatement}: letters, digits and `_` only, no `__` segment, no
|
|
116
|
+
* `Object.prototype` member name.
|
|
117
|
+
* @param target - the object to change in place
|
|
118
|
+
* @param assignments - the SET assignments
|
|
119
|
+
* @returns the target
|
|
120
|
+
*/
|
|
121
|
+
protected applyAssignments<O>(target: O, assignments: Assignment[]): O;
|
|
122
|
+
/**
|
|
123
|
+
* Keys of the objects matching the WHERE of a statement, collected before any change so an update changing a
|
|
124
|
+
* WHERE field cannot meet the same object twice; at most LIMIT keys
|
|
125
|
+
* @param statement - the parsed statement
|
|
126
|
+
* @returns the primary keys
|
|
127
|
+
*/
|
|
128
|
+
protected collectStatementKeys(statement: WebdaQLQuery): Promise<PrimaryKeyType<InstanceType<T>>[]>;
|
|
129
|
+
/**
|
|
130
|
+
* Run one write of the generic fallback; an object deleted since the keys were collected is skipped
|
|
131
|
+
* @param key - the primary key
|
|
132
|
+
* @param write - the write
|
|
133
|
+
* @returns true when written, false when the object is gone
|
|
134
|
+
* @throws the write error when the object still exists
|
|
135
|
+
*/
|
|
136
|
+
protected writeIfPresent(key: PrimaryKeyType<InstanceType<T>>, write: () => Promise<void>): Promise<boolean>;
|
|
137
|
+
/**
|
|
138
|
+
* Generic `deleteMany`: collect the matching keys (up to LIMIT), then delete them one by one with this
|
|
139
|
+
* repository's `delete` primitive
|
|
140
|
+
*
|
|
141
|
+
* Used by stores without a native bulk delete. On a store repository the primitive emits no event.
|
|
142
|
+
* @param statement - the DELETE statement or its parsed form
|
|
143
|
+
* @param params - values for the placeholders
|
|
144
|
+
* @returns the number of objects deleted
|
|
145
|
+
*/
|
|
146
|
+
protected deleteManyByKey(statement: string | WebdaQLQuery, params?: QueryParameters): Promise<number>;
|
|
147
|
+
/**
|
|
148
|
+
* Generic `updateMany`: collect the matching keys (up to LIMIT), then patch them one by one with this
|
|
149
|
+
* repository's `patch` primitive. A dotted target reads the object to rewrite its top-level field.
|
|
150
|
+
*
|
|
151
|
+
* Used by stores without a native bulk update. On a store repository the primitive emits no event.
|
|
152
|
+
* @param statement - the UPDATE statement or its parsed form
|
|
153
|
+
* @param params - values for the placeholders
|
|
154
|
+
* @returns the number of objects updated
|
|
155
|
+
*/
|
|
156
|
+
protected updateManyByKey(statement: string | WebdaQLQuery, params?: QueryParameters): Promise<number>;
|
|
157
|
+
/**
|
|
158
|
+
* Delete in bulk: see {@link Repository.deleteMany}
|
|
159
|
+
*
|
|
160
|
+
* The generic implementation collects the matching keys then deletes them with `delete`; stores override it
|
|
161
|
+
* with their native batch operation.
|
|
162
|
+
* @override
|
|
163
|
+
*/
|
|
164
|
+
deleteMany(statement: string | WebdaQLQuery, params?: QueryParameters): Promise<number>;
|
|
165
|
+
/**
|
|
166
|
+
* Update in bulk: see {@link Repository.updateMany}
|
|
167
|
+
*
|
|
168
|
+
* The generic implementation collects the matching keys then patches them with `patch`; stores override it
|
|
169
|
+
* with their native batch operation.
|
|
170
|
+
* @override
|
|
171
|
+
*/
|
|
172
|
+
updateMany(statement: string | WebdaQLQuery, params?: QueryParameters): Promise<number>;
|
|
87
173
|
abstract query(query: string, params?: QueryParameters): Promise<{
|
|
88
174
|
results: InstanceType<T>[];
|
|
89
175
|
continuationToken?: string;
|
|
90
176
|
}>;
|
|
91
177
|
abstract iterate(query: string, params?: QueryParameters): AsyncGenerator<InstanceType<T>, any, any>;
|
|
178
|
+
/**
|
|
179
|
+
* Copy the known options (fallback, maxGroups, warn); undefined values keep the current ones
|
|
180
|
+
* @override
|
|
181
|
+
* @throws Error when maxGroups is not a positive integer or fallback is unknown
|
|
182
|
+
*/
|
|
183
|
+
configureAggregation(options: Partial<AggregationOptions>): void;
|
|
184
|
+
/**
|
|
185
|
+
* Keep the full generic signature here (not `spec: any`): concrete repositories are used
|
|
186
|
+
* directly in code and tests, and must expose the typed rows.
|
|
187
|
+
* @override
|
|
188
|
+
*/
|
|
189
|
+
aggregate<const G extends readonly PropertyPaths<InstanceType<T>>[] = [], const M extends Record<string, MetricSpec<InstanceType<T>>> = Record<string, MetricSpec<InstanceType<T>>>>(spec: AggregationSpec<InstanceType<T>, G, M>, params?: QueryParameters): Promise<AggregationResult<AggregatedRow<InstanceType<T>, G, M>>>;
|
|
190
|
+
/**
|
|
191
|
+
* Run a validated aggregation
|
|
192
|
+
*
|
|
193
|
+
* Backends override it to aggregate natively, and call super for the shapes they cannot translate.
|
|
194
|
+
* The default streams iterate() into the in-memory Aggregator, under the fallback policy.
|
|
195
|
+
* @param query - the validated aggregation
|
|
196
|
+
* @returns the rows
|
|
197
|
+
*/
|
|
198
|
+
protected executeAggregation(query: AggregationQuery): Promise<AggregationResult<any>>;
|
|
199
|
+
/**
|
|
200
|
+
* Apply the fallback policy before aggregating in memory
|
|
201
|
+
* @param query - the aggregation
|
|
202
|
+
* @param reason - why it cannot run natively
|
|
203
|
+
* @throws AggregationError AGGREGATION_NOT_NATIVE when the policy is deny
|
|
204
|
+
*/
|
|
205
|
+
protected checkAggregationFallback(query: AggregationQuery, reason: string): Promise<void>;
|
|
206
|
+
/**
|
|
207
|
+
* Aggregate by streaming the filtered items
|
|
208
|
+
* @param query - the aggregation
|
|
209
|
+
* @returns the rows
|
|
210
|
+
*/
|
|
211
|
+
protected aggregateInMemory(query: AggregationQuery): Promise<Record<string, unknown>[]>;
|
|
92
212
|
abstract deleteItemFromCollection<K extends Extract<PropertyPaths<InstanceType<T>, any[]>, keyof InstanceType<T>>, L extends keyof ArrayElement<InstanceType<T>[K]>>(uuid: PrimaryKeyType<InstanceType<T>>, collection: K, index: number, itemWriteConditionField?: L, itemWriteCondition?: ArrayElement<InstanceType<T>[K]>[L]): Promise<void>;
|
|
93
213
|
abstract upsertItemToCollection<K extends Extract<PropertyPaths<InstanceType<T>, any[]>, keyof InstanceType<T>>, L extends keyof ArrayElement<InstanceType<T>[K]>>(uuid: PrimaryKeyType<InstanceType<T>>, collection: K, item: ArrayElement<InstanceType<T>[K]> | JSONed<ArrayElement<InstanceType<T>[K]>>, index?: number, itemWriteConditionField?: ArrayElement<InstanceType<T>[K]> extends object ? L : never, itemWriteCondition?: ArrayElement<InstanceType<T>[K]> extends object ? (object & ArrayElement<InstanceType<T>[K]>)[L] : ArrayElement<InstanceType<T>[K]>): Promise<void>;
|
|
94
214
|
abstract removeAttribute<L extends PropertyPaths<InstanceType<T>>, K extends PropertyPaths<InstanceType<T>>>(uuid: PrimaryKeyType<InstanceType<T>>, attribute: K, conditionField?: L | null, condition?: PropertyPathType<InstanceType<T>, L> | JSONed<PropertyPathType<InstanceType<T>, L>>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../src/repositories/abstract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,UAAU,EAAwB,cAAc,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAc,MAAM,aAAa,CAAC;AACtH,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD;;;;;;;;GAQG;AACH,8BAAsB,kBAAkB,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IAUnF,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE;IACvB,SAAS,CAAC,SAAS,EAAE,MAAM;IAX7B,qDAAqD;IACrD,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAa;IAExG;;;;OAIG;IACH,YACY,KAAK,EAAE,CAAC,EACR,GAAG,EAAE,MAAM,EAAE,EACb,SAAS,GAAE,MAAY,EAC/B;IACJ,gBAAgB;IAChB,YAAY,IAAI,CAAC,CAEhB;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAsBnE;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAExD;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAmB1G;IAED;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAS7E;IAED,gBAAgB;IAChB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAOlC;IAED,qEAAqE;IACrE,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,0EAA0E;IAC1E,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAwE3E,gBAAgB;IAChB,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAE1B;IAED,gBAAgB;IACV,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAOrE;IAED,gBAAgB;IACV,YAAY,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACnG,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAC3F,SAAS,EAAE,CAAC,EACZ,KAAK,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3C,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EACzB,SAAS,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC9F,OAAO,CAAC,IAAI,CAAC,CAEf;IAED,gBAAgB;IACT,GAAG,CACR,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAC1E,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAErC;IAED,gBAAgB;IACV,kBAAkB,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAChH,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,EAClF,IAAI,EAAE,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EACzC,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,EAC1B,UAAU,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,IAAI,CAAC,CAEf;IAED,QAAQ,CAAC,mBAAmB,CAC1B,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACxC,CAAC,SAAS,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAE/C,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,EAClF,IAAI,EAAE,CAAC,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EACjE,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,EAC1B,UAAU,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1C,QAAQ,CAAC,KAAK,CACZ,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACrG,QAAQ,CAAC,wBAAwB,CAC/B,CAAC,SAAS,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/E,CAAC,SAAS,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAEhD,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACrC,UAAU,EAAE,CAAC,EACb,KAAK,EAAE,MAAM,EACb,uBAAuB,CAAC,EAAE,CAAC,EAC3B,kBAAkB,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,QAAQ,CAAC,sBAAsB,CAC7B,CAAC,SAAS,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/E,CAAC,SAAS,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAEhD,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACrC,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACjF,KAAK,CAAC,EAAE,MAAM,EACd,uBAAuB,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,EACrF,kBAAkB,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAChE,CAAC,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9C,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,QAAQ,CAAC,eAAe,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACzG,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACrC,SAAS,EAAE,CAAC,EACZ,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EACzB,SAAS,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC9F,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACrD,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,EAClF,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,EAC1B,UAAU,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACtD,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EACzB,SAAS,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACtD,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACrC,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EACzB,SAAS,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC9F,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzE,gBAAgB;IAChB,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,EACrD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAChE,IAAI,CAKN;IAED,gBAAgB;IAChB,IAAI,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,EACvD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAChE,IAAI,CAMN;IAED,gBAAgB;IAChB,GAAG,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,EACtD,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAChE,IAAI,CAEN;IAED;;;OAGG;IACH,SAAS,CAAC,YAAY,SAAO;IAE7B;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,EACjE,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAChE,IAAI,CAEN;IAED;;;OAGG;IACH,eAAe,IAAI,MAAM,CAExB;IAED;;;;OAIG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAG/B;IAED;;;;OAIG;IACG,IAAI,CAAC,CAAC,SAAS,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,EAC7D,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,CAKf;CACF"}
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../src/repositories/abstract.ts"],"names":[],"mappings":"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"}
|