edinburgh 0.4.5 → 0.4.6

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 CHANGED
@@ -561,7 +561,7 @@ await E.transact(() => {
561
561
  });
562
562
  ```
563
563
 
564
- ### setMaxRetryCount · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L208)
564
+ ### setMaxRetryCount · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L209)
565
565
 
566
566
  Set the maximum number of retries for a transaction in case of conflicts.
567
567
  The default value is 6. Setting it to 0 will disable retries and cause transactions to fail immediately on conflict.
@@ -572,7 +572,7 @@ The default value is 6. Setting it to 0 will disable retries and cause transacti
572
572
 
573
573
  - `count: number` - The maximum number of retries for a transaction.
574
574
 
575
- ### setOnSaveCallback · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L222)
575
+ ### setOnSaveCallback · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L223)
576
576
 
577
577
  Set a callback function to be called after a model is saved and committed.
578
578
 
@@ -585,11 +585,11 @@ Set a callback function to be called after a model is saved and committed.
585
585
  - A sequential number. Higher numbers have been committed after lower numbers.
586
586
  - A map of model instances to their changes. The change can be "created", "deleted", or an object containing the old values.
587
587
 
588
- ### deleteEverything · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L227)
588
+ ### deleteEverything · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L228)
589
589
 
590
590
  **Signature:** `() => Promise<void>`
591
591
 
592
- ### Model · [abstract class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L220)
592
+ ### Model · [abstract class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L221)
593
593
 
594
594
  [object Object],[object Object],[object Object],[object Object],[object Object]
595
595
 
@@ -612,7 +612,7 @@ class User extends E.Model<User> {
612
612
  }
613
613
  ```
614
614
 
615
- #### Model.tableName · [static property](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L227)
615
+ #### Model.tableName · [static property](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L225)
616
616
 
617
617
  The database table name (defaults to class name).
618
618
 
@@ -624,13 +624,13 @@ When true, registerModel replaces an existing model with the same tableName.
624
624
 
625
625
  **Type:** `boolean`
626
626
 
627
- #### Model.fields · [static property](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L232)
627
+ #### Model.fields · [static property](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L233)
628
628
 
629
629
  Field configuration metadata.
630
630
 
631
631
  **Type:** `Record<string | number | symbol, FieldConfig<unknown>>`
632
632
 
633
- #### Model.migrate · [static method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
633
+ #### Model.migrate · [static method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
634
634
 
635
635
  Optional migration function called when deserializing rows written with an older schema version.
636
636
  Receives a plain record with all fields (primary key fields + value fields) and should mutate it
@@ -665,7 +665,19 @@ class User extends E.Model<User> {
665
665
  }
666
666
  ```
667
667
 
668
- #### Model.findAll · [static method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
668
+ #### Model.initFields · [static method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
669
+
670
+ Transform the model's `E.field` properties into the appropriate JavaScript properties. Normally this is done
671
+ automatically when using `transact()`, but in case you need to access `Model.fields` directly before the first
672
+ transaction, you can call this method manually.
673
+
674
+ **Signature:** `(reset?: boolean) => void`
675
+
676
+ **Parameters:**
677
+
678
+ - `reset?: boolean`
679
+
680
+ #### Model.findAll · [static method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
669
681
 
670
682
  Find all instances of this model in the database, ordered by primary key.
671
683
 
@@ -678,7 +690,7 @@ Find all instances of this model in the database, ordered by primary key.
678
690
 
679
691
  **Returns:** An iterator.
680
692
 
681
- #### Model.replaceInto · [static method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
693
+ #### Model.replaceInto · [static method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
682
694
 
683
695
  Load an existing instance by primary key and update it, or create a new one.
684
696
 
@@ -695,7 +707,7 @@ new instance is created with `obj` as its initial properties.
695
707
 
696
708
  **Returns:** The loaded-and-updated or newly created instance.
697
709
 
698
- #### model.preCommit · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
710
+ #### model.preCommit · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
699
711
 
700
712
  Optional hook called on each modified instance right before the transaction commits.
701
713
  Runs before data is written to disk, so changes made here are included in the commit.
@@ -724,19 +736,19 @@ class Post extends E.Model<Post> {
724
736
  }
725
737
  ```
726
738
 
727
- #### model.getPrimaryKey · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
739
+ #### model.getPrimaryKey · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
728
740
 
729
741
  **Signature:** `() => Uint8Array<ArrayBufferLike>`
730
742
 
731
743
  **Returns:** The primary key for this instance.
732
744
 
733
- #### model.getPrimaryKeyHash · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
745
+ #### model.getPrimaryKeyHash · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
734
746
 
735
747
  **Signature:** `() => number`
736
748
 
737
749
  **Returns:** A 53-bit positive integer non-cryptographic hash of the primary key, or undefined if not yet saved.
738
750
 
739
- #### model.isLazyField · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
751
+ #### model.isLazyField · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
740
752
 
741
753
  **Signature:** `(field: keyof this) => boolean`
742
754
 
@@ -744,7 +756,7 @@ class Post extends E.Model<Post> {
744
756
 
745
757
  - `field: keyof this`
746
758
 
747
- #### model.preventPersist · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
759
+ #### model.preventPersist · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
748
760
 
749
761
  Prevent this instance from being persisted to the database.
750
762
 
@@ -760,7 +772,7 @@ user.name = "New Name";
760
772
  user.preventPersist(); // Changes won't be saved
761
773
  ```
762
774
 
763
- #### model.delete · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
775
+ #### model.delete · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
764
776
 
765
777
  Delete this model instance from the database.
766
778
 
@@ -775,7 +787,7 @@ const user = User.load("user123");
775
787
  user.delete(); // Removes from database
776
788
  ```
777
789
 
778
- #### model.validate · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
790
+ #### model.validate · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
779
791
 
780
792
  Validate all fields in this model instance.
781
793
 
@@ -797,7 +809,7 @@ if (errors.length > 0) {
797
809
  }
798
810
  ```
799
811
 
800
- #### model.isValid · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
812
+ #### model.isValid · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
801
813
 
802
814
  Check if this model instance is valid.
803
815
 
@@ -812,15 +824,15 @@ const user = new User({name: "John"});
812
824
  if (!user.isValid()) shoutAtTheUser();
813
825
  ```
814
826
 
815
- #### model.getState · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
827
+ #### model.getState · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
816
828
 
817
829
  **Signature:** `() => "created" | "deleted" | "loaded" | "lazy"`
818
830
 
819
- #### model.toString · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
831
+ #### model.toString · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
820
832
 
821
833
  **Signature:** `() => string`
822
834
 
823
- #### model.[Symbol.for('nodejs.util.inspect.custom')] · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
835
+ #### model.[Symbol.for('nodejs.util.inspect.custom')] · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
824
836
 
825
837
  **Signature:** `() => string`
826
838
 
@@ -881,13 +893,13 @@ class User extends E.Model<User> {
881
893
  }
882
894
  ```
883
895
 
884
- ### string · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
896
+ ### string · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
885
897
 
886
898
  Type wrapper instance for the string type.
887
899
 
888
900
  **Value:** `TypeWrapper<string>`
889
901
 
890
- ### orderedString · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
902
+ ### orderedString · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
891
903
 
892
904
  Type wrapper instance for the ordered string type, which is just like a string
893
905
  except that it sorts lexicographically in the database (instead of by incrementing
@@ -897,37 +909,37 @@ may not contain null characters.
897
909
 
898
910
  **Value:** `TypeWrapper<string>`
899
911
 
900
- ### number · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
912
+ ### number · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
901
913
 
902
914
  Type wrapper instance for the number type.
903
915
 
904
916
  **Value:** `TypeWrapper<number>`
905
917
 
906
- ### dateTime · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
918
+ ### dateTime · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
907
919
 
908
920
  Type wrapper instance for the date/time type. Stored without timezone info, rounded to whole seconds.
909
921
 
910
922
  **Value:** `TypeWrapper<Date>`
911
923
 
912
- ### boolean · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
924
+ ### boolean · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
913
925
 
914
926
  Type wrapper instance for the boolean type.
915
927
 
916
928
  **Value:** `TypeWrapper<boolean>`
917
929
 
918
- ### identifier · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
930
+ ### identifier · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
919
931
 
920
932
  Type wrapper instance for the identifier type.
921
933
 
922
934
  **Value:** `TypeWrapper<string>`
923
935
 
924
- ### undef · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
936
+ ### undef · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
925
937
 
926
938
  Type wrapper instance for the 'undefined' type.
927
939
 
928
940
  **Value:** `TypeWrapper<undefined>`
929
941
 
930
- ### opt · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
942
+ ### opt · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
931
943
 
932
944
  Create an optional type wrapper (allows undefined).
933
945
 
@@ -950,7 +962,7 @@ const optionalString = E.opt(E.string);
950
962
  const optionalNumber = E.opt(E.number);
951
963
  ```
952
964
 
953
- ### or · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
965
+ ### or · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
954
966
 
955
967
  Create a union type wrapper from multiple type choices.
956
968
 
@@ -973,7 +985,7 @@ const stringOrNumber = E.or(E.string, E.number);
973
985
  const status = E.or("active", "inactive", "pending");
974
986
  ```
975
987
 
976
- ### array · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
988
+ ### array · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
977
989
 
978
990
  Create an array type wrapper with optional length constraints.
979
991
 
@@ -997,7 +1009,7 @@ const stringArray = E.array(E.string);
997
1009
  const boundedArray = E.array(E.number, {min: 1, max: 10});
998
1010
  ```
999
1011
 
1000
- ### set · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1012
+ ### set · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1001
1013
 
1002
1014
  Create a Set type wrapper with optional length constraints.
1003
1015
 
@@ -1021,7 +1033,7 @@ const stringSet = E.set(E.string);
1021
1033
  const boundedSet = E.set(E.number, {min: 1, max: 10});
1022
1034
  ```
1023
1035
 
1024
- ### record · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1036
+ ### record · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1025
1037
 
1026
1038
  Create a Record type wrapper for key-value objects with string or number keys.
1027
1039
 
@@ -1043,7 +1055,7 @@ Create a Record type wrapper for key-value objects with string or number keys.
1043
1055
  const scores = E.record(E.number); // Record<string | number, number>
1044
1056
  ```
1045
1057
 
1046
- ### literal · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1058
+ ### literal · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1047
1059
 
1048
1060
  Create a literal type wrapper for a constant value.
1049
1061
 
@@ -1066,7 +1078,7 @@ const statusType = E.literal("active");
1066
1078
  const countType = E.literal(42);
1067
1079
  ```
1068
1080
 
1069
- ### link · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1081
+ ### link · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1070
1082
 
1071
1083
  Create a link type wrapper for model relationships.
1072
1084
 
@@ -1094,7 +1106,7 @@ class Post extends E.Model<Post> {
1094
1106
  }
1095
1107
  ```
1096
1108
 
1097
- ### index · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1109
+ ### index · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1098
1110
 
1099
1111
  Create a secondary index on model fields, or a computed secondary index using a function.
1100
1112
 
@@ -1127,7 +1139,7 @@ class User extends E.Model<User> {
1127
1139
  }
1128
1140
  ```
1129
1141
 
1130
- ### primary · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1142
+ ### primary · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1131
1143
 
1132
1144
  Create a primary index on model fields.
1133
1145
 
@@ -1154,7 +1166,7 @@ class User extends E.Model<User> {
1154
1166
  }
1155
1167
  ```
1156
1168
 
1157
- ### unique · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1169
+ ### unique · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1158
1170
 
1159
1171
  Create a unique index on model fields, or a computed unique index using a function.
1160
1172
 
@@ -1187,7 +1199,7 @@ class User extends E.Model<User> {
1187
1199
  }
1188
1200
  ```
1189
1201
 
1190
- ### dump · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1202
+ ### dump · [function](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1191
1203
 
1192
1204
  Dump database contents for debugging.
1193
1205
 
@@ -1196,7 +1208,7 @@ This is primarily useful for development and debugging purposes.
1196
1208
 
1197
1209
  **Signature:** `() => void`
1198
1210
 
1199
- ### BaseIndex · [abstract class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L125)
1211
+ ### BaseIndex · [abstract class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L123)
1200
1212
 
1201
1213
  Base class for database indexes for efficient lookups on model fields.
1202
1214
 
@@ -1213,7 +1225,7 @@ Indexes enable fast queries on specific field combinations and enforce uniquenes
1213
1225
  - `MyModel`: - The model class this index belongs to.
1214
1226
  - `_fieldNames`: - Array of field names that make up this index.
1215
1227
 
1216
- #### baseIndex.find · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1228
+ #### baseIndex.find · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1217
1229
 
1218
1230
  **Signature:** `(opts?: FindOptions<ARGS>) => IndexRangeIterator<M>`
1219
1231
 
@@ -1221,7 +1233,7 @@ Indexes enable fast queries on specific field combinations and enforce uniquenes
1221
1233
 
1222
1234
  - `opts: FindOptions<ARGS>` (optional)
1223
1235
 
1224
- #### baseIndex.batchProcess · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1236
+ #### baseIndex.batchProcess · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1225
1237
 
1226
1238
  [object Object],[object Object],[object Object]
1227
1239
 
@@ -1232,11 +1244,11 @@ Indexes enable fast queries on specific field combinations and enforce uniquenes
1232
1244
  - `opts: FindOptions<ARGS> & { limitSeconds?: number; limitRows?: number }` (optional) - - Query options (same as `find()`), plus:
1233
1245
  - `callback: (row: InstanceType<M>) => void | Promise<void>` - - Called for each matching row within a transaction
1234
1246
 
1235
- #### baseIndex.toString · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1247
+ #### baseIndex.toString · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1236
1248
 
1237
1249
  **Signature:** `() => string`
1238
1250
 
1239
- ### UniqueIndex · [class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1251
+ ### UniqueIndex · [class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1240
1252
 
1241
1253
  Unique index that stores references to the primary key.
1242
1254
 
@@ -1246,7 +1258,7 @@ Unique index that stores references to the primary key.
1246
1258
  - `F extends readonly (keyof InstanceType<M> & string)[]` - The field names that make up this index.
1247
1259
  - `ARGS extends readonly any[] = IndexArgTypes<M, F>`
1248
1260
 
1249
- #### uniqueIndex.get · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1261
+ #### uniqueIndex.get · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1250
1262
 
1251
1263
  Get a model instance by unique index key values.
1252
1264
 
@@ -1264,7 +1276,7 @@ Get a model instance by unique index key values.
1264
1276
  const userByEmail = User.byEmail.get("john@example.com");
1265
1277
  ```
1266
1278
 
1267
- ### PrimaryIndex · [class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1279
+ ### PrimaryIndex · [class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1268
1280
 
1269
1281
  Primary index that stores the actual model data.
1270
1282
 
@@ -1273,7 +1285,7 @@ Primary index that stores the actual model data.
1273
1285
  - `M extends typeof Model` - The model class this index belongs to.
1274
1286
  - `F extends readonly (keyof InstanceType<M> & string)[]` - The field names that make up this index.
1275
1287
 
1276
- #### primaryIndex.get · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1288
+ #### primaryIndex.get · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1277
1289
 
1278
1290
  Get a model instance by primary key values.
1279
1291
 
@@ -1291,7 +1303,7 @@ Get a model instance by primary key values.
1291
1303
  const user = User.pk.get("john_doe");
1292
1304
  ```
1293
1305
 
1294
- #### primaryIndex.getLazy · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1306
+ #### primaryIndex.getLazy · [method](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1295
1307
 
1296
1308
  Does the same as as `get()`, but will delay loading the instance from disk until the first
1297
1309
  property access. In case it turns out the instance doesn't exist, an error will be thrown
@@ -1305,7 +1317,7 @@ at that time.
1305
1317
 
1306
1318
  **Returns:** The (lazily loaded) model instance.
1307
1319
 
1308
- ### SecondaryIndex · [class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L253)
1320
+ ### SecondaryIndex · [class](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L255)
1309
1321
 
1310
1322
  Secondary index for non-unique lookups.
1311
1323
 
@@ -1333,7 +1345,7 @@ Secondary index for non-unique lookups.
1333
1345
 
1334
1346
  **Type:** `Map<number, Model<unknown>>`
1335
1347
 
1336
- ### DatabaseError · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L157)
1348
+ ### DatabaseError · [constant](https://github.com/vanviegen/edinburgh/blob/main/src/edinburgh.ts#L158)
1337
1349
 
1338
1350
  The DatabaseError class is used to represent errors that occur during database operations.
1339
1351
  It extends the built-in Error class and has a machine readable error code string property.
@@ -88,7 +88,8 @@ 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
+ model.initFields();
92
+ await model._loadCreateIndexes();
92
93
  }
93
94
  })();
94
95
  await pendingInit;
@@ -208,7 +209,8 @@ export async function deleteEverything() {
208
209
  for (const model of Object.values(modelRegistry)) {
209
210
  if (!model.fields)
210
211
  continue;
211
- await model._delayedInit(true);
212
+ model.initFields(true);
213
+ await model._loadCreateIndexes();
212
214
  }
213
215
  }
214
216
  //# 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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"}
@@ -15,15 +15,14 @@ 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>>;
27
26
  next(): IteratorResult<InstanceType<M>>;
28
27
  count(): number;
29
28
  fetch(): InstanceType<M> | undefined;
@@ -12,22 +12,20 @@ const MAX_INDEX_ID_BUFFER = new DataPack().write(MAX_INDEX_ID_PREFIX).toUint8Arr
12
12
  /**
13
13
  * Iterator for range queries on indexes.
14
14
  * Handles common iteration logic for both primary and unique indexes.
15
- * Implements both Iterator and Iterable interfaces for efficiency.
15
+ * Extends built-in Iterator to provide map/filter/reduce/toArray/etc.
16
16
  */
17
- export class IndexRangeIterator {
17
+ export class IndexRangeIterator extends Iterator {
18
18
  txn;
19
19
  iteratorId;
20
20
  indexId;
21
21
  parentIndex;
22
22
  constructor(txn, iteratorId, indexId, parentIndex) {
23
+ super();
23
24
  this.txn = txn;
24
25
  this.iteratorId = iteratorId;
25
26
  this.indexId = indexId;
26
27
  this.parentIndex = parentIndex;
27
28
  }
28
- [Symbol.iterator]() {
29
- return this;
30
- }
31
29
  next() {
32
30
  if (this.iteratorId < 0)
33
31
  return { done: true, value: undefined };
@@ -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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"}
@@ -204,7 +204,13 @@ export declare abstract class Model<SUB> {
204
204
  * ```
205
205
  */
206
206
  preCommit?(): void;
207
- static _delayedInit(cleared?: boolean): Promise<void>;
207
+ /**
208
+ * Transform the model's `E.field` properties into the appropriate JavaScript properties. Normally this is done
209
+ * automatically when using `transact()`, but in case you need to access `Model.fields` directly before the first
210
+ * transaction, you can call this method manually.
211
+ */
212
+ static initFields(reset?: boolean): void;
213
+ static _loadCreateIndexes(): Promise<void>;
208
214
  _setLoadedField(fieldName: string, value: any): void;
209
215
  /**
210
216
  * @returns The primary key for this instance.
@@ -203,65 +203,73 @@ export class Model {
203
203
  return;
204
204
  throw new DatabaseError("The model needs a @E.registerModel decorator", 'INIT_ERROR');
205
205
  }
206
- static async _delayedInit(cleared) {
206
+ /**
207
+ * Transform the model's `E.field` properties into the appropriate JavaScript properties. Normally this is done
208
+ * automatically when using `transact()`, but in case you need to access `Model.fields` directly before the first
209
+ * transaction, you can call this method manually.
210
+ */
211
+ static initFields(reset) {
207
212
  const MockModel = getMockModel(this);
208
- if (cleared) {
213
+ if (reset) {
209
214
  MockModel._primary._indexId = undefined;
210
215
  MockModel._primary._versions.clear();
211
216
  for (const sec of MockModel._secondaries || [])
212
217
  sec._indexId = undefined;
213
218
  }
214
- if (!MockModel.fields) {
215
- // First-time init: gather field configs from a temporary instance of the original class.
216
- const OrgModel = MockModel._original || this;
217
- const instance = new OrgModel(INIT_INSTANCE_SYMBOL);
218
- // If no primary key exists, create one using 'id' field
219
- if (!MockModel._primary) {
220
- if (!instance.id) {
221
- instance.id = { type: identifier };
222
- }
223
- // @ts-ignore-next-line - `id` is not part of the type, but the user probably shouldn't touch it anyhow
224
- new PrimaryIndex(MockModel, ['id']);
219
+ if (MockModel.fields)
220
+ return;
221
+ // First-time init: gather field configs from a temporary instance of the original class.
222
+ const OrgModel = MockModel._original || this;
223
+ const instance = new OrgModel(INIT_INSTANCE_SYMBOL);
224
+ // If no primary key exists, create one using 'id' field
225
+ if (!MockModel._primary) {
226
+ if (!instance.id) {
227
+ instance.id = { type: identifier };
225
228
  }
226
- MockModel.fields = {};
227
- for (const key in instance) {
228
- const value = instance[key];
229
- // Check if this property contains field metadata
230
- if (value && value.type instanceof TypeWrapper) {
231
- // Set the configuration on the constructor's `fields` property
232
- MockModel.fields[key] = value;
233
- // Set default value on the prototype
234
- const defObj = value.default === undefined ? value.type : value;
235
- const def = defObj.default;
236
- if (typeof def === 'function') {
237
- // The default is a function. We'll define a getter on the property in the model prototype,
238
- // and once it is read, we'll run the function and set the value as a plain old property
239
- // on the instance object.
240
- Object.defineProperty(MockModel.prototype, key, {
241
- get() {
242
- // This will call set(), which will define the property on the instance.
243
- return (this[key] = def.call(defObj, this));
244
- },
245
- set(val) {
246
- Object.defineProperty(this, key, {
247
- value: val,
248
- configurable: true,
249
- writable: true,
250
- enumerable: true,
251
- });
252
- },
253
- configurable: true,
254
- });
255
- }
256
- else if (def !== undefined) {
257
- MockModel.prototype[key] = def;
258
- }
229
+ // @ts-ignore-next-line - `id` is not part of the type, but the user probably shouldn't touch it anyhow
230
+ new PrimaryIndex(MockModel, ['id']);
231
+ }
232
+ MockModel.fields = {};
233
+ for (const key in instance) {
234
+ const value = instance[key];
235
+ // Check if this property contains field metadata
236
+ if (value && value.type instanceof TypeWrapper) {
237
+ // Set the configuration on the constructor's `fields` property
238
+ MockModel.fields[key] = value;
239
+ // Set default value on the prototype
240
+ const defObj = value.default === undefined ? value.type : value;
241
+ const def = defObj.default;
242
+ if (typeof def === 'function') {
243
+ // The default is a function. We'll define a getter on the property in the model prototype,
244
+ // and once it is read, we'll run the function and set the value as a plain old property
245
+ // on the instance object.
246
+ Object.defineProperty(MockModel.prototype, key, {
247
+ get() {
248
+ // This will call set(), which will define the property on the instance.
249
+ return (this[key] = def.call(defObj, this));
250
+ },
251
+ set(val) {
252
+ Object.defineProperty(this, key, {
253
+ value: val,
254
+ configurable: true,
255
+ writable: true,
256
+ enumerable: true,
257
+ });
258
+ },
259
+ configurable: true,
260
+ });
261
+ }
262
+ else if (def !== undefined) {
263
+ MockModel.prototype[key] = def;
259
264
  }
260
- }
261
- if (logLevel >= 1) {
262
- console.log(`[edinburgh] Registered model ${MockModel.tableName} with fields: ${Object.keys(MockModel.fields).join(' ')}`);
263
265
  }
264
266
  }
267
+ if (logLevel >= 1) {
268
+ console.log(`[edinburgh] Registered model ${MockModel.tableName} with fields: ${Object.keys(MockModel.fields).join(' ')}`);
269
+ }
270
+ }
271
+ static async _loadCreateIndexes() {
272
+ const MockModel = getMockModel(this);
265
273
  // Always run index inits (idempotent, skip if already initialized)
266
274
  await MockModel._primary._delayedInit();
267
275
  for (const sec of MockModel._secondaries || [])
@@ -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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"}
@@ -94,7 +94,8 @@ export declare class SetType<T> extends TypeWrapper<Set<T>> {
94
94
  override?: boolean;
95
95
  fields: Record<string | symbol | number, FieldConfig<unknown>>;
96
96
  migrate?(record: Record<string, any>): void;
97
- _delayedInit(cleared?: boolean): Promise<void>;
97
+ initFields(reset?: boolean): void;
98
+ _loadCreateIndexes(): Promise<void>;
98
99
  findAll<T_1 extends typeof Model<unknown>>(this: T_1, opts?: {
99
100
  reverse?: boolean;
100
101
  }): IndexRangeIterator<T_1>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edinburgh",
3
- "version": "0.4.5",
3
+ "version": "0.4.6",
4
4
  "author": "Frank van Viegen",
5
5
  "devDependencies": {
6
6
  "@types/bun": "^1.2.16",
package/skill/SKILL.md CHANGED
@@ -548,6 +548,18 @@ Optional migration function called when deserializing rows written with an older
548
548
  Receives a plain record with all fields (primary key fields + value fields) and should mutate it
549
549
  in-place to match the current schema.
550
550
 
551
+ #### Model.initFields · static method
552
+
553
+ Transform the model's `E.field` properties into the appropriate JavaScript properties. Normally this is done
554
+ automatically when using `transact()`, but in case you need to access `Model.fields` directly before the first
555
+ transaction, you can call this method manually.
556
+
557
+ **Signature:** `(reset?: boolean) => void`
558
+
559
+ **Parameters:**
560
+
561
+ - `reset?: boolean`
562
+
551
563
  #### [Model.findAll](Model_findAll.md) · static method
552
564
 
553
565
  Find all instances of this model in the database, ordered by primary key.
package/src/edinburgh.ts CHANGED
@@ -126,7 +126,8 @@ export async function transact<T>(fn: () => T): Promise<T> {
126
126
  olmdbReady = true;
127
127
  initNeeded = false;
128
128
  for (const model of Object.values(modelRegistry)) {
129
- await model._delayedInit();
129
+ model.initFields();
130
+ await model._loadCreateIndexes();
130
131
  }
131
132
  })();
132
133
  await pendingInit;
@@ -247,6 +248,7 @@ export async function deleteEverything(): Promise<void> {
247
248
  // Re-init indexes since metadata was deleted
248
249
  for (const model of Object.values(modelRegistry)) {
249
250
  if (!model.fields) continue;
250
- await model._delayedInit(true);
251
+ model.initFields(true);
252
+ await model._loadCreateIndexes();
251
253
  }
252
254
  }
package/src/indexes.ts CHANGED
@@ -29,19 +29,16 @@ interface VersionInfo {
29
29
  /**
30
30
  * Iterator for range queries on indexes.
31
31
  * Handles common iteration logic for both primary and unique indexes.
32
- * Implements both Iterator and Iterable interfaces for efficiency.
32
+ * Extends built-in Iterator to provide map/filter/reduce/toArray/etc.
33
33
  */
34
- export class IndexRangeIterator<M extends typeof Model> implements Iterator<InstanceType<M>>, Iterable<InstanceType<M>> {
34
+ export class IndexRangeIterator<M extends typeof Model> extends Iterator<InstanceType<M>> {
35
35
  constructor(
36
36
  private txn: Transaction,
37
37
  private iteratorId: number,
38
38
  private indexId: number,
39
39
  private parentIndex: BaseIndex<M, any>
40
40
  ) {
41
- }
42
-
43
- [Symbol.iterator](): Iterator<InstanceType<M>> {
44
- return this;
41
+ super();
45
42
  }
46
43
 
47
44
  next(): IteratorResult<InstanceType<M>> {
package/src/models.ts CHANGED
@@ -313,70 +313,78 @@ export abstract class Model<SUB> {
313
313
  */
314
314
  preCommit?(): void;
315
315
 
316
- static async _delayedInit(cleared?: boolean): Promise<void> {
316
+ /**
317
+ * Transform the model's `E.field` properties into the appropriate JavaScript properties. Normally this is done
318
+ * automatically when using `transact()`, but in case you need to access `Model.fields` directly before the first
319
+ * transaction, you can call this method manually.
320
+ */
321
+ static initFields(reset?: boolean): void {
317
322
  const MockModel = getMockModel(this);
318
323
 
319
- if (cleared) {
324
+ if (reset) {
320
325
  MockModel._primary._indexId = undefined;
321
326
  MockModel._primary._versions.clear();
322
327
  for (const sec of MockModel._secondaries || []) sec._indexId = undefined;
323
328
  }
324
329
 
325
- if (!MockModel.fields) {
326
- // First-time init: gather field configs from a temporary instance of the original class.
327
- const OrgModel = (MockModel as any)._original || this;
328
- const instance = new (OrgModel as any)(INIT_INSTANCE_SYMBOL);
330
+ if (MockModel.fields) return;
329
331
 
330
- // If no primary key exists, create one using 'id' field
331
- if (!MockModel._primary) {
332
- if (!instance.id) {
333
- instance.id = { type: identifier };
334
- }
335
- // @ts-ignore-next-line - `id` is not part of the type, but the user probably shouldn't touch it anyhow
336
- new PrimaryIndex(MockModel, ['id']);
332
+ // First-time init: gather field configs from a temporary instance of the original class.
333
+ const OrgModel = (MockModel as any)._original || this;
334
+ const instance = new (OrgModel as any)(INIT_INSTANCE_SYMBOL);
335
+
336
+ // If no primary key exists, create one using 'id' field
337
+ if (!MockModel._primary) {
338
+ if (!instance.id) {
339
+ instance.id = { type: identifier };
337
340
  }
341
+ // @ts-ignore-next-line - `id` is not part of the type, but the user probably shouldn't touch it anyhow
342
+ new PrimaryIndex(MockModel, ['id']);
343
+ }
338
344
 
339
- MockModel.fields = {};
340
- for (const key in instance) {
341
- const value = instance[key] as FieldConfig<unknown>;
342
- // Check if this property contains field metadata
343
- if (value && value.type instanceof TypeWrapper) {
344
- // Set the configuration on the constructor's `fields` property
345
- MockModel.fields[key] = value;
346
-
347
- // Set default value on the prototype
348
- const defObj = value.default===undefined ? value.type : value;
349
- const def = defObj.default;
350
- if (typeof def === 'function') {
351
- // The default is a function. We'll define a getter on the property in the model prototype,
352
- // and once it is read, we'll run the function and set the value as a plain old property
353
- // on the instance object.
354
- Object.defineProperty(MockModel.prototype, key, {
355
- get() {
356
- // This will call set(), which will define the property on the instance.
357
- return (this[key] = def.call(defObj, this));
358
- },
359
- set(val: any) {
360
- Object.defineProperty(this, key, {
361
- value: val,
362
- configurable: true,
363
- writable: true,
364
- enumerable: true,
365
- })
366
- },
367
- configurable: true,
368
- });
369
- } else if (def !== undefined) {
370
- (MockModel.prototype as any)[key] = def;
371
- }
345
+ MockModel.fields = {};
346
+ for (const key in instance) {
347
+ const value = instance[key] as FieldConfig<unknown>;
348
+ // Check if this property contains field metadata
349
+ if (value && value.type instanceof TypeWrapper) {
350
+ // Set the configuration on the constructor's `fields` property
351
+ MockModel.fields[key] = value;
352
+
353
+ // Set default value on the prototype
354
+ const defObj = value.default===undefined ? value.type : value;
355
+ const def = defObj.default;
356
+ if (typeof def === 'function') {
357
+ // The default is a function. We'll define a getter on the property in the model prototype,
358
+ // and once it is read, we'll run the function and set the value as a plain old property
359
+ // on the instance object.
360
+ Object.defineProperty(MockModel.prototype, key, {
361
+ get() {
362
+ // This will call set(), which will define the property on the instance.
363
+ return (this[key] = def.call(defObj, this));
364
+ },
365
+ set(val: any) {
366
+ Object.defineProperty(this, key, {
367
+ value: val,
368
+ configurable: true,
369
+ writable: true,
370
+ enumerable: true,
371
+ })
372
+ },
373
+ configurable: true,
374
+ });
375
+ } else if (def !== undefined) {
376
+ (MockModel.prototype as any)[key] = def;
372
377
  }
373
378
  }
379
+ }
374
380
 
375
- if (logLevel >= 1) {
376
- console.log(`[edinburgh] Registered model ${MockModel.tableName} with fields: ${Object.keys(MockModel.fields).join(' ')}`);
377
- }
381
+ if (logLevel >= 1) {
382
+ console.log(`[edinburgh] Registered model ${MockModel.tableName} with fields: ${Object.keys(MockModel.fields).join(' ')}`);
378
383
  }
384
+ }
379
385
 
386
+ static async _loadCreateIndexes(): Promise<void> {
387
+ const MockModel = getMockModel(this);
380
388
  // Always run index inits (idempotent, skip if already initialized)
381
389
  await MockModel._primary._delayedInit();
382
390
  for (const sec of MockModel._secondaries || []) await sec._delayedInit();