edinburgh 0.4.6 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +403 -461
- package/build/src/datapack.d.ts +9 -9
- package/build/src/datapack.js +10 -10
- package/build/src/datapack.js.map +1 -1
- package/build/src/edinburgh.d.ts +21 -10
- package/build/src/edinburgh.js +33 -55
- package/build/src/edinburgh.js.map +1 -1
- package/build/src/indexes.d.ts +99 -288
- package/build/src/indexes.js +253 -636
- package/build/src/indexes.js.map +1 -1
- package/build/src/migrate.js +17 -39
- package/build/src/migrate.js.map +1 -1
- package/build/src/models.d.ts +177 -113
- package/build/src/models.js +487 -259
- package/build/src/models.js.map +1 -1
- package/build/src/types.d.ts +41 -51
- package/build/src/types.js +39 -52
- package/build/src/types.js.map +1 -1
- package/build/src/utils.d.ts +4 -4
- package/build/src/utils.js +4 -4
- package/package.json +1 -3
- package/skill/AnyModelClass.md +7 -0
- package/skill/FindOptions.md +37 -0
- package/skill/Lifecycle Hooks.md +24 -0
- package/skill/{Model_delete.md → Lifecycle Hooks_delete.md } +2 -2
- package/skill/{Model_getPrimaryKeyHash.md → Lifecycle Hooks_getPrimaryKeyHash.md } +1 -1
- package/skill/{Model_isValid.md → Lifecycle Hooks_isValid.md } +1 -1
- package/skill/Lifecycle Hooks_migrate.md +26 -0
- package/skill/{Model_preCommit.md → Lifecycle Hooks_preCommit.md } +3 -5
- package/skill/{Model_preventPersist.md → Lifecycle Hooks_preventPersist.md } +2 -2
- package/skill/{Model_validate.md → Lifecycle Hooks_validate.md } +2 -2
- package/skill/ModelBase.md +7 -0
- package/skill/ModelClass.md +8 -0
- package/skill/SKILL.md +253 -215
- package/skill/Schema Evolution.md +19 -0
- package/skill/TypeWrapper_containsNull.md +11 -0
- package/skill/TypeWrapper_deserialize.md +9 -0
- package/skill/TypeWrapper_getError.md +11 -0
- package/skill/TypeWrapper_serialize.md +10 -0
- package/skill/TypeWrapper_serializeType.md +9 -0
- package/skill/array.md +2 -2
- package/skill/defineModel.md +23 -0
- package/skill/deleteEverything.md +8 -0
- package/skill/field.md +4 -4
- package/skill/link.md +12 -10
- package/skill/literal.md +1 -1
- package/skill/opt.md +1 -1
- package/skill/or.md +1 -1
- package/skill/record.md +1 -1
- package/skill/set.md +2 -2
- package/skill/setOnSaveCallback.md +2 -2
- package/skill/transact.md +3 -3
- package/src/datapack.ts +10 -10
- package/src/edinburgh.ts +46 -58
- package/src/indexes.ts +338 -802
- package/src/migrate.ts +15 -37
- package/src/models.ts +617 -314
- package/src/types.ts +61 -54
- package/src/utils.ts +4 -4
- package/skill/BaseIndex.md +0 -16
- package/skill/BaseIndex_batchProcess.md +0 -10
- package/skill/BaseIndex_find.md +0 -7
- package/skill/Model.md +0 -22
- package/skill/Model_findAll.md +0 -12
- package/skill/Model_migrate.md +0 -34
- package/skill/Model_replaceInto.md +0 -16
- package/skill/PrimaryIndex.md +0 -8
- package/skill/PrimaryIndex_get.md +0 -17
- package/skill/PrimaryIndex_getLazy.md +0 -13
- package/skill/SecondaryIndex.md +0 -9
- package/skill/UniqueIndex.md +0 -9
- package/skill/UniqueIndex_get.md +0 -17
- package/skill/dump.md +0 -8
- package/skill/index.md +0 -32
- package/skill/primary.md +0 -26
- package/skill/registerModel.md +0 -26
- package/skill/unique.md +0 -32
package/build/src/datapack.d.ts
CHANGED
|
@@ -17,21 +17,21 @@ export default class DataPack {
|
|
|
17
17
|
get _buffer(): Uint8Array;
|
|
18
18
|
/**
|
|
19
19
|
* Create a new DataPack instance.
|
|
20
|
-
* @param data
|
|
20
|
+
* @param data Optional initial data as Uint8Array or buffer size as number.
|
|
21
21
|
*/
|
|
22
22
|
constructor(data?: Uint8Array | number);
|
|
23
23
|
/**
|
|
24
24
|
* Helper function to write a multi-byte integer with length prefix
|
|
25
|
-
* @param value
|
|
26
|
-
* @param headerType
|
|
27
|
-
* @param invertBytes
|
|
28
|
-
* @param invertByteCount
|
|
25
|
+
* @param value The value to write
|
|
26
|
+
* @param headerType The type bits (0-7) for the header
|
|
27
|
+
* @param invertBytes Whether to invert bytes (for negative numbers)
|
|
28
|
+
* @param invertByteCount Whether to invert the byte count (for type 0)
|
|
29
29
|
*/
|
|
30
30
|
private writeMultiByteNumber;
|
|
31
31
|
/**
|
|
32
32
|
* Helper function to read a multi-byte integer with length prefix
|
|
33
|
-
* @param byteCount
|
|
34
|
-
* @param invertBytes
|
|
33
|
+
* @param byteCount Number of bytes to read
|
|
34
|
+
* @param invertBytes Whether to invert bytes (for negative numbers)
|
|
35
35
|
* @returns The read value
|
|
36
36
|
*/
|
|
37
37
|
private readMultiByteNumber;
|
|
@@ -69,7 +69,7 @@ export default class DataPack {
|
|
|
69
69
|
} | undefined): any;
|
|
70
70
|
/**
|
|
71
71
|
* Ensure the buffer has capacity for additional bytes.
|
|
72
|
-
* @param bytesNeeded
|
|
72
|
+
* @param bytesNeeded Number of additional bytes needed.
|
|
73
73
|
*/
|
|
74
74
|
private ensureCapacity;
|
|
75
75
|
readNumber(): number;
|
|
@@ -84,7 +84,7 @@ export default class DataPack {
|
|
|
84
84
|
/**
|
|
85
85
|
* Like writeString but writes without a length prefix and with a null terminator, for ordered storage.
|
|
86
86
|
* Can be read with {@link read} or {@link readString} just like any other string.
|
|
87
|
-
* @param str
|
|
87
|
+
* @param str The string to write. May not contain null characters.
|
|
88
88
|
*/
|
|
89
89
|
writeOrderedString(str: string): DataPack;
|
|
90
90
|
toUint8Array(copyBuffer?: boolean, startPos?: number, endPos?: number): Uint8Array;
|
package/build/src/datapack.js
CHANGED
|
@@ -34,7 +34,7 @@ export default class DataPack {
|
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Create a new DataPack instance.
|
|
37
|
-
* @param data
|
|
37
|
+
* @param data Optional initial data as Uint8Array or buffer size as number.
|
|
38
38
|
*/
|
|
39
39
|
constructor(data = 1900) {
|
|
40
40
|
if (data instanceof Uint8Array) {
|
|
@@ -47,10 +47,10 @@ export default class DataPack {
|
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* Helper function to write a multi-byte integer with length prefix
|
|
50
|
-
* @param value
|
|
51
|
-
* @param headerType
|
|
52
|
-
* @param invertBytes
|
|
53
|
-
* @param invertByteCount
|
|
50
|
+
* @param value The value to write
|
|
51
|
+
* @param headerType The type bits (0-7) for the header
|
|
52
|
+
* @param invertBytes Whether to invert bytes (for negative numbers)
|
|
53
|
+
* @param invertByteCount Whether to invert the byte count (for type 0)
|
|
54
54
|
*/
|
|
55
55
|
writeMultiByteNumber(value, headerType, invertBytes = false, invertByteCount = false) {
|
|
56
56
|
let byteCount = 0;
|
|
@@ -74,8 +74,8 @@ export default class DataPack {
|
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
76
|
* Helper function to read a multi-byte integer with length prefix
|
|
77
|
-
* @param byteCount
|
|
78
|
-
* @param invertBytes
|
|
77
|
+
* @param byteCount Number of bytes to read
|
|
78
|
+
* @param invertBytes Whether to invert bytes (for negative numbers)
|
|
79
79
|
* @returns The read value
|
|
80
80
|
*/
|
|
81
81
|
readMultiByteNumber(byteCount, invertBytes = false) {
|
|
@@ -185,7 +185,7 @@ export default class DataPack {
|
|
|
185
185
|
this.buffer.set(data, this.writePos);
|
|
186
186
|
this.writePos += data.length;
|
|
187
187
|
}
|
|
188
|
-
else if (Array.isArray(data)) {
|
|
188
|
+
else if (Array.isArray(data) || (typeof data.length === 'number' && typeof data[Symbol.iterator] === 'function')) {
|
|
189
189
|
// Type 4, subtype 5: array start
|
|
190
190
|
this.buffer[this.writePos++] = (4 << 5) | 5;
|
|
191
191
|
for (const item of data) {
|
|
@@ -386,7 +386,7 @@ export default class DataPack {
|
|
|
386
386
|
}
|
|
387
387
|
/**
|
|
388
388
|
* Ensure the buffer has capacity for additional bytes.
|
|
389
|
-
* @param bytesNeeded
|
|
389
|
+
* @param bytesNeeded Number of additional bytes needed.
|
|
390
390
|
*/
|
|
391
391
|
ensureCapacity(bytesNeeded) {
|
|
392
392
|
const needed = this.writePos + bytesNeeded;
|
|
@@ -498,7 +498,7 @@ export default class DataPack {
|
|
|
498
498
|
/**
|
|
499
499
|
* Like writeString but writes without a length prefix and with a null terminator, for ordered storage.
|
|
500
500
|
* Can be read with {@link read} or {@link readString} just like any other string.
|
|
501
|
-
* @param str
|
|
501
|
+
* @param str The string to write. May not contain null characters.
|
|
502
502
|
*/
|
|
503
503
|
writeOrderedString(str) {
|
|
504
504
|
const utf8Bytes = new TextEncoder().encode(str);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datapack.js","sourceRoot":"","sources":["../../src/datapack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"datapack.js","sourceRoot":"","sources":["../../src/datapack.ts"],"names":[],"mappings":"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"}
|
package/build/src/edinburgh.d.ts
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
export { Model,
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
export { Model, type ModelClass, type AnyModelClass, type ModelBase, defineModel, deleteEverything, field, } from "./models.js";
|
|
3
3
|
import type { Change, Model } from "./models.js";
|
|
4
4
|
export { string, orderedString, number, dateTime, boolean, identifier, undef, opt, or, array, set, record, literal, link, } from "./types.js";
|
|
5
|
-
export {
|
|
6
|
-
export {
|
|
5
|
+
export { dump, } from "./indexes.js";
|
|
6
|
+
export type { FindOptions, IndexRangeIterator } from './indexes.js';
|
|
7
7
|
export { type Change } from './models.js';
|
|
8
|
-
export type {
|
|
8
|
+
export type { FieldConfig } from './models.js';
|
|
9
|
+
export { TypeWrapper } from './types.js';
|
|
9
10
|
export { DatabaseError } from "olmdb/lowlevel";
|
|
10
11
|
export { runMigration } from './migrate.js';
|
|
11
12
|
export type { MigrationOptions, MigrationResult } from './migrate.js';
|
|
13
|
+
export interface Transaction {
|
|
14
|
+
id: number;
|
|
15
|
+
instances: Map<number, Model<unknown>>;
|
|
16
|
+
}
|
|
17
|
+
export declare const txnStorage: AsyncLocalStorage<Transaction>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the current transaction from AsyncLocalStorage.
|
|
20
|
+
* Throws if called outside a transact() callback.
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export declare function currentTxn(): Transaction;
|
|
12
24
|
/**
|
|
13
25
|
* Initialize the database with the specified directory path.
|
|
14
26
|
* This function may be called multiple times with the same parameters. If it is not called before the first transact(),
|
|
@@ -32,7 +44,7 @@ export declare function init(dbDir: string): void;
|
|
|
32
44
|
* times.
|
|
33
45
|
*
|
|
34
46
|
* @template T - The return type of the transaction function.
|
|
35
|
-
* @param fn
|
|
47
|
+
* @param fn The function to execute within the transaction context. Receives a Transaction instance.
|
|
36
48
|
* @returns A promise that resolves with the function's return value.
|
|
37
49
|
* @throws {DatabaseError} With code "RACING_TRANSACTION" if the transaction fails after retries due to conflicts.
|
|
38
50
|
* @throws {DatabaseError} With code "TXN_LIMIT" if maximum number of transactions is reached.
|
|
@@ -41,7 +53,7 @@ export declare function init(dbDir: string): void;
|
|
|
41
53
|
* @example
|
|
42
54
|
* ```typescript
|
|
43
55
|
* const paid = await E.transact(() => {
|
|
44
|
-
* const user = User.
|
|
56
|
+
* const user = User.get("john_doe");
|
|
45
57
|
* if (user.credits > 0) {
|
|
46
58
|
* user.credits--;
|
|
47
59
|
* return true;
|
|
@@ -52,7 +64,7 @@ export declare function init(dbDir: string): void;
|
|
|
52
64
|
* ```typescript
|
|
53
65
|
* // Transaction with automatic retry on conflicts
|
|
54
66
|
* await E.transact(() => {
|
|
55
|
-
* const counter = Counter.
|
|
67
|
+
* const counter = Counter.get("global") || new Counter({id: "global", value: 0});
|
|
56
68
|
* counter.value++;
|
|
57
69
|
* });
|
|
58
70
|
* ```
|
|
@@ -73,5 +85,4 @@ export declare function setMaxRetryCount(count: number): void;
|
|
|
73
85
|
* - A sequential number. Higher numbers have been committed after lower numbers.
|
|
74
86
|
* - A map of model instances to their changes. The change can be "created", "deleted", or an object containing the old values.
|
|
75
87
|
*/
|
|
76
|
-
export declare function setOnSaveCallback(callback: ((commitId: number, items: Map<Model<
|
|
77
|
-
export declare function deleteEverything(): Promise<void>;
|
|
88
|
+
export declare function setOnSaveCallback(callback: ((commitId: number, items: Map<Model<unknown>, Change>) => void) | undefined): void;
|
package/build/src/edinburgh.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as lowlevel from "olmdb/lowlevel";
|
|
2
2
|
import { init as olmdbInit, DatabaseError } from "olmdb/lowlevel";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export function scheduleInit() { initNeeded = true; }
|
|
3
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
4
|
+
import { pendingModelInits } from "./models.js";
|
|
6
5
|
// Re-export public API from models
|
|
7
|
-
export { Model,
|
|
6
|
+
export { Model, defineModel, deleteEverything, field, } from "./models.js";
|
|
8
7
|
// Re-export public API from types (only factory functions and instances)
|
|
9
8
|
export {
|
|
10
9
|
// Pre-defined type instances
|
|
@@ -12,10 +11,22 @@ string, orderedString, number, dateTime, boolean, identifier, undef,
|
|
|
12
11
|
// Type factory functions
|
|
13
12
|
opt, or, array, set, record, literal, link, } from "./types.js";
|
|
14
13
|
// Re-export public API from indexes
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
14
|
+
export { dump, } from "./indexes.js";
|
|
15
|
+
export { TypeWrapper } from './types.js';
|
|
17
16
|
export { DatabaseError } from "olmdb/lowlevel";
|
|
18
17
|
export { runMigration } from './migrate.js';
|
|
18
|
+
export const txnStorage = new AsyncLocalStorage();
|
|
19
|
+
/**
|
|
20
|
+
* Returns the current transaction from AsyncLocalStorage.
|
|
21
|
+
* Throws if called outside a transact() callback.
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export function currentTxn() {
|
|
25
|
+
const txn = txnStorage.getStore();
|
|
26
|
+
if (!txn)
|
|
27
|
+
throw new DatabaseError("No active transaction. Operations must be performed within a transact() callback.", 'NO_TRANSACTION');
|
|
28
|
+
return txn;
|
|
29
|
+
}
|
|
19
30
|
let olmdbReady = false;
|
|
20
31
|
let maxRetryCount = 6;
|
|
21
32
|
/**
|
|
@@ -50,7 +61,7 @@ const STALE_INSTANCE_DESCRIPTOR = {
|
|
|
50
61
|
* times.
|
|
51
62
|
*
|
|
52
63
|
* @template T - The return type of the transaction function.
|
|
53
|
-
* @param fn
|
|
64
|
+
* @param fn The function to execute within the transaction context. Receives a Transaction instance.
|
|
54
65
|
* @returns A promise that resolves with the function's return value.
|
|
55
66
|
* @throws {DatabaseError} With code "RACING_TRANSACTION" if the transaction fails after retries due to conflicts.
|
|
56
67
|
* @throws {DatabaseError} With code "TXN_LIMIT" if maximum number of transactions is reached.
|
|
@@ -59,7 +70,7 @@ const STALE_INSTANCE_DESCRIPTOR = {
|
|
|
59
70
|
* @example
|
|
60
71
|
* ```typescript
|
|
61
72
|
* const paid = await E.transact(() => {
|
|
62
|
-
* const user = User.
|
|
73
|
+
* const user = User.get("john_doe");
|
|
63
74
|
* if (user.credits > 0) {
|
|
64
75
|
* user.credits--;
|
|
65
76
|
* return true;
|
|
@@ -70,14 +81,13 @@ const STALE_INSTANCE_DESCRIPTOR = {
|
|
|
70
81
|
* ```typescript
|
|
71
82
|
* // Transaction with automatic retry on conflicts
|
|
72
83
|
* await E.transact(() => {
|
|
73
|
-
* const counter = Counter.
|
|
84
|
+
* const counter = Counter.get("global") || new Counter({id: "global", value: 0});
|
|
74
85
|
* counter.value++;
|
|
75
86
|
* });
|
|
76
87
|
* ```
|
|
77
88
|
*/
|
|
78
89
|
export async function transact(fn) {
|
|
79
|
-
while (
|
|
80
|
-
// Make sure only one async task is doing the inits, the rest should wait for it
|
|
90
|
+
while (pendingModelInits.size || pendingInit) {
|
|
81
91
|
if (pendingInit) {
|
|
82
92
|
await pendingInit;
|
|
83
93
|
}
|
|
@@ -86,10 +96,10 @@ export async function transact(fn) {
|
|
|
86
96
|
if (!olmdbReady)
|
|
87
97
|
olmdbInit('.edinburgh');
|
|
88
98
|
olmdbReady = true;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
await model.
|
|
99
|
+
const models = [...pendingModelInits];
|
|
100
|
+
pendingModelInits.clear();
|
|
101
|
+
for (const model of models) {
|
|
102
|
+
await model._initialize();
|
|
93
103
|
}
|
|
94
104
|
})();
|
|
95
105
|
await pendingInit;
|
|
@@ -99,22 +109,23 @@ export async function transact(fn) {
|
|
|
99
109
|
// try {
|
|
100
110
|
for (let retryCount = 0; retryCount < maxRetryCount; retryCount++) {
|
|
101
111
|
const txnId = lowlevel.startTransaction();
|
|
102
|
-
const txn = { id: txnId, instances: new
|
|
112
|
+
const txn = { id: txnId, instances: new Map() };
|
|
103
113
|
const onSaveItems = onSaveCallback ? new Map() : undefined;
|
|
104
114
|
let result;
|
|
105
115
|
try {
|
|
106
116
|
await txnStorage.run(txn, async function () {
|
|
107
117
|
result = await fn();
|
|
108
118
|
// Call preCommit() on all instances before writing.
|
|
109
|
-
// Note:
|
|
119
|
+
// Note: Map iteration visits newly added items, so preCommit() creating
|
|
110
120
|
// new instances is handled correctly.
|
|
111
|
-
for (const instance of txn.instances) {
|
|
112
|
-
instance.
|
|
121
|
+
for (const instance of txn.instances.values()) {
|
|
122
|
+
if (instance._oldValues !== false)
|
|
123
|
+
instance.preCommit?.();
|
|
113
124
|
}
|
|
114
125
|
// Save all modified instances before committing
|
|
115
126
|
// This needs to happen inside txnStorage.run, because resolving default values
|
|
116
127
|
// for identifiers requires database access.
|
|
117
|
-
for (const instance of txn.instances) {
|
|
128
|
+
for (const instance of txn.instances.values()) {
|
|
118
129
|
const change = instance._write(txn);
|
|
119
130
|
if (onSaveItems && change) {
|
|
120
131
|
onSaveItems.set(instance, change);
|
|
@@ -131,14 +142,14 @@ export async function transact(fn) {
|
|
|
131
142
|
}
|
|
132
143
|
finally {
|
|
133
144
|
// Make the instances read-only to make it clear that their transaction has ended.
|
|
134
|
-
for (const instance of txn.instances) {
|
|
145
|
+
for (const instance of txn.instances.values()) {
|
|
135
146
|
delete instance._oldValues;
|
|
136
147
|
Object.defineProperty(instance, "_txn", STALE_INSTANCE_DESCRIPTOR);
|
|
137
148
|
Object.freeze(instance);
|
|
138
149
|
}
|
|
139
150
|
// Destroy the transaction object, to make sure things crash if they are used after
|
|
140
151
|
// this point, and to help the GC reclaim memory.
|
|
141
|
-
txn.id = txn.instances =
|
|
152
|
+
txn.id = txn.instances = undefined;
|
|
142
153
|
}
|
|
143
154
|
const commitResult = lowlevel.commitTransaction(txnId);
|
|
144
155
|
const commitSeq = typeof commitResult === 'number' ? commitResult : await commitResult;
|
|
@@ -180,37 +191,4 @@ let onSaveCallback;
|
|
|
180
191
|
export function setOnSaveCallback(callback) {
|
|
181
192
|
onSaveCallback = callback;
|
|
182
193
|
}
|
|
183
|
-
export async function deleteEverything() {
|
|
184
|
-
let done = false;
|
|
185
|
-
while (!done) {
|
|
186
|
-
await transact(() => {
|
|
187
|
-
const txn = currentTxn();
|
|
188
|
-
const iteratorId = lowlevel.createIterator(txn.id, undefined, undefined, false);
|
|
189
|
-
const deadline = Date.now() + 150;
|
|
190
|
-
let count = 0;
|
|
191
|
-
try {
|
|
192
|
-
while (true) {
|
|
193
|
-
const raw = lowlevel.readIterator(iteratorId);
|
|
194
|
-
if (!raw) {
|
|
195
|
-
done = true;
|
|
196
|
-
break;
|
|
197
|
-
}
|
|
198
|
-
lowlevel.del(txn.id, raw.key);
|
|
199
|
-
if (++count >= 4096 || Date.now() >= deadline)
|
|
200
|
-
break;
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
finally {
|
|
204
|
-
lowlevel.closeIterator(iteratorId);
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
// Re-init indexes since metadata was deleted
|
|
209
|
-
for (const model of Object.values(modelRegistry)) {
|
|
210
|
-
if (!model.fields)
|
|
211
|
-
continue;
|
|
212
|
-
model.initFields(true);
|
|
213
|
-
await model._loadCreateIndexes();
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
194
|
//# sourceMappingURL=edinburgh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edinburgh.js","sourceRoot":"","sources":["../../src/edinburgh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"edinburgh.js","sourceRoot":"","sources":["../../src/edinburgh.ts"],"names":[],"mappings":"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"}
|