edinburgh 0.4.5 → 0.5.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.
Files changed (53) hide show
  1. package/README.md +268 -374
  2. package/build/src/datapack.js +1 -1
  3. package/build/src/datapack.js.map +1 -1
  4. package/build/src/edinburgh.d.ts +5 -5
  5. package/build/src/edinburgh.js +8 -7
  6. package/build/src/edinburgh.js.map +1 -1
  7. package/build/src/indexes.d.ts +46 -116
  8. package/build/src/indexes.js +148 -180
  9. package/build/src/indexes.js.map +1 -1
  10. package/build/src/migrate.js +11 -31
  11. package/build/src/migrate.js.map +1 -1
  12. package/build/src/models.d.ts +74 -49
  13. package/build/src/models.js +112 -165
  14. package/build/src/models.js.map +1 -1
  15. package/build/src/types.d.ts +30 -21
  16. package/build/src/types.js +16 -30
  17. package/build/src/types.js.map +1 -1
  18. package/package.json +1 -3
  19. package/skill/BaseIndex_batchProcess.md +1 -1
  20. package/skill/BaseIndex_find.md +2 -2
  21. package/skill/BaseIndex_find_2.md +7 -0
  22. package/skill/BaseIndex_find_3.md +7 -0
  23. package/skill/BaseIndex_find_4.md +7 -0
  24. package/skill/Model.md +5 -7
  25. package/skill/Model_batchProcess.md +8 -0
  26. package/skill/Model_delete.md +1 -1
  27. package/skill/Model_migrate.md +2 -4
  28. package/skill/Model_preCommit.md +2 -4
  29. package/skill/Model_preventPersist.md +1 -1
  30. package/skill/Model_replaceInto.md +2 -2
  31. package/skill/NonPrimaryIndex.md +10 -0
  32. package/skill/SKILL.md +146 -144
  33. package/skill/SecondaryIndex.md +2 -2
  34. package/skill/UniqueIndex.md +2 -2
  35. package/skill/defineModel.md +22 -0
  36. package/skill/field.md +2 -2
  37. package/skill/link.md +11 -9
  38. package/skill/transact.md +2 -2
  39. package/src/datapack.ts +1 -1
  40. package/src/edinburgh.ts +8 -9
  41. package/src/indexes.ts +157 -276
  42. package/src/migrate.ts +9 -30
  43. package/src/models.ts +188 -174
  44. package/src/types.ts +31 -26
  45. package/skill/Model_findAll.md +0 -12
  46. package/skill/PrimaryIndex.md +0 -8
  47. package/skill/PrimaryIndex_get.md +0 -17
  48. package/skill/PrimaryIndex_getLazy.md +0 -13
  49. package/skill/UniqueIndex_get.md +0 -17
  50. package/skill/index.md +0 -32
  51. package/skill/primary.md +0 -26
  52. package/skill/registerModel.md +0 -26
  53. package/skill/unique.md +0 -32
@@ -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) {
@@ -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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"}
@@ -1,9 +1,9 @@
1
1
  export declare function scheduleInit(): void;
2
- export { Model, registerModel, field, } from "./models.js";
2
+ export { Model, defineModel, field, currentTxn, } 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 { index, primary, unique, dump, } from "./indexes.js";
6
- export { BaseIndex, UniqueIndex, PrimaryIndex, SecondaryIndex } from './indexes.js';
5
+ export { dump, } from "./indexes.js";
6
+ export { BaseIndex, NonPrimaryIndex, UniqueIndex, SecondaryIndex } from './indexes.js';
7
7
  export { type Change } from './models.js';
8
8
  export type { Transaction } from './models.js';
9
9
  export { DatabaseError } from "olmdb/lowlevel";
@@ -41,7 +41,7 @@ export declare function init(dbDir: string): void;
41
41
  * @example
42
42
  * ```typescript
43
43
  * const paid = await E.transact(() => {
44
- * const user = User.pk.get("john_doe");
44
+ * const user = User.get("john_doe");
45
45
  * if (user.credits > 0) {
46
46
  * user.credits--;
47
47
  * return true;
@@ -52,7 +52,7 @@ export declare function init(dbDir: string): void;
52
52
  * ```typescript
53
53
  * // Transaction with automatic retry on conflicts
54
54
  * await E.transact(() => {
55
- * const counter = Counter.pk.get("global") || new Counter({id: "global", value: 0});
55
+ * const counter = Counter.get("global") || new Counter({id: "global", value: 0});
56
56
  * counter.value++;
57
57
  * });
58
58
  * ```
@@ -4,7 +4,7 @@ import { modelRegistry, txnStorage, currentTxn } from "./models.js";
4
4
  let initNeeded = true;
5
5
  export function scheduleInit() { initNeeded = true; }
6
6
  // Re-export public API from models
7
- export { Model, registerModel, field, } from "./models.js";
7
+ export { Model, defineModel, field, currentTxn, } from "./models.js";
8
8
  // Re-export public API from types (only factory functions and instances)
9
9
  export {
10
10
  // Pre-defined type instances
@@ -12,8 +12,8 @@ string, orderedString, number, dateTime, boolean, identifier, undef,
12
12
  // Type factory functions
13
13
  opt, or, array, set, record, literal, link, } from "./types.js";
14
14
  // Re-export public API from indexes
15
- export { index, primary, unique, dump, } from "./indexes.js";
16
- export { BaseIndex, UniqueIndex, PrimaryIndex, SecondaryIndex } from './indexes.js';
15
+ export { dump, } from "./indexes.js";
16
+ export { BaseIndex, NonPrimaryIndex, UniqueIndex, SecondaryIndex } from './indexes.js';
17
17
  export { DatabaseError } from "olmdb/lowlevel";
18
18
  export { runMigration } from './migrate.js';
19
19
  let olmdbReady = false;
@@ -59,7 +59,7 @@ const STALE_INSTANCE_DESCRIPTOR = {
59
59
  * @example
60
60
  * ```typescript
61
61
  * const paid = await E.transact(() => {
62
- * const user = User.pk.get("john_doe");
62
+ * const user = User.get("john_doe");
63
63
  * if (user.credits > 0) {
64
64
  * user.credits--;
65
65
  * return true;
@@ -70,7 +70,7 @@ const STALE_INSTANCE_DESCRIPTOR = {
70
70
  * ```typescript
71
71
  * // Transaction with automatic retry on conflicts
72
72
  * await E.transact(() => {
73
- * const counter = Counter.pk.get("global") || new Counter({id: "global", value: 0});
73
+ * const counter = Counter.get("global") || new Counter({id: "global", value: 0});
74
74
  * counter.value++;
75
75
  * });
76
76
  * ```
@@ -88,7 +88,7 @@ export async function transact(fn) {
88
88
  olmdbReady = true;
89
89
  initNeeded = false;
90
90
  for (const model of Object.values(modelRegistry)) {
91
- await model._delayedInit();
91
+ await model._loadCreateIndexes();
92
92
  }
93
93
  })();
94
94
  await pendingInit;
@@ -208,7 +208,8 @@ export async function deleteEverything() {
208
208
  for (const model of Object.values(modelRegistry)) {
209
209
  if (!model.fields)
210
210
  continue;
211
- await model._delayedInit(true);
211
+ model._resetIndexes();
212
+ await model._loadCreateIndexes();
212
213
  }
213
214
  }
214
215
  //# sourceMappingURL=edinburgh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edinburgh.js","sourceRoot":"","sources":["../../src/edinburgh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edinburgh.js","sourceRoot":"","sources":["../../src/edinburgh.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ type IndexArgTypes<M extends typeof Model<any>, F extends readonly (keyof Instan
5
5
  [I in keyof F]: InstanceType<M>[F[I]];
6
6
  };
7
7
  /** Cached information about a specific version of a primary index's value format. */
8
- interface VersionInfo {
8
+ export interface VersionInfo {
9
9
  migrateHash: number;
10
10
  /** Non-key field names → TypeWrappers for deserialization of this version's data. */
11
11
  nonKeyFields: Map<string, TypeWrapper<any>>;
@@ -15,21 +15,21 @@ interface VersionInfo {
15
15
  /**
16
16
  * Iterator for range queries on indexes.
17
17
  * Handles common iteration logic for both primary and unique indexes.
18
- * Implements both Iterator and Iterable interfaces for efficiency.
18
+ * Extends built-in Iterator to provide map/filter/reduce/toArray/etc.
19
19
  */
20
- export declare class IndexRangeIterator<M extends typeof Model> implements Iterator<InstanceType<M>>, Iterable<InstanceType<M>> {
20
+ export declare class IndexRangeIterator<M extends typeof Model> extends Iterator<InstanceType<M>> {
21
21
  private txn;
22
22
  private iteratorId;
23
23
  private indexId;
24
24
  private parentIndex;
25
25
  constructor(txn: Transaction, iteratorId: number, indexId: number, parentIndex: BaseIndex<M, any>);
26
- [Symbol.iterator](): Iterator<InstanceType<M>>;
26
+ [Symbol.iterator](): this;
27
27
  next(): IteratorResult<InstanceType<M>>;
28
28
  count(): number;
29
29
  fetch(): InstanceType<M> | undefined;
30
30
  }
31
31
  type ArrayOrOnlyItem<ARG_TYPES extends readonly any[]> = ARG_TYPES extends readonly [infer A] ? (A | Partial<ARG_TYPES>) : Partial<ARG_TYPES>;
32
- type FindOptions<ARG_TYPES extends readonly any[]> = (({
32
+ export type FindOptions<ARG_TYPES extends readonly any[], FETCH extends 'first' | 'single' | undefined = undefined> = (({
33
33
  is: ArrayOrOnlyItem<ARG_TYPES>;
34
34
  } | (({
35
35
  from: ArrayOrOnlyItem<ARG_TYPES>;
@@ -41,7 +41,11 @@ type FindOptions<ARG_TYPES extends readonly any[]> = (({
41
41
  before: ArrayOrOnlyItem<ARG_TYPES>;
42
42
  } | {}))) & {
43
43
  reverse?: boolean;
44
- });
44
+ } & (FETCH extends undefined ? {
45
+ fetch?: undefined;
46
+ } : {
47
+ fetch: FETCH;
48
+ }));
45
49
  /**
46
50
  * Base class for database indexes for efficient lookups on model fields.
47
51
  *
@@ -55,7 +59,6 @@ export declare abstract class BaseIndex<M extends typeof Model, const F extends
55
59
  _MyModel: M;
56
60
  _fieldTypes: Map<keyof InstanceType<M> & string, TypeWrapper<any>>;
57
61
  _fieldCount: number;
58
- _resetIndexFieldDescriptors: Record<string | symbol | number, PropertyDescriptor>;
59
62
  _computeFn?: (data: any) => any[];
60
63
  /**
61
64
  * Create a new index.
@@ -83,16 +86,11 @@ export declare abstract class BaseIndex<M extends typeof Model, const F extends
83
86
  * @internal
84
87
  */
85
88
  abstract _pairToInstance(txn: Transaction, keyBuffer: ArrayBuffer, valueBuffer: ArrayBuffer): InstanceType<M>;
86
- _hasNullIndexValues(data: Record<string, any>): boolean;
87
- abstract _serializeKey(primaryKey: Uint8Array, data: Record<string, any>): Uint8Array;
88
- _serializeKeyFields(data: Record<string, any>): DataPack;
89
89
  /**
90
90
  * Retrieve (or create) a stable index ID from the DB, with retry on transaction races.
91
91
  * Sets `this._indexId` on success.
92
92
  */
93
93
  _retrieveIndexId(): Promise<void>;
94
- abstract _delete(txn: Transaction, primaryKey: Uint8Array, model: InstanceType<M>): void;
95
- abstract _write(txn: Transaction, primaryKey: Uint8Array, model: InstanceType<M>): void;
96
94
  /**
97
95
  * Find model instances using flexible range query options.
98
96
  *
@@ -141,7 +139,7 @@ export declare abstract class BaseIndex<M extends typeof Model, const F extends
141
139
  * }
142
140
  *
143
141
  * // Multi-field index prefix matching
144
- * for (const item of CompositeModel.pk.find({from: ["electronics", "phones"]})) {
142
+ * for (const item of CompositeModel.find({from: ["electronics", "phones"]})) {
145
143
  * console.log(item.name); // All electronics/phones items
146
144
  * }
147
145
  *
@@ -152,6 +150,8 @@ export declare abstract class BaseIndex<M extends typeof Model, const F extends
152
150
  * ```
153
151
  */
154
152
  _computeKeyBounds(opts: FindOptions<ARGS>): [DataPack | undefined, DataPack | undefined] | null;
153
+ find(opts?: FindOptions<ARGS, 'first'>): InstanceType<M> | undefined;
154
+ find(opts: FindOptions<ARGS, 'single'>): InstanceType<M>;
155
155
  find(opts?: FindOptions<ARGS>): IndexRangeIterator<M>;
156
156
  /**
157
157
  * Process all matching rows in batched transactions.
@@ -201,7 +201,7 @@ export declare class PrimaryIndex<M extends typeof Model, const F extends readon
201
201
  *
202
202
  * @example
203
203
  * ```typescript
204
- * const user = User.pk.get("john_doe");
204
+ * const user = User.get("john_doe");
205
205
  * ```
206
206
  */
207
207
  get(...args: IndexArgTypes<M, F>): InstanceType<M> | undefined;
@@ -215,7 +215,10 @@ export declare class PrimaryIndex<M extends typeof Model, const F extends readon
215
215
  getLazy(...args: IndexArgTypes<M, F>): InstanceType<M>;
216
216
  _get(txn: Transaction, args: IndexArgTypes<M, F> | Uint8Array, loadNow: false | Uint8Array): InstanceType<M>;
217
217
  _get(txn: Transaction, args: IndexArgTypes<M, F> | Uint8Array, loadNow: true): InstanceType<M> | undefined;
218
- _serializeKey(primaryKey: Uint8Array, _data: Record<string, any>): Uint8Array;
218
+ /**
219
+ * Serialize primary key bytes from field values: indexId + typed field values.
220
+ */
221
+ _serializeKey(data: Record<string, any>): DataPack;
219
222
  _lazyNow(model: InstanceType<M>): void;
220
223
  _setNonKeyValues(model: InstanceType<M>, valueArray: Uint8Array): void;
221
224
  /** Load a version's info from DB, caching the result. */
@@ -229,121 +232,48 @@ export declare class PrimaryIndex<M extends typeof Model, const F extends readon
229
232
  _delete(txn: Transaction, primaryKey: Uint8Array, _data: Record<string, any>): void;
230
233
  }
231
234
  /**
232
- * Unique index that stores references to the primary key.
233
- *
234
- * @template M - The model class this index belongs to.
235
- * @template F - The field names that make up this index.
235
+ * Abstract base for all non-primary indexes (unique and secondary).
236
+ * Provides shared key serialization, write/delete/update logic.
236
237
  */
237
- export declare class UniqueIndex<M extends typeof Model, const F extends readonly (keyof InstanceType<M> & string)[], ARGS extends readonly any[] = IndexArgTypes<M, F>> extends BaseIndex<M, F, ARGS> {
238
+ export declare abstract class NonPrimaryIndex<M extends typeof Model, const F extends readonly (keyof InstanceType<M> & string)[], ARGS extends readonly any[] = IndexArgTypes<M, F>> extends BaseIndex<M, F, ARGS> {
239
+ _resetIndexFieldDescriptors: Record<string | symbol | number, PropertyDescriptor>;
238
240
  constructor(MyModel: M, fieldsOrFn: F | ((data: any) => any[]));
241
+ _delayedInit(): Promise<void>;
239
242
  /**
240
- * Get a model instance by unique index key values.
241
- * @param args - The unique index key values.
242
- * @returns The model instance if found, undefined otherwise.
243
- *
244
- * @example
245
- * ```typescript
246
- * const userByEmail = User.byEmail.get("john@example.com");
247
- * ```
243
+ * Build DataPack key prefixes (indexId + field/computed values). Returns [] to skip indexing.
244
+ * SecondaryIndex appends the primary key to each pack before converting to Uint8Array.
245
+ */
246
+ _buildKeyPacks(data: Record<string, any>): DataPack[];
247
+ /** Serialize all index keys. Default: key = indexId + fields. */
248
+ _serializeKeys(primaryKey: Uint8Array, data: Record<string, any>): Uint8Array[];
249
+ /** Write a single pre-serialized key — subclasses define value and uniqueness check. */
250
+ abstract _writeKey(txn: Transaction, key: Uint8Array, primaryKey: Uint8Array): void;
251
+ _write(txn: Transaction, primaryKey: Uint8Array, model: InstanceType<M>): void;
252
+ _delete(txn: Transaction, primaryKey: Uint8Array, model: InstanceType<M>): void;
253
+ /**
254
+ * Granular update: diff old vs new keys and only insert/delete what changed.
255
+ * For non-computed indexes, uses a fast path that checks which fields changed.
248
256
  */
257
+ _update(txn: Transaction, primaryKey: Uint8Array, newData: InstanceType<M>, oldData: Record<string, any>): number;
258
+ }
259
+ /**
260
+ * Unique index that stores references to the primary key.
261
+ */
262
+ export declare class UniqueIndex<M extends typeof Model, const F extends readonly (keyof InstanceType<M> & string)[], ARGS extends readonly any[] = IndexArgTypes<M, F>> extends NonPrimaryIndex<M, F, ARGS> {
249
263
  get(...args: ARGS): InstanceType<M> | undefined;
250
- _serializeKey(primaryKey: Uint8Array, data: Record<string, any>): Uint8Array;
251
- _delete(txn: Transaction, primaryKey: Uint8Array, data: Record<string, any>): void;
252
- _write(txn: Transaction, primaryKey: Uint8Array, data: Record<string, any>): void;
264
+ _writeKey(txn: Transaction, key: Uint8Array, primaryKey: Uint8Array): void;
253
265
  _pairToInstance(txn: Transaction, keyBuffer: ArrayBuffer, valueBuffer: ArrayBuffer): InstanceType<M>;
254
266
  _getTypeName(): string;
255
267
  }
256
268
  /**
257
269
  * Secondary index for non-unique lookups.
258
- *
259
- * @template M - The model class this index belongs to.
260
- * @template F - The field names that make up this index.
261
270
  */
262
- export declare class SecondaryIndex<M extends typeof Model, const F extends readonly (keyof InstanceType<M> & string)[], ARGS extends readonly any[] = IndexArgTypes<M, F>> extends BaseIndex<M, F, ARGS> {
263
- constructor(MyModel: M, fieldsOrFn: F | ((data: any) => any[]));
271
+ export declare class SecondaryIndex<M extends typeof Model, const F extends readonly (keyof InstanceType<M> & string)[], ARGS extends readonly any[] = IndexArgTypes<M, F>> extends NonPrimaryIndex<M, F, ARGS> {
264
272
  _pairToInstance(txn: Transaction, keyBuffer: ArrayBuffer, _valueBuffer: ArrayBuffer): InstanceType<M>;
265
- _serializeKey(primaryKey: Uint8Array, model: InstanceType<M>): Uint8Array;
266
- _write(txn: Transaction, primaryKey: Uint8Array, model: InstanceType<M>): void;
267
- _delete(txn: Transaction, primaryKey: Uint8Array, model: InstanceType<M>): void;
273
+ _serializeKeys(primaryKey: Uint8Array, data: Record<string, any>): Uint8Array[];
274
+ _writeKey(txn: Transaction, key: Uint8Array, _primaryKey: Uint8Array): void;
268
275
  _getTypeName(): string;
269
276
  }
270
- export type Index<M extends typeof Model, F extends readonly (keyof InstanceType<M> & string)[]> = PrimaryIndex<M, F> | UniqueIndex<M, F> | SecondaryIndex<M, F>;
271
- /**
272
- * Create a primary index on model fields.
273
- * @template M - The model class.
274
- * @template F - The field name (for single field index).
275
- * @template FS - The field names array (for composite index).
276
- * @param MyModel - The model class to create the index for.
277
- * @param field - Single field name for simple indexes.
278
- * @param fields - Array of field names for composite indexes.
279
- * @returns A new PrimaryIndex instance.
280
- *
281
- * @example
282
- * ```typescript
283
- * class User extends E.Model<User> {
284
- * static pk = E.primary(User, ["id"]);
285
- * static pkSingle = E.primary(User, "id");
286
- * }
287
- * ```
288
- */
289
- export declare function primary<M extends typeof Model, const F extends (keyof InstanceType<M> & string)>(MyModel: M, field: F): PrimaryIndex<M, [F]>;
290
- export declare function primary<M extends typeof Model, const FS extends readonly (keyof InstanceType<M> & string)[]>(MyModel: M, fields: FS): PrimaryIndex<M, FS>;
291
- /**
292
- * Create a unique index on model fields, or a computed unique index using a function.
293
- *
294
- * For field-based indexes, pass a field name or array of field names.
295
- * For computed indexes, pass a function that takes a model instance and returns an array of
296
- * index keys. Return `[]` to skip indexing for that instance. Each array element creates a
297
- * separate index entry, enabling multi-value indexes (e.g., indexing by each word in a name).
298
- *
299
- * @template M - The model class.
300
- * @template V - The computed index value type (for function-based indexes).
301
- * @template F - The field name (for single field index).
302
- * @template FS - The field names array (for composite index).
303
- * @param MyModel - The model class to create the index for.
304
- * @param field - Field name, array of field names, or a compute function.
305
- * @returns A new UniqueIndex instance.
306
- *
307
- * @example
308
- * ```typescript
309
- * class User extends E.Model<User> {
310
- * static byEmail = E.unique(User, "email");
311
- * static byNameAge = E.unique(User, ["name", "age"]);
312
- * static byFullName = E.unique(User, (u: User) => [`${u.firstName} ${u.lastName}`]);
313
- * }
314
- * ```
315
- */
316
- export declare function unique<M extends typeof Model, V>(MyModel: M, fn: (instance: InstanceType<M>) => V[]): UniqueIndex<M, [], [V]>;
317
- export declare function unique<M extends typeof Model, const F extends (keyof InstanceType<M> & string)>(MyModel: M, field: F): UniqueIndex<M, [F]>;
318
- export declare function unique<M extends typeof Model, const FS extends readonly (keyof InstanceType<M> & string)[]>(MyModel: M, fields: FS): UniqueIndex<M, FS>;
319
- /**
320
- * Create a secondary index on model fields, or a computed secondary index using a function.
321
- *
322
- * For field-based indexes, pass a field name or array of field names.
323
- * For computed indexes, pass a function that takes a model instance and returns an array of
324
- * index keys. Return `[]` to skip indexing for that instance. Each array element creates a
325
- * separate index entry, enabling multi-value indexes (e.g., indexing by each word in a name).
326
- *
327
- * @template M - The model class.
328
- * @template V - The computed index value type (for function-based indexes).
329
- * @template F - The field name (for single field index).
330
- * @template FS - The field names array (for composite index).
331
- * @param MyModel - The model class to create the index for.
332
- * @param field - Field name, array of field names, or a compute function.
333
- * @returns A new SecondaryIndex instance.
334
- *
335
- * @example
336
- * ```typescript
337
- * class User extends E.Model<User> {
338
- * static byAge = E.index(User, "age");
339
- * static byTagsDate = E.index(User, ["tags", "createdAt"]);
340
- * static byWord = E.index(User, (u: User) => u.name.split(" "));
341
- * }
342
- * ```
343
- */
344
- export declare function index<M extends typeof Model, V>(MyModel: M, fn: (instance: InstanceType<M>) => V[]): SecondaryIndex<M, [], [V]>;
345
- export declare function index<M extends typeof Model, const F extends (keyof InstanceType<M> & string)>(MyModel: M, field: F): SecondaryIndex<M, [F]>;
346
- export declare function index<M extends typeof Model, const FS extends readonly (keyof InstanceType<M> & string)[]>(MyModel: M, fields: FS): SecondaryIndex<M, FS>;
347
277
  /**
348
278
  * Dump database contents for debugging.
349
279
  *