hikoutei 0.5.20 → 0.5.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter/persistence/contracts/scalar.d.ts +34 -0
- package/dist/adapter/persistence/contracts/scalar.d.ts.map +1 -1
- package/dist/adapter/persistence/contracts/scalar.js +6 -1
- package/dist/adapter/persistence/contracts/scalar.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts +19 -20
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js +117 -67
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedRuntime.d.ts +31 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedRuntime.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/{MikroOrmMappedTypedSheets.js → MikroOrmMappedRuntime.js} +10 -31
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedRuntime.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarStorage.d.ts +12 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarStorage.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarStorage.js +20 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarStorage.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts +2 -7
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js +5 -11
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js.map +1 -1
- package/dist/api/Hikoutei.d.ts.map +1 -1
- package/dist/api/Hikoutei.js +3 -4
- package/dist/api/Hikoutei.js.map +1 -1
- package/dist/api/errors.d.ts +2 -0
- package/dist/api/errors.d.ts.map +1 -1
- package/dist/api/errors.js +2 -0
- package/dist/api/errors.js.map +1 -1
- package/dist/api/internalEntityManager.d.ts.map +1 -1
- package/dist/api/internalEntityManager.js +31 -9
- package/dist/api/internalEntityManager.js.map +1 -1
- package/dist/application/orm/mapping/contracts.d.ts +8 -3
- package/dist/application/orm/mapping/contracts.d.ts.map +1 -1
- package/dist/application/orm/mapping/values.d.ts +2 -0
- package/dist/application/orm/mapping/values.d.ts.map +1 -1
- package/dist/application/orm/mapping/values.js +10 -3
- package/dist/application/orm/mapping/values.js.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +2 -2
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.js +9 -16
- package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.d.ts.map +1 -1
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +26 -13
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -1
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts +2 -2
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts.map +1 -1
- package/dist/application/orm/persistence/projection/projectionEffects.js +6 -6
- package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -1
- package/dist/application/orm/persistence/scalar/unitOfWork.d.ts +21 -2
- package/dist/application/orm/persistence/scalar/unitOfWork.d.ts.map +1 -1
- package/dist/application/orm/persistence/scalar/unitOfWork.js +107 -8
- package/dist/application/orm/persistence/scalar/unitOfWork.js.map +1 -1
- package/dist/application/orm/persistence/support/contracts.d.ts +6 -6
- package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/contracts.js +0 -2
- package/dist/application/orm/persistence/support/contracts.js.map +1 -1
- package/dist/application/orm/persistence/support/helpers.d.ts +3 -3
- package/dist/application/orm/persistence/support/helpers.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/helpers.js +12 -9
- package/dist/application/orm/persistence/support/helpers.js.map +1 -1
- package/dist/application/orm/persistence/support/timing.d.ts +2 -2
- package/dist/application/orm/persistence/support/timing.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/timing.js +4 -4
- package/dist/application/orm/persistence/support/timing.js.map +1 -1
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
- package/dist/application/sync/service/SyncServiceBootstrap.js +3 -3
- package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
- package/package.json +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts +0 -55
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts.map +0 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js +0 -120
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js.map +0 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +0 -56
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +0 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js.map +0 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts +0 -38
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts.map +0 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js +0 -57
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js.map +0 -1
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.d.ts +0 -19
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.d.ts.map +0 -1
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.js +0 -67
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.js.map +0 -1
- package/dist/application/orm/api/TypedSheetsOrm.d.ts +0 -71
- package/dist/application/orm/api/TypedSheetsOrm.d.ts.map +0 -1
- package/dist/application/orm/api/TypedSheetsOrm.js +0 -116
- package/dist/application/orm/api/TypedSheetsOrm.js.map +0 -1
- package/dist/application/orm/api/contracts.d.ts +0 -118
- package/dist/application/orm/api/contracts.d.ts.map +0 -1
- package/dist/application/orm/api/contracts.js +0 -21
- package/dist/application/orm/api/contracts.js.map +0 -1
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* include any canonical-state and durable-outbox work associated with a row
|
|
13
13
|
* change. Those sync details remain provider-internal.
|
|
14
14
|
*/
|
|
15
|
+
import type { SqlExecutor } from "./sql.js";
|
|
15
16
|
/** Scalar value bound for one entity column. */
|
|
16
17
|
export type ScalarEntityValue = string | number | boolean | Date | null;
|
|
17
18
|
/** Storage affinity for one scalar entity column. */
|
|
@@ -31,6 +32,7 @@ export interface ScalarEntityTableDefinition {
|
|
|
31
32
|
}
|
|
32
33
|
/** A row to insert into one scalar entity table. */
|
|
33
34
|
export interface ScalarEntityInsert {
|
|
35
|
+
readonly entityName: string;
|
|
34
36
|
readonly tableName: string;
|
|
35
37
|
readonly primaryKeyColumn: string;
|
|
36
38
|
/** Column-to-value map for every declared property of the entity. */
|
|
@@ -38,17 +40,49 @@ export interface ScalarEntityInsert {
|
|
|
38
40
|
}
|
|
39
41
|
/** A changed row to update inside one scalar entity table. */
|
|
40
42
|
export interface ScalarEntityUpdate {
|
|
43
|
+
readonly entityName: string;
|
|
41
44
|
readonly tableName: string;
|
|
42
45
|
readonly primaryKeyColumn: string;
|
|
43
46
|
readonly primaryKeyValue: ScalarEntityValue;
|
|
47
|
+
/** Complete post-update row used by canonical and projection planning. */
|
|
48
|
+
readonly values: Readonly<Record<string, ScalarEntityValue>>;
|
|
44
49
|
/** Only the columns whose values changed since the loaded snapshot. */
|
|
45
50
|
readonly changedValues: Readonly<Record<string, ScalarEntityValue>>;
|
|
46
51
|
}
|
|
47
52
|
/** A row to delete from one scalar entity table by primary key. */
|
|
48
53
|
export interface ScalarEntityDelete {
|
|
54
|
+
readonly entityName: string;
|
|
49
55
|
readonly tableName: string;
|
|
50
56
|
readonly primaryKeyColumn: string;
|
|
51
57
|
readonly primaryKeyValue: ScalarEntityValue;
|
|
58
|
+
/** Complete persisted row snapshot used for delete canonical evidence. */
|
|
59
|
+
readonly values: Readonly<Record<string, ScalarEntityValue>>;
|
|
60
|
+
}
|
|
61
|
+
/** Runtime operation tags used by the provider-neutral flush plan. */
|
|
62
|
+
export declare const SCALAR_ENTITY_CHANGE_KINDS: {
|
|
63
|
+
readonly INSERT: "insert";
|
|
64
|
+
readonly UPDATE: "update";
|
|
65
|
+
readonly DELETE: "delete";
|
|
66
|
+
};
|
|
67
|
+
/** One lifecycle row operation promoted from Hikoutei's Unit of Work. */
|
|
68
|
+
export type ScalarEntityFlushChange = {
|
|
69
|
+
readonly kind: typeof SCALAR_ENTITY_CHANGE_KINDS.INSERT;
|
|
70
|
+
readonly row: ScalarEntityInsert;
|
|
71
|
+
} | {
|
|
72
|
+
readonly kind: typeof SCALAR_ENTITY_CHANGE_KINDS.UPDATE;
|
|
73
|
+
readonly row: ScalarEntityUpdate;
|
|
74
|
+
} | {
|
|
75
|
+
readonly kind: typeof SCALAR_ENTITY_CHANGE_KINDS.DELETE;
|
|
76
|
+
readonly row: ScalarEntityDelete;
|
|
77
|
+
};
|
|
78
|
+
/** SQL context used by a provider to plan canonical and outbox work. */
|
|
79
|
+
export interface ScalarEntityFlushContext {
|
|
80
|
+
readonly changes: readonly ScalarEntityFlushChange[];
|
|
81
|
+
readonly sql: SqlExecutor;
|
|
82
|
+
}
|
|
83
|
+
/** Callback for sync-aware providers to plan work before entity SQL is flushed. */
|
|
84
|
+
export interface ScalarEntityFlushCoordinator {
|
|
85
|
+
onFlush(context: ScalarEntityFlushContext): Promise<void>;
|
|
52
86
|
}
|
|
53
87
|
/** Equality filter and paging for a scalar entity read. */
|
|
54
88
|
export interface ScalarEntityQuery {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../../../../src/adapter/persistence/contracts/scalar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAExE,qDAAqD;AACrD,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAElE,kFAAkF;AAClF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,iFAAiF;AACjF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,4BAA4B,EAAE,CAAC;CAC3D;AAED,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;CAC9D;AAED,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;IAC5C,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;CACrE;AAED,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"scalar.d.ts","sourceRoot":"","sources":["../../../../src/adapter/persistence/contracts/scalar.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,5 +12,10 @@
|
|
|
12
12
|
* include any canonical-state and durable-outbox work associated with a row
|
|
13
13
|
* change. Those sync details remain provider-internal.
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
/** Runtime operation tags used by the provider-neutral flush plan. */
|
|
16
|
+
export const SCALAR_ENTITY_CHANGE_KINDS = {
|
|
17
|
+
INSERT: "insert",
|
|
18
|
+
UPDATE: "update",
|
|
19
|
+
DELETE: "delete",
|
|
20
|
+
};
|
|
16
21
|
//# sourceMappingURL=scalar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scalar.js","sourceRoot":"","sources":["../../../../src/adapter/persistence/contracts/scalar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG"}
|
|
1
|
+
{"version":3,"file":"scalar.js","sourceRoot":"","sources":["../../../../src/adapter/persistence/contracts/scalar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAwDH,sEAAsE;AACtE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACR,CAAC"}
|
package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts
CHANGED
|
@@ -1,38 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MikroORM implementation of Hikoutei's scalar persistence SPI.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* public entrypoint.
|
|
4
|
+
* Hikoutei's Unit of Work is the only lifecycle authority. This adapter merely
|
|
5
|
+
* schedules its provider-neutral row plan on a transaction-bound MikroORM
|
|
6
|
+
* manager, runs the optional mapped canonical/outbox planner, and flushes the
|
|
7
|
+
* entity statements in the same SQLite transaction.
|
|
9
8
|
*/
|
|
10
9
|
import type { ResolvedHikouteiEntityDescriptor } from "../../../../../api/entity.js";
|
|
11
|
-
import type { ScalarEntityPersistenceProvider, ScalarEntityQuery, ScalarEntityRow, ScalarEntityTransaction } from "../../../contracts/scalar.js";
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
10
|
+
import type { ScalarEntityFlushCoordinator, ScalarEntityPersistenceProvider, ScalarEntityQuery, ScalarEntityRow, ScalarEntityTransaction } from "../../../contracts/scalar.js";
|
|
11
|
+
import type { MikroOrmSqliteAdapter } from "../storage/MikroOrmSqliteAdapter.js";
|
|
12
|
+
import type { MappedEntityReference } from "../../../../../application/orm/mapping/contracts.js";
|
|
14
13
|
/** Internal mapping from a public descriptor to its generated MikroORM entity. */
|
|
15
14
|
export interface MikroOrmScalarEntityBinding {
|
|
16
15
|
readonly descriptor: ResolvedHikouteiEntityDescriptor;
|
|
17
|
-
|
|
16
|
+
/** Kept opaque so MikroORM types remain inside this adapter module. */
|
|
17
|
+
readonly entity: MappedEntityReference<Record<string, unknown>>;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Adapts
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* constructed. Every transaction delegates through `TypedSheetsOrm.em`, so
|
|
24
|
-
* its existing canonical/outbox flush coordinator remains in the same SQLite
|
|
25
|
-
* transaction as the generated entity rows.
|
|
20
|
+
* Adapts generated MikroORM entity bindings to the provider-neutral scalar
|
|
21
|
+
* contract. A mapped coordinator, when supplied, runs before entity SQL and
|
|
22
|
+
* shares the active manager's transaction-bound SQL executor.
|
|
26
23
|
*/
|
|
27
24
|
export declare class MikroOrmScalarPersistenceProvider implements ScalarEntityPersistenceProvider {
|
|
28
|
-
private readonly
|
|
25
|
+
private readonly storage;
|
|
26
|
+
private readonly flushCoordinator?;
|
|
29
27
|
private readonly bindings;
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
private readonly bindingsByTable;
|
|
29
|
+
constructor(storage: MikroOrmSqliteAdapter, bindings: readonly MikroOrmScalarEntityBinding[], flushCoordinator?: ScalarEntityFlushCoordinator | undefined);
|
|
30
|
+
/** Reads through a clean manager without flushing another Unit of Work. */
|
|
32
31
|
read(query: ScalarEntityQuery): Promise<readonly ScalarEntityRow[]>;
|
|
33
|
-
/** Runs
|
|
32
|
+
/** Runs the common UoW plan and mapped work in one SQLite transaction. */
|
|
34
33
|
beginTransaction<Result>(work: (transaction: ScalarEntityTransaction) => Promise<Result>): Promise<Result>;
|
|
35
|
-
/** Closes the
|
|
34
|
+
/** Closes the one SQLite connection owned by this provider. */
|
|
36
35
|
close(): Promise<void>;
|
|
37
36
|
private requireBindingByTable;
|
|
38
37
|
}
|
package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MikroOrmScalarPersistenceProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"MikroOrmScalarPersistenceProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAErF,OAAO,KAAK,EAGV,4BAA4B,EAE5B,+BAA+B,EAC/B,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EAGxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAEjG,kFAAkF;AAClF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,gCAAgC,CAAC;IACtD,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjE;AAED;;;;GAIG;AACH,qBAAa,iCAAkC,YAAW,+BAA+B;IAKrF,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IANpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmD;IAC5E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmD;gBAGhE,OAAO,EAAE,qBAAqB,EAC/C,QAAQ,EAAE,SAAS,2BAA2B,EAAE,EAC/B,gBAAgB,CAAC,EAAE,4BAA4B,YAAA;IAMlE,2EAA2E;IACrE,IAAI,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC;IAKzE,0EAA0E;IACpE,gBAAgB,CAAC,MAAM,EAC3B,IAAI,EAAE,CAAC,WAAW,EAAE,uBAAuB,KAAK,OAAO,CAAC,MAAM,CAAC,GAC9D,OAAO,CAAC,MAAM,CAAC;IAalB,+DAA+D;IACzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,qBAAqB;CAK9B"}
|
package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js
CHANGED
|
@@ -1,116 +1,169 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MikroORM implementation of Hikoutei's scalar persistence SPI.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* public entrypoint.
|
|
4
|
+
* Hikoutei's Unit of Work is the only lifecycle authority. This adapter merely
|
|
5
|
+
* schedules its provider-neutral row plan on a transaction-bound MikroORM
|
|
6
|
+
* manager, runs the optional mapped canonical/outbox planner, and flushes the
|
|
7
|
+
* entity statements in the same SQLite transaction.
|
|
9
8
|
*/
|
|
10
9
|
import { HIKOUTEI_ERROR_CODES, HikouteiError } from "../../../../../api/errors.js";
|
|
11
10
|
import { isCanonicalUtcIsoDate } from "../../../../../shared/validation.js";
|
|
12
11
|
import { isRecord } from "../../../../../shared/encoding/typeGuards.js";
|
|
13
12
|
/**
|
|
14
|
-
* Adapts
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* constructed. Every transaction delegates through `TypedSheetsOrm.em`, so
|
|
18
|
-
* its existing canonical/outbox flush coordinator remains in the same SQLite
|
|
19
|
-
* transaction as the generated entity rows.
|
|
13
|
+
* Adapts generated MikroORM entity bindings to the provider-neutral scalar
|
|
14
|
+
* contract. A mapped coordinator, when supplied, runs before entity SQL and
|
|
15
|
+
* shares the active manager's transaction-bound SQL executor.
|
|
20
16
|
*/
|
|
21
17
|
export class MikroOrmScalarPersistenceProvider {
|
|
22
|
-
|
|
18
|
+
storage;
|
|
19
|
+
flushCoordinator;
|
|
23
20
|
bindings;
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
bindingsByTable;
|
|
22
|
+
constructor(storage, bindings, flushCoordinator) {
|
|
23
|
+
this.storage = storage;
|
|
24
|
+
this.flushCoordinator = flushCoordinator;
|
|
26
25
|
this.bindings = new Map(bindings.map((binding) => [binding.descriptor.name, binding]));
|
|
26
|
+
this.bindingsByTable = new Map(bindings.map((binding) => [binding.descriptor.tableName, binding]));
|
|
27
27
|
}
|
|
28
|
-
/** Reads through a
|
|
28
|
+
/** Reads through a clean manager without flushing another Unit of Work. */
|
|
29
29
|
async read(query) {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
return readRows(manager, binding, query);
|
|
30
|
+
const manager = this.storage.forkEntityManager();
|
|
31
|
+
return readRows(manager, this.requireBindingByTable(query.tableName), query);
|
|
33
32
|
}
|
|
34
|
-
/** Runs
|
|
33
|
+
/** Runs the common UoW plan and mapped work in one SQLite transaction. */
|
|
35
34
|
async beginTransaction(work) {
|
|
36
|
-
return this.
|
|
37
|
-
const transaction = new MikroOrmScalarTransaction(
|
|
35
|
+
return this.storage.transactional(async ({ entityManager }) => {
|
|
36
|
+
const transaction = new MikroOrmScalarTransaction(this.storage, entityManager, this.bindings, this.bindingsByTable, this.flushCoordinator);
|
|
38
37
|
return work(transaction);
|
|
39
38
|
});
|
|
40
39
|
}
|
|
41
|
-
/** Closes the
|
|
40
|
+
/** Closes the one SQLite connection owned by this provider. */
|
|
42
41
|
async close() {
|
|
43
|
-
await this.
|
|
42
|
+
await this.storage.close(true);
|
|
44
43
|
}
|
|
45
44
|
requireBindingByTable(tableName) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
throw new HikouteiError(HIKOUTEI_ERROR_CODES.UNREGISTERED_ENTITY, `entity table "${tableName}" is not registered with this runtime.`);
|
|
45
|
+
const binding = this.bindingsByTable.get(tableName);
|
|
46
|
+
if (binding !== undefined)
|
|
47
|
+
return binding;
|
|
48
|
+
throw unregisteredTable(tableName);
|
|
51
49
|
}
|
|
52
50
|
}
|
|
53
|
-
/** Transaction-bound
|
|
54
|
-
class
|
|
55
|
-
|
|
51
|
+
/** Transaction-bound reader shared by provider reads and flush-time lookups. */
|
|
52
|
+
class MikroOrmScalarReader {
|
|
53
|
+
entityManager;
|
|
56
54
|
bindings;
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
bindingsByTable;
|
|
56
|
+
constructor(entityManager, bindings, bindingsByTable) {
|
|
57
|
+
this.entityManager = entityManager;
|
|
59
58
|
this.bindings = bindings;
|
|
59
|
+
this.bindingsByTable = bindingsByTable;
|
|
60
|
+
}
|
|
61
|
+
async read(query) {
|
|
62
|
+
return readRows(this.entityManager, this.requireBindingByTable(query.tableName), query);
|
|
63
|
+
}
|
|
64
|
+
requireBindingByTable(tableName) {
|
|
65
|
+
const binding = this.bindingsByTable.get(tableName);
|
|
66
|
+
if (binding !== undefined)
|
|
67
|
+
return binding;
|
|
68
|
+
throw unregisteredTable(tableName);
|
|
69
|
+
}
|
|
70
|
+
requireBindingForRow(entityName, tableName) {
|
|
71
|
+
const binding = this.bindings.get(entityName);
|
|
72
|
+
if (binding !== undefined && binding.descriptor.tableName === tableName)
|
|
73
|
+
return binding;
|
|
74
|
+
throw new HikouteiError(HIKOUTEI_ERROR_CODES.UNREGISTERED_ENTITY, `entity "${entityName}" is not registered for table "${tableName}".`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Schedules a Hikoutei flush plan on the active MikroORM manager.
|
|
79
|
+
*
|
|
80
|
+
* The coordinator runs before MikroORM emits entity SQL. Both its SQL and the
|
|
81
|
+
* later entity statements are owned by the surrounding `transactional()` call,
|
|
82
|
+
* so either side can reject without leaving a partial canonical/outbox write.
|
|
83
|
+
*/
|
|
84
|
+
class MikroOrmScalarTransaction extends MikroOrmScalarReader {
|
|
85
|
+
storage;
|
|
86
|
+
flushCoordinator;
|
|
87
|
+
changes = [];
|
|
88
|
+
constructor(storage, entityManager, bindings, bindingsByTable, flushCoordinator) {
|
|
89
|
+
super(entityManager, bindings, bindingsByTable);
|
|
90
|
+
this.storage = storage;
|
|
91
|
+
this.flushCoordinator = flushCoordinator;
|
|
60
92
|
}
|
|
61
93
|
async insert(row) {
|
|
62
|
-
const binding = this.
|
|
63
|
-
const entity = this.
|
|
64
|
-
this.
|
|
94
|
+
const binding = this.requireBindingForRow(row.entityName, row.tableName);
|
|
95
|
+
const entity = createManagedEntity(this.entityManager, binding, row.values);
|
|
96
|
+
this.entityManager.persist(entity);
|
|
97
|
+
this.changes.push({ kind: "insert", row });
|
|
65
98
|
}
|
|
66
99
|
async update(row) {
|
|
67
|
-
const binding = this.
|
|
100
|
+
const binding = this.requireBindingForRow(row.entityName, row.tableName);
|
|
68
101
|
const existing = await this.findOne(binding, row.primaryKeyColumn, row.primaryKeyValue);
|
|
69
102
|
if (existing === null) {
|
|
70
103
|
throw new HikouteiError(HIKOUTEI_ERROR_CODES.ENTITY_NOT_FOUND, `cannot update missing entity in table "${row.tableName}".`);
|
|
71
104
|
}
|
|
72
105
|
Object.assign(existing, toInternalData(binding.descriptor, row.changedValues));
|
|
73
|
-
this.
|
|
106
|
+
this.entityManager.persist(existing);
|
|
107
|
+
this.changes.push({ kind: "update", row });
|
|
74
108
|
}
|
|
75
109
|
async delete(row) {
|
|
76
|
-
const binding = this.
|
|
110
|
+
const binding = this.requireBindingForRow(row.entityName, row.tableName);
|
|
77
111
|
const existing = await this.findOne(binding, row.primaryKeyColumn, row.primaryKeyValue);
|
|
78
112
|
if (existing === null) {
|
|
79
113
|
throw new HikouteiError(HIKOUTEI_ERROR_CODES.ENTITY_NOT_FOUND, `cannot delete missing entity in table "${row.tableName}".`);
|
|
80
114
|
}
|
|
81
|
-
this.
|
|
115
|
+
this.entityManager.remove(existing);
|
|
116
|
+
this.changes.push({ kind: "delete", row });
|
|
82
117
|
}
|
|
83
|
-
|
|
84
|
-
const binding = this.requireBindingByTable(query.tableName);
|
|
85
|
-
return readRows(this.manager, binding, query);
|
|
86
|
-
}
|
|
87
|
-
/** Forces MikroORM's mapped flush before the common UoW advances snapshots. */
|
|
118
|
+
/** Plans mapped state first, then flushes the scheduled entity statements. */
|
|
88
119
|
async flush() {
|
|
89
|
-
|
|
120
|
+
if (this.changes.length > 0 && this.flushCoordinator !== undefined) {
|
|
121
|
+
await this.flushCoordinator.onFlush({
|
|
122
|
+
changes: [...this.changes],
|
|
123
|
+
sql: this.storage.createSqlExecutor(this.entityManager),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
await this.entityManager.flush();
|
|
127
|
+
this.changes.length = 0;
|
|
90
128
|
}
|
|
91
129
|
async findOne(binding, primaryKeyColumn, primaryKeyValue) {
|
|
92
|
-
const result = await this.
|
|
130
|
+
const result = await Reflect.apply(this.entityManager.findOne, this.entityManager, [
|
|
131
|
+
binding.entity,
|
|
132
|
+
{ [primaryKeyColumn]: toInternalValue(binding.descriptor, primaryKeyColumn, primaryKeyValue) },
|
|
133
|
+
]);
|
|
134
|
+
if (result === null)
|
|
135
|
+
return null;
|
|
136
|
+
if (!isRecord(result)) {
|
|
137
|
+
throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, "MikroORM findOne result must be an entity object or null.");
|
|
138
|
+
}
|
|
93
139
|
return result;
|
|
94
140
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
throw new HikouteiError(HIKOUTEI_ERROR_CODES.UNREGISTERED_ENTITY, `entity table "${tableName}" is not registered with this runtime.`);
|
|
141
|
+
}
|
|
142
|
+
function createManagedEntity(entityManager, binding, values) {
|
|
143
|
+
const result = Reflect.apply(entityManager.create, entityManager, [binding.entity, toInternalData(binding.descriptor, values), { partial: true, persist: false }]);
|
|
144
|
+
if (!isRecord(result)) {
|
|
145
|
+
throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, "MikroORM create result must be an entity object.");
|
|
101
146
|
}
|
|
147
|
+
return result;
|
|
102
148
|
}
|
|
103
|
-
async function readRows(
|
|
104
|
-
const
|
|
105
|
-
|
|
149
|
+
async function readRows(entityManager, binding, query) {
|
|
150
|
+
const result = await Reflect.apply(entityManager.find, entityManager, [
|
|
151
|
+
binding.entity,
|
|
152
|
+
toMikroOrmFilter(binding.descriptor, query.where),
|
|
153
|
+
toMikroOrmQueryOptions(query),
|
|
154
|
+
]);
|
|
155
|
+
if (!Array.isArray(result) || !result.every(isRecord)) {
|
|
156
|
+
throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, "MikroORM find result must be an array of entity objects.");
|
|
157
|
+
}
|
|
158
|
+
return result.map((entity) => fromInternalEntity(binding.descriptor, entity));
|
|
106
159
|
}
|
|
107
|
-
function
|
|
160
|
+
function toMikroOrmQueryOptions(query) {
|
|
108
161
|
return {
|
|
109
162
|
...(query.limit === undefined ? {} : { limit: query.limit }),
|
|
110
163
|
...(query.offset === undefined ? {} : { offset: query.offset }),
|
|
111
164
|
};
|
|
112
165
|
}
|
|
113
|
-
function
|
|
166
|
+
function toMikroOrmFilter(descriptor, where) {
|
|
114
167
|
return Object.fromEntries(Object.entries(where).map(([property, value]) => [
|
|
115
168
|
property,
|
|
116
169
|
toInternalValue(descriptor, property, value),
|
|
@@ -129,18 +182,12 @@ function toInternalValue(descriptor, propertyName, value) {
|
|
|
129
182
|
return value;
|
|
130
183
|
}
|
|
131
184
|
function fromInternalEntity(descriptor, entity) {
|
|
132
|
-
if (!isRecord(entity)) {
|
|
133
|
-
throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, "stored entity must be an object");
|
|
134
|
-
}
|
|
135
185
|
const values = {};
|
|
136
186
|
for (const property of descriptor.properties) {
|
|
137
|
-
const value = entity
|
|
187
|
+
const value = Reflect.get(entity, property.name);
|
|
138
188
|
if (value === null || value === undefined) {
|
|
139
|
-
if (!property.nullable
|
|
140
|
-
throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `${property.name} is missing
|
|
141
|
-
}
|
|
142
|
-
if (!property.nullable && value === null) {
|
|
143
|
-
throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `${property.name} is unexpectedly null in the stored entity.`);
|
|
189
|
+
if (!property.nullable) {
|
|
190
|
+
throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `${property.name} is unexpectedly ${value === null ? "null" : "missing"} in the stored entity.`);
|
|
144
191
|
}
|
|
145
192
|
values[property.name] = null;
|
|
146
193
|
continue;
|
|
@@ -176,4 +223,7 @@ function fromInternalEntity(descriptor, entity) {
|
|
|
176
223
|
function throwInvalidStoredScalar(propertyName, expected) {
|
|
177
224
|
throw new HikouteiError(HIKOUTEI_ERROR_CODES.INVALID_SCALAR_VALUE, `${propertyName} must be a ${expected} in the stored entity.`);
|
|
178
225
|
}
|
|
226
|
+
function unregisteredTable(tableName) {
|
|
227
|
+
return new HikouteiError(HIKOUTEI_ERROR_CODES.UNREGISTERED_ENTITY, `entity table "${tableName}" is not registered with this runtime.`);
|
|
228
|
+
}
|
|
179
229
|
//# sourceMappingURL=MikroOrmScalarPersistenceProvider.js.map
|
package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MikroOrmScalarPersistenceProvider.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"MikroOrmScalarPersistenceProvider.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAiBnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAUxE;;;;GAIG;AACH,MAAM,OAAO,iCAAiC;IAKzB;IAEA;IANF,QAAQ,CAAmD;IAC3D,eAAe,CAAmD;IAEnF,YACmB,OAA8B,EAC/C,QAAgD,EAC/B,gBAA+C;QAF/C,YAAO,GAAP,OAAO,CAAuB;QAE9B,qBAAgB,GAAhB,gBAAgB,CAA+B;QAEhE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,2EAA2E;IAC3E,KAAK,CAAC,IAAI,CAAC,KAAwB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/E,CAAC;IAED,0EAA0E;IAC1E,KAAK,CAAC,gBAAgB,CACpB,IAA+D;QAE/D,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;YAC5D,MAAM,WAAW,GAAG,IAAI,yBAAyB,CAC/C,IAAI,CAAC,OAAO,EACZ,aAAa,EACb,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,gBAAgB,CACtB,CAAC;YACF,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,qBAAqB,CAAC,SAAiB;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QAC1C,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;CACF;AAED,gFAAgF;AAChF,MAAM,oBAAoB;IAEH;IACA;IACA;IAHrB,YACqB,aAA0C,EAC1C,QAA0D,EAC1D,eAAiE;QAFjE,kBAAa,GAAb,aAAa,CAA6B;QAC1C,aAAQ,GAAR,QAAQ,CAAkD;QAC1D,oBAAe,GAAf,eAAe,CAAkD;IACnF,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,KAAwB;QACjC,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1F,CAAC;IAES,qBAAqB,CAAC,SAAiB;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QAC1C,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAES,oBAAoB,CAC5B,UAAkB,EAClB,SAAiB;QAEjB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QACxF,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,mBAAmB,EACxC,WAAW,UAAU,kCAAkC,SAAS,IAAI,CACrE,CAAC;IACJ,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,yBACJ,SAAQ,oBAAoB;IAKT;IAIA;IAPF,OAAO,GAA8B,EAAE,CAAC;IAEzD,YACmB,OAA8B,EAC/C,aAA0C,EAC1C,QAA0D,EAC1D,eAAiE,EAChD,gBAA0D;QAE3E,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAN/B,YAAO,GAAP,OAAO,CAAuB;QAI9B,qBAAgB,GAAhB,gBAAgB,CAA0C;IAG7E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAuB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,mBAAmB,CAChC,IAAI,CAAC,aAAa,EAClB,OAAO,EACP,GAAG,CAAC,MAAM,CACX,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAuB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QACxF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,gBAAgB,EACrC,0CAA0C,GAAG,CAAC,SAAS,IAAI,CAC5D,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAuB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QACxF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,gBAAgB,EACrC,0CAA0C,GAAG,CAAC,SAAS,IAAI,CAC5D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnE,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;gBAClC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC1B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,OAAoC,EACpC,gBAAwB,EACxB,eAAkC;QAElC,MAAM,MAAM,GAAY,MAAM,OAAO,CAAC,KAAK,CACzC,IAAI,CAAC,aAAa,CAAC,OAAO,EAC1B,IAAI,CAAC,aAAa,EAClB;YACE,OAAO,CAAC,MAAM;YACd,EAAE,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,eAAe,CAAC,EAAE;SAC/F,CACF,CAAC;QACF,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,oBAAoB,EACzC,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,SAAS,mBAAmB,CAC1B,aAA0C,EAC1C,OAAoC,EACpC,MAAmD;IAEnD,MAAM,MAAM,GAAY,OAAO,CAAC,KAAK,CACnC,aAAa,CAAC,MAAM,EACpB,aAAa,EACb,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAChG,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,oBAAoB,EACzC,kDAAkD,CACnD,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,aAA0C,EAC1C,OAAoC,EACpC,KAAwB;IAExB,MAAM,MAAM,GAAY,MAAM,OAAO,CAAC,KAAK,CACzC,aAAa,CAAC,IAAI,EAClB,aAAa,EACb;QACE,OAAO,CAAC,MAAM;QACd,gBAAgB,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC;QACjD,sBAAsB,CAAC,KAAK,CAAC;KAC9B,CACF,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,oBAAoB,EACzC,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAwB;IACtD,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5D,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,UAA4C,EAC5C,KAAkD;IAElD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAC/C,QAAQ;QACR,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC;KAC7C,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,UAA4C,EAC5C,MAAmD;IAEnD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QAChD,QAAQ;QACR,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC;KAC7C,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,UAA4C,EAC5C,YAAoB,EACpB,KAAwB;IAExB,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAC5F,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IACnF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CACzB,UAA4C,EAC5C,MAAc;IAEd,MAAM,MAAM,GAAsC,EAAE,CAAC;IACrD,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvB,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,oBAAoB,EACzC,GAAG,QAAQ,CAAC,IAAI,oBAAoB,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,wBAAwB,CAChG,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,QAAQ;gBACX,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,wBAAwB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACjF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC9B,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzD,wBAAwB,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC9B,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,OAAO,KAAK,KAAK,SAAS;oBAAE,wBAAwB,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACnF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBAC9B,MAAM;YACR,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/D,wBAAwB,CAAC,QAAQ,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;gBACvE,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAoB,EAAE,QAAgB;IACtE,MAAM,IAAI,aAAa,CACrB,oBAAoB,CAAC,oBAAoB,EACzC,GAAG,YAAY,cAAc,QAAQ,wBAAwB,CAC9D,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,OAAO,IAAI,aAAa,CACtB,oBAAoB,CAAC,mBAAmB,EACxC,iBAAiB,SAAS,wCAAwC,CACnE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition helpers for the internal mapped MikroORM runtime.
|
|
3
|
+
*
|
|
4
|
+
* This module opens storage, migrates the entity and sync schemas, registers
|
|
5
|
+
* mapping routes, and returns the planner resources. Entity lifecycle work is
|
|
6
|
+
* executed by `MikroOrmScalarPersistenceProvider`; no ORM facade is created.
|
|
7
|
+
*/
|
|
8
|
+
import { type TypedSheetsEntityMapping, type TypedSheetsEntityMappingRegistry } from "../../../../../application/orm/mapping/entityMapping.js";
|
|
9
|
+
import type { MappedFlushSyncHook, RegisteredTypedSheetsMappedProjection, TypedSheetsEntityWriterOptions } from "../../../../../application/orm/persistence/support/contracts.js";
|
|
10
|
+
import type { RegisteredSyncProjectionDefinition } from "../../../../../application/sync/sheetsContract/sheetsProvisioning.js";
|
|
11
|
+
import { type InitializeMikroOrmSqliteAdapterOptions, type MikroOrmSqliteAdapter } from "../storage/MikroOrmSqliteAdapter.js";
|
|
12
|
+
import type { ScalarEntityFlushCoordinator } from "../../../contracts/scalar.js";
|
|
13
|
+
/** Options for opening and registering one mapped SQLite runtime. */
|
|
14
|
+
export interface InitializeMappedRuntimeOptions extends InitializeMikroOrmSqliteAdapterOptions {
|
|
15
|
+
readonly mappings: TypedSheetsEntityMappingRegistry | readonly TypedSheetsEntityMapping[];
|
|
16
|
+
readonly writer: TypedSheetsEntityWriterOptions;
|
|
17
|
+
/** Optional service-side conflict planning hook inside the same flush transaction. */
|
|
18
|
+
readonly syncFlushHook?: MappedFlushSyncHook;
|
|
19
|
+
/** Called after local projection registration succeeds. */
|
|
20
|
+
readonly onRegisteredProjections?: (definitions: readonly RegisteredSyncProjectionDefinition[]) => Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
/** Resources shared by the scalar provider and internal sync supervisors. */
|
|
23
|
+
export interface InitializedMappedRuntime {
|
|
24
|
+
readonly storage: MikroOrmSqliteAdapter;
|
|
25
|
+
readonly mappings: TypedSheetsEntityMappingRegistry;
|
|
26
|
+
readonly registrations: readonly RegisteredTypedSheetsMappedProjection[];
|
|
27
|
+
readonly flushCoordinator: ScalarEntityFlushCoordinator;
|
|
28
|
+
}
|
|
29
|
+
/** Opens storage, migrates schemas, registers mapping routes, and builds the planner. */
|
|
30
|
+
export declare function initializeMappedRuntime(options: InitializeMappedRuntimeOptions): Promise<InitializedMappedRuntime>;
|
|
31
|
+
//# sourceMappingURL=MikroOrmMappedRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MikroOrmMappedRuntime.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACtC,MAAM,yDAAyD,CAAC;AACjE,OAAO,KAAK,EACV,mBAAmB,EACnB,qCAAqC,EACrC,8BAA8B,EAC/B,MAAM,iEAAiE,CAAC;AACzE,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,sEAAsE,CAAC;AAC/H,OAAO,EAEL,KAAK,sCAAsC,EAC3C,KAAK,qBAAqB,EAC3B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAEjF,qEAAqE;AACrE,MAAM,WAAW,8BACf,SAAQ,sCAAsC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,GAAG,SAAS,wBAAwB,EAAE,CAAC;IAC1F,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;IAChD,sFAAsF;IACtF,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAC7C,2DAA2D;IAC3D,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CACjC,WAAW,EAAE,SAAS,kCAAkC,EAAE,KACvD,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,CAAC;IACpD,QAAQ,CAAC,aAAa,EAAE,SAAS,qCAAqC,EAAE,CAAC;IACzE,QAAQ,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;CACzD;AAED,yFAAyF;AACzF,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,wBAAwB,CAAC,CA8BnC"}
|
|
@@ -1,37 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Composition helpers for the internal mapped MikroORM runtime.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* This module opens storage, migrates the entity and sync schemas, registers
|
|
5
|
+
* mapping routes, and returns the planner resources. Entity lifecycle work is
|
|
6
|
+
* executed by `MikroOrmScalarPersistenceProvider`; no ORM facade is created.
|
|
7
7
|
*/
|
|
8
8
|
import { registeredTypedSheetsProjectionDefinitions, registerTypedSheetsEntityMappings, createMappedTypedSheetsFlushCoordinator, } from "../../../../../application/orm/persistence/flush/flushCoordinator.js";
|
|
9
9
|
import { createTypedSheetsEntityMappingRegistry, } from "../../../../../application/orm/mapping/entityMapping.js";
|
|
10
|
-
import { createTypedSheetsOrm, } from "./MikroOrmTypedSheetsEngine.js";
|
|
11
10
|
import { initializeMikroOrmSqliteAdapter, } from "../storage/MikroOrmSqliteAdapter.js";
|
|
12
11
|
import { migrateMikroOrmSqliteStorageSchema } from "../storage/MikroOrmSqliteSchema.js";
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
* canonical/outbox planner. Mapping routes must already be registered.
|
|
16
|
-
*/
|
|
17
|
-
export function createMappedTypedSheetsOrm(storage, options) {
|
|
18
|
-
const mappings = mappingRegistry(options.mappings);
|
|
19
|
-
return createTypedSheetsOrm(storage, {
|
|
20
|
-
flushCoordinator: createMappedTypedSheetsFlushCoordinator({
|
|
21
|
-
mappings,
|
|
22
|
-
writer: options.writer,
|
|
23
|
-
...(options.syncFlushHook === undefined ? {} : { syncFlushHook: options.syncFlushHook }),
|
|
24
|
-
}),
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Opens a dedicated MikroORM SQLite runtime ready for mapped entity lifecycle work.
|
|
29
|
-
*
|
|
30
|
-
* Startup performs non-destructive entity/schema migration and idempotent local
|
|
31
|
-
* projection registration. Remote provider-side provisioning remains explicit so
|
|
32
|
-
* a process cannot mutate a spreadsheet merely by opening its local database.
|
|
33
|
-
*/
|
|
34
|
-
export async function initializeMappedTypedSheetsRuntime(options) {
|
|
12
|
+
/** Opens storage, migrates schemas, registers mapping routes, and builds the planner. */
|
|
13
|
+
export async function initializeMappedRuntime(options) {
|
|
35
14
|
const { mappings: mappingsInput, writer, onRegisteredProjections, syncFlushHook, ...adapterOptions } = options;
|
|
36
15
|
const mappings = mappingRegistry(mappingsInput);
|
|
37
16
|
const storage = await initializeMikroOrmSqliteAdapter(adapterOptions);
|
|
@@ -43,13 +22,13 @@ export async function initializeMappedTypedSheetsRuntime(options) {
|
|
|
43
22
|
}
|
|
44
23
|
return {
|
|
45
24
|
storage,
|
|
46
|
-
|
|
25
|
+
mappings,
|
|
26
|
+
registrations,
|
|
27
|
+
flushCoordinator: createMappedTypedSheetsFlushCoordinator({
|
|
47
28
|
mappings,
|
|
48
29
|
writer,
|
|
49
30
|
...(syncFlushHook === undefined ? {} : { syncFlushHook }),
|
|
50
31
|
}),
|
|
51
|
-
mappings,
|
|
52
|
-
registrations,
|
|
53
32
|
};
|
|
54
33
|
}
|
|
55
34
|
catch (error) {
|
|
@@ -62,4 +41,4 @@ function mappingRegistry(input) {
|
|
|
62
41
|
return input;
|
|
63
42
|
return createTypedSheetsEntityMappingRegistry(input);
|
|
64
43
|
}
|
|
65
|
-
//# sourceMappingURL=
|
|
44
|
+
//# sourceMappingURL=MikroOrmMappedRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MikroOrmMappedRuntime.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,0CAA0C,EAC1C,iCAAiC,EACjC,uCAAuC,GACxC,MAAM,sEAAsE,CAAC;AAC9E,OAAO,EACL,sCAAsC,GAGvC,MAAM,yDAAyD,CAAC;AAOjE,OAAO,EACL,+BAA+B,GAGhC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAwBxF,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAuC;IAEvC,MAAM,EACJ,QAAQ,EAAE,aAAa,EACvB,MAAM,EACN,uBAAuB,EACvB,aAAa,EACb,GAAG,cAAc,EAClB,GAAG,OAAO,CAAC;IACZ,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,+BAA+B,CAAC,cAAc,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,kCAAkC,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzF,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,uBAAuB,CAAC,0CAA0C,CAAC,aAAa,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO;YACL,OAAO;YACP,QAAQ;YACR,aAAa;YACb,gBAAgB,EAAE,uCAAuC,CAAC;gBACxD,QAAQ;gBACR,MAAM;gBACN,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;aAC1D,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,KAA6E;IAE7E,IAAI,kBAAkB,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAC9C,OAAO,sCAAsC,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC"}
|
package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MikroOrmScalarEntityRuntime.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAenE;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,QAAmC;IAEnC,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAkC,EAAE,CAAC;IAEnD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,UAAU,EAAE,qBAAqB,CAAC,UAAU,CAAC,UAAU,CAAC;SACzD,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,KAAM,SAAQ,MAAM,CAAC,KAAK;SAAG,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjC,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"MikroOrmScalarEntityRuntime.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAenE;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,QAAmC;IAEnC,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAkC,EAAE,CAAC;IAEnD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,YAAY,CAAC;YAC1B,IAAI,EAAE,UAAU,CAAC,IAAI;YACrB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,UAAU,EAAE,qBAAqB,CAAC,UAAU,CAAC,UAAU,CAAC;SACzD,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,KAAM,SAAQ,MAAM,CAAC,KAAK;SAAG,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjC,MAAM,SAAS,GAAmD,eAAe,CAAC;QAClF,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AACnD,CAAC;AAOD,SAAS,qBAAqB,CAC5B,UAA+C;IAE/C,OAAO,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;QACrD,QAAQ,CAAC,IAAI;QACb,mBAAmB,CAAC,QAAQ,CAAC;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAkC;IAC7D,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,uBAAuB,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;QACtD,KAAK,SAAS;YACZ,OAAO,uBAAuB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACxD,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACT,mEAAmE;YACnE,yEAAyE;YACzE,OAAO,uBAAuB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAA8B,EAC9B,QAAkC;IAElC,IAAI,QAAQ,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/C,IAAI,QAAQ,CAAC,QAAQ;QAAE,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|