edinburgh 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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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"}
@@ -132,7 +132,7 @@ export declare const string: TypeWrapper<string>;
132
132
  export declare const orderedString: TypeWrapper<string>;
133
133
  /** Type wrapper instance for the number type. */
134
134
  export declare const number: TypeWrapper<number>;
135
- /** Type wrapper instance for the date/time type. */
135
+ /** Type wrapper instance for the date/time type. Stored without timezone info, rounded to whole seconds. */
136
136
  export declare const dateTime: TypeWrapper<Date>;
137
137
  /** Type wrapper instance for the boolean type. */
138
138
  export declare const boolean: TypeWrapper<boolean>;
@@ -214,6 +214,18 @@ export declare function set<const T>(inner: TypeWrapper<T>, opts?: {
214
214
  max?: number;
215
215
  }): TypeWrapper<Set<T>>;
216
216
  /**
217
+ * Create a Record type wrapper for key-value objects with string or number keys.
218
+ * @template T - The value type.
219
+ * @param inner - Type wrapper for record values.
220
+ * @returns A record type instance.
221
+ *
222
+ * @example
223
+ * ```typescript
224
+ * const scores = E.record(E.number); // Record<string | number, number>
225
+ * ```
226
+ */
227
+ export declare function record<const T>(inner: TypeWrapper<T>): TypeWrapper<Record<string | number, T>>;
228
+ /**
217
229
  * Create a link type wrapper for model relationships.
218
230
  * @template T - The target model class.
219
231
  * @param TargetModel - The model class this link points to.
@@ -264,6 +264,79 @@ export class SetType extends TypeWrapper {
264
264
  }
265
265
  }
266
266
  /**
267
+ * @internal Type wrapper for Record<string | number, T> values.
268
+ * @template T - The type of record values.
269
+ */
270
+ class RecordType extends TypeWrapper {
271
+ inner;
272
+ kind = 'record';
273
+ constructor(inner) {
274
+ super();
275
+ this.inner = inner;
276
+ }
277
+ serialize(value, pack) {
278
+ pack.writeCollectionBoundary('object');
279
+ for (const key of Object.keys(value)) {
280
+ pack.writeObjectKey(key);
281
+ this.inner.serialize(value[key], pack);
282
+ }
283
+ pack.writeCollectionBoundary('end');
284
+ }
285
+ deserialize(pack) {
286
+ pack.readCollectionBoundary('object');
287
+ const result = {};
288
+ while (true) {
289
+ const key = pack.read();
290
+ if (key === DataPack.EOD)
291
+ break;
292
+ result[key] = this.inner.deserialize(pack);
293
+ }
294
+ return result;
295
+ }
296
+ getError(value) {
297
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
298
+ return new DatabaseError(`Expected object, got ${typeof value}`, 'INVALID_TYPE');
299
+ }
300
+ for (const key of Object.keys(value)) {
301
+ const error = this.inner.getError(value[key]);
302
+ if (error)
303
+ return addErrorPath(error, key);
304
+ }
305
+ }
306
+ serializeType(pack) {
307
+ serializeType(this.inner, pack);
308
+ }
309
+ static deserializeType(pack, featureFlags) {
310
+ const inner = deserializeType(pack, featureFlags);
311
+ return new RecordType(inner);
312
+ }
313
+ default() {
314
+ return {};
315
+ }
316
+ clone(value) {
317
+ const result = {};
318
+ for (const key of Object.keys(value)) {
319
+ result[key] = this.inner.clone(value[key]);
320
+ }
321
+ return result;
322
+ }
323
+ equals(a, b) {
324
+ const keysA = Object.keys(a);
325
+ const keysB = Object.keys(b);
326
+ if (keysA.length !== keysB.length)
327
+ return false;
328
+ for (const key of keysA) {
329
+ if (!(key in b) || !this.inner.equals(a[key], b[key]))
330
+ return false;
331
+ }
332
+ return true;
333
+ }
334
+ toString() { return `record<${this.inner}>`; }
335
+ getLinkedModel() {
336
+ return this.inner.getLinkedModel();
337
+ }
338
+ }
339
+ /**
267
340
  * @internal Type wrapper for union/discriminated union types.
268
341
  * @template T - The union type this wrapper represents.
269
342
  */
@@ -471,7 +544,7 @@ export const string = new StringType();
471
544
  export const orderedString = new OrderedStringType();
472
545
  /** Type wrapper instance for the number type. */
473
546
  export const number = new NumberType();
474
- /** Type wrapper instance for the date/time type. */
547
+ /** Type wrapper instance for the date/time type. Stored without timezone info, rounded to whole seconds. */
475
548
  export const dateTime = new DateTimeType();
476
549
  /** Type wrapper instance for the boolean type. */
477
550
  export const boolean = new BooleanType();
@@ -557,6 +630,20 @@ export function set(inner, opts = {}) {
557
630
  return new SetType(wrapIfLiteral(inner), opts);
558
631
  }
559
632
  /**
633
+ * Create a Record type wrapper for key-value objects with string or number keys.
634
+ * @template T - The value type.
635
+ * @param inner - Type wrapper for record values.
636
+ * @returns A record type instance.
637
+ *
638
+ * @example
639
+ * ```typescript
640
+ * const scores = E.record(E.number); // Record<string | number, number>
641
+ * ```
642
+ */
643
+ export function record(inner) {
644
+ return new RecordType(wrapIfLiteral(inner));
645
+ }
646
+ /**
560
647
  * Create a link type wrapper for model relationships.
561
648
  * @template T - The target model class.
562
649
  * @param TargetModel - The model class this link points to.
@@ -595,6 +682,7 @@ const TYPE_WRAPPERS = {
595
682
  boolean: boolean,
596
683
  array: ArrayType,
597
684
  set: SetType,
685
+ record: RecordType,
598
686
  or: OrType,
599
687
  literal: LiteralType,
600
688
  id: identifier,
@@ -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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"}
@@ -7,6 +7,8 @@
7
7
  export declare function assert(cond: any, message?: string): asserts cond;
8
8
  export declare function toBuffer(data: Uint8Array): ArrayBufferLike;
9
9
  export declare function hashBytes(data: Uint8Array): number;
10
+ export declare function hashFunction(fn: Function): number;
11
+ export declare function bytesEqual(a: Uint8Array, b: Uint8Array): boolean;
10
12
  export declare function dbGet(txnId: number, key: Uint8Array): Uint8Array | undefined;
11
13
  export declare function dbPut(txnId: number, key: Uint8Array, value: Uint8Array): void;
12
14
  export declare function dbDel(txnId: number, key: Uint8Array): void;
@@ -22,6 +22,18 @@ export function hashBytes(data) {
22
22
  }
23
23
  return a + ((b & 0x1FFFFF) * 0x100000000);
24
24
  }
25
+ export function hashFunction(fn) {
26
+ return hashBytes(new TextEncoder().encode(fn.toString().replace(/\s\s+/g, ' ').trim()));
27
+ }
28
+ export function bytesEqual(a, b) {
29
+ if (a.length !== b.length)
30
+ return false;
31
+ for (let i = 0; i < a.length; i++) {
32
+ if (a[i] !== b[i])
33
+ return false;
34
+ }
35
+ return true;
36
+ }
25
37
  export function dbGet(txnId, key) {
26
38
  const result = lowlevel.get(txnId, toBuffer(key));
27
39
  return result ? new Uint8Array(result) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,IAAS,EAAE,OAAgB;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,kBAAkB,CAAC,CAAC;IACnD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAgB;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,OAAO,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9G,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAgB;IACtC,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QACpB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAe;IAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAe,EAAE,KAAiB;IACnE,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAe;IAChD,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAI,KAAQ,EAAE,IAAqB;IAC3D,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,OAAO,IAAI,EAAE,CAAC;IACrF,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,0CAA0C;AAC1C,qFAAqF;AACrF,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edinburgh",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "author": "Frank van Viegen",
5
5
  "devDependencies": {
6
6
  "@types/bun": "^1.2.16",
@@ -48,7 +48,8 @@
48
48
  "test:bun": "bun test --bail",
49
49
  "test:node": "bun x vitest --bail 1 --watch=false --silent=passed-only",
50
50
  "prepack": "npm run build && npm run test && npm run build:docs",
51
- "build:docs": "readme-tsdoc && mkdir -p skill && cat skill-header.md README.md > skill/SKILL.md && readme-tsdoc --repo-url https://github.com/vanviegen/edinburgh"
51
+ "build:docs": "readme-tsdoc && mkdir -p skill && cat skill-header.md README.md > skill/SKILL.md && readme-tsdoc --repo-url https://github.com/vanviegen/edinburgh",
52
+ "postinstall": "[ -f .local-post-install.sh ] && sh .local-post-install.sh || true"
52
53
  },
53
54
  "trustedDependencies": [
54
55
  "olmdb"
package/skill/SKILL.md CHANGED
@@ -121,6 +121,8 @@ Instance fields are declared with `E.field(type, options?)`. Available types:
121
121
  | `E.or(A, B, ...)` | `A \| B \| ...` | Union type; args can be types or literal values |
122
122
  | `E.literal(v)` | literal type | Constant value; defaults to that value |
123
123
  | `E.array(T)` | `T[]` | Optional `{min, max}` constraints |
124
+ | `E.set(T)` | `Set<T>` | Optional `{min, max}` constraints |
125
+ | `E.record(T)` | `Record<string \| number, T>` | Key-value object with string/number keys |
124
126
  | `E.link(Model)` | `Model` | Foreign key, lazy-loaded on access |
125
127
 
126
128
  #### Defaults
@@ -254,6 +256,67 @@ await E.transact(() => {
254
256
  });
255
257
  ```
256
258
 
259
+ #### Non-Persistent Properties
260
+
261
+ You can freely add regular methods, getters, and other non-persistent properties to model classes. These work normally in JavaScript but are **not stored in the database** and **not synchronized** across transactions or processes.
262
+
263
+ ```typescript
264
+ @E.registerModel
265
+ class User extends E.Model<User> {
266
+ static pk = E.primary(User, "id");
267
+ id = E.field(E.identifier);
268
+ firstName = E.field(E.string);
269
+ lastName = E.field(E.string);
270
+
271
+ // Non-persisted property
272
+ cachedFullName?: string;
273
+
274
+ get fullName(): string {
275
+ this.cachedFullName ??= `${this.firstName} ${this.lastName}`;
276
+ return this.cachedFullName;
277
+ }
278
+
279
+ greet(): string {
280
+ return `Hello, ${this.fullName}!`;
281
+ }
282
+ }
283
+ ```
284
+
285
+ #### Computed Indexes
286
+
287
+ Instead of naming fields, you can pass a **function** to `E.unique()` or `E.index()`. The function receives a model instance and returns an **array** of index key values. Each element creates a separate index entry, enabling multi-value indexes. Return `[]` to skip indexing for that instance (partial index).
288
+
289
+ ```typescript
290
+ @E.registerModel
291
+ class Article extends E.Model<Article> {
292
+ static pk = E.primary(Article, "id");
293
+ static byFullName = E.unique(Article, (a: Article) => [`${a.firstName} ${a.lastName}`]);
294
+ static byWord = E.index(Article, (a: Article) => a.title.toLowerCase().split(" "));
295
+ static byDomain = E.index(Article, (a: Article) => a.email ? [a.email.split("@")[1]] : []);
296
+
297
+ id = E.field(E.identifier);
298
+ firstName = E.field(E.string);
299
+ lastName = E.field(E.string);
300
+ title = E.field(E.string);
301
+ email = E.field(E.opt(E.string));
302
+ }
303
+
304
+ await E.transact(() => {
305
+ new Article({ firstName: "Jane", lastName: "Doe", title: "Hello World", email: "jane@acme.com" });
306
+
307
+ // Lookup via computed unique index
308
+ const jane = Article.byFullName.get("Jane Doe");
309
+
310
+ // Multi-value: each word in the title is indexed separately
311
+ for (const a of Article.byWord.find({is: "hello"})) { ... }
312
+
313
+ // Partial index: articles without email are skipped
314
+ for (const a of Article.byDomain.find({is: "acme.com"})) { ... }
315
+ });
316
+ ```
317
+
318
+ Computed indexes also support `find()` range queries and `batchProcess()`, just like field-based indexes.
319
+
257
320
  ### Relationships (Links)
258
321
 
259
322
  Use `E.link(Model)` for foreign keys:
@@ -852,7 +915,7 @@ Type wrapper instance for the number type.
852
915
 
853
916
  ### dateTime · constant
854
917
 
855
- Type wrapper instance for the date/time type.
918
+ Type wrapper instance for the date/time type. Stored without timezone info, rounded to whole seconds.
856
919
 
857
920
  **Value:** `TypeWrapper<Date>`
858
921
 
@@ -944,6 +1007,52 @@ const stringArray = E.array(E.string);
944
1007
  const boundedArray = E.array(E.number, {min: 1, max: 10});
945
1008
  ```
946
1009
 
1010
+ ### set · function
1011
+
1012
+ Create a Set type wrapper with optional length constraints.
1013
+
1014
+ **Signature:** `<const T>(inner: TypeWrapper<T>, opts?: { min?: number; max?: number; }) => TypeWrapper<Set<T>>`
1015
+
1016
+ **Type Parameters:**
1017
+
1018
+ - `T` - The element type.
1019
+
1020
+ **Parameters:**
1021
+
1022
+ - `inner: TypeWrapper<T>` - - Type wrapper for set elements.
1023
+ - `opts: {min?: number, max?: number}` (optional) - - Optional constraints (min/max length).
1024
+
1025
+ **Returns:** A set type instance.
1026
+
1027
+ **Examples:**
1028
+
1029
+ ```typescript
1030
+ const stringSet = E.set(E.string);
1031
+ const boundedSet = E.set(E.number, {min: 1, max: 10});
1032
+ ```
1033
+
1034
+ ### record · function
1035
+
1036
+ Create a Record type wrapper for key-value objects with string or number keys.
1037
+
1038
+ **Signature:** `<const T>(inner: TypeWrapper<T>) => TypeWrapper<Record<string | number, T>>`
1039
+
1040
+ **Type Parameters:**
1041
+
1042
+ - `T` - The value type.
1043
+
1044
+ **Parameters:**
1045
+
1046
+ - `inner: TypeWrapper<T>` - - Type wrapper for record values.
1047
+
1048
+ **Returns:** A record type instance.
1049
+
1050
+ **Examples:**
1051
+
1052
+ ```typescript
1053
+ const scores = E.record(E.number); // Record<string | number, number>
1054
+ ```
1055
+
947
1056
  ### literal · function
948
1057
 
949
1058
  Create a literal type wrapper for a constant value.
@@ -997,19 +1106,24 @@ class Post extends E.Model<Post> {
997
1106
 
998
1107
  ### index · function
999
1108
 
1000
- Create a secondary index on model fields.
1109
+ Create a secondary index on model fields, or a computed secondary index using a function.
1110
+
1111
+ For field-based indexes, pass a field name or array of field names.
1112
+ For computed indexes, pass a function that takes a model instance and returns an array of
1113
+ index keys. Return `[]` to skip indexing for that instance. Each array element creates a
1114
+ separate index entry, enabling multi-value indexes (e.g., indexing by each word in a name).
1001
1115
 
1002
- **Signature:** `{ <M extends typeof Model, const F extends (keyof InstanceType<M> & string)>(MyModel: M, field: F): SecondaryIndex<M, [F]>; <M extends typeof Model, const FS extends readonly (keyof InstanceType<M> & string)[]>(MyModel: M, fields: FS): SecondaryIndex<...>; }`
1116
+ **Signature:** `{ <M extends typeof Model, V>(MyModel: M, fn: (instance: InstanceType<M>) => V[]): SecondaryIndex<M, [], [V]>; <M extends typeof Model, const F extends (keyof InstanceType<M> & string)>(MyModel: M, field: F): SecondaryIndex<...>; <M extends typeof Model, const FS extends readonly (keyof InstanceType<M> & string)[]>(...`
1003
1117
 
1004
1118
  **Type Parameters:**
1005
1119
 
1006
1120
  - `M extends typeof Model` - The model class.
1007
- - `F extends (keyof InstanceType<M> & string)` - The field name (for single field index).
1121
+ - `V` - The computed index value type (for function-based indexes).
1008
1122
 
1009
1123
  **Parameters:**
1010
1124
 
1011
1125
  - `MyModel: M` - - The model class to create the index for.
1012
- - `field: F` - - Single field name for simple indexes.
1126
+ - `fn: (instance: InstanceType<M>) => V[]`
1013
1127
 
1014
1128
  **Returns:** A new SecondaryIndex instance.
1015
1129
 
@@ -1019,6 +1133,7 @@ Create a secondary index on model fields.
1019
1133
  class User extends E.Model<User> {
1020
1134
  static byAge = E.index(User, "age");
1021
1135
  static byTagsDate = E.index(User, ["tags", "createdAt"]);
1136
+ static byWord = E.index(User, (u: User) => u.name.split(" "));
1022
1137
  }
1023
1138
  ```
1024
1139
 
@@ -1051,19 +1166,24 @@ class User extends E.Model<User> {
1051
1166
 
1052
1167
  ### unique · function
1053
1168
 
1054
- Create a unique index on model fields.
1169
+ Create a unique index on model fields, or a computed unique index using a function.
1055
1170
 
1056
- **Signature:** `{ <M extends typeof Model, const F extends (keyof InstanceType<M> & string)>(MyModel: M, field: F): UniqueIndex<M, [F]>; <M extends typeof Model, const FS extends readonly (keyof InstanceType<M> & string)[]>(MyModel: M, fields: FS): UniqueIndex<...>; }`
1171
+ For field-based indexes, pass a field name or array of field names.
1172
+ For computed indexes, pass a function that takes a model instance and returns an array of
1173
+ index keys. Return `[]` to skip indexing for that instance. Each array element creates a
1174
+ separate index entry, enabling multi-value indexes (e.g., indexing by each word in a name).
1175
+
1176
+ **Signature:** `{ <M extends typeof Model, V>(MyModel: M, fn: (instance: InstanceType<M>) => V[]): UniqueIndex<M, [], [V]>; <M extends typeof Model, const F extends (keyof InstanceType<M> & string)>(MyModel: M, field: F): UniqueIndex<...>; <M extends typeof Model, const FS extends readonly (keyof InstanceType<M> & string)[]>(MyMode...`
1057
1177
 
1058
1178
  **Type Parameters:**
1059
1179
 
1060
1180
  - `M extends typeof Model` - The model class.
1061
- - `F extends (keyof InstanceType<M> & string)` - The field name (for single field index).
1181
+ - `V` - The computed index value type (for function-based indexes).
1062
1182
 
1063
1183
  **Parameters:**
1064
1184
 
1065
1185
  - `MyModel: M` - - The model class to create the index for.
1066
- - `field: F` - - Single field name for simple indexes.
1186
+ - `fn: (instance: InstanceType<M>) => V[]`
1067
1187
 
1068
1188
  **Returns:** A new UniqueIndex instance.
1069
1189
 
@@ -1073,6 +1193,7 @@ Create a unique index on model fields.
1073
1193
  class User extends E.Model<User> {
1074
1194
  static byEmail = E.unique(User, "email");
1075
1195
  static byNameAge = E.unique(User, ["name", "age"]);
1196
+ static byFullName = E.unique(User, (u: User) => [`${u.firstName} ${u.lastName}`]);
1076
1197
  }
1077
1198
  ```
1078
1199
 
@@ -1095,6 +1216,7 @@ Indexes enable fast queries on specific field combinations and enforce uniquenes
1095
1216
 
1096
1217
  - `M extends typeof Model` - The model class this index belongs to.
1097
1218
  - `F extends readonly (keyof InstanceType<M> & string)[]` - The field names that make up this index.
1219
+ - `ARGS extends readonly any[] = IndexArgTypes<M, F>`
1098
1220
 
1099
1221
  **Constructor Parameters:**
1100
1222
 
@@ -1103,21 +1225,21 @@ Indexes enable fast queries on specific field combinations and enforce uniquenes
1103
1225
 
1104
1226
  #### baseIndex.find · method
1105
1227
 
1106
- **Signature:** `(opts?: FindOptions<IndexArgTypes<M, F>>) => IndexRangeIterator<M>`
1228
+ **Signature:** `(opts?: FindOptions<ARGS>) => IndexRangeIterator<M>`
1107
1229
 
1108
1230
  **Parameters:**
1109
1231
 
1110
- - `opts: FindOptions<IndexArgTypes<M, F>>` (optional)
1232
+ - `opts: FindOptions<ARGS>` (optional)
1111
1233
 
1112
1234
  #### baseIndex.batchProcess · method
1113
1235
 
1114
1236
  [object Object],[object Object],[object Object]
1115
1237
 
1116
- **Signature:** `(opts: FindOptions<IndexArgTypes<M, F>> & { limitSeconds?: number; limitRows?: number; }, callback: (row: InstanceType<M>) => void | Promise<...>) => Promise<...>`
1238
+ **Signature:** `(opts: FindOptions<ARGS> & { limitSeconds?: number; limitRows?: number; }, callback: (row: InstanceType<M>) => void | Promise<void>) => Promise<...>`
1117
1239
 
1118
1240
  **Parameters:**
1119
1241
 
1120
- - `opts: FindOptions<IndexArgTypes<M, F>> & { limitSeconds?: number; limitRows?: number }` (optional) - - Query options (same as `find()`), plus:
1242
+ - `opts: FindOptions<ARGS> & { limitSeconds?: number; limitRows?: number }` (optional) - - Query options (same as `find()`), plus:
1121
1243
  - `callback: (row: InstanceType<M>) => void | Promise<void>` - - Called for each matching row within a transaction
1122
1244
 
1123
1245
  #### baseIndex.toString · method
@@ -1135,16 +1257,17 @@ Unique index that stores references to the primary key.
1135
1257
 
1136
1258
  - `M extends typeof Model` - The model class this index belongs to.
1137
1259
  - `F extends readonly (keyof InstanceType<M> & string)[]` - The field names that make up this index.
1260
+ - `ARGS extends readonly any[] = IndexArgTypes<M, F>`
1138
1261
 
1139
1262
  #### uniqueIndex.get · method
1140
1263
 
1141
1264
  Get a model instance by unique index key values.
1142
1265
 
1143
- **Signature:** `(...args: IndexArgTypes<M, F>) => InstanceType<M>`
1266
+ **Signature:** `(...args: ARGS) => InstanceType<M>`
1144
1267
 
1145
1268
  **Parameters:**
1146
1269
 
1147
- - `args: IndexArgTypes<M, F>` - - The unique index key values.
1270
+ - `args: ARGS` - - The unique index key values.
1148
1271
 
1149
1272
  **Returns:** The model instance if found, undefined otherwise.
1150
1273
 
@@ -1203,6 +1326,7 @@ Secondary index for non-unique lookups.
1203
1326
 
1204
1327
  - `M extends typeof Model` - The model class this index belongs to.
1205
1328
  - `F extends readonly (keyof InstanceType<M> & string)[]` - The field names that make up this index.
1329
+ - `ARGS extends readonly any[] = IndexArgTypes<M, F>`
1206
1330
 
1207
1331
  ### Change · type
1208
1332