edinburgh 0.6.2 → 0.6.3
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 +14 -14
- package/build/src/models.d.ts +44 -31
- package/build/src/models.js.map +1 -1
- package/build/src/types.d.ts +11 -2
- package/build/src/types.js.map +1 -1
- package/package.json +1 -1
- package/skill/AnyModelClass.md +1 -1
- package/skill/defineModel.md +3 -3
- package/src/models.ts +78 -45
- package/src/types.ts +12 -3
package/README.md
CHANGED
|
@@ -609,13 +609,13 @@ Prefer the `ModelClass` type alias for annotations and the result of
|
|
|
609
609
|
|
|
610
610
|
**Type:** `typeof ModelClassRuntime`
|
|
611
611
|
|
|
612
|
-
### AnyModelClass · [type](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#
|
|
612
|
+
### AnyModelClass · [type](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L132)
|
|
613
613
|
|
|
614
614
|
A model constructor with its generic information erased.
|
|
615
615
|
|
|
616
616
|
Useful when accepting or storing arbitrary registered model classes.
|
|
617
617
|
|
|
618
|
-
**Type:** `ModelClass<
|
|
618
|
+
**Type:** `ModelClass<object, any, any, readonly any[], any, any>`
|
|
619
619
|
|
|
620
620
|
### ModelBase · [abstract class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L252)
|
|
621
621
|
|
|
@@ -831,14 +831,14 @@ Register a model class with the Edinburgh ORM system.
|
|
|
831
831
|
Converts a plain class into a fully-featured model with database persistence,
|
|
832
832
|
typed fields, primary key access, and optional secondary and unique indexes.
|
|
833
833
|
|
|
834
|
-
**Signature:** `<T extends new () => any, const PK extends (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[], const UNIQUE extends Record<string,
|
|
834
|
+
**Signature:** `<T extends new () => any, const PK extends (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[], const UNIQUE extends Record<string, IndexSpec<T>>, const INDEX extends Record<string, IndexSpec<T>>>(tableName: string, cls: T, opts?: { ...; }) => ModelClass<...>`
|
|
835
835
|
|
|
836
836
|
**Type Parameters:**
|
|
837
837
|
|
|
838
838
|
- `T extends new () => any`
|
|
839
839
|
- `PK extends (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[]`
|
|
840
|
-
- `UNIQUE extends Record<string,
|
|
841
|
-
- `INDEX extends Record<string,
|
|
840
|
+
- `UNIQUE extends Record<string, IndexSpec<T>>`
|
|
841
|
+
- `INDEX extends Record<string, IndexSpec<T>>`
|
|
842
842
|
|
|
843
843
|
**Parameters:**
|
|
844
844
|
|
|
@@ -1173,7 +1173,7 @@ Extends built-in Iterator to provide map/filter/reduce/toArray/etc.
|
|
|
1173
1173
|
|
|
1174
1174
|
**Signature:** `() => ITEM`
|
|
1175
1175
|
|
|
1176
|
-
### Change · [type](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#
|
|
1176
|
+
### Change · [type](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L93)
|
|
1177
1177
|
|
|
1178
1178
|
**Type:** `Record<any, any> | "created" | "deleted"`
|
|
1179
1179
|
|
|
@@ -1197,19 +1197,19 @@ Optional human-readable description of the field.
|
|
|
1197
1197
|
|
|
1198
1198
|
**Type:** `string`
|
|
1199
1199
|
|
|
1200
|
-
#### fieldConfig.default · [member](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#
|
|
1200
|
+
#### fieldConfig.default · [member](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L51)
|
|
1201
1201
|
|
|
1202
1202
|
Optional default value or function that generates default values.
|
|
1203
1203
|
|
|
1204
1204
|
**Type:** `T | ((model: Record<string, any>) => T)`
|
|
1205
1205
|
|
|
1206
|
-
### TypeWrapper · [abstract class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#
|
|
1206
|
+
### TypeWrapper · [abstract class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L36)
|
|
1207
1207
|
|
|
1208
1208
|
**Type Parameters:**
|
|
1209
1209
|
|
|
1210
1210
|
- `T` - The TypeScript type this wrapper represents.
|
|
1211
1211
|
|
|
1212
|
-
#### typeWrapper.kind · [abstract property](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#
|
|
1212
|
+
#### typeWrapper.kind · [abstract property](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L48)
|
|
1213
1213
|
|
|
1214
1214
|
A string identifier for this type, used during serialization
|
|
1215
1215
|
|
|
@@ -1236,7 +1236,7 @@ Deserialize a value from a Pack into an object property.
|
|
|
1236
1236
|
|
|
1237
1237
|
- `pack: DataPack` - The Pack instance to read from.
|
|
1238
1238
|
|
|
1239
|
-
#### typeWrapper.getError · [abstract method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#
|
|
1239
|
+
#### typeWrapper.getError · [abstract method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L66)
|
|
1240
1240
|
|
|
1241
1241
|
Validate a value.
|
|
1242
1242
|
|
|
@@ -1258,7 +1258,7 @@ Serialize type metadata to a Pack (for schema serialization).
|
|
|
1258
1258
|
|
|
1259
1259
|
- `pack: DataPack` - The Pack instance to write to.
|
|
1260
1260
|
|
|
1261
|
-
#### typeWrapper.containsNull · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#
|
|
1261
|
+
#### typeWrapper.containsNull · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L78)
|
|
1262
1262
|
|
|
1263
1263
|
Check if indexing should be skipped for this field value.
|
|
1264
1264
|
|
|
@@ -1270,11 +1270,11 @@ Check if indexing should be skipped for this field value.
|
|
|
1270
1270
|
|
|
1271
1271
|
**Returns:** true if indexing should be skipped.
|
|
1272
1272
|
|
|
1273
|
-
#### typeWrapper.toString · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#
|
|
1273
|
+
#### typeWrapper.toString · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L79)
|
|
1274
1274
|
|
|
1275
1275
|
**Signature:** `() => string`
|
|
1276
1276
|
|
|
1277
|
-
#### typeWrapper.clone · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#
|
|
1277
|
+
#### typeWrapper.clone · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L83)
|
|
1278
1278
|
|
|
1279
1279
|
**Signature:** `(value: T) => T`
|
|
1280
1280
|
|
|
@@ -1282,7 +1282,7 @@ Check if indexing should be skipped for this field value.
|
|
|
1282
1282
|
|
|
1283
1283
|
- `value: T`
|
|
1284
1284
|
|
|
1285
|
-
#### typeWrapper.equals · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#
|
|
1285
|
+
#### typeWrapper.equals · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L86)
|
|
1286
1286
|
|
|
1287
1287
|
**Signature:** `(value1: T, value2: T) => boolean`
|
|
1288
1288
|
|
package/build/src/models.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import DataPack from "./datapack.js";
|
|
2
|
-
import { TypeWrapper, type FieldQueryArg, type FieldValue } from "./types.js";
|
|
2
|
+
import { TypeWrapper, type FieldQueryArg, type FieldValue, type StripQueryArg } from "./types.js";
|
|
3
3
|
import { type Transaction } from "./edinburgh.js";
|
|
4
4
|
import { PrimaryKey, NonPrimaryIndex, IndexRangeIterator, FindOptions, VersionInfo } from "./indexes.js";
|
|
5
5
|
/**
|
|
@@ -37,26 +37,39 @@ export interface FieldConfig<T> {
|
|
|
37
37
|
export declare function field<TYPE extends TypeWrapper<any>>(type: TYPE, options?: Partial<FieldConfig<FieldValue<TYPE>>>): FieldValue<TYPE>;
|
|
38
38
|
export type Change = Record<any, any> | "created" | "deleted";
|
|
39
39
|
type FieldsOf<T> = T extends new () => infer I ? I : never;
|
|
40
|
-
type
|
|
41
|
-
[
|
|
42
|
-
}
|
|
43
|
-
type
|
|
44
|
-
[
|
|
45
|
-
}
|
|
40
|
+
type PublicFields<FIELDS> = {
|
|
41
|
+
[K in keyof FIELDS]: StripQueryArg<FIELDS[K]>;
|
|
42
|
+
};
|
|
43
|
+
type QueryFields<FIELDS> = {
|
|
44
|
+
[K in keyof FIELDS]: FieldQueryArg<FIELDS[K]>;
|
|
45
|
+
};
|
|
46
|
+
type PublicModelOf<T extends new () => any> = Model<PublicFields<FieldsOf<T>>>;
|
|
47
|
+
type IndexSpec<T extends new () => any> = (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[] | ((instance: PublicModelOf<T>) => any);
|
|
48
|
+
type PKArgs<QUERY_FIELDS, PK> = PK extends readonly (keyof QUERY_FIELDS & string)[] ? {
|
|
49
|
+
[I in keyof PK]: PK[I] extends keyof QUERY_FIELDS ? QUERY_FIELDS[PK[I]] : never;
|
|
50
|
+
} : PK extends keyof QUERY_FIELDS & string ? [QUERY_FIELDS[PK]] : [string];
|
|
51
|
+
type IndexArgs<QUERY_FIELDS, SPEC> = SPEC extends readonly (keyof QUERY_FIELDS & string)[] ? {
|
|
52
|
+
[I in keyof SPEC]: SPEC[I] extends keyof QUERY_FIELDS ? QUERY_FIELDS[SPEC[I]] : never;
|
|
53
|
+
} : SPEC extends keyof QUERY_FIELDS & string ? [QUERY_FIELDS[SPEC]] : SPEC extends (instance: any) => infer R ? R extends (infer V)[] ? [V] : [R] : never;
|
|
54
|
+
type PublicIndexSpec<SPEC> = SPEC extends (instance: infer INSTANCE) => infer R ? (instance: INSTANCE) => R : SPEC;
|
|
55
|
+
type PublicIndexSpecs<SPECS> = {
|
|
56
|
+
[K in keyof SPECS]: PublicIndexSpec<SPECS[K]>;
|
|
57
|
+
};
|
|
46
58
|
/**
|
|
47
59
|
* A model constructor with its generic information erased.
|
|
48
60
|
*
|
|
49
61
|
* Useful when accepting or storing arbitrary registered model classes.
|
|
50
62
|
*/
|
|
51
|
-
export type AnyModelClass = ModelClass<
|
|
63
|
+
export type AnyModelClass = ModelClass<object, any, any, readonly any[], any, any>;
|
|
64
|
+
type StaticMembers<T extends new () => any> = Pick<T, Exclude<keyof T, 'prototype'>>;
|
|
52
65
|
type SecondaryRegistry<FIELDS> = Record<string, NonPrimaryIndex<Model<FIELDS>, readonly (keyof FIELDS & string)[], readonly any[]>>;
|
|
53
66
|
export declare const modelRegistry: Record<string, AnyModelClass>;
|
|
54
67
|
export declare const pendingModelInits: Set<AnyModelClass>;
|
|
55
|
-
declare class ModelClassRuntime<
|
|
68
|
+
declare class ModelClassRuntime<PUBLIC_FIELDS, QUERY_FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX = {}> extends PrimaryKey<Model<PUBLIC_FIELDS>, readonly (keyof PUBLIC_FIELDS & string)[], PKA> {
|
|
56
69
|
tableName: string;
|
|
57
70
|
fields: Record<string | symbol | number, FieldConfig<unknown>>;
|
|
58
|
-
_secondaries?: SecondaryRegistry<
|
|
59
|
-
_nonKeyFields: (keyof
|
|
71
|
+
_secondaries?: SecondaryRegistry<PUBLIC_FIELDS>;
|
|
72
|
+
_nonKeyFields: (keyof PUBLIC_FIELDS & string)[];
|
|
60
73
|
_lazyDescriptors: Record<string | symbol | number, PropertyDescriptor>;
|
|
61
74
|
_resetDescriptors: Record<string | symbol | number, PropertyDescriptor>;
|
|
62
75
|
_freezePrimaryKeyDescriptors: Record<string | symbol | number, PropertyDescriptor>;
|
|
@@ -65,10 +78,10 @@ declare class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {},
|
|
|
65
78
|
_versions: Map<number, VersionInfo>;
|
|
66
79
|
_serializeVersionValue(): Uint8Array;
|
|
67
80
|
_initialize(reset?: boolean): Promise<void>;
|
|
68
|
-
_getSecondary(name: string): NonPrimaryIndex<Model<
|
|
69
|
-
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: false | Uint8Array): Model<
|
|
70
|
-
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: true): Model<
|
|
71
|
-
_lazyLoad(model: Model<
|
|
81
|
+
_getSecondary(name: string): NonPrimaryIndex<Model<PUBLIC_FIELDS>, readonly (keyof PUBLIC_FIELDS & string)[], readonly any[]>;
|
|
82
|
+
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: false | Uint8Array): Model<PUBLIC_FIELDS>;
|
|
83
|
+
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: true): Model<PUBLIC_FIELDS> | undefined;
|
|
84
|
+
_lazyLoad(model: Model<PUBLIC_FIELDS>): void;
|
|
72
85
|
/**
|
|
73
86
|
* Load a model by primary key inside the current transaction.
|
|
74
87
|
*
|
|
@@ -78,7 +91,7 @@ declare class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {},
|
|
|
78
91
|
*
|
|
79
92
|
* @returns The matching model, or `undefined` if no row exists.
|
|
80
93
|
*/
|
|
81
|
-
get(...args: PKA): Model<
|
|
94
|
+
get(...args: PKA): Model<PUBLIC_FIELDS> | undefined;
|
|
82
95
|
/**
|
|
83
96
|
* Load a model by primary key without fetching its non-key fields immediately.
|
|
84
97
|
*
|
|
@@ -86,8 +99,8 @@ declare class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {},
|
|
|
86
99
|
*
|
|
87
100
|
* Accessing a lazy field later will load the remaining fields transparently.
|
|
88
101
|
*/
|
|
89
|
-
getLazy(...args: PKA): Model<
|
|
90
|
-
_pairToInstance(txn: Transaction, keyBuffer: ArrayBuffer, valueBuffer: ArrayBuffer): Model<
|
|
102
|
+
getLazy(...args: PKA): Model<PUBLIC_FIELDS>;
|
|
103
|
+
_pairToInstance(txn: Transaction, keyBuffer: ArrayBuffer, valueBuffer: ArrayBuffer): Model<PUBLIC_FIELDS>;
|
|
91
104
|
/**
|
|
92
105
|
* Load an existing instance by primary key and update it, or create a new one.
|
|
93
106
|
* If a row already exists, its non-primary-key fields are updated in place.
|
|
@@ -96,7 +109,7 @@ declare class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {},
|
|
|
96
109
|
* @param obj Partial model data that **must** include every primary key field.
|
|
97
110
|
* @returns The loaded-and-updated or newly created instance.
|
|
98
111
|
*/
|
|
99
|
-
replaceInto(obj: Partial<
|
|
112
|
+
replaceInto(obj: Partial<PUBLIC_FIELDS>): Model<PUBLIC_FIELDS>;
|
|
100
113
|
/**
|
|
101
114
|
* Look up a model through a named unique index.
|
|
102
115
|
*
|
|
@@ -106,7 +119,7 @@ declare class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {},
|
|
|
106
119
|
* linked model uses a composite primary key, pass the full tuple in that slot.
|
|
107
120
|
* @returns The matching model instance, if any.
|
|
108
121
|
*/
|
|
109
|
-
getBy<K extends string & keyof UNIQUE>(name: K, ...args: IndexArgs<
|
|
122
|
+
getBy<K extends string & keyof UNIQUE>(name: K, ...args: IndexArgs<QUERY_FIELDS, UNIQUE[K]>): Model<PUBLIC_FIELDS> | undefined;
|
|
110
123
|
/**
|
|
111
124
|
* Query rows through a named unique or secondary index.
|
|
112
125
|
*
|
|
@@ -114,21 +127,21 @@ declare class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {},
|
|
|
114
127
|
* or `index` registration. Link-valued index fields accept either the linked
|
|
115
128
|
* model instance or the linked model's primary key tuple/value.
|
|
116
129
|
*/
|
|
117
|
-
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<
|
|
118
|
-
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<
|
|
119
|
-
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts?: FindOptions<IndexArgs<
|
|
130
|
+
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<QUERY_FIELDS, (UNIQUE & INDEX)[K]>, 'first'>): Model<PUBLIC_FIELDS> | undefined;
|
|
131
|
+
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<QUERY_FIELDS, (UNIQUE & INDEX)[K]>, 'single'>): Model<PUBLIC_FIELDS>;
|
|
132
|
+
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts?: FindOptions<IndexArgs<QUERY_FIELDS, (UNIQUE & INDEX)[K]>>): IndexRangeIterator<Model<PUBLIC_FIELDS>>;
|
|
120
133
|
/**
|
|
121
134
|
* Process rows from a named unique or secondary index in batched transactions.
|
|
122
135
|
*
|
|
123
136
|
* Uses the same range options as `findBy()`, plus batch limits.
|
|
124
137
|
*/
|
|
125
|
-
batchProcessBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<
|
|
138
|
+
batchProcessBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<QUERY_FIELDS, (UNIQUE & INDEX)[K]>> & {
|
|
126
139
|
limitSeconds?: number;
|
|
127
140
|
limitRows?: number;
|
|
128
|
-
}, callback: (row: Model<
|
|
129
|
-
_loadValueFields(model: Model<
|
|
141
|
+
}, callback: (row: Model<PUBLIC_FIELDS>) => any): Promise<void>;
|
|
142
|
+
_loadValueFields(model: Model<PUBLIC_FIELDS>, valueArray: Uint8Array): void;
|
|
130
143
|
_loadVersionInfo(txnId: number, version: number): VersionInfo;
|
|
131
|
-
_migrateValueFields(model: Model<
|
|
144
|
+
_migrateValueFields(model: Model<PUBLIC_FIELDS>, version: number, valuePack: DataPack): void;
|
|
132
145
|
_serializeValue(data: Record<string, any>): Uint8Array;
|
|
133
146
|
}
|
|
134
147
|
/**
|
|
@@ -150,8 +163,8 @@ export declare const ModelClass: typeof ModelClassRuntime;
|
|
|
150
163
|
* @template UNIQUE - Named unique-index specifications.
|
|
151
164
|
* @template INDEX - Named secondary-index specifications.
|
|
152
165
|
*/
|
|
153
|
-
export type ModelClass<
|
|
154
|
-
new (initial?: Partial<
|
|
166
|
+
export type ModelClass<STATICS, PUBLIC_FIELDS, QUERY_FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX = {}> = STATICS & ModelClassRuntime<PUBLIC_FIELDS, QUERY_FIELDS, PKA, UNIQUE, INDEX> & {
|
|
167
|
+
new (initial?: Partial<PUBLIC_FIELDS>, txn?: Transaction): Model<PUBLIC_FIELDS>;
|
|
155
168
|
};
|
|
156
169
|
/**
|
|
157
170
|
* Minimal instance-side model shape used for typing the constructor property.
|
|
@@ -174,12 +187,12 @@ export interface ModelBase {
|
|
|
174
187
|
* @param opts.override Replace a previous model with the same table name.
|
|
175
188
|
* @returns The enhanced model constructor.
|
|
176
189
|
*/
|
|
177
|
-
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,
|
|
190
|
+
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, IndexSpec<T>>, const INDEX extends Record<string, IndexSpec<T>>>(tableName: string, cls: T, opts?: {
|
|
178
191
|
pk?: PK;
|
|
179
192
|
unique?: UNIQUE;
|
|
180
193
|
index?: INDEX;
|
|
181
194
|
override?: boolean;
|
|
182
|
-
}): ModelClass<T
|
|
195
|
+
}): ModelClass<StaticMembers<T>, PublicFields<FieldsOf<T>>, QueryFields<FieldsOf<T>>, PKArgs<QueryFields<FieldsOf<T>>, PK>, PublicIndexSpecs<UNIQUE>, PublicIndexSpecs<INDEX>>;
|
|
183
196
|
/**
|
|
184
197
|
* Base class for all database models in the Edinburgh ORM.
|
|
185
198
|
*
|
package/build/src/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
|
package/build/src/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import DataPack from "./datapack.js";
|
|
2
2
|
import { DatabaseError } from "olmdb/lowlevel";
|
|
3
3
|
import { Model } from "./models.js";
|
|
4
|
-
import type { AnyModelClass } from "./models.js";
|
|
4
|
+
import type { AnyModelClass, ModelBase as ModelInstanceBase } from "./models.js";
|
|
5
5
|
/**
|
|
6
6
|
* @internal Abstract base class for all type wrappers in the Edinburgh ORM system.
|
|
7
7
|
*
|
|
@@ -71,6 +71,15 @@ type QueryAnnotated<T, QUERY> = T & QueryArgCarrier<QUERY>;
|
|
|
71
71
|
export type FieldValue<TYPE extends TypeWrapper<any>> = TYPE extends TypeWrapper<infer T> ? TYPE extends {
|
|
72
72
|
readonly [QUERY_ARG]?: infer QUERY;
|
|
73
73
|
} ? QueryAnnotated<T, Exclude<QUERY, undefined>> : T : never;
|
|
74
|
+
export type StripQueryArg<T> = T extends ModelInstanceBase & {
|
|
75
|
+
readonly [QUERY_ARG]?: any;
|
|
76
|
+
} ? Model<{
|
|
77
|
+
[K in Exclude<keyof T, keyof ModelInstanceBase | typeof QUERY_ARG>]: T[K];
|
|
78
|
+
}> : T extends {
|
|
79
|
+
readonly [QUERY_ARG]?: any;
|
|
80
|
+
} ? {
|
|
81
|
+
[K in keyof T as K extends typeof QUERY_ARG ? never : K]: T[K];
|
|
82
|
+
} : T;
|
|
74
83
|
export type FieldQueryArg<T> = T extends {
|
|
75
84
|
readonly [QUERY_ARG]?: infer QUERY;
|
|
76
85
|
} ? Exclude<QUERY, undefined> : T;
|
|
@@ -118,7 +127,7 @@ export declare class LinkType<T extends new (...args: any[]) => Model<any>> exte
|
|
|
118
127
|
constructor(TargetModel: T | (() => T));
|
|
119
128
|
getLinkedModel(): AnyModelClass;
|
|
120
129
|
serialize(model: InstanceType<T>, pack: DataPack): void;
|
|
121
|
-
deserialize(pack: DataPack):
|
|
130
|
+
deserialize(pack: DataPack): InstanceType<T>;
|
|
122
131
|
getError(value: InstanceType<T>): DatabaseError | undefined;
|
|
123
132
|
serializeType(pack: DataPack): void;
|
|
124
133
|
static deserializeType(pack: DataPack, featureFlags: number): LinkType<any>;
|
package/build/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skill/AnyModelClass.md
CHANGED
package/skill/defineModel.md
CHANGED
|
@@ -5,14 +5,14 @@ Register a model class with the Edinburgh ORM system.
|
|
|
5
5
|
Converts a plain class into a fully-featured model with database persistence,
|
|
6
6
|
typed fields, primary key access, and optional secondary and unique indexes.
|
|
7
7
|
|
|
8
|
-
**Signature:** `<T extends new () => any, const PK extends (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[], const UNIQUE extends Record<string,
|
|
8
|
+
**Signature:** `<T extends new () => any, const PK extends (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[], const UNIQUE extends Record<string, IndexSpec<T>>, const INDEX extends Record<string, IndexSpec<T>>>(tableName: string, cls: T, opts?: { ...; }) => ModelClass<...>`
|
|
9
9
|
|
|
10
10
|
**Type Parameters:**
|
|
11
11
|
|
|
12
12
|
- `T extends new () => any`
|
|
13
13
|
- `PK extends (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[]`
|
|
14
|
-
- `UNIQUE extends Record<string,
|
|
15
|
-
- `INDEX extends Record<string,
|
|
14
|
+
- `UNIQUE extends Record<string, IndexSpec<T>>`
|
|
15
|
+
- `INDEX extends Record<string, IndexSpec<T>>`
|
|
16
16
|
|
|
17
17
|
**Parameters:**
|
|
18
18
|
|
package/src/models.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as lowlevel from "olmdb/lowlevel";
|
|
2
2
|
import { DatabaseError } from "olmdb/lowlevel";
|
|
3
3
|
import DataPack from "./datapack.js";
|
|
4
|
-
import { deserializeType, serializeType, TypeWrapper, identifier, type FieldQueryArg, type FieldValue } from "./types.js";
|
|
4
|
+
import { deserializeType, serializeType, TypeWrapper, identifier, type FieldQueryArg, type FieldValue, type StripQueryArg } from "./types.js";
|
|
5
5
|
import { transact, currentTxn, type Transaction } from "./edinburgh.js";
|
|
6
6
|
|
|
7
7
|
import { PrimaryKey, NonPrimaryIndex, IndexRangeIterator, UniqueIndex, SecondaryIndex, FindOptions, VersionInfo } from "./indexes.js";
|
|
@@ -66,28 +66,54 @@ export type Change = Record<any, any> | "created" | "deleted";
|
|
|
66
66
|
|
|
67
67
|
type FieldsOf<T> = T extends new () => infer I ? I : never;
|
|
68
68
|
|
|
69
|
-
type
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
type PublicFields<FIELDS> = {
|
|
70
|
+
[K in keyof FIELDS]: StripQueryArg<FIELDS[K]>;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
type QueryFields<FIELDS> = {
|
|
74
|
+
[K in keyof FIELDS]: FieldQueryArg<FIELDS[K]>;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
type PublicModelOf<T extends new () => any> = Model<PublicFields<FieldsOf<T>>>;
|
|
78
|
+
|
|
79
|
+
type IndexSpec<T extends new () => any> =
|
|
80
|
+
| (keyof FieldsOf<T> & string)
|
|
81
|
+
| readonly (keyof FieldsOf<T> & string)[]
|
|
82
|
+
| ((instance: PublicModelOf<T>) => any);
|
|
83
|
+
|
|
84
|
+
type PKArgs<QUERY_FIELDS, PK> =
|
|
85
|
+
PK extends readonly (keyof QUERY_FIELDS & string)[]
|
|
86
|
+
? { [I in keyof PK]: PK[I] extends keyof QUERY_FIELDS ? QUERY_FIELDS[PK[I]] : never }
|
|
87
|
+
: PK extends keyof QUERY_FIELDS & string
|
|
88
|
+
? [QUERY_FIELDS[PK]]
|
|
74
89
|
: [string];
|
|
75
90
|
|
|
76
|
-
type IndexArgs<
|
|
77
|
-
SPEC extends readonly (keyof
|
|
78
|
-
? { [I in keyof SPEC]: SPEC[I] extends keyof
|
|
79
|
-
: SPEC extends keyof
|
|
80
|
-
? [
|
|
91
|
+
type IndexArgs<QUERY_FIELDS, SPEC> =
|
|
92
|
+
SPEC extends readonly (keyof QUERY_FIELDS & string)[]
|
|
93
|
+
? { [I in keyof SPEC]: SPEC[I] extends keyof QUERY_FIELDS ? QUERY_FIELDS[SPEC[I]] : never }
|
|
94
|
+
: SPEC extends keyof QUERY_FIELDS & string
|
|
95
|
+
? [QUERY_FIELDS[SPEC]]
|
|
81
96
|
: SPEC extends (instance: any) => infer R
|
|
82
97
|
? R extends (infer V)[] ? [V] : [R]
|
|
83
98
|
: never;
|
|
84
99
|
|
|
100
|
+
type PublicIndexSpec<SPEC> =
|
|
101
|
+
SPEC extends (instance: infer INSTANCE) => infer R
|
|
102
|
+
? (instance: INSTANCE) => R
|
|
103
|
+
: SPEC;
|
|
104
|
+
|
|
105
|
+
type PublicIndexSpecs<SPECS> = {
|
|
106
|
+
[K in keyof SPECS]: PublicIndexSpec<SPECS[K]>;
|
|
107
|
+
};
|
|
108
|
+
|
|
85
109
|
/**
|
|
86
110
|
* A model constructor with its generic information erased.
|
|
87
111
|
*
|
|
88
112
|
* Useful when accepting or storing arbitrary registered model classes.
|
|
89
113
|
*/
|
|
90
|
-
export type AnyModelClass = ModelClass<
|
|
114
|
+
export type AnyModelClass = ModelClass<object, any, any, readonly any[], any, any>;
|
|
115
|
+
|
|
116
|
+
type StaticMembers<T extends new () => any> = Pick<T, Exclude<keyof T, 'prototype'>>;
|
|
91
117
|
|
|
92
118
|
type SecondaryRegistry<FIELDS> = Record<string, NonPrimaryIndex<Model<FIELDS>, readonly (keyof FIELDS & string)[], readonly any[]>>;
|
|
93
119
|
|
|
@@ -107,15 +133,15 @@ export const pendingModelInits = new Set<AnyModelClass>();
|
|
|
107
133
|
|
|
108
134
|
// These static members are attached dynamically in defineModel(), so 'declare' tells TypeScript
|
|
109
135
|
// they exist at runtime without emitting duplicate class fields that would shadow those assignments.
|
|
110
|
-
class ModelClassRuntime<
|
|
136
|
+
class ModelClassRuntime<PUBLIC_FIELDS, QUERY_FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX = {}> extends PrimaryKey<Model<PUBLIC_FIELDS>, readonly (keyof PUBLIC_FIELDS & string)[], PKA> {
|
|
111
137
|
// Runtime table identifier used for index naming and diagnostics.
|
|
112
138
|
declare tableName: string;
|
|
113
139
|
// Field schema map used for validation and serialization.
|
|
114
140
|
declare fields: Record<string | symbol | number, FieldConfig<unknown>>;
|
|
115
141
|
// Registered unique/secondary indexes for this model.
|
|
116
|
-
declare _secondaries?: SecondaryRegistry<
|
|
142
|
+
declare _secondaries?: SecondaryRegistry<PUBLIC_FIELDS>;
|
|
117
143
|
// Cached list of non-primary fields used for value serialization.
|
|
118
|
-
_nonKeyFields!: (keyof
|
|
144
|
+
_nonKeyFields!: (keyof PUBLIC_FIELDS & string)[];
|
|
119
145
|
// Lazy getter/setter descriptors installed on unloaded non-key fields.
|
|
120
146
|
_lazyDescriptors: Record<string | symbol | number, PropertyDescriptor> = {};
|
|
121
147
|
// Writable descriptors temporarily installed before hydrating value fields.
|
|
@@ -160,13 +186,13 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
160
186
|
this._lazyDescriptors[fieldName] = {
|
|
161
187
|
configurable: true,
|
|
162
188
|
enumerable: true,
|
|
163
|
-
get(this: Model<
|
|
189
|
+
get(this: Model<PUBLIC_FIELDS>) {
|
|
164
190
|
this.constructor._lazyLoad(this);
|
|
165
|
-
return this[fieldName];
|
|
191
|
+
return (this as any)[fieldName];
|
|
166
192
|
},
|
|
167
|
-
set(this: Model<
|
|
193
|
+
set(this: Model<PUBLIC_FIELDS>, value: any) {
|
|
168
194
|
this.constructor._lazyLoad(this);
|
|
169
|
-
this[fieldName] = value;
|
|
195
|
+
(this as any)[fieldName] = value;
|
|
170
196
|
},
|
|
171
197
|
};
|
|
172
198
|
this._resetDescriptors[fieldName] = {
|
|
@@ -200,9 +226,9 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
200
226
|
return index;
|
|
201
227
|
}
|
|
202
228
|
|
|
203
|
-
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: false | Uint8Array): Model<
|
|
204
|
-
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: true): Model<
|
|
205
|
-
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: boolean | Uint8Array): Model<
|
|
229
|
+
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: false | Uint8Array): Model<PUBLIC_FIELDS>;
|
|
230
|
+
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: true): Model<PUBLIC_FIELDS> | undefined;
|
|
231
|
+
_get(txn: Transaction, args: PKA | Uint8Array, loadNow: boolean | Uint8Array): Model<PUBLIC_FIELDS> | undefined {
|
|
206
232
|
let key: Uint8Array;
|
|
207
233
|
let keyParts: readonly any[] | undefined;
|
|
208
234
|
if (args instanceof Uint8Array) {
|
|
@@ -213,7 +239,7 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
213
239
|
}
|
|
214
240
|
|
|
215
241
|
const keyHash = hashBytes(key);
|
|
216
|
-
const cached = txn.instances.get(keyHash) as Model<
|
|
242
|
+
const cached = txn.instances.get(keyHash) as Model<PUBLIC_FIELDS> | undefined;
|
|
217
243
|
if (cached) {
|
|
218
244
|
if (loadNow && loadNow !== true) {
|
|
219
245
|
Object.defineProperties(cached, this._resetDescriptors);
|
|
@@ -232,7 +258,7 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
232
258
|
}
|
|
233
259
|
}
|
|
234
260
|
|
|
235
|
-
const model = Object.create((this as any).prototype) as Model<
|
|
261
|
+
const model = Object.create((this as any).prototype) as Model<PUBLIC_FIELDS>;
|
|
236
262
|
model._txn = txn;
|
|
237
263
|
model._oldValues = {};
|
|
238
264
|
txn.instances.set(keyHash, model);
|
|
@@ -259,7 +285,7 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
259
285
|
return model;
|
|
260
286
|
}
|
|
261
287
|
|
|
262
|
-
_lazyLoad(model: Model<
|
|
288
|
+
_lazyLoad(model: Model<PUBLIC_FIELDS>) {
|
|
263
289
|
const key = model._primaryKey!;
|
|
264
290
|
const valueBuffer = dbGet(model._txn.id, key);
|
|
265
291
|
if (!valueBuffer) throw new DatabaseError(`Lazy-loaded ${this.tableName}#${key} does not exist`, 'LAZY_FAIL');
|
|
@@ -276,7 +302,7 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
276
302
|
*
|
|
277
303
|
* @returns The matching model, or `undefined` if no row exists.
|
|
278
304
|
*/
|
|
279
|
-
get(...args: PKA): Model<
|
|
305
|
+
get(...args: PKA): Model<PUBLIC_FIELDS> | undefined {
|
|
280
306
|
return this._get(currentTxn(), args, true);
|
|
281
307
|
}
|
|
282
308
|
|
|
@@ -287,11 +313,11 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
287
313
|
*
|
|
288
314
|
* Accessing a lazy field later will load the remaining fields transparently.
|
|
289
315
|
*/
|
|
290
|
-
getLazy(...args: PKA): Model<
|
|
316
|
+
getLazy(...args: PKA): Model<PUBLIC_FIELDS> {
|
|
291
317
|
return this._get(currentTxn(), args, false);
|
|
292
318
|
}
|
|
293
319
|
|
|
294
|
-
_pairToInstance(txn: Transaction, keyBuffer: ArrayBuffer, valueBuffer: ArrayBuffer): Model<
|
|
320
|
+
_pairToInstance(txn: Transaction, keyBuffer: ArrayBuffer, valueBuffer: ArrayBuffer): Model<PUBLIC_FIELDS> {
|
|
295
321
|
return this._get(txn, new Uint8Array(keyBuffer), new Uint8Array(valueBuffer))!;
|
|
296
322
|
}
|
|
297
323
|
|
|
@@ -303,7 +329,7 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
303
329
|
* @param obj Partial model data that **must** include every primary key field.
|
|
304
330
|
* @returns The loaded-and-updated or newly created instance.
|
|
305
331
|
*/
|
|
306
|
-
replaceInto(obj: Partial<
|
|
332
|
+
replaceInto(obj: Partial<PUBLIC_FIELDS>): Model<PUBLIC_FIELDS> {
|
|
307
333
|
const keyArgs: any[] = [];
|
|
308
334
|
for (const fieldName of this._indexFields.keys()) {
|
|
309
335
|
if (!(fieldName in (obj as any))) {
|
|
@@ -311,7 +337,7 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
311
337
|
}
|
|
312
338
|
keyArgs.push((obj as any)[fieldName]);
|
|
313
339
|
}
|
|
314
|
-
const existing = this.get(...keyArgs as any) as Model<
|
|
340
|
+
const existing = this.get(...keyArgs as any) as Model<PUBLIC_FIELDS> | undefined;
|
|
315
341
|
if (existing) {
|
|
316
342
|
for (const key in obj as any) {
|
|
317
343
|
if (!this._indexFields.has(key as any)) {
|
|
@@ -332,7 +358,7 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
332
358
|
* linked model uses a composite primary key, pass the full tuple in that slot.
|
|
333
359
|
* @returns The matching model instance, if any.
|
|
334
360
|
*/
|
|
335
|
-
getBy<K extends string & keyof UNIQUE>(name: K, ...args: IndexArgs<
|
|
361
|
+
getBy<K extends string & keyof UNIQUE>(name: K, ...args: IndexArgs<QUERY_FIELDS, UNIQUE[K]>): Model<PUBLIC_FIELDS> | undefined {
|
|
336
362
|
return (this._getSecondary(name) as any).getPK(...args);
|
|
337
363
|
}
|
|
338
364
|
|
|
@@ -343,9 +369,9 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
343
369
|
* or `index` registration. Link-valued index fields accept either the linked
|
|
344
370
|
* model instance or the linked model's primary key tuple/value.
|
|
345
371
|
*/
|
|
346
|
-
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<
|
|
347
|
-
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<
|
|
348
|
-
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts?: FindOptions<IndexArgs<
|
|
372
|
+
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<QUERY_FIELDS, (UNIQUE & INDEX)[K]>, 'first'>): Model<PUBLIC_FIELDS> | undefined;
|
|
373
|
+
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts: FindOptions<IndexArgs<QUERY_FIELDS, (UNIQUE & INDEX)[K]>, 'single'>): Model<PUBLIC_FIELDS>;
|
|
374
|
+
findBy<K extends string & keyof (UNIQUE & INDEX)>(name: K, opts?: FindOptions<IndexArgs<QUERY_FIELDS, (UNIQUE & INDEX)[K]>>): IndexRangeIterator<Model<PUBLIC_FIELDS>>;
|
|
349
375
|
findBy(name: string, opts?: any): any {
|
|
350
376
|
return this._getSecondary(name).find(opts);
|
|
351
377
|
}
|
|
@@ -357,13 +383,13 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
357
383
|
*/
|
|
358
384
|
batchProcessBy<K extends string & keyof (UNIQUE & INDEX)>(
|
|
359
385
|
name: K,
|
|
360
|
-
opts: FindOptions<IndexArgs<
|
|
361
|
-
callback: (row: Model<
|
|
386
|
+
opts: FindOptions<IndexArgs<QUERY_FIELDS, (UNIQUE & INDEX)[K]>> & { limitSeconds?: number; limitRows?: number },
|
|
387
|
+
callback: (row: Model<PUBLIC_FIELDS>) => any,
|
|
362
388
|
): Promise<void> {
|
|
363
389
|
return this._getSecondary(name).batchProcess(opts, callback as any);
|
|
364
390
|
}
|
|
365
391
|
|
|
366
|
-
_loadValueFields(model: Model<
|
|
392
|
+
_loadValueFields(model: Model<PUBLIC_FIELDS>, valueArray: Uint8Array) {
|
|
367
393
|
const valuePack = new DataPack(valueArray);
|
|
368
394
|
const version = valuePack.readNumber();
|
|
369
395
|
|
|
@@ -399,7 +425,7 @@ class ModelClassRuntime<FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX =
|
|
|
399
425
|
return info;
|
|
400
426
|
}
|
|
401
427
|
|
|
402
|
-
_migrateValueFields(model: Model<
|
|
428
|
+
_migrateValueFields(model: Model<PUBLIC_FIELDS>, version: number, valuePack: DataPack) {
|
|
403
429
|
const versionInfo = this._loadVersionInfo(model._txn.id, version);
|
|
404
430
|
const record: Record<string, any> = {};
|
|
405
431
|
for (const [name] of this._indexFields.entries()) record[name] = (model as any)[name];
|
|
@@ -452,11 +478,11 @@ export const ModelClass = ModelClassRuntime;
|
|
|
452
478
|
* @template UNIQUE - Named unique-index specifications.
|
|
453
479
|
* @template INDEX - Named secondary-index specifications.
|
|
454
480
|
*/
|
|
455
|
-
export type ModelClass<
|
|
456
|
-
|
|
457
|
-
& ModelClassRuntime<
|
|
481
|
+
export type ModelClass<STATICS, PUBLIC_FIELDS, QUERY_FIELDS, PKA extends readonly any[], UNIQUE = {}, INDEX = {}> =
|
|
482
|
+
STATICS
|
|
483
|
+
& ModelClassRuntime<PUBLIC_FIELDS, QUERY_FIELDS, PKA, UNIQUE, INDEX>
|
|
458
484
|
& {
|
|
459
|
-
new (initial?: Partial<
|
|
485
|
+
new (initial?: Partial<PUBLIC_FIELDS>, txn?: Transaction): Model<PUBLIC_FIELDS>;
|
|
460
486
|
};
|
|
461
487
|
|
|
462
488
|
/**
|
|
@@ -484,13 +510,20 @@ export interface ModelBase {
|
|
|
484
510
|
export function defineModel<
|
|
485
511
|
T extends new () => any,
|
|
486
512
|
const PK extends (keyof FieldsOf<T> & string) | readonly (keyof FieldsOf<T> & string)[],
|
|
487
|
-
const UNIQUE extends Record<string,
|
|
488
|
-
const INDEX extends Record<string,
|
|
513
|
+
const UNIQUE extends Record<string, IndexSpec<T>>,
|
|
514
|
+
const INDEX extends Record<string, IndexSpec<T>>,
|
|
489
515
|
>(
|
|
490
516
|
tableName: string,
|
|
491
517
|
cls: T,
|
|
492
518
|
opts?: { pk?: PK, unique?: UNIQUE, index?: INDEX, override?: boolean }
|
|
493
|
-
): ModelClass<
|
|
519
|
+
): ModelClass<
|
|
520
|
+
StaticMembers<T>,
|
|
521
|
+
PublicFields<FieldsOf<T>>,
|
|
522
|
+
QueryFields<FieldsOf<T>>,
|
|
523
|
+
PKArgs<QueryFields<FieldsOf<T>>, PK>,
|
|
524
|
+
PublicIndexSpecs<UNIQUE>,
|
|
525
|
+
PublicIndexSpecs<INDEX>
|
|
526
|
+
> {
|
|
494
527
|
Object.setPrototypeOf(cls.prototype, ModelBase.prototype);
|
|
495
528
|
const MockModel = function(this: any, initial?: Record<string, any>, txn: Transaction = currentTxn()) {
|
|
496
529
|
this._txn = txn;
|
package/src/types.ts
CHANGED
|
@@ -2,7 +2,7 @@ import DataPack from "./datapack.js";
|
|
|
2
2
|
import { DatabaseError } from "olmdb/lowlevel";
|
|
3
3
|
import { currentTxn } from "./edinburgh.js";
|
|
4
4
|
import { Model, modelRegistry } from "./models.js";
|
|
5
|
-
import type { AnyModelClass } from "./models.js";
|
|
5
|
+
import type { AnyModelClass, ModelBase as ModelInstanceBase } from "./models.js";
|
|
6
6
|
import { assert, addErrorPath, dbGet } from "./utils.js";
|
|
7
7
|
|
|
8
8
|
|
|
@@ -111,6 +111,15 @@ export type FieldValue<TYPE extends TypeWrapper<any>> =
|
|
|
111
111
|
: T
|
|
112
112
|
: never;
|
|
113
113
|
|
|
114
|
+
export type StripQueryArg<T> =
|
|
115
|
+
T extends ModelInstanceBase & { readonly [QUERY_ARG]?: any }
|
|
116
|
+
? Model<{
|
|
117
|
+
[K in Exclude<keyof T, keyof ModelInstanceBase | typeof QUERY_ARG>]: T[K]
|
|
118
|
+
}>
|
|
119
|
+
: T extends { readonly [QUERY_ARG]?: any }
|
|
120
|
+
? { [K in keyof T as K extends typeof QUERY_ARG ? never : K]: T[K] }
|
|
121
|
+
: T;
|
|
122
|
+
|
|
114
123
|
export type FieldQueryArg<T> =
|
|
115
124
|
T extends { readonly [QUERY_ARG]?: infer QUERY }
|
|
116
125
|
? Exclude<QUERY, undefined>
|
|
@@ -657,8 +666,8 @@ export class LinkType<T extends new (...args: any[]) => Model<any>> extends Type
|
|
|
657
666
|
pack.write(model.getPrimaryKey());
|
|
658
667
|
}
|
|
659
668
|
|
|
660
|
-
deserialize(pack: DataPack) {
|
|
661
|
-
return this.getLinkedModel()._get(currentTxn(), pack.readUint8Array(), false)
|
|
669
|
+
deserialize(pack: DataPack): InstanceType<T> {
|
|
670
|
+
return this.getLinkedModel()._get(currentTxn(), pack.readUint8Array(), false) as InstanceType<T>;
|
|
662
671
|
}
|
|
663
672
|
|
|
664
673
|
getError(value: InstanceType<T>) {
|