@decaf-ts/core 0.7.2 → 0.7.4
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/README.md +6 -1
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/lib/esm/identity/decorators.d.ts +3 -4
- package/lib/esm/identity/decorators.js +5 -11
- package/lib/esm/identity/decorators.js.map +1 -1
- package/lib/esm/identity/index.d.ts +0 -1
- package/lib/esm/identity/index.js +0 -1
- package/lib/esm/identity/index.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/interfaces/ContextuallyLogged.d.ts +8 -0
- package/lib/esm/interfaces/ContextuallyLogged.js +2 -0
- package/lib/esm/interfaces/ContextuallyLogged.js.map +1 -0
- package/lib/esm/interfaces/ErrorParser.d.ts +2 -2
- package/lib/esm/interfaces/Executor.d.ts +1 -1
- package/lib/esm/interfaces/Observable.d.ts +8 -8
- package/lib/esm/interfaces/Observer.d.ts +2 -2
- package/lib/esm/interfaces/RawExecutor.d.ts +1 -1
- package/lib/esm/model/BaseModel.d.ts +2 -2
- package/lib/esm/model/BaseModel.js +2 -2
- package/lib/esm/{ram/model/RamSequenceModel.d.ts → model/SequenceModel.d.ts} +3 -3
- package/lib/esm/{ram/model/RamSequenceModel.js → model/SequenceModel.js} +12 -11
- package/lib/esm/model/SequenceModel.js.map +1 -0
- package/lib/esm/model/construction.d.ts +9 -8
- package/lib/esm/model/construction.js +2 -2
- package/lib/esm/model/construction.js.map +1 -1
- package/lib/esm/model/decorators.d.ts +5 -4
- package/lib/esm/model/decorators.js +3 -3
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/model/index.d.ts +1 -0
- package/lib/esm/model/index.js +1 -0
- package/lib/esm/model/index.js.map +1 -1
- package/lib/esm/overrides/Metadata.d.ts +1 -8
- package/lib/esm/overrides/Model.d.ts +75 -0
- package/lib/esm/overrides/Model.js +2 -0
- package/lib/esm/overrides/Model.js.map +1 -0
- package/lib/esm/overrides/index.d.ts +2 -0
- package/lib/esm/overrides/index.js +2 -0
- package/lib/esm/overrides/index.js.map +1 -1
- package/lib/esm/overrides/injectables.d.ts +10 -0
- package/lib/esm/overrides/injectables.js +2 -0
- package/lib/esm/overrides/injectables.js.map +1 -0
- package/lib/esm/overrides/overrides.js +45 -3
- package/lib/esm/overrides/overrides.js.map +1 -1
- package/lib/esm/persistence/Adapter.d.ts +55 -53
- package/lib/esm/persistence/Adapter.js +85 -61
- package/lib/esm/persistence/Adapter.js.map +1 -1
- package/lib/esm/persistence/Dispatch.d.ts +7 -6
- package/lib/esm/persistence/Dispatch.js +25 -18
- package/lib/esm/persistence/Dispatch.js.map +1 -1
- package/lib/esm/persistence/ObserverHandler.d.ts +7 -6
- package/lib/esm/persistence/ObserverHandler.js +5 -4
- package/lib/esm/persistence/ObserverHandler.js.map +1 -1
- package/lib/esm/persistence/Sequence.d.ts +34 -25
- package/lib/esm/persistence/Sequence.js +136 -15
- package/lib/esm/persistence/Sequence.js.map +1 -1
- package/lib/esm/persistence/constants.d.ts +1 -0
- package/lib/esm/persistence/constants.js +1 -0
- package/lib/esm/persistence/constants.js.map +1 -1
- package/lib/esm/persistence/generators.d.ts +14 -0
- package/lib/esm/persistence/generators.js +31 -0
- package/lib/esm/persistence/generators.js.map +1 -0
- package/lib/esm/persistence/index.d.ts +1 -0
- package/lib/esm/persistence/index.js +1 -0
- package/lib/esm/persistence/index.js.map +1 -1
- package/lib/esm/persistence/migrations.d.ts +8 -8
- package/lib/esm/persistence/migrations.js +8 -9
- package/lib/esm/persistence/migrations.js.map +1 -1
- package/lib/esm/persistence/types.d.ts +38 -20
- package/lib/esm/query/Paginator.d.ts +6 -5
- package/lib/esm/query/Paginator.js +4 -4
- package/lib/esm/query/Paginator.js.map +1 -1
- package/lib/esm/query/Statement.d.ts +9 -8
- package/lib/esm/query/Statement.js +23 -10
- package/lib/esm/query/Statement.js.map +1 -1
- package/lib/esm/ram/RamAdapter.d.ts +22 -31
- package/lib/esm/ram/RamAdapter.js +36 -34
- package/lib/esm/ram/RamAdapter.js.map +1 -1
- package/lib/esm/ram/RamPaginator.d.ts +2 -1
- package/lib/esm/ram/RamPaginator.js +5 -3
- package/lib/esm/ram/RamPaginator.js.map +1 -1
- package/lib/esm/ram/RamStatement.d.ts +7 -7
- package/lib/esm/ram/RamStatement.js.map +1 -1
- package/lib/esm/ram/handlers.d.ts +3 -4
- package/lib/esm/ram/handlers.js.map +1 -1
- package/lib/esm/ram/index.d.ts +0 -3
- package/lib/esm/ram/index.js +0 -3
- package/lib/esm/ram/index.js.map +1 -1
- package/lib/esm/ram/types.d.ts +4 -12
- package/lib/esm/repository/Repository.d.ts +31 -95
- package/lib/esm/repository/Repository.js +107 -203
- package/lib/esm/repository/Repository.js.map +1 -1
- package/lib/esm/repository/decorators.js +4 -3
- package/lib/esm/repository/decorators.js.map +1 -1
- package/lib/esm/repository/utils.d.ts +1 -1
- package/lib/esm/repository/utils.js +2 -3
- package/lib/esm/repository/utils.js.map +1 -1
- package/lib/esm/utils/ContextualLoggedClass.d.ts +16 -0
- package/lib/esm/utils/ContextualLoggedClass.js +29 -0
- package/lib/esm/utils/ContextualLoggedClass.js.map +1 -0
- package/lib/esm/utils/Services.d.ts +50 -0
- package/lib/esm/utils/Services.js +154 -0
- package/lib/esm/utils/Services.js.map +1 -0
- package/lib/esm/utils/decorators.d.ts +1 -9
- package/lib/esm/utils/decorators.js +26 -15
- package/lib/esm/utils/decorators.js.map +1 -1
- package/lib/esm/utils/index.d.ts +2 -1
- package/lib/esm/utils/index.js +2 -1
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/identity/decorators.cjs +5 -11
- package/lib/identity/decorators.d.ts +3 -4
- package/lib/identity/decorators.js.map +1 -1
- package/lib/identity/index.cjs +0 -1
- package/lib/identity/index.d.ts +0 -1
- package/lib/identity/index.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/interfaces/ContextuallyLogged.cjs +3 -0
- package/lib/interfaces/ContextuallyLogged.d.ts +8 -0
- package/lib/interfaces/ContextuallyLogged.js.map +1 -0
- package/lib/interfaces/ErrorParser.d.ts +2 -2
- package/lib/interfaces/Executor.d.ts +1 -1
- package/lib/interfaces/Observable.d.ts +8 -8
- package/lib/interfaces/Observer.d.ts +2 -2
- package/lib/interfaces/RawExecutor.d.ts +1 -1
- package/lib/model/BaseModel.cjs +2 -2
- package/lib/model/BaseModel.d.ts +2 -2
- package/lib/{ram/model/RamSequenceModel.cjs → model/SequenceModel.cjs} +14 -13
- package/lib/{ram/model/RamSequenceModel.d.ts → model/SequenceModel.d.ts} +3 -3
- package/lib/model/SequenceModel.js.map +1 -0
- package/lib/model/construction.cjs +2 -2
- package/lib/model/construction.d.ts +9 -8
- package/lib/model/construction.js.map +1 -1
- package/lib/model/decorators.cjs +3 -3
- package/lib/model/decorators.d.ts +5 -4
- package/lib/model/decorators.js.map +1 -1
- package/lib/model/index.cjs +1 -0
- package/lib/model/index.d.ts +1 -0
- package/lib/model/index.js.map +1 -1
- package/lib/overrides/Metadata.d.ts +1 -8
- package/lib/overrides/Model.cjs +4 -0
- package/lib/overrides/Model.d.ts +75 -0
- package/lib/overrides/Model.js.map +1 -0
- package/lib/overrides/index.cjs +2 -0
- package/lib/overrides/index.d.ts +2 -0
- package/lib/overrides/index.js.map +1 -1
- package/lib/overrides/injectables.cjs +4 -0
- package/lib/overrides/injectables.d.ts +10 -0
- package/lib/overrides/injectables.js.map +1 -0
- package/lib/overrides/overrides.cjs +43 -1
- package/lib/overrides/overrides.js.map +1 -1
- package/lib/persistence/Adapter.cjs +90 -66
- package/lib/persistence/Adapter.d.ts +55 -53
- package/lib/persistence/Adapter.js.map +1 -1
- package/lib/persistence/Dispatch.cjs +25 -18
- package/lib/persistence/Dispatch.d.ts +7 -6
- package/lib/persistence/Dispatch.js.map +1 -1
- package/lib/persistence/ObserverHandler.cjs +5 -4
- package/lib/persistence/ObserverHandler.d.ts +7 -6
- package/lib/persistence/ObserverHandler.js.map +1 -1
- package/lib/persistence/Sequence.cjs +136 -15
- package/lib/persistence/Sequence.d.ts +34 -25
- package/lib/persistence/Sequence.js.map +1 -1
- package/lib/persistence/constants.cjs +1 -0
- package/lib/persistence/constants.d.ts +1 -0
- package/lib/persistence/constants.js.map +1 -1
- package/lib/persistence/generators.cjs +36 -0
- package/lib/persistence/generators.d.ts +14 -0
- package/lib/persistence/generators.js.map +1 -0
- package/lib/persistence/index.cjs +1 -0
- package/lib/persistence/index.d.ts +1 -0
- package/lib/persistence/index.js.map +1 -1
- package/lib/persistence/migrations.cjs +7 -8
- package/lib/persistence/migrations.d.ts +8 -8
- package/lib/persistence/migrations.js.map +1 -1
- package/lib/persistence/types.d.ts +38 -20
- package/lib/query/Paginator.cjs +4 -4
- package/lib/query/Paginator.d.ts +6 -5
- package/lib/query/Paginator.js.map +1 -1
- package/lib/query/Statement.cjs +34 -21
- package/lib/query/Statement.d.ts +9 -8
- package/lib/query/Statement.js.map +1 -1
- package/lib/ram/RamAdapter.cjs +35 -33
- package/lib/ram/RamAdapter.d.ts +22 -31
- package/lib/ram/RamAdapter.js.map +1 -1
- package/lib/ram/RamPaginator.cjs +5 -3
- package/lib/ram/RamPaginator.d.ts +2 -1
- package/lib/ram/RamPaginator.js.map +1 -1
- package/lib/ram/RamStatement.d.ts +7 -7
- package/lib/ram/RamStatement.js.map +1 -1
- package/lib/ram/handlers.d.ts +3 -4
- package/lib/ram/handlers.js.map +1 -1
- package/lib/ram/index.cjs +0 -3
- package/lib/ram/index.d.ts +0 -3
- package/lib/ram/index.js.map +1 -1
- package/lib/ram/types.d.ts +4 -12
- package/lib/repository/Repository.cjs +108 -204
- package/lib/repository/Repository.d.ts +31 -95
- package/lib/repository/Repository.js.map +1 -1
- package/lib/repository/decorators.cjs +2 -1
- package/lib/repository/decorators.js.map +1 -1
- package/lib/repository/utils.cjs +2 -3
- package/lib/repository/utils.d.ts +1 -1
- package/lib/repository/utils.js.map +1 -1
- package/lib/utils/ContextualLoggedClass.cjs +33 -0
- package/lib/utils/ContextualLoggedClass.d.ts +16 -0
- package/lib/utils/ContextualLoggedClass.js.map +1 -0
- package/lib/utils/Services.cjs +159 -0
- package/lib/utils/Services.d.ts +50 -0
- package/lib/utils/Services.js.map +1 -0
- package/lib/utils/decorators.cjs +27 -16
- package/lib/utils/decorators.d.ts +1 -9
- package/lib/utils/decorators.js.map +1 -1
- package/lib/utils/index.cjs +2 -1
- package/lib/utils/index.d.ts +2 -1
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/lib/esm/identity/utils.d.ts +0 -24
- package/lib/esm/identity/utils.js +0 -44
- package/lib/esm/identity/utils.js.map +0 -1
- package/lib/esm/ram/RamContext.d.ts +0 -28
- package/lib/esm/ram/RamContext.js +0 -30
- package/lib/esm/ram/RamContext.js.map +0 -1
- package/lib/esm/ram/RamSequence.d.ts +0 -75
- package/lib/esm/ram/RamSequence.js +0 -145
- package/lib/esm/ram/RamSequence.js.map +0 -1
- package/lib/esm/ram/model/RamSequenceModel.js.map +0 -1
- package/lib/esm/ram/model/index.d.ts +0 -1
- package/lib/esm/ram/model/index.js +0 -2
- package/lib/esm/ram/model/index.js.map +0 -1
- package/lib/identity/utils.cjs +0 -49
- package/lib/identity/utils.d.ts +0 -24
- package/lib/identity/utils.js.map +0 -1
- package/lib/ram/RamContext.cjs +0 -34
- package/lib/ram/RamContext.d.ts +0 -28
- package/lib/ram/RamContext.js.map +0 -1
- package/lib/ram/RamSequence.cjs +0 -149
- package/lib/ram/RamSequence.d.ts +0 -75
- package/lib/ram/RamSequence.js.map +0 -1
- package/lib/ram/model/RamSequenceModel.js.map +0 -1
- package/lib/ram/model/index.cjs +0 -18
- package/lib/ram/model/index.d.ts +0 -1
- package/lib/ram/model/index.js.map +0 -1
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
import { RamStatement } from "./RamStatement.js";
|
|
2
|
-
import { RamContext } from "./RamContext.js";
|
|
3
|
-
import { Repository } from "./../repository/Repository.js";
|
|
4
2
|
import { Adapter, PersistenceKeys, Sequence } from "./../persistence/index.js";
|
|
5
3
|
import { Lock } from "@decaf-ts/transactional-decorators";
|
|
6
4
|
import { hashObj, Model } from "@decaf-ts/decorator-validation";
|
|
7
|
-
import { BaseError, ConflictError, InternalError, NotFoundError, onCreate, onCreateUpdate, DBKeys, } from "@decaf-ts/db-decorators";
|
|
8
|
-
import { RamSequence } from "./RamSequence.js";
|
|
5
|
+
import { BaseError, ConflictError, InternalError, NotFoundError, onCreate, onCreateUpdate, DBKeys, Context, } from "@decaf-ts/db-decorators";
|
|
9
6
|
import { createdByOnRamCreateUpdate } from "./handlers.js";
|
|
10
7
|
import { RamFlavour } from "./constants.js";
|
|
11
8
|
import { Decoration, Metadata, propMetadata, } from "@decaf-ts/decoration";
|
|
@@ -55,7 +52,7 @@ import { Decoration, Metadata, propMetadata, } from "@decaf-ts/decoration";
|
|
|
55
52
|
export class RamAdapter extends Adapter {
|
|
56
53
|
constructor(conf = {}, alias) {
|
|
57
54
|
super(conf, RamFlavour, alias);
|
|
58
|
-
this.Context =
|
|
55
|
+
this.Context = Context;
|
|
59
56
|
this.indexes = {};
|
|
60
57
|
this.lock = new Lock();
|
|
61
58
|
}
|
|
@@ -107,9 +104,10 @@ export class RamAdapter extends Adapter {
|
|
|
107
104
|
* @param pk - The primary key property name
|
|
108
105
|
* @return Object containing the record and ID
|
|
109
106
|
*/
|
|
110
|
-
prepare(model,
|
|
111
|
-
const
|
|
112
|
-
|
|
107
|
+
prepare(model, ...args) {
|
|
108
|
+
const ctx = args.pop();
|
|
109
|
+
const prepared = super.prepare(model, ...args, ctx);
|
|
110
|
+
delete prepared.record[Model.pk(model.constructor)];
|
|
113
111
|
return prepared;
|
|
114
112
|
}
|
|
115
113
|
/**
|
|
@@ -118,13 +116,12 @@ export class RamAdapter extends Adapter {
|
|
|
118
116
|
* This method is the inverse of the prepare method.
|
|
119
117
|
* @template M - The model type to revert to
|
|
120
118
|
* @param {Record<string, any>} obj - The stored record
|
|
121
|
-
* @param {
|
|
122
|
-
* @param
|
|
123
|
-
* @param {string | number} id - The primary key value
|
|
119
|
+
* @param {Constructor<M>} clazz - The model class or name
|
|
120
|
+
* @param {PrimaryKeyType} id - The primary key value
|
|
124
121
|
* @return {M} The reconstructed model instance
|
|
125
122
|
*/
|
|
126
|
-
revert(obj, clazz,
|
|
127
|
-
const res = super.revert(obj, clazz,
|
|
123
|
+
revert(obj, clazz, id, transient, ...args) {
|
|
124
|
+
const res = super.revert(obj, clazz, id, transient, ...args);
|
|
128
125
|
return res;
|
|
129
126
|
}
|
|
130
127
|
/**
|
|
@@ -132,7 +129,7 @@ export class RamAdapter extends Adapter {
|
|
|
132
129
|
* @summary Stores a new record in the specified table with the given ID.
|
|
133
130
|
* This method acquires a lock to ensure thread safety, creates the table if it doesn't exist,
|
|
134
131
|
* checks for conflicts, and stores the model.
|
|
135
|
-
* @param {string}
|
|
132
|
+
* @param {string} clazz - The name of the table to store the record in
|
|
136
133
|
* @param {string | number} id - The unique identifier for the record
|
|
137
134
|
* @param {Record<string, any>} model - The record data to store
|
|
138
135
|
* @return {Promise<Record<string, any>>} A promise that resolves to the stored record
|
|
@@ -156,11 +153,15 @@ export class RamAdapter extends Adapter {
|
|
|
156
153
|
* RamAdapter->>RamAdapter: lock.release()
|
|
157
154
|
* RamAdapter-->>Caller: model
|
|
158
155
|
*/
|
|
159
|
-
async create(
|
|
156
|
+
async create(clazz, id, model, ctx) {
|
|
157
|
+
const log = ctx.logger.for(this.create);
|
|
158
|
+
const tableName = Model.tableName(clazz);
|
|
159
|
+
log.debug(`creating record in table ${tableName} with id ${id}`);
|
|
160
160
|
await this.lock.acquire();
|
|
161
161
|
if (!this.client.has(tableName))
|
|
162
162
|
this.client.set(tableName, new Map());
|
|
163
|
-
if (this.client.get(tableName) &&
|
|
163
|
+
if (this.client.get(tableName) &&
|
|
164
|
+
this.client.get(tableName)?.has(id))
|
|
164
165
|
throw new ConflictError(`Record with id ${id} already exists in table ${tableName}`);
|
|
165
166
|
this.client.get(tableName)?.set(id, model);
|
|
166
167
|
this.lock.release();
|
|
@@ -170,8 +171,8 @@ export class RamAdapter extends Adapter {
|
|
|
170
171
|
* @description Retrieves a record from in-memory storage
|
|
171
172
|
* @summary Fetches a record with the specified ID from the given table.
|
|
172
173
|
* This method checks if the table and record exist and throws appropriate errors if not.
|
|
173
|
-
* @param {
|
|
174
|
-
* @param {
|
|
174
|
+
* @param {Constructor} clazz - The name of the table to retrieve from
|
|
175
|
+
* @param {PrimaryKeyType} id - The unique identifier of the record to retrieve
|
|
175
176
|
* @return {Promise<Record<string, any>>} A promise that resolves to the retrieved record
|
|
176
177
|
* @mermaid
|
|
177
178
|
* sequenceDiagram
|
|
@@ -192,7 +193,10 @@ export class RamAdapter extends Adapter {
|
|
|
192
193
|
* Storage-->>RamAdapter: record
|
|
193
194
|
* RamAdapter-->>Caller: record
|
|
194
195
|
*/
|
|
195
|
-
async read(
|
|
196
|
+
async read(clazz, id,
|
|
197
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
198
|
+
ctx) {
|
|
199
|
+
const tableName = Model.tableName(clazz);
|
|
196
200
|
if (!this.client.has(tableName))
|
|
197
201
|
throw new NotFoundError(`Table ${tableName} not found`);
|
|
198
202
|
if (!this.client.get(tableName)?.has(id))
|
|
@@ -228,7 +232,10 @@ export class RamAdapter extends Adapter {
|
|
|
228
232
|
* RamAdapter->>RamAdapter: lock.release()
|
|
229
233
|
* RamAdapter-->>Caller: model
|
|
230
234
|
*/
|
|
231
|
-
async update(
|
|
235
|
+
async update(clazz, id, model, ctx) {
|
|
236
|
+
const log = ctx.logger.for(this.update);
|
|
237
|
+
const tableName = Model.tableName(clazz);
|
|
238
|
+
log.debug(`updating record in table ${tableName} with id ${id}`);
|
|
232
239
|
await this.lock.acquire();
|
|
233
240
|
if (!this.client.has(tableName))
|
|
234
241
|
throw new NotFoundError(`Table ${tableName} not found`);
|
|
@@ -268,7 +275,10 @@ export class RamAdapter extends Adapter {
|
|
|
268
275
|
* RamAdapter->>RamAdapter: lock.release()
|
|
269
276
|
* RamAdapter-->>Caller: record
|
|
270
277
|
*/
|
|
271
|
-
async delete(
|
|
278
|
+
async delete(clazz, id, ctx) {
|
|
279
|
+
const log = ctx.logger.for(this.delete);
|
|
280
|
+
const tableName = Model.tableName(clazz);
|
|
281
|
+
log.debug(`deleting record from table ${tableName} with pk ${id}`);
|
|
272
282
|
await this.lock.acquire();
|
|
273
283
|
if (!this.client.has(tableName))
|
|
274
284
|
throw new NotFoundError(`Table ${tableName} not found`);
|
|
@@ -291,7 +301,7 @@ export class RamAdapter extends Adapter {
|
|
|
291
301
|
tableFor(from) {
|
|
292
302
|
if (typeof from === "string")
|
|
293
303
|
from = Model.get(from);
|
|
294
|
-
const table =
|
|
304
|
+
const table = Model.tableName(from);
|
|
295
305
|
if (!this.client.has(table))
|
|
296
306
|
this.client.set(table, new Map());
|
|
297
307
|
return this.client.get(table);
|
|
@@ -339,7 +349,9 @@ export class RamAdapter extends Adapter {
|
|
|
339
349
|
* end
|
|
340
350
|
* RamAdapter-->>Caller: result
|
|
341
351
|
*/
|
|
342
|
-
async raw(rawInput) {
|
|
352
|
+
async raw(rawInput, ctx) {
|
|
353
|
+
const log = ctx.logger.for(this.raw);
|
|
354
|
+
log.debug(`performing raw query: ${JSON.stringify(rawInput)}`);
|
|
343
355
|
const { where, sort, limit, skip, from } = rawInput;
|
|
344
356
|
let { select } = rawInput;
|
|
345
357
|
const collection = this.tableFor(from);
|
|
@@ -347,7 +359,7 @@ export class RamAdapter extends Adapter {
|
|
|
347
359
|
throw new InternalError(`Table ${from} not found in RamAdapter`);
|
|
348
360
|
const id = Model.pk(from);
|
|
349
361
|
const props = Metadata.get(from, Metadata.key(DBKeys.ID, id));
|
|
350
|
-
let result = Array.from(collection.entries()).map(([pk, r]) => this.revert(r, from,
|
|
362
|
+
let result = Array.from(collection.entries()).map(([pk, r]) => this.revert(r, from, Sequence.parseValue(props.type, pk), undefined, ctx));
|
|
351
363
|
result = where ? result.filter(where) : result;
|
|
352
364
|
if (sort)
|
|
353
365
|
result = result.sort(sort);
|
|
@@ -388,16 +400,6 @@ export class RamAdapter extends Adapter {
|
|
|
388
400
|
Statement() {
|
|
389
401
|
return new RamStatement(this);
|
|
390
402
|
}
|
|
391
|
-
/**
|
|
392
|
-
* @description Creates a new sequence for generating sequential IDs
|
|
393
|
-
* @summary Factory method that creates a new RamSequence instance for ID generation.
|
|
394
|
-
* This method provides a way to create auto-incrementing sequences for entity IDs.
|
|
395
|
-
* @param {SequenceOptions} options - Configuration options for the sequence
|
|
396
|
-
* @return {Promise<Sequence>} A promise that resolves to the new sequence instance
|
|
397
|
-
*/
|
|
398
|
-
async Sequence(options) {
|
|
399
|
-
return new RamSequence(options, this);
|
|
400
|
-
}
|
|
401
403
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
402
404
|
for(config, ...args) {
|
|
403
405
|
if (!this.proxies)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RamAdapter.js","sourceRoot":"","sources":["../../../src/ram/RamAdapter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,0BAAuB;
|
|
1
|
+
{"version":3,"file":"RamAdapter.js","sourceRoot":"","sources":["../../../src/ram/RamAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { Paginator } from "../query";
|
|
|
3
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
4
|
import { Adapter } from "../persistence";
|
|
5
5
|
import { Constructor } from "@decaf-ts/decoration";
|
|
6
|
+
import { MaybeContextualArg } from "../utils/index";
|
|
6
7
|
/**
|
|
7
8
|
* @description RAM-specific paginator implementation
|
|
8
9
|
* @summary Extends the base Paginator class to provide pagination functionality for RAM adapter queries.
|
|
@@ -49,5 +50,5 @@ export declare class RamPaginator<M extends Model, R> extends Paginator<M, R, Ra
|
|
|
49
50
|
* @param {number} [page=1] - The page number to retrieve (1-based)
|
|
50
51
|
* @return {Promise<R[]>} A promise that resolves to an array of results for the requested page
|
|
51
52
|
*/
|
|
52
|
-
page(page?: number): Promise<R[]>;
|
|
53
|
+
page(page?: number, ...args: MaybeContextualArg<any>): Promise<R[]>;
|
|
53
54
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Paginator } from "./../query/index.js";
|
|
2
|
+
import { Context, OperationKeys } from "@decaf-ts/db-decorators";
|
|
2
3
|
/**
|
|
3
4
|
* @description RAM-specific paginator implementation
|
|
4
5
|
* @summary Extends the base Paginator class to provide pagination functionality for RAM adapter queries.
|
|
@@ -51,11 +52,12 @@ export class RamPaginator extends Paginator {
|
|
|
51
52
|
* @param {number} [page=1] - The page number to retrieve (1-based)
|
|
52
53
|
* @return {Promise<R[]>} A promise that resolves to an array of results for the requested page
|
|
53
54
|
*/
|
|
54
|
-
async page(page = 1) {
|
|
55
|
+
async page(page = 1, ...args) {
|
|
56
|
+
const contextArgs = await Context.args(OperationKeys.READ, this.clazz, args, this.adapter);
|
|
55
57
|
const statement = this.prepare(this.statement);
|
|
56
58
|
if (!this._recordCount || !this._totalPages) {
|
|
57
59
|
this._totalPages = this._recordCount = 0;
|
|
58
|
-
const results = (await this.adapter.raw({ ...statement, limit: undefined })) || [];
|
|
60
|
+
const results = (await this.adapter.raw({ ...statement, limit: undefined }, contextArgs.context)) || [];
|
|
59
61
|
this._recordCount = results.length;
|
|
60
62
|
if (this._recordCount > 0) {
|
|
61
63
|
const size = statement?.limit || this.size;
|
|
@@ -64,7 +66,7 @@ export class RamPaginator extends Paginator {
|
|
|
64
66
|
}
|
|
65
67
|
page = this.validatePage(page);
|
|
66
68
|
statement.skip = (page - 1) * this.size;
|
|
67
|
-
const results = await this.adapter.raw(statement);
|
|
69
|
+
const results = await this.adapter.raw(statement, await this.adapter.context(OperationKeys.READ, {}, this.clazz));
|
|
68
70
|
this._currentPage = page;
|
|
69
71
|
return results;
|
|
70
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RamPaginator.js","sourceRoot":"","sources":["../../../src/ram/RamPaginator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,4BAAiB;
|
|
1
|
+
{"version":3,"file":"RamPaginator.js","sourceRoot":"","sources":["../../../src/ram/RamPaginator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,4BAAiB;AAIrC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGjE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,YAAiC,SAAQ,SAIrD;IACC,YACE,OAA+C,EAC/C,KAAqB,EACrB,IAAY,EACZ,KAAqB;QAErB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACO,OAAO,CAAC,YAA4B;QAC5C,MAAM,KAAK,GAAqB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAChE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe,CAAC,EAAE,GAAG,IAA6B;QAC3D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CACpC,aAAa,CAAC,IAAI,EAClB,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,OAAO,CACb,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACzC,MAAM,OAAO,GACX,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACrB,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,EAClC,WAAW,CAAC,OAAO,CACpB,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YACnC,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;gBAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACxC,MAAM,OAAO,GAAU,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAC3C,SAAS,EACT,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAC/D,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Condition, Paginator } from "../query";
|
|
2
|
-
import { RawRamQuery } from "./types";
|
|
2
|
+
import { RamContext, RawRamQuery } from "./types";
|
|
3
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
4
|
import { Statement } from "../query/Statement";
|
|
5
|
-
import {
|
|
5
|
+
import { Adapter } from "../persistence/index";
|
|
6
6
|
/**
|
|
7
7
|
* @description RAM-specific query statement builder
|
|
8
8
|
* @summary Extends the base Statement class to provide query building functionality for the RAM adapter.
|
|
@@ -30,8 +30,8 @@ import { RamAdapter } from "./RamAdapter";
|
|
|
30
30
|
* .execute();
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
|
-
export declare class RamStatement<M extends Model, R
|
|
34
|
-
constructor(adapter:
|
|
33
|
+
export declare class RamStatement<M extends Model, R, A extends Adapter<M, any, RawRamQuery<any>, RamContext>> extends Statement<M, A, R, RawRamQuery<any>> {
|
|
34
|
+
constructor(adapter: A);
|
|
35
35
|
/**
|
|
36
36
|
* @description Creates a sort comparator function
|
|
37
37
|
* @summary Generates a function that compares two model instances based on the orderBy criteria.
|
|
@@ -46,7 +46,7 @@ export declare class RamStatement<M extends Model, R> extends Statement<RawRamQu
|
|
|
46
46
|
* (select, from, where, limit, offset, sort) into the final query structure.
|
|
47
47
|
* @return {RawRamQuery<M>} The constructed RAM query object
|
|
48
48
|
*/
|
|
49
|
-
protected build(): RawRamQuery<
|
|
49
|
+
protected build(): RawRamQuery<any>;
|
|
50
50
|
/**
|
|
51
51
|
* @description Creates a paginator for the query
|
|
52
52
|
* @summary Builds the query and wraps it in a RamPaginator to enable pagination of results.
|
|
@@ -54,7 +54,7 @@ export declare class RamStatement<M extends Model, R> extends Statement<RawRamQu
|
|
|
54
54
|
* @param {number} size - The page size (number of results per page)
|
|
55
55
|
* @return {Promise<Paginator<M, R, RawRamQuery<M>>>} A promise that resolves to a paginator for the query
|
|
56
56
|
*/
|
|
57
|
-
paginate(size: number): Promise<Paginator<M, R, RawRamQuery<
|
|
57
|
+
paginate(size: number): Promise<Paginator<M, R, RawRamQuery<any>>>;
|
|
58
58
|
/**
|
|
59
59
|
* @description Parses a condition into a RAM query predicate
|
|
60
60
|
* @summary Converts a Condition object into a predicate function that can be used
|
|
@@ -82,5 +82,5 @@ export declare class RamStatement<M extends Model, R> extends Statement<RawRamQu
|
|
|
82
82
|
* end
|
|
83
83
|
* RamStatement-->>Caller: Return query with where predicate
|
|
84
84
|
*/
|
|
85
|
-
parseCondition
|
|
85
|
+
protected parseCondition(condition: Condition<M>): RawRamQuery<any>;
|
|
86
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RamStatement.js","sourceRoot":"","sources":["../../../src/ram/RamStatement.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,QAAQ,EAER,UAAU,GACX,4BAAiB;AAGlB,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,gCAA2B;
|
|
1
|
+
{"version":3,"file":"RamStatement.js","sourceRoot":"","sources":["../../../src/ram/RamStatement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
2
|
-
import { Repo } from "../repository";
|
|
3
2
|
import { RelationsMetadata } from "../model";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { RamRepository } from "./types";
|
|
4
|
+
import { RamContext } from "./types";
|
|
6
5
|
/**
|
|
7
6
|
* @description Sets the created by field on a model during RAM create/update operations
|
|
8
7
|
* @summary Automatically populates a model field with the UUID from the context during create or update operations.
|
|
@@ -22,4 +21,4 @@ import { Context } from "@decaf-ts/db-decorators";
|
|
|
22
21
|
* @memberOf module:core
|
|
23
22
|
* @category Ram
|
|
24
23
|
*/
|
|
25
|
-
export declare function createdByOnRamCreateUpdate<M extends Model, R extends
|
|
24
|
+
export declare function createdByOnRamCreateUpdate<M extends Model, R extends RamRepository<M>>(this: R, context: RamContext, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/ram/handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/ram/handlers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,kCAAuB;AAGlD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAK9C,OAAmB,EACnB,IAAuB,EACvB,GAAY,EACZ,KAAQ;IAER,MAAM,IAAI,GAAW,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QACP,MAAM,IAAI,gBAAgB,CACxB,mDAAmD,CACpD,CAAC;IACJ,KAAK,CAAC,GAAG,CAAC,GAAG,IAAkB,CAAC;AAClC,CAAC"}
|
package/lib/esm/ram/index.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
export * from "./model";
|
|
2
1
|
export * from "./constants";
|
|
3
2
|
export * from "./handlers";
|
|
4
|
-
export * from "./RamContext";
|
|
5
3
|
export * from "./RamPaginator";
|
|
6
4
|
export * from "./RamStatement";
|
|
7
|
-
export * from "./RamSequence";
|
|
8
5
|
export * from "./types";
|
|
9
6
|
export * from "./RamAdapter";
|
package/lib/esm/ram/index.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { RamAdapter } from "./RamAdapter.js";
|
|
2
2
|
// Invoked there to ensure decoration override
|
|
3
3
|
RamAdapter.decoration();
|
|
4
|
-
export * from "./model/index.js";
|
|
5
4
|
export * from "./constants.js";
|
|
6
5
|
export * from "./handlers.js";
|
|
7
|
-
export * from "./RamContext.js";
|
|
8
6
|
export * from "./RamPaginator.js";
|
|
9
7
|
export * from "./RamStatement.js";
|
|
10
|
-
export * from "./RamSequence.js";
|
|
11
8
|
export * from "./types.js";
|
|
12
9
|
// left to last on purpose
|
|
13
10
|
export * from "./RamAdapter.js";
|
package/lib/esm/ram/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ram/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,wBAAqB;AAE1C,8CAA8C;AAC9C,UAAU,CAAC,UAAU,EAAE,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ram/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,wBAAqB;AAE1C,8CAA8C;AAC9C,UAAU,CAAC,UAAU,EAAE,CAAC;AAExB,+BAA4B;AAC5B,8BAA2B;AAC3B,kCAA+B;AAC/B,kCAA+B;AAC/B,2BAAwB;AACxB,0BAA0B;AAC1B,gCAA6B"}
|
package/lib/esm/ram/types.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
2
2
|
import { Repository } from "../repository";
|
|
3
3
|
import { Context, RepositoryFlags } from "@decaf-ts/db-decorators";
|
|
4
|
-
import { RamAdapter } from "./RamAdapter";
|
|
5
4
|
import { Constructor } from "@decaf-ts/decoration";
|
|
5
|
+
import { Adapter } from "../persistence";
|
|
6
6
|
/**
|
|
7
7
|
* @description In-memory storage structure for the RAM adapter
|
|
8
8
|
* @summary A nested Map structure that stores all entities by their table name and primary key.
|
|
@@ -28,7 +28,7 @@ export type RamStorage = Map<string, Map<string | number, any>>;
|
|
|
28
28
|
* @memberOf module:core
|
|
29
29
|
* @category Ram
|
|
30
30
|
*/
|
|
31
|
-
export type RawRamQuery<M extends Model> = {
|
|
31
|
+
export type RawRamQuery<M extends Model = any> = {
|
|
32
32
|
select: undefined | (keyof M)[];
|
|
33
33
|
from: Constructor<M>;
|
|
34
34
|
where: (el: M) => boolean;
|
|
@@ -48,16 +48,8 @@ export type RawRamQuery<M extends Model> = {
|
|
|
48
48
|
export interface RamFlags extends RepositoryFlags {
|
|
49
49
|
UUID: string;
|
|
50
50
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
* @summary A specialized repository type for working with models in the RAM adapter.
|
|
54
|
-
* It combines the model type with RAM-specific query, adapter, flags, and context types.
|
|
55
|
-
* @template M - The model type managed by the repository
|
|
56
|
-
* @typedef {Repository<M, RawRamQuery<any>, RamAdapter, RamFlags, Context<RamFlags>>} RamRepository
|
|
57
|
-
* @memberOf module:core
|
|
58
|
-
* @category Ram
|
|
59
|
-
*/
|
|
60
|
-
export type RamRepository<M extends Model<true | false>> = Repository<M, RawRamQuery<any>, RamAdapter, RamFlags, Context<RamFlags>>;
|
|
51
|
+
export type RamRepository<M extends Model<boolean>> = Repository<M, Adapter<RamConfig, RamStorage, RawRamQuery<any>, RamContext>>;
|
|
52
|
+
export type RamContext = Context<RamFlags>;
|
|
61
53
|
export type RamConfig = {
|
|
62
54
|
user: string;
|
|
63
55
|
};
|