@sprucelabs/spruce-cli 17.1.14 → 17.1.15

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 (229) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +26 -26
  3. package/node_modules/@sprucelabs/data-stores/README.md +0 -24
  4. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/databaseNotConnected.schema.d.ts +0 -3
  5. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/databaseNotConnected.schema.js +0 -23
  6. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateKey.schema.d.ts +0 -3
  7. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateKey.schema.js +0 -11
  8. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateRecord.schema.d.ts +0 -3
  9. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateRecord.schema.js +0 -40
  10. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStore.schema.d.ts +0 -3
  11. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStore.schema.js +0 -18
  12. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStores.schema.d.ts +0 -3
  13. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStores.schema.js +0 -19
  14. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexExists.schema.d.ts +0 -3
  15. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexExists.schema.js +0 -20
  16. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexNotFound.schema.d.ts +0 -3
  17. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexNotFound.schema.js +0 -20
  18. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDatabaseName.schema.d.ts +0 -3
  19. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDatabaseName.schema.js +0 -18
  20. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDbConnectionString.schema.d.ts +0 -3
  21. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDbConnectionString.schema.js +0 -11
  22. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema copy.d.ts +0 -3
  23. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema copy.js +0 -25
  24. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema.d.ts +0 -3
  25. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema.js +0 -11
  26. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStoreName.schema.d.ts +0 -3
  27. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStoreName.schema.js +0 -25
  28. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/mongoIdMappingError.schema.d.ts +0 -3
  29. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/mongoIdMappingError.schema.js +0 -11
  30. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/record-not-found-query.schema.d.ts +0 -3
  31. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/record-not-found-query.schema.js +0 -15
  32. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/recordNotFound.schema.d.ts +0 -3
  33. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/recordNotFound.schema.js +0 -30
  34. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/scrambleNotConfigured.schema.d.ts +0 -3
  35. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/scrambleNotConfigured.schema.js +0 -11
  36. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unableToConnectToDb.schema.d.ts +0 -3
  37. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unableToConnectToDb.schema.js +0 -11
  38. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownDatabaseError.schema.d.ts +0 -3
  39. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownDatabaseError.schema.js +0 -18
  40. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownError.schema.d.ts +0 -3
  41. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownError.schema.js +0 -11
  42. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownStoreError.schema.d.ts +0 -3
  43. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownStoreError.schema.js +0 -27
  44. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/errors.types.d.ts +0 -383
  45. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/errors.types.js +0 -4
  46. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/options.types.d.ts +0 -58
  47. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/options.types.js +0 -2
  48. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fieldClassMap.d.ts +0 -2
  49. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fieldClassMap.js +0 -4
  50. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fields.types.d.ts +0 -1
  51. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fields.types.js +0 -2
  52. package/node_modules/@sprucelabs/data-stores/build/.spruce/settings.json +0 -22
  53. package/node_modules/@sprucelabs/data-stores/build/constants.d.ts +0 -1
  54. package/node_modules/@sprucelabs/data-stores/build/constants.js +0 -4
  55. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPager.d.ts +0 -29
  56. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPager.js +0 -129
  57. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPagerFaker.d.ts +0 -6
  58. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPagerFaker.js +0 -25
  59. package/node_modules/@sprucelabs/data-stores/build/databases/MongoDatabase.d.ts +0 -44
  60. package/node_modules/@sprucelabs/data-stores/build/databases/MongoDatabase.js +0 -432
  61. package/node_modules/@sprucelabs/data-stores/build/databases/NeDbDatabase.d.ts +0 -41
  62. package/node_modules/@sprucelabs/data-stores/build/databases/NeDbDatabase.js +0 -447
  63. package/node_modules/@sprucelabs/data-stores/build/databases/mongo.types.d.ts +0 -3163
  64. package/node_modules/@sprucelabs/data-stores/build/databases/mongo.types.js +0 -50
  65. package/node_modules/@sprucelabs/data-stores/build/errors/SpruceError.d.ts +0 -5
  66. package/node_modules/@sprucelabs/data-stores/build/errors/SpruceError.js +0 -103
  67. package/node_modules/@sprucelabs/data-stores/build/errors/databaseNotConnected.builder.d.ts +0 -15
  68. package/node_modules/@sprucelabs/data-stores/build/errors/databaseNotConnected.builder.js +0 -17
  69. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateKey.builder.d.ts +0 -6
  70. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateKey.builder.js +0 -8
  71. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateRecord.builder.d.ts +0 -28
  72. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateRecord.builder.js +0 -30
  73. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStore.builder.d.ts +0 -12
  74. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStore.builder.js +0 -14
  75. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStores.builder.d.ts +0 -16
  76. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStores.builder.js +0 -21
  77. package/node_modules/@sprucelabs/data-stores/build/errors/indexExists.builder.d.ts +0 -14
  78. package/node_modules/@sprucelabs/data-stores/build/errors/indexExists.builder.js +0 -16
  79. package/node_modules/@sprucelabs/data-stores/build/errors/indexNotFound.builder.d.ts +0 -14
  80. package/node_modules/@sprucelabs/data-stores/build/errors/indexNotFound.builder.js +0 -16
  81. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDatabaseName.builder.d.ts +0 -12
  82. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDatabaseName.builder.js +0 -14
  83. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDbConnectionString.builder.d.ts +0 -7
  84. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDbConnectionString.builder.js +0 -9
  85. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStore.builder.d.ts +0 -6
  86. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStore.builder.js +0 -8
  87. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStoreName.builder.d.ts +0 -16
  88. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStoreName.builder.js +0 -18
  89. package/node_modules/@sprucelabs/data-stores/build/errors/mongoIdMappingError.builder.d.ts +0 -7
  90. package/node_modules/@sprucelabs/data-stores/build/errors/mongoIdMappingError.builder.js +0 -12
  91. package/node_modules/@sprucelabs/data-stores/build/errors/recordNotFound.builder.d.ts +0 -31
  92. package/node_modules/@sprucelabs/data-stores/build/errors/recordNotFound.builder.js +0 -33
  93. package/node_modules/@sprucelabs/data-stores/build/errors/scrambleNotConfigured.builder.d.ts +0 -7
  94. package/node_modules/@sprucelabs/data-stores/build/errors/scrambleNotConfigured.builder.js +0 -12
  95. package/node_modules/@sprucelabs/data-stores/build/errors/unableToConnectToDb.builder.d.ts +0 -7
  96. package/node_modules/@sprucelabs/data-stores/build/errors/unableToConnectToDb.builder.js +0 -9
  97. package/node_modules/@sprucelabs/data-stores/build/errors/unknownDatabaseError.builder.d.ts +0 -12
  98. package/node_modules/@sprucelabs/data-stores/build/errors/unknownDatabaseError.builder.js +0 -14
  99. package/node_modules/@sprucelabs/data-stores/build/errors/unknownError.builder.d.ts +0 -6
  100. package/node_modules/@sprucelabs/data-stores/build/errors/unknownError.builder.js +0 -8
  101. package/node_modules/@sprucelabs/data-stores/build/errors/unknownStoreError.builder.d.ts +0 -19
  102. package/node_modules/@sprucelabs/data-stores/build/errors/unknownStoreError.builder.js +0 -21
  103. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/errors.types.d.ts +0 -383
  104. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/errors.types.js +0 -3
  105. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/options.types.d.ts +0 -58
  106. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/options.types.js +0 -1
  107. package/node_modules/@sprucelabs/data-stores/build/esm/constants.d.ts +0 -1
  108. package/node_modules/@sprucelabs/data-stores/build/esm/constants.js +0 -1
  109. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPager.d.ts +0 -29
  110. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPager.js +0 -134
  111. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPagerFaker.d.ts +0 -6
  112. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPagerFaker.js +0 -30
  113. package/node_modules/@sprucelabs/data-stores/build/esm/databases/MongoDatabase.d.ts +0 -44
  114. package/node_modules/@sprucelabs/data-stores/build/esm/databases/MongoDatabase.js +0 -476
  115. package/node_modules/@sprucelabs/data-stores/build/esm/databases/NeDbDatabase.d.ts +0 -41
  116. package/node_modules/@sprucelabs/data-stores/build/esm/databases/NeDbDatabase.js +0 -496
  117. package/node_modules/@sprucelabs/data-stores/build/esm/databases/mongo.types.d.ts +0 -3163
  118. package/node_modules/@sprucelabs/data-stores/build/esm/databases/mongo.types.js +0 -36
  119. package/node_modules/@sprucelabs/data-stores/build/esm/errors/SpruceError.d.ts +0 -5
  120. package/node_modules/@sprucelabs/data-stores/build/esm/errors/SpruceError.js +0 -97
  121. package/node_modules/@sprucelabs/data-stores/build/esm/errors/databaseNotConnected.builder.d.ts +0 -15
  122. package/node_modules/@sprucelabs/data-stores/build/esm/errors/databaseNotConnected.builder.js +0 -15
  123. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateKey.builder.d.ts +0 -6
  124. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateKey.builder.js +0 -6
  125. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateRecord.builder.d.ts +0 -28
  126. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateRecord.builder.js +0 -28
  127. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStore.builder.d.ts +0 -12
  128. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStore.builder.js +0 -12
  129. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStores.builder.d.ts +0 -16
  130. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStores.builder.js +0 -19
  131. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexExists.builder.d.ts +0 -14
  132. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexExists.builder.js +0 -14
  133. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexNotFound.builder.d.ts +0 -14
  134. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexNotFound.builder.js +0 -14
  135. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDatabaseName.builder.d.ts +0 -12
  136. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDatabaseName.builder.js +0 -12
  137. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDbConnectionString.builder.d.ts +0 -7
  138. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDbConnectionString.builder.js +0 -7
  139. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStore.builder.d.ts +0 -6
  140. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStore.builder.js +0 -6
  141. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStoreName.builder.d.ts +0 -16
  142. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStoreName.builder.js +0 -16
  143. package/node_modules/@sprucelabs/data-stores/build/esm/errors/mongoIdMappingError.builder.d.ts +0 -7
  144. package/node_modules/@sprucelabs/data-stores/build/esm/errors/mongoIdMappingError.builder.js +0 -10
  145. package/node_modules/@sprucelabs/data-stores/build/esm/errors/recordNotFound.builder.d.ts +0 -31
  146. package/node_modules/@sprucelabs/data-stores/build/esm/errors/recordNotFound.builder.js +0 -31
  147. package/node_modules/@sprucelabs/data-stores/build/esm/errors/scrambleNotConfigured.builder.d.ts +0 -7
  148. package/node_modules/@sprucelabs/data-stores/build/esm/errors/scrambleNotConfigured.builder.js +0 -10
  149. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unableToConnectToDb.builder.d.ts +0 -7
  150. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unableToConnectToDb.builder.js +0 -7
  151. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownDatabaseError.builder.d.ts +0 -12
  152. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownDatabaseError.builder.js +0 -12
  153. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownError.builder.d.ts +0 -6
  154. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownError.builder.js +0 -6
  155. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownStoreError.builder.d.ts +0 -19
  156. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownStoreError.builder.js +0 -19
  157. package/node_modules/@sprucelabs/data-stores/build/esm/factories/DatabaseFactory.d.ts +0 -10
  158. package/node_modules/@sprucelabs/data-stores/build/esm/factories/DatabaseFactory.js +0 -32
  159. package/node_modules/@sprucelabs/data-stores/build/esm/factories/StoreFactory.d.ts +0 -25
  160. package/node_modules/@sprucelabs/data-stores/build/esm/factories/StoreFactory.js +0 -72
  161. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/DatabaseFixture.d.ts +0 -22
  162. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/DatabaseFixture.js +0 -99
  163. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/StoreFixture.d.ts +0 -5
  164. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/StoreFixture.js +0 -25
  165. package/node_modules/@sprucelabs/data-stores/build/esm/index.d.ts +0 -21
  166. package/node_modules/@sprucelabs/data-stores/build/esm/index.js +0 -21
  167. package/node_modules/@sprucelabs/data-stores/build/esm/loaders/StoreLoader.d.ts +0 -25
  168. package/node_modules/@sprucelabs/data-stores/build/esm/loaders/StoreLoader.js +0 -120
  169. package/node_modules/@sprucelabs/data-stores/build/esm/mutexers/AbstractMutexer.d.ts +0 -6
  170. package/node_modules/@sprucelabs/data-stores/build/esm/mutexers/AbstractMutexer.js +0 -56
  171. package/node_modules/@sprucelabs/data-stores/build/esm/stores/AbstractStore.d.ts +0 -48
  172. package/node_modules/@sprucelabs/data-stores/build/esm/stores/AbstractStore.js +0 -293
  173. package/node_modules/@sprucelabs/data-stores/build/esm/tests/AbstractDatabaseTest.d.ts +0 -12
  174. package/node_modules/@sprucelabs/data-stores/build/esm/tests/AbstractDatabaseTest.js +0 -54
  175. package/node_modules/@sprucelabs/data-stores/build/esm/types/database.types.d.ts +0 -29
  176. package/node_modules/@sprucelabs/data-stores/build/esm/types/database.types.js +0 -1
  177. package/node_modules/@sprucelabs/data-stores/build/esm/types/query.types.d.ts +0 -29
  178. package/node_modules/@sprucelabs/data-stores/build/esm/types/query.types.js +0 -2
  179. package/node_modules/@sprucelabs/data-stores/build/esm/types/stores.types.d.ts +0 -24
  180. package/node_modules/@sprucelabs/data-stores/build/esm/types/stores.types.js +0 -10
  181. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/error.utility.d.ts +0 -5
  182. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/error.utility.js +0 -23
  183. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateId.d.ts +0 -1
  184. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateId.js +0 -4
  185. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateIdDeprecated.d.ts +0 -6
  186. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateIdDeprecated.js +0 -6
  187. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/mongo.utility.d.ts +0 -12
  188. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/mongo.utility.js +0 -104
  189. package/node_modules/@sprucelabs/data-stores/build/factories/DatabaseFactory.d.ts +0 -10
  190. package/node_modules/@sprucelabs/data-stores/build/factories/DatabaseFactory.js +0 -38
  191. package/node_modules/@sprucelabs/data-stores/build/factories/StoreFactory.d.ts +0 -25
  192. package/node_modules/@sprucelabs/data-stores/build/factories/StoreFactory.js +0 -65
  193. package/node_modules/@sprucelabs/data-stores/build/fixtures/DatabaseFixture.d.ts +0 -22
  194. package/node_modules/@sprucelabs/data-stores/build/fixtures/DatabaseFixture.js +0 -86
  195. package/node_modules/@sprucelabs/data-stores/build/fixtures/StoreFixture.d.ts +0 -5
  196. package/node_modules/@sprucelabs/data-stores/build/fixtures/StoreFixture.js +0 -20
  197. package/node_modules/@sprucelabs/data-stores/build/index.d.ts +0 -21
  198. package/node_modules/@sprucelabs/data-stores/build/index.js +0 -53
  199. package/node_modules/@sprucelabs/data-stores/build/loaders/StoreLoader.d.ts +0 -25
  200. package/node_modules/@sprucelabs/data-stores/build/loaders/StoreLoader.js +0 -107
  201. package/node_modules/@sprucelabs/data-stores/build/mutexers/AbstractMutexer.d.ts +0 -6
  202. package/node_modules/@sprucelabs/data-stores/build/mutexers/AbstractMutexer.js +0 -46
  203. package/node_modules/@sprucelabs/data-stores/build/stores/AbstractStore.d.ts +0 -48
  204. package/node_modules/@sprucelabs/data-stores/build/stores/AbstractStore.js +0 -285
  205. package/node_modules/@sprucelabs/data-stores/build/tests/AbstractDatabaseTest.d.ts +0 -12
  206. package/node_modules/@sprucelabs/data-stores/build/tests/AbstractDatabaseTest.js +0 -37
  207. package/node_modules/@sprucelabs/data-stores/build/types/database.types.d.ts +0 -29
  208. package/node_modules/@sprucelabs/data-stores/build/types/database.types.js +0 -2
  209. package/node_modules/@sprucelabs/data-stores/build/types/query.types.d.ts +0 -29
  210. package/node_modules/@sprucelabs/data-stores/build/types/query.types.js +0 -3
  211. package/node_modules/@sprucelabs/data-stores/build/types/stores.types.d.ts +0 -24
  212. package/node_modules/@sprucelabs/data-stores/build/types/stores.types.js +0 -13
  213. package/node_modules/@sprucelabs/data-stores/build/utilities/error.utility.d.ts +0 -5
  214. package/node_modules/@sprucelabs/data-stores/build/utilities/error.utility.js +0 -28
  215. package/node_modules/@sprucelabs/data-stores/build/utilities/generateId.d.ts +0 -1
  216. package/node_modules/@sprucelabs/data-stores/build/utilities/generateId.js +0 -7
  217. package/node_modules/@sprucelabs/data-stores/build/utilities/generateIdDeprecated.d.ts +0 -6
  218. package/node_modules/@sprucelabs/data-stores/build/utilities/generateIdDeprecated.js +0 -11
  219. package/node_modules/@sprucelabs/data-stores/build/utilities/mongo.utility.d.ts +0 -12
  220. package/node_modules/@sprucelabs/data-stores/build/utilities/mongo.utility.js +0 -109
  221. package/node_modules/@sprucelabs/data-stores/node_modules/globby/gitignore.js +0 -120
  222. package/node_modules/@sprucelabs/data-stores/node_modules/globby/index.d.ts +0 -186
  223. package/node_modules/@sprucelabs/data-stores/node_modules/globby/index.js +0 -181
  224. package/node_modules/@sprucelabs/data-stores/node_modules/globby/license +0 -9
  225. package/node_modules/@sprucelabs/data-stores/node_modules/globby/package.json +0 -82
  226. package/node_modules/@sprucelabs/data-stores/node_modules/globby/readme.md +0 -170
  227. package/node_modules/@sprucelabs/data-stores/node_modules/globby/stream-utils.js +0 -46
  228. package/node_modules/@sprucelabs/data-stores/package.json +0 -144
  229. package/node_modules/@sprucelabs/data-stores/tsconfig.json +0 -39
@@ -1,19 +0,0 @@
1
- import { buildErrorSchema } from '@sprucelabs/schema';
2
- export default buildErrorSchema({
3
- id: 'unknownStoreError',
4
- name: 'Unknown store error',
5
- description: '',
6
- fields: {
7
- action: {
8
- type: 'text',
9
- label: 'Action',
10
- isRequired: true,
11
- hint: 'e.g. createPerson, updateLocation, etc',
12
- },
13
- storeName: {
14
- type: 'text',
15
- label: 'Store name',
16
- isRequired: true,
17
- },
18
- },
19
- });
@@ -1,10 +0,0 @@
1
- import { Database } from '../types/database.types';
2
- export default class DatabaseFactory {
3
- private static cache;
4
- private constructor();
5
- static Database(options: {
6
- dbName: string;
7
- dbConnectionString: string;
8
- }): Database;
9
- static reset(): void;
10
- }
@@ -1,32 +0,0 @@
1
- import { SchemaError } from '@sprucelabs/schema';
2
- import MongoDatabase from '../databases/MongoDatabase.js';
3
- import NeDbDatabase from '../databases/NeDbDatabase.js';
4
- export default class DatabaseFactory {
5
- constructor() { }
6
- static Database(options) {
7
- const { dbName, dbConnectionString } = options;
8
- let database;
9
- if (!dbConnectionString) {
10
- throw new SchemaError({
11
- code: 'MISSING_PARAMETERS',
12
- parameters: ['dbConnectionString'],
13
- friendlyMessage: "DatabaseFactory can't connect to the database! Setting env.DB_CONNECTION_STRING may help!",
14
- });
15
- }
16
- const cacheKey = options.dbName + options.dbConnectionString;
17
- if (!this.cache[cacheKey]) {
18
- if (dbConnectionString.startsWith('memory')) {
19
- database = new NeDbDatabase();
20
- }
21
- else {
22
- database = new MongoDatabase(dbConnectionString, { dbName });
23
- }
24
- this.cache[cacheKey] = database;
25
- }
26
- return this.cache[cacheKey];
27
- }
28
- static reset() {
29
- this.cache = {};
30
- }
31
- }
32
- DatabaseFactory.cache = {};
@@ -1,25 +0,0 @@
1
- import { Database } from '../types/database.types';
2
- import { Store, StoreMap, StoreName, StoreOptions } from '../types/stores.types';
3
- interface StoreContructor {
4
- Store(o: any): Promise<Store> | Store;
5
- }
6
- export default class StoreFactory {
7
- private storeMap;
8
- private db;
9
- private static initializations;
10
- private stores;
11
- private constructor();
12
- static Factory(db: Database): StoreFactory;
13
- /**
14
- * @deprecated stores.Store(..) -> stores.getStore(...)
15
- * This change has big speed improvements. This factory method
16
- * will never be removed, but hopefully won't be needed often.
17
- */
18
- Store<Name extends StoreName, Options extends StoreOptions<Name>>(name: Name, options?: Options): Promise<StoreMap[Name]>;
19
- getStoreNames(): StoreName[];
20
- setStoreClass(name: string, TestStore: StoreContructor): void;
21
- setStore(name: StoreName, store: Store): void;
22
- getStore<Name extends StoreName>(name: Name): Promise<StoreMap[Name]>;
23
- static reset(): void;
24
- }
25
- export {};
@@ -1,72 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { namesUtil } from '@sprucelabs/spruce-skill-utils';
11
- import SpruceError from '../errors/SpruceError.js';
12
- export default class StoreFactory {
13
- constructor(db) {
14
- this.storeMap = {};
15
- this.stores = {};
16
- this.db = db;
17
- }
18
- static Factory(db) {
19
- return new this(db);
20
- }
21
- /**
22
- * @deprecated stores.Store(..) -> stores.getStore(...)
23
- * This change has big speed improvements. This factory method
24
- * will never be removed, but hopefully won't be needed often.
25
- */
26
- Store(name, options) {
27
- var _a;
28
- return __awaiter(this, void 0, void 0, function* () {
29
- const Store = this.storeMap[name];
30
- if (Store) {
31
- if (!Store.Store) {
32
- throw new SpruceError({
33
- code: 'INVALID_STORE',
34
- friendlyMessage: `You have to have ${namesUtil.toPascal(name)}.Store(options: UniversalStoreOptions) factory method on your store that returns \`new this(...)\`.`,
35
- });
36
- }
37
- const instance = yield Store.Store(Object.assign({ db: this.db, storeFactory: this }, options));
38
- if (!StoreFactory.initializations[name]) {
39
- StoreFactory.initializations[name] = true;
40
- yield ((_a = instance.initialize) === null || _a === void 0 ? void 0 : _a.call(instance));
41
- }
42
- return instance;
43
- }
44
- throw new SpruceError({
45
- code: 'INVALID_STORE_NAME',
46
- suppliedName: name,
47
- validNames: this.getStoreNames(),
48
- });
49
- });
50
- }
51
- getStoreNames() {
52
- return Object.keys(this.storeMap);
53
- }
54
- setStoreClass(name, TestStore) {
55
- this.storeMap[name] = TestStore;
56
- }
57
- setStore(name, store) {
58
- this.stores[name] = store;
59
- }
60
- getStore(name) {
61
- return __awaiter(this, void 0, void 0, function* () {
62
- if (!this.stores[name]) {
63
- this.stores[name] = yield this.Store(name);
64
- }
65
- return this.stores[name];
66
- });
67
- }
68
- static reset() {
69
- this.initializations = {};
70
- }
71
- }
72
- StoreFactory.initializations = {};
@@ -1,22 +0,0 @@
1
- import { Database } from '../types/database.types';
2
- export interface DatabaseFixtureOptions {
3
- dbConnectionString?: string;
4
- dbName?: string;
5
- }
6
- export default class DatabaseFixture {
7
- private static dbCount;
8
- private dbName?;
9
- private static activeDatabases;
10
- private dbConnectionString?;
11
- private static defaultOptions?;
12
- constructor(options?: DatabaseFixtureOptions);
13
- connectToDatabase(): Promise<Database>;
14
- private static connect;
15
- static setDefaultConnectOptions(options: DatabaseFixtureOptions): void;
16
- static generateDbName(): string;
17
- getDbName(): string;
18
- static destroy(): Promise<void>;
19
- static beforeAll(): void;
20
- static beforeEach(): Promise<void>;
21
- static afterEach(): Promise<void>;
22
- }
@@ -1,99 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { SchemaError } from '@sprucelabs/schema';
11
- import { MONGO_TEST_URI } from '../databases/MongoDatabase.js';
12
- import DatabaseFactory from '../factories/DatabaseFactory.js';
13
- const MEMORY = 'memory://';
14
- export default class DatabaseFixture {
15
- constructor(options) {
16
- const { dbConnectionString = MEMORY, dbName } = Object.assign(Object.assign({}, DatabaseFixture.defaultOptions), options);
17
- const missing = [];
18
- if (!dbConnectionString) {
19
- missing.push('dbConnectionString');
20
- }
21
- if (!dbName && dbConnectionString !== MEMORY) {
22
- missing.push('dbName');
23
- }
24
- if (missing.length > 0) {
25
- throw new SchemaError({
26
- code: 'MISSING_PARAMETERS',
27
- parameters: missing,
28
- });
29
- }
30
- this.dbName = dbName;
31
- this.dbConnectionString = dbConnectionString;
32
- }
33
- connectToDatabase() {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- const options = {};
36
- if (this.dbConnectionString && this.dbName) {
37
- options.dbConnectionString = this.dbConnectionString;
38
- options.dbName = this.dbName;
39
- }
40
- else if (this.dbConnectionString) {
41
- options.dbConnectionString = this.dbConnectionString;
42
- }
43
- else {
44
- options.dbName = this.dbName = DatabaseFixture.generateDbName();
45
- options.dbConnectionString = MONGO_TEST_URI;
46
- }
47
- const database = yield DatabaseFixture.connect(options);
48
- return database;
49
- });
50
- }
51
- static connect(options) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const database = DatabaseFactory.Database(options);
54
- yield database.connect();
55
- DatabaseFixture.activeDatabases.push(database);
56
- return database;
57
- });
58
- }
59
- static setDefaultConnectOptions(options) {
60
- this.defaultOptions = options;
61
- }
62
- static generateDbName() {
63
- return `mercury_${new Date().getTime()}-${this.dbCount++}`;
64
- }
65
- getDbName() {
66
- if (!this.dbName) {
67
- throw new Error('You need to connect to the database using `shouldUseInMemoryDatabase=false` before accessing dbName.');
68
- }
69
- return this.dbName;
70
- }
71
- static destroy() {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- if (this.defaultOptions && this.activeDatabases.length === 0) {
74
- yield DatabaseFixture.connect(this.defaultOptions);
75
- }
76
- for (const db of this.activeDatabases) {
77
- if (db.isConnected()) {
78
- yield db.dropDatabase();
79
- yield db.close();
80
- }
81
- }
82
- this.activeDatabases = [];
83
- DatabaseFactory.reset();
84
- });
85
- }
86
- static beforeAll() { }
87
- static beforeEach() {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- yield this.destroy();
90
- });
91
- }
92
- static afterEach() {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- yield this.destroy();
95
- });
96
- }
97
- }
98
- DatabaseFixture.dbCount = 0;
99
- DatabaseFixture.activeDatabases = [];
@@ -1,5 +0,0 @@
1
- export default class StoreFixture {
2
- private activeDir;
3
- constructor(activeDir: string);
4
- Factory(): Promise<import("..").StoreFactory>;
5
- }
@@ -1,25 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import StoreLoader from '../loaders/StoreLoader.js';
11
- import DatabaseFixture from './DatabaseFixture.js';
12
- export default class StoreFixture {
13
- constructor(activeDir) {
14
- this.activeDir = activeDir;
15
- }
16
- Factory() {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- const dbFixture = new DatabaseFixture();
19
- const db = yield dbFixture.connectToDatabase();
20
- const loader = yield StoreLoader.Loader(this.activeDir, db);
21
- const factory = yield loader.loadStores();
22
- return factory;
23
- });
24
- }
25
- }
@@ -1,21 +0,0 @@
1
- export { default as AbstractDatabaseTest } from './tests/AbstractDatabaseTest';
2
- export { default as DatabaseFixture } from './fixtures/DatabaseFixture';
3
- export * from './fixtures/DatabaseFixture';
4
- export { default as AbstractStore } from './stores/AbstractStore';
5
- export { default as StoreFactory } from './factories/StoreFactory';
6
- export { default as DatabaseFactory } from './factories/DatabaseFactory';
7
- export { default as StoreLoader } from './loaders/StoreLoader';
8
- export { default as MongoDatabase } from './databases/MongoDatabase';
9
- export * from './databases/MongoDatabase';
10
- export { default as NeDbDatabase } from './databases/NeDbDatabase';
11
- export { default as mongoUtil } from './utilities/mongo.utility';
12
- export * from './databases/NeDbDatabase';
13
- export * from './types/database.types';
14
- export * from './types/query.types';
15
- export * from './types/stores.types';
16
- export * from './constants';
17
- export { default as generateId } from './utilities/generateIdDeprecated';
18
- export { default as CursorPager } from './cursors/CursorPager';
19
- export * from './cursors/CursorPager';
20
- export { default as CursorPagerFaker } from './cursors/CursorPagerFaker';
21
- export * from './cursors/CursorPager';
@@ -1,21 +0,0 @@
1
- export { default as AbstractDatabaseTest } from './tests/AbstractDatabaseTest.js';
2
- export { default as DatabaseFixture } from './fixtures/DatabaseFixture.js';
3
- export * from './fixtures/DatabaseFixture.js';
4
- export { default as AbstractStore } from './stores/AbstractStore.js';
5
- export { default as StoreFactory } from './factories/StoreFactory.js';
6
- export { default as DatabaseFactory } from './factories/DatabaseFactory.js';
7
- export { default as StoreLoader } from './loaders/StoreLoader.js';
8
- export { default as MongoDatabase } from './databases/MongoDatabase.js';
9
- export * from './databases/MongoDatabase.js';
10
- export { default as NeDbDatabase } from './databases/NeDbDatabase.js';
11
- export { default as mongoUtil } from './utilities/mongo.utility.js';
12
- export * from './databases/NeDbDatabase.js';
13
- export * from './types/database.types.js';
14
- export * from './types/query.types.js';
15
- export * from './types/stores.types.js';
16
- export * from './constants.js';
17
- export { default as generateId } from './utilities/generateIdDeprecated.js';
18
- export { default as CursorPager } from './cursors/CursorPager.js';
19
- export * from './cursors/CursorPager.js';
20
- export { default as CursorPagerFaker } from './cursors/CursorPagerFaker.js';
21
- export * from './cursors/CursorPager.js';
@@ -1,25 +0,0 @@
1
- import AbstractSpruceError from '@sprucelabs/error';
2
- import { FailedToLoadStoreErrorOptions } from "./../.spruce/errors/options.types";
3
- import StoreFactory from '../factories/StoreFactory';
4
- import { Database } from '../types/database.types';
5
- declare type StoreLoadError = AbstractSpruceError<FailedToLoadStoreErrorOptions>;
6
- export default class StoreLoader {
7
- private activeDir;
8
- private db;
9
- private static instance;
10
- private static defaultStoreDir;
11
- private static defaultDb;
12
- private constructor();
13
- static setStoreDir(dir: string): void;
14
- static setDatabase(db: Database): void;
15
- static Loader(activeDir: string, db: Database): Promise<StoreLoader>;
16
- static getInstance(cwd?: string, database?: Database): Promise<StoreLoader>;
17
- loadStores(): Promise<StoreFactory>;
18
- loadStoresAndErrors(): Promise<{
19
- factory: StoreFactory;
20
- errors: StoreLoadError[];
21
- }>;
22
- private loadStoreClassesWithErrors;
23
- static clearInstance(): void;
24
- }
25
- export {};
@@ -1,120 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import pathUtil from 'path';
11
- import { SchemaError } from '@sprucelabs/schema';
12
- import { diskUtil, HASH_SPRUCE_DIR_NAME, namesUtil, } from '@sprucelabs/spruce-skill-utils';
13
- import globby from 'globby';
14
- import SpruceError from '../errors/SpruceError.js';
15
- import StoreFactory from '../factories/StoreFactory.js';
16
- export default class StoreLoader {
17
- constructor(activeDir, db) {
18
- this.activeDir = activeDir;
19
- this.db = db;
20
- }
21
- static setStoreDir(dir) {
22
- this.defaultStoreDir = dir;
23
- }
24
- static setDatabase(db) {
25
- this.defaultDb = db;
26
- }
27
- static Loader(activeDir, db) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- return new this(activeDir, db);
30
- });
31
- }
32
- static getInstance(cwd, database) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- const dir = cwd !== null && cwd !== void 0 ? cwd : this.defaultStoreDir;
35
- const db = database !== null && database !== void 0 ? database : this.defaultDb;
36
- const missing = [];
37
- if (!dir) {
38
- missing.push('cwd');
39
- }
40
- if (!db) {
41
- missing.push('database');
42
- }
43
- if (missing.length > 0) {
44
- throw new SchemaError({
45
- code: 'MISSING_PARAMETERS',
46
- parameters: missing,
47
- });
48
- }
49
- const normalizedDir = dir.replace(/\/$/, '');
50
- if (!this.instance[normalizedDir]) {
51
- this.instance[normalizedDir] = this.Loader(normalizedDir, db);
52
- }
53
- return this.instance[normalizedDir];
54
- });
55
- }
56
- loadStores() {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- const { factory, errors } = yield this.loadStoresAndErrors();
59
- if (errors.length > 0) {
60
- throw new SpruceError({ code: 'FAILED_TO_LOAD_STORES', errors });
61
- }
62
- return factory;
63
- });
64
- }
65
- loadStoresAndErrors() {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- const { stores, errors } = yield this.loadStoreClassesWithErrors();
68
- const factory = StoreFactory.Factory(this.db);
69
- for (const store of stores) {
70
- factory.setStoreClass(namesUtil.toCamel(store.namePascal), store.Class);
71
- }
72
- return { factory, errors };
73
- });
74
- }
75
- loadStoreClassesWithErrors() {
76
- var _a, _b;
77
- return __awaiter(this, void 0, void 0, function* () {
78
- const combinedFile = diskUtil.resolveFile(this.activeDir, HASH_SPRUCE_DIR_NAME, 'stores', 'stores');
79
- if (!combinedFile) {
80
- return { stores: [], errors: [] };
81
- }
82
- const errors = [];
83
- const Stores = [];
84
- try {
85
- const map = require(combinedFile).default;
86
- Object.keys(map).forEach((k) => {
87
- Stores.push({
88
- Class: map[k],
89
- namePascal: k,
90
- });
91
- });
92
- }
93
- catch (_c) {
94
- const pattern = diskUtil.resolvePath(this.activeDir, '**', '*.store.[j|t]s');
95
- const matches = yield globby(pattern);
96
- for (const match of matches) {
97
- const namePascal = (_b = (_a = match.split(pathUtil.sep).pop()) === null || _a === void 0 ? void 0 : _a.split('.store').shift()) !== null && _b !== void 0 ? _b : 'MISSING';
98
- try {
99
- const Class = require(match).default;
100
- Stores.push({ namePascal, Class });
101
- }
102
- catch (err) {
103
- const spruceError = new SpruceError({
104
- code: 'FAILED_TO_LOAD_STORE',
105
- originalError: err,
106
- name: namePascal,
107
- });
108
- //@ts-ignore
109
- errors.push(spruceError);
110
- }
111
- }
112
- }
113
- return { stores: Stores, errors };
114
- });
115
- }
116
- static clearInstance() {
117
- this.instance = {};
118
- }
119
- }
120
- StoreLoader.instance = {};
@@ -1,6 +0,0 @@
1
- export default abstract class AbstractMutexer {
2
- private mutexesByKey;
3
- lock(key: string): Promise<void>;
4
- unlock(key: string): void;
5
- isLocked(key: string): Promise<boolean>;
6
- }
@@ -1,56 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- export default class AbstractMutexer {
11
- constructor() {
12
- this.mutexesByKey = {};
13
- }
14
- lock(key) {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- if (!this.mutexesByKey[key]) {
17
- this.mutexesByKey[key] = {
18
- promises: [],
19
- resolvers: [],
20
- count: 0,
21
- };
22
- }
23
- this.mutexesByKey[key].count++;
24
- if (this.mutexesByKey[key].count === 1) {
25
- this.mutexesByKey[key].promises.push(new Promise((resolve) => resolve(undefined)));
26
- this.mutexesByKey[key].resolvers.push(() => { });
27
- }
28
- else {
29
- const resolver = (resolve) => {
30
- this.mutexesByKey[key].resolvers.push(resolve);
31
- };
32
- const promise = new Promise(resolver);
33
- this.mutexesByKey[key].promises.push(promise);
34
- }
35
- return this.mutexesByKey[key].promises[this.mutexesByKey[key].count - 1];
36
- });
37
- }
38
- unlock(key) {
39
- if (this.mutexesByKey[key]) {
40
- this.mutexesByKey[key].promises.shift();
41
- this.mutexesByKey[key].resolvers.shift();
42
- this.mutexesByKey[key].count--;
43
- if (this.mutexesByKey[key].count === 0) {
44
- delete this.mutexesByKey[key];
45
- }
46
- else {
47
- this.mutexesByKey[key].resolvers[0]();
48
- }
49
- }
50
- }
51
- isLocked(key) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- return !!this.mutexesByKey[key];
54
- });
55
- }
56
- }
@@ -1,48 +0,0 @@
1
- import { DynamicSchemaAllValues, Schema, IsDynamicSchema, SchemaAllValues, SchemaFieldNames, SchemaPartialValues, SchemaPublicFieldNames, SchemaPublicValues, SchemaValues } from '@sprucelabs/schema';
2
- import AbstractMutexer from '../mutexers/AbstractMutexer';
3
- import { Database } from '../types/database.types';
4
- import { QueryBuilder, QueryOptions } from '../types/query.types';
5
- import { PrepareOptions, PrepareResults, SaveOperations } from '../types/stores.types';
6
- declare type Response<FullSchema extends Schema, CreateEntityInstances extends boolean, IncludePrivateFields extends boolean, PF extends SchemaPublicFieldNames<FullSchema>, F extends SchemaFieldNames<FullSchema>> = IsDynamicSchema<FullSchema> extends true ? DynamicSchemaAllValues<FullSchema, CreateEntityInstances> : IncludePrivateFields extends false ? Pick<SchemaPublicValues<FullSchema, CreateEntityInstances>, PF> : Pick<SchemaAllValues<FullSchema, CreateEntityInstances>, F>;
7
- export default abstract class AbstractStore<FullSchema extends Schema, CreateSchema extends Schema = FullSchema, UpdateSchema extends Schema = CreateSchema, DatabaseSchema extends Schema = FullSchema, DatabaseRecord = SchemaValues<DatabaseSchema> & {
8
- id: string;
9
- }, QueryRecord = SchemaPartialValues<FullSchema>, FullRecord = SchemaValues<FullSchema>, CreateRecord = SchemaValues<CreateSchema>, UpdateRecord = SchemaValues<UpdateSchema> & SaveOperations> extends AbstractMutexer {
10
- abstract readonly name: string;
11
- protected abstract collectionName: string;
12
- protected abstract createSchema: CreateSchema;
13
- protected abstract updateSchema: UpdateSchema;
14
- protected abstract fullSchema: FullSchema;
15
- protected abstract databaseSchema: DatabaseSchema;
16
- protected scrambleFields?: string[];
17
- protected db: Database;
18
- initialize?(): Promise<void>;
19
- protected prepareRecord?<IncludePrivateFields extends boolean, F extends SchemaFieldNames<FullSchema> = SchemaFieldNames<FullSchema>>(record: DatabaseRecord, options?: PrepareOptions<IncludePrivateFields, FullSchema, F>): Promise<PrepareResults<FullSchema, IncludePrivateFields>>;
20
- protected willCreate?(values: CreateRecord): Promise<Omit<DatabaseRecord, 'id'>>;
21
- protected didCreate?(values: CreateRecord): Promise<void>;
22
- protected willUpdate?(updates: UpdateRecord, values: DatabaseRecord): Promise<Partial<DatabaseRecord>>;
23
- protected didUpdate?(old: DatabaseRecord, updated: DatabaseRecord): Promise<void>;
24
- protected willScramble?(values: Partial<DatabaseRecord> & {
25
- _isScrambled: true;
26
- }): Promise<Partial<DatabaseRecord>>;
27
- protected constructor(db: Database, collectionName?: string);
28
- private setCollectionName;
29
- protected prepareAndNormalizeRecord<IncludePrivateFields extends boolean = true, CreateEntityInstances extends boolean = false, F extends SchemaFieldNames<FullSchema> = SchemaFieldNames<FullSchema>, PF extends SchemaPublicFieldNames<FullSchema> = SchemaPublicFieldNames<FullSchema>>(record: any, options?: PrepareOptions<IncludePrivateFields, FullSchema, F>): Promise<Response<FullSchema, CreateEntityInstances, IncludePrivateFields, PF, F>>;
30
- create<IncludePrivateFields extends boolean = true, CreateEntityInstances extends boolean = false, F extends SchemaFieldNames<FullSchema> = SchemaFieldNames<FullSchema>, PF extends SchemaPublicFieldNames<FullSchema> = SchemaPublicFieldNames<FullSchema>>(values: CreateRecord[], options?: PrepareOptions<CreateEntityInstances, FullSchema, F>): Promise<Response<FullSchema, CreateEntityInstances, IncludePrivateFields, PF, F>[]>;
31
- createOne<CreateEntityInstances extends boolean, F extends SchemaFieldNames<FullSchema> = SchemaFieldNames<FullSchema>>(values: CreateRecord, options?: PrepareOptions<CreateEntityInstances, FullSchema, F>): Promise<Response<FullSchema, false, CreateEntityInstances, SchemaPublicFieldNames<FullSchema>, F>>;
32
- findOne<CreateEntityInstances extends boolean, F extends SchemaFieldNames<FullSchema> = SchemaFieldNames<FullSchema>>(query: QueryBuilder<QueryRecord>, options?: PrepareOptions<CreateEntityInstances, FullSchema, F>): Promise<Response<FullSchema, false, CreateEntityInstances, SchemaPublicFieldNames<FullSchema>, F> | null>;
33
- count(query?: QueryBuilder<QueryRecord>): Promise<number>;
34
- find<CreateEntityInstances extends boolean, F extends SchemaFieldNames<FullSchema> = SchemaFieldNames<FullSchema>>(query: QueryBuilder<QueryRecord>, queryOptions?: Omit<QueryOptions, 'includeFields'>, options?: PrepareOptions<CreateEntityInstances, FullSchema, F>): Promise<Awaited<Response<FullSchema, false, CreateEntityInstances, SchemaPublicFieldNames<FullSchema>, F>>[]>;
35
- upsertOne<IncludePrivateFields extends boolean = true, CreateEntityInstances extends boolean = false, F extends SchemaFieldNames<FullSchema> = SchemaFieldNames<FullSchema>, PF extends SchemaPublicFieldNames<FullSchema> = SchemaPublicFieldNames<FullSchema>>(query: QueryBuilder<QueryRecord>, updates: UpdateRecord & CreateRecord & {
36
- id?: string;
37
- }, options?: PrepareOptions<IncludePrivateFields, FullSchema, F>): Promise<Response<FullSchema, CreateEntityInstances, IncludePrivateFields, PF, F>>;
38
- updateOne<IncludePrivateFields extends boolean = false, CreateEntityInstances extends boolean = false, F extends SchemaFieldNames<FullSchema> = SchemaFieldNames<FullSchema>, PF extends SchemaPublicFieldNames<FullSchema> = SchemaPublicFieldNames<FullSchema>>(query: QueryBuilder<QueryRecord>, updates: UpdateRecord, options?: PrepareOptions<IncludePrivateFields, FullSchema, F>): Promise<Response<FullSchema, CreateEntityInstances, IncludePrivateFields, PF, F>>;
39
- update(query: QueryBuilder<QueryRecord>, updates: UpdateRecord): Promise<number>;
40
- private findOneAndUpdate;
41
- private pluckOperations;
42
- scramble(id: string): Promise<Response<FullSchema, false, false, SchemaPublicFieldNames<FullSchema>, Extract<keyof FullSchema["fields"], string>>>;
43
- private isScrambled;
44
- private generateScrambledRecord;
45
- deleteOne(query: QueryBuilder<QueryRecord>): Promise<number>;
46
- delete(query: QueryBuilder<QueryRecord>): Promise<number>;
47
- }
48
- export {};