edinburgh 0.5.0 → 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 +322 -262
- package/build/src/datapack.d.ts +9 -9
- package/build/src/datapack.js +9 -9
- package/build/src/edinburgh.d.ts +18 -7
- package/build/src/edinburgh.js +30 -51
- package/build/src/edinburgh.js.map +1 -1
- package/build/src/indexes.d.ts +85 -205
- package/build/src/indexes.js +150 -503
- package/build/src/indexes.js.map +1 -1
- package/build/src/migrate.js +8 -10
- package/build/src/migrate.js.map +1 -1
- package/build/src/models.d.ts +152 -107
- package/build/src/models.js +433 -144
- package/build/src/models.js.map +1 -1
- package/build/src/types.d.ts +30 -48
- package/build/src/types.js +25 -24
- 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 -1
- 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 } +1 -1
- 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 } +2 -2
- package/skill/{Model_preventPersist.md → Lifecycle Hooks_preventPersist.md } +1 -1
- 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 +180 -132
- 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 +3 -2
- package/skill/deleteEverything.md +8 -0
- package/skill/field.md +3 -3
- package/skill/link.md +3 -3
- 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 +1 -1
- package/src/datapack.ts +9 -9
- package/src/edinburgh.ts +43 -52
- package/src/indexes.ts +251 -599
- package/src/migrate.ts +9 -10
- package/src/models.ts +528 -231
- package/src/types.ts +36 -34
- 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/BaseIndex_find_2.md +0 -7
- package/skill/BaseIndex_find_3.md +0 -7
- package/skill/BaseIndex_find_4.md +0 -7
- package/skill/Model.md +0 -20
- package/skill/Model_batchProcess.md +0 -8
- package/skill/Model_migrate.md +0 -32
- package/skill/Model_replaceInto.md +0 -16
- package/skill/NonPrimaryIndex.md +0 -10
- package/skill/SecondaryIndex.md +0 -9
- package/skill/UniqueIndex.md +0 -9
- package/skill/dump.md +0 -8
package/build/src/indexes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/indexes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/indexes.ts"],"names":[],"mappings":"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"}
|
package/build/src/migrate.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as lowlevel from "olmdb/lowlevel";
|
|
2
2
|
import DataPack from "./datapack.js";
|
|
3
|
-
import {
|
|
3
|
+
import { currentTxn, transact } from "./edinburgh.js";
|
|
4
|
+
import { modelRegistry } from "./models.js";
|
|
4
5
|
import { dbDel, toBuffer } from "./utils.js";
|
|
5
6
|
import { deserializeType } from "./types.js";
|
|
6
|
-
import { transact } from "./edinburgh.js";
|
|
7
7
|
const INDEX_ID_PREFIX = -2;
|
|
8
8
|
/**
|
|
9
9
|
* Iterate over all rows for a given index ID prefix in batches,
|
|
@@ -79,7 +79,7 @@ export async function runMigration(options = {}) {
|
|
|
79
79
|
continue;
|
|
80
80
|
knownIndexIds.add(model._indexId);
|
|
81
81
|
modelByPkIndexId.set(model._indexId, model);
|
|
82
|
-
for (const sec of model._secondaries ||
|
|
82
|
+
for (const sec of Object.values(model._secondaries || {})) {
|
|
83
83
|
knownIndexIds.add(sec._indexId);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -113,7 +113,7 @@ export async function runMigration(options = {}) {
|
|
|
113
113
|
let secondaryCount = 0;
|
|
114
114
|
let rewrittenCount = 0;
|
|
115
115
|
const migrateFn = model.migrate;
|
|
116
|
-
const secondaries = model._secondaries ||
|
|
116
|
+
const secondaries = Object.values(model._secondaries || {});
|
|
117
117
|
await forEachRow(indexId, (txn, keyBuf, valueBuf) => {
|
|
118
118
|
const valuePack = new DataPack(valueBuf);
|
|
119
119
|
const version = valuePack.readNumber();
|
|
@@ -124,7 +124,7 @@ export async function runMigration(options = {}) {
|
|
|
124
124
|
const record = {};
|
|
125
125
|
const keyPack = new DataPack(keyBuf);
|
|
126
126
|
keyPack.readNumber(); // skip indexId
|
|
127
|
-
for (const [name, type] of model.
|
|
127
|
+
for (const [name, type] of model._indexFields.entries()) {
|
|
128
128
|
record[name] = type.deserialize(keyPack);
|
|
129
129
|
}
|
|
130
130
|
for (const [name, type] of versionInfo.nonKeyFields.entries()) {
|
|
@@ -150,7 +150,7 @@ export async function runMigration(options = {}) {
|
|
|
150
150
|
}
|
|
151
151
|
// Rewrite primary row data to current version
|
|
152
152
|
if (rewriteData) {
|
|
153
|
-
model.
|
|
153
|
+
model._writePK(txn, keyBuf, record);
|
|
154
154
|
rewrittenCount++;
|
|
155
155
|
}
|
|
156
156
|
});
|
|
@@ -178,7 +178,6 @@ export async function runMigration(options = {}) {
|
|
|
178
178
|
let converted = 0;
|
|
179
179
|
const failures = {};
|
|
180
180
|
await forEachRow(oldDef.id, (txn, keyBuf) => {
|
|
181
|
-
let instance;
|
|
182
181
|
try {
|
|
183
182
|
// Deserialize old key
|
|
184
183
|
const keyPack = new DataPack(keyBuf);
|
|
@@ -192,7 +191,7 @@ export async function runMigration(options = {}) {
|
|
|
192
191
|
if (migrateFn)
|
|
193
192
|
migrateFn(record);
|
|
194
193
|
// _write validates, checks duplicates, writes primary + secondaries
|
|
195
|
-
instance = new model(record, txn);
|
|
194
|
+
let instance = new model(record, txn);
|
|
196
195
|
instance._write(txn);
|
|
197
196
|
dbDel(txn.id, keyBuf);
|
|
198
197
|
converted++;
|
|
@@ -206,8 +205,7 @@ export async function runMigration(options = {}) {
|
|
|
206
205
|
}
|
|
207
206
|
}
|
|
208
207
|
finally {
|
|
209
|
-
|
|
210
|
-
txn.instances.delete(instance);
|
|
208
|
+
txn.instances.clear(); // We've already handled the _write() ourselves
|
|
211
209
|
}
|
|
212
210
|
});
|
|
213
211
|
onProgress?.({ phase: 'primaries', processed: converted, table: oldDef.tableName });
|
package/build/src/migrate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"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"}
|
package/build/src/models.d.ts
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import DataPack from "./datapack.js";
|
|
2
2
|
import { TypeWrapper } from "./types.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* Returns the current transaction from AsyncLocalStorage.
|
|
6
|
-
* Throws if called outside a transact() callback.
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
|
-
export declare function currentTxn(): Transaction;
|
|
10
|
-
export interface Transaction {
|
|
11
|
-
id: number;
|
|
12
|
-
instances: Set<Model<unknown>>;
|
|
13
|
-
instancesByPk: Map<number, Model<unknown>>;
|
|
14
|
-
}
|
|
15
|
-
import { NonPrimaryIndex, PrimaryIndex, IndexRangeIterator, UniqueIndex, SecondaryIndex, FindOptions } from "./indexes.js";
|
|
3
|
+
import { type Transaction } from "./edinburgh.js";
|
|
4
|
+
import { PrimaryKey, NonPrimaryIndex, IndexRangeIterator, FindOptions, VersionInfo } from "./indexes.js";
|
|
16
5
|
/**
|
|
17
6
|
* Configuration interface for model fields.
|
|
18
7
|
* @template T - The field type.
|
|
@@ -33,76 +22,155 @@ export interface FieldConfig<T> {
|
|
|
33
22
|
* This allows for both runtime introspection and compile-time type safety.
|
|
34
23
|
*
|
|
35
24
|
* @template T - The field type.
|
|
36
|
-
* @param type
|
|
37
|
-
* @param options
|
|
25
|
+
* @param type The type wrapper for this field.
|
|
26
|
+
* @param options Additional field configuration options.
|
|
38
27
|
* @returns The field value (typed as T, but actually returns FieldConfig<T>).
|
|
39
28
|
*
|
|
40
29
|
* @example
|
|
41
30
|
* ```typescript
|
|
42
|
-
* const User = E.defineModel(class {
|
|
31
|
+
* const User = E.defineModel("User", class {
|
|
43
32
|
* name = E.field(E.string, {description: "User's full name"});
|
|
44
33
|
* age = E.field(E.opt(E.number), {description: "User's age", default: 25});
|
|
45
34
|
* });
|
|
46
35
|
* ```
|
|
47
36
|
*/
|
|
48
37
|
export declare function field<T>(type: TypeWrapper<T>, options?: Partial<FieldConfig<T>>): T;
|
|
49
|
-
export declare const modelRegistry: Record<string, typeof Model>;
|
|
50
38
|
export type Change = Record<any, any> | "created" | "deleted";
|
|
51
39
|
type FieldsOf<T> = T extends new () => infer I ? I : never;
|
|
52
|
-
type ModelInstance<FIELDS> = FIELDS & Model<FIELDS>;
|
|
53
40
|
type PKArgs<FIELDS, PK> = PK extends readonly (keyof FIELDS & string)[] ? {
|
|
54
41
|
[I in keyof PK]: PK[I] extends keyof FIELDS ? FIELDS[PK[I]] : never;
|
|
55
42
|
} : PK extends keyof FIELDS & string ? [FIELDS[PK]] : [string];
|
|
56
|
-
type
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
43
|
+
type IndexArgs<FIELDS, SPEC> = SPEC extends readonly (keyof FIELDS & string)[] ? {
|
|
44
|
+
[I in keyof SPEC]: SPEC[I] extends keyof FIELDS ? FIELDS[SPEC[I]] : never;
|
|
45
|
+
} : SPEC extends keyof FIELDS & string ? [FIELDS[SPEC]] : SPEC extends (instance: any) => infer R ? R extends (infer V)[] ? [V] : [R] : never;
|
|
46
|
+
/**
|
|
47
|
+
* A model constructor with its generic information erased.
|
|
48
|
+
*
|
|
49
|
+
* Useful when accepting or storing arbitrary registered model classes.
|
|
50
|
+
*/
|
|
51
|
+
export type AnyModelClass = ModelClass<new () => any, readonly any[], any, any>;
|
|
52
|
+
type SecondaryRegistry<FIELDS> = Record<string, NonPrimaryIndex<Model<FIELDS>, readonly (keyof FIELDS & string)[], readonly any[]>>;
|
|
53
|
+
export declare const modelRegistry: Record<string, AnyModelClass>;
|
|
54
|
+
export declare const pendingModelInits: Set<AnyModelClass>;
|
|
55
|
+
declare class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX = {}> extends PrimaryKey<Model<FIELDS>, readonly (keyof FIELDS & string)[], PKA> {
|
|
60
56
|
tableName: string;
|
|
61
57
|
fields: Record<string | symbol | number, FieldConfig<unknown>>;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
58
|
+
_secondaries?: SecondaryRegistry<FIELDS>;
|
|
59
|
+
_nonKeyFields: (keyof FIELDS & string)[];
|
|
60
|
+
_lazyDescriptors: Record<string | symbol | number, PropertyDescriptor>;
|
|
61
|
+
_resetDescriptors: Record<string | symbol | number, PropertyDescriptor>;
|
|
62
|
+
_freezePrimaryKeyDescriptors: Record<string | symbol | number, PropertyDescriptor>;
|
|
63
|
+
_currentVersion: number;
|
|
64
|
+
_currentMigrateHash: number;
|
|
65
|
+
_versions: Map<number, VersionInfo>;
|
|
66
|
+
_serializeVersionValue(): Uint8Array;
|
|
67
|
+
_initialize(reset?: boolean): Promise<void>;
|
|
68
|
+
_getSecondary(name: string): NonPrimaryIndex<Model<FIELDS>, readonly (keyof FIELDS & string)[], readonly any[]>;
|
|
69
|
+
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: false | Uint8Array): Model<FIELDS>;
|
|
70
|
+
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: true): Model<FIELDS> | undefined;
|
|
71
|
+
_lazyLoad(model: Model<FIELDS>): void;
|
|
72
|
+
/**
|
|
73
|
+
* Load a model by primary key inside the current transaction.
|
|
74
|
+
*
|
|
75
|
+
* @returns The matching model, or `undefined` if no row exists.
|
|
76
|
+
*/
|
|
77
|
+
get(...args: PKA): Model<FIELDS> | undefined;
|
|
78
|
+
/**
|
|
79
|
+
* Load a model by primary key without fetching its non-key fields immediately.
|
|
80
|
+
*
|
|
81
|
+
* Accessing a lazy field later will load the remaining fields transparently.
|
|
82
|
+
*/
|
|
83
|
+
getLazy(...args: PKA): Model<FIELDS>;
|
|
84
|
+
_pairToInstance(txn: Transaction, keyBuffer: ArrayBuffer, valueBuffer: ArrayBuffer): Model<FIELDS>;
|
|
85
|
+
/**
|
|
86
|
+
* Load an existing instance by primary key and update it, or create a new one.
|
|
87
|
+
* If a row already exists, its non-primary-key fields are updated in place.
|
|
88
|
+
* Otherwise, a new instance is created with `obj` as its initial properties.
|
|
89
|
+
*
|
|
90
|
+
* @param obj Partial model data that **must** include every primary key field.
|
|
91
|
+
* @returns The loaded-and-updated or newly created instance.
|
|
92
|
+
*/
|
|
93
|
+
replaceInto(obj: Partial<FIELDS>): Model<FIELDS>;
|
|
94
|
+
/**
|
|
95
|
+
* Look up a model through a named unique index.
|
|
96
|
+
*
|
|
97
|
+
* @param name The name from the model's `unique` definition.
|
|
98
|
+
* @param args The unique-index key values.
|
|
99
|
+
* @returns The matching model instance, if any.
|
|
100
|
+
*/
|
|
101
|
+
getBy<K extends string & keyof UNIQUE>(name: K, ...args: IndexArgs<FIELDS, UNIQUE[K]>): Model<FIELDS> | undefined;
|
|
102
|
+
/**
|
|
103
|
+
* Query rows through a named unique or secondary index.
|
|
104
|
+
*
|
|
105
|
+
* This mirrors `find()`, but targets a named entry from the model's `unique`
|
|
106
|
+
* or `index` registration.
|
|
107
|
+
*/
|
|
108
|
+
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<FIELDS, (UNIQUE & INDEX)[K]>, 'first'>): Model<FIELDS> | undefined;
|
|
109
|
+
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<FIELDS, (UNIQUE & INDEX)[K]>, 'single'>): Model<FIELDS>;
|
|
110
|
+
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts?: FindOptions<IndexArgs<FIELDS, (UNIQUE & INDEX)[K]>>): IndexRangeIterator<Model<FIELDS>>;
|
|
111
|
+
/**
|
|
112
|
+
* Process rows from a named unique or secondary index in batched transactions.
|
|
113
|
+
*
|
|
114
|
+
* Uses the same range options as `findBy()`, plus batch limits.
|
|
115
|
+
*/
|
|
116
|
+
batchProcessBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<FIELDS, (UNIQUE & INDEX)[K]>> & {
|
|
68
117
|
limitSeconds?: number;
|
|
69
118
|
limitRows?: number;
|
|
70
|
-
}, callback
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
119
|
+
}, callback: (row: Model<FIELDS>) => any): Promise<void>;
|
|
120
|
+
_loadValueFields(model: Model<FIELDS>, valueArray: Uint8Array): void;
|
|
121
|
+
_loadVersionInfo(txnId: number, version: number): VersionInfo;
|
|
122
|
+
_migrateValueFields(model: Model<FIELDS>, version: number, valuePack: DataPack): void;
|
|
123
|
+
_serializeValue(data: Record<string, any>): Uint8Array;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Runtime base constructor for model classes returned by `defineModel()`.
|
|
127
|
+
*
|
|
128
|
+
* Prefer the `ModelClass` type alias for annotations and the result of
|
|
129
|
+
* `defineModel()` for concrete model classes.
|
|
130
|
+
*/
|
|
131
|
+
export declare const ModelClass: typeof ModelClassRuntime;
|
|
132
|
+
/**
|
|
133
|
+
* The static side of a model class returned by `defineModel()`.
|
|
134
|
+
*
|
|
135
|
+
* Besides the class constructor itself, this includes primary-key lookup
|
|
136
|
+
* helpers like `get()` and `getLazy()`, range-query helpers like `find()`, and
|
|
137
|
+
* named-index helpers like `getBy()` and `findBy()`.
|
|
138
|
+
*
|
|
139
|
+
* @template T - The original class passed to `defineModel()`.
|
|
140
|
+
* @template PKA - Tuple of primary-key argument types.
|
|
141
|
+
* @template UNIQUE - Named unique-index specifications.
|
|
142
|
+
* @template INDEX - Named secondary-index specifications.
|
|
143
|
+
*/
|
|
144
|
+
export type ModelClass<T extends new () => any, PKA extends readonly any[], UNIQUE = {}, INDEX = {}> = T & ModelClassRuntime<FieldsOf<T>, PKA, UNIQUE, INDEX> & {
|
|
145
|
+
new (initial?: Partial<FieldsOf<T>>, txn?: Transaction): Model<FieldsOf<T>>;
|
|
76
146
|
};
|
|
147
|
+
/**
|
|
148
|
+
* Minimal instance-side model shape used for typing the constructor property.
|
|
149
|
+
*/
|
|
150
|
+
export interface ModelBase {
|
|
151
|
+
constructor: AnyModelClass;
|
|
152
|
+
}
|
|
77
153
|
/**
|
|
78
154
|
* Register a model class with the Edinburgh ORM system.
|
|
79
155
|
*
|
|
80
156
|
* Converts a plain class into a fully-featured model with database persistence,
|
|
81
157
|
* typed fields, primary key access, and optional secondary and unique indexes.
|
|
82
158
|
*
|
|
83
|
-
* @param
|
|
84
|
-
* @param
|
|
85
|
-
* @param opts
|
|
86
|
-
* @param opts.
|
|
87
|
-
* @param opts.
|
|
88
|
-
* @param opts.
|
|
89
|
-
* @param opts.override
|
|
159
|
+
* @param tableName The database table name for this model.
|
|
160
|
+
* @param cls A plain class whose properties use E.field().
|
|
161
|
+
* @param opts Registration options.
|
|
162
|
+
* @param opts.pk Primary key field name or array of field names.
|
|
163
|
+
* @param opts.unique Named unique index specifications (field name, field array, or compute function).
|
|
164
|
+
* @param opts.index Named secondary index specifications (field name, field array, or compute function).
|
|
165
|
+
* @param opts.override Replace a previous model with the same table name.
|
|
90
166
|
* @returns The enhanced model constructor.
|
|
91
167
|
*/
|
|
92
|
-
export declare function defineModel<T extends new () => any, const PK extends (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[], const UNIQUE extends Record<string, (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[] | ((instance: any) => any)>, const INDEX extends Record<string, (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[] | ((instance: any) => any)>>(cls: T, opts?: {
|
|
168
|
+
export declare function defineModel<T extends new () => any, const PK extends (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[], const UNIQUE extends Record<string, (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[] | ((instance: any) => any)>, const INDEX extends Record<string, (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[] | ((instance: any) => any)>>(tableName: string, cls: T, opts?: {
|
|
93
169
|
pk?: PK;
|
|
94
170
|
unique?: UNIQUE;
|
|
95
171
|
index?: INDEX;
|
|
96
|
-
tableName?: string;
|
|
97
172
|
override?: boolean;
|
|
98
|
-
}):
|
|
99
|
-
/**
|
|
100
|
-
* Model interface that ensures proper typing for the constructor property.
|
|
101
|
-
* @template SUB - The concrete model subclass.
|
|
102
|
-
*/
|
|
103
|
-
export interface Model<SUB> {
|
|
104
|
-
constructor: typeof Model<SUB>;
|
|
105
|
-
}
|
|
173
|
+
}): ModelClass<T, PKArgs<FieldsOf<T>, PK>, UNIQUE, INDEX>;
|
|
106
174
|
/**
|
|
107
175
|
* Base class for all database models in the Edinburgh ORM.
|
|
108
176
|
*
|
|
@@ -134,64 +202,44 @@ export interface Model<SUB> {
|
|
|
134
202
|
*
|
|
135
203
|
* - **`static migrate(record)`**: Called when deserializing rows written with an older schema
|
|
136
204
|
* version. Receives a plain record object; mutate it in-place to match the current schema.
|
|
137
|
-
* See {@link Model.migrate}.
|
|
138
205
|
*
|
|
139
206
|
* - **`preCommit()`**: Called on each modified instance right before the transaction commits.
|
|
140
207
|
* Useful for computing derived fields, enforcing cross-field invariants, or creating related
|
|
141
|
-
* instances.
|
|
142
|
-
*
|
|
143
|
-
* @template SUB - The concrete model subclass (for proper typing).
|
|
208
|
+
* instances.
|
|
144
209
|
*
|
|
145
210
|
* @example
|
|
146
211
|
* ```typescript
|
|
147
|
-
* const User = E.defineModel(class {
|
|
212
|
+
* const User = E.defineModel("User", class {
|
|
148
213
|
* id = E.field(E.identifier);
|
|
149
214
|
* name = E.field(E.string);
|
|
150
215
|
* email = E.field(E.string);
|
|
151
216
|
* }, {
|
|
152
217
|
* pk: "id",
|
|
153
|
-
* unique: {
|
|
218
|
+
* unique: { email: "email" },
|
|
154
219
|
* });
|
|
220
|
+
* // Optional: declare a companion type so `let u: User` works.
|
|
221
|
+
* // Not needed if you only use `new User()`, `User.find()`, etc.
|
|
222
|
+
* type User = InstanceType<typeof User>;
|
|
155
223
|
* ```
|
|
156
224
|
*/
|
|
157
|
-
export declare abstract class
|
|
158
|
-
static _primary: PrimaryIndex<any, any>;
|
|
159
|
-
/** @internal All non-primary indexes for this model. */
|
|
160
|
-
static _secondaries?: NonPrimaryIndex<any, readonly (keyof any & string)[]>[];
|
|
161
|
-
/** The database table name (defaults to class name). */
|
|
162
|
-
static tableName: string;
|
|
163
|
-
/** When true, defineModel replaces an existing model with the same tableName. */
|
|
164
|
-
static override?: boolean;
|
|
165
|
-
/** Field configuration metadata. */
|
|
166
|
-
static fields: Record<string | symbol | number, FieldConfig<unknown>>;
|
|
167
|
-
static get _indexId(): number | undefined;
|
|
168
|
-
static get _currentVersion(): number;
|
|
169
|
-
static get _pkFieldTypes(): Map<string, TypeWrapper<any>>;
|
|
170
|
-
static _loadVersionInfo(txnId: number, version: number): import("./indexes.js").VersionInfo;
|
|
171
|
-
static _writePrimary(txn: Transaction, pk: Uint8Array, data: Record<string, any>): void;
|
|
225
|
+
export declare abstract class ModelBase {
|
|
172
226
|
/**
|
|
173
227
|
* Optional migration function called when deserializing rows written with an older schema version.
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
* This is called both during lazy loading (when a row is read from disk) and during batch
|
|
178
|
-
* migration (via `runMigration()` / `npx migrate-edinburgh`). The function's source code is hashed
|
|
179
|
-
* to detect changes. Modifying `migrate()` triggers a new schema version.
|
|
228
|
+
* Receives a plain record with all fields and should mutate it in-place to match the current schema.
|
|
229
|
+
* It runs during lazy loading and during `runMigration()`. Changing this method creates a new schema version.
|
|
230
|
+
* If it updates values used by secondary or unique indexes, those index entries are refreshed only by `runMigration()`.
|
|
180
231
|
*
|
|
181
|
-
*
|
|
182
|
-
* will only be updated when `runMigration()` is run (not during lazy loading).
|
|
183
|
-
*
|
|
184
|
-
* @param record - A plain object with all field values from the old schema version.
|
|
232
|
+
* @param record A plain object containing the row's field values from the older schema version.
|
|
185
233
|
*
|
|
186
234
|
* @example
|
|
187
235
|
* ```typescript
|
|
188
|
-
* const User = E.defineModel(class {
|
|
236
|
+
* const User = E.defineModel("User", class {
|
|
189
237
|
* id = E.field(E.identifier);
|
|
190
238
|
* name = E.field(E.string);
|
|
191
|
-
* role = E.field(E.string);
|
|
239
|
+
* role = E.field(E.string);
|
|
192
240
|
*
|
|
193
241
|
* static migrate(record: Record<string, any>) {
|
|
194
|
-
* record.role ??= "user";
|
|
242
|
+
* record.role ??= "user";
|
|
195
243
|
* }
|
|
196
244
|
* }, { pk: "id" });
|
|
197
245
|
* ```
|
|
@@ -201,13 +249,13 @@ export declare abstract class Model<SUB> {
|
|
|
201
249
|
* @internal
|
|
202
250
|
* - _oldValues===undefined: New instance, not yet saved.
|
|
203
251
|
* - _oldValues===null: Instance is to be deleted.
|
|
252
|
+
* - _oldValues===false: Instance excluded from persistence (preventPersist).
|
|
204
253
|
* - _oldValues is an object: Loaded (possibly only partial, still lazy) from disk, _oldValues contains (partial) old values
|
|
205
254
|
*/
|
|
206
|
-
_oldValues: Record<string, any> | undefined | null;
|
|
255
|
+
_oldValues: Record<string, any> | undefined | null | false;
|
|
207
256
|
_primaryKey: Uint8Array | undefined;
|
|
208
257
|
_primaryKeyHash: number | undefined;
|
|
209
258
|
_txn: Transaction;
|
|
210
|
-
constructor(initial?: Partial<Omit<SUB, "constructor">>);
|
|
211
259
|
/**
|
|
212
260
|
* Optional hook called on each modified instance right before the transaction commits.
|
|
213
261
|
* Runs before data is written to disk, so changes made here are included in the commit.
|
|
@@ -220,7 +268,7 @@ export declare abstract class Model<SUB> {
|
|
|
220
268
|
*
|
|
221
269
|
* @example
|
|
222
270
|
* ```typescript
|
|
223
|
-
* const Post = E.defineModel(class {
|
|
271
|
+
* const Post = E.defineModel("Post", class {
|
|
224
272
|
* id = E.field(E.identifier);
|
|
225
273
|
* title = E.field(E.string);
|
|
226
274
|
* slug = E.field(E.string);
|
|
@@ -232,9 +280,8 @@ export declare abstract class Model<SUB> {
|
|
|
232
280
|
* ```
|
|
233
281
|
*/
|
|
234
282
|
preCommit?(): void;
|
|
235
|
-
static _resetIndexes(): void;
|
|
236
|
-
static _loadCreateIndexes(): Promise<void>;
|
|
237
283
|
_setLoadedField(fieldName: string, value: any): void;
|
|
284
|
+
_restoreLazyFields(): void;
|
|
238
285
|
/**
|
|
239
286
|
* @returns The primary key for this instance.
|
|
240
287
|
*/
|
|
@@ -259,21 +306,6 @@ export declare abstract class Model<SUB> {
|
|
|
259
306
|
* ```
|
|
260
307
|
*/
|
|
261
308
|
preventPersist(): this;
|
|
262
|
-
static get(...args: any[]): any;
|
|
263
|
-
static getLazy(...args: any[]): any;
|
|
264
|
-
static find(opts?: any): any;
|
|
265
|
-
static batchProcess(opts: any, callback?: any): any;
|
|
266
|
-
/**
|
|
267
|
-
* Load an existing instance by primary key and update it, or create a new one.
|
|
268
|
-
*
|
|
269
|
-
* The provided object must contain all primary key fields. If a matching row exists,
|
|
270
|
-
* the remaining properties from `obj` are set on the loaded instance. Otherwise a
|
|
271
|
-
* new instance is created with `obj` as its initial properties.
|
|
272
|
-
*
|
|
273
|
-
* @param obj - Partial model data that **must** include every primary key field.
|
|
274
|
-
* @returns The loaded-and-updated or newly created instance.
|
|
275
|
-
*/
|
|
276
|
-
static replaceInto<T extends typeof Model<any>>(this: T, obj: Partial<Record<string, any>>): InstanceType<T>;
|
|
277
309
|
/**
|
|
278
310
|
* Delete this model instance from the database.
|
|
279
311
|
*
|
|
@@ -288,7 +320,7 @@ export declare abstract class Model<SUB> {
|
|
|
288
320
|
delete(): void;
|
|
289
321
|
/**
|
|
290
322
|
* Validate all fields in this model instance.
|
|
291
|
-
* @param raise
|
|
323
|
+
* @param raise If true, throw on first validation error.
|
|
292
324
|
* @returns Array of validation errors (empty if valid).
|
|
293
325
|
*
|
|
294
326
|
* @example
|
|
@@ -315,4 +347,17 @@ export declare abstract class Model<SUB> {
|
|
|
315
347
|
getState(): "deleted" | "created" | "loaded" | "lazy";
|
|
316
348
|
toString(): string;
|
|
317
349
|
}
|
|
350
|
+
/**
|
|
351
|
+
* Delete every key/value entry in the database and reinitialize all registered models.
|
|
352
|
+
*
|
|
353
|
+
* This clears rows, index metadata, and schema-version records. It is mainly useful
|
|
354
|
+
* for tests, local resets, or tooling that needs a completely empty database.
|
|
355
|
+
*/
|
|
356
|
+
export declare function deleteEverything(): Promise<void>;
|
|
357
|
+
/**
|
|
358
|
+
* A model instance, including its user-defined fields.
|
|
359
|
+
* @template FIELDS - The fields defined on this model.
|
|
360
|
+
*/
|
|
361
|
+
export type Model<FIELDS> = FIELDS & ModelBase;
|
|
362
|
+
export declare const Model: typeof ModelBase;
|
|
318
363
|
export {};
|