@sprucelabs/spruce-cli 17.1.14 → 17.1.17

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 (239) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.d.ts +2 -0
  3. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js +72 -8
  4. package/build/__tests__/behavioral/views/KeepingViewsInSync.test.js.map +1 -1
  5. package/node_modules/@typescript-eslint/parser/package.json +5 -5
  6. package/node_modules/@typescript-eslint/scope-manager/dist/lib/base-config.d.ts +9 -9
  7. package/node_modules/@typescript-eslint/scope-manager/package.json +5 -5
  8. package/node_modules/@typescript-eslint/types/package.json +2 -2
  9. package/node_modules/@typescript-eslint/typescript-estree/package.json +5 -5
  10. package/node_modules/@typescript-eslint/visitor-keys/package.json +3 -3
  11. package/package.json +28 -28
  12. package/src/__tests__/behavioral/views/KeepingViewsInSync.test.ts +16 -0
  13. package/node_modules/@sprucelabs/data-stores/README.md +0 -24
  14. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/databaseNotConnected.schema.d.ts +0 -3
  15. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/databaseNotConnected.schema.js +0 -23
  16. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateKey.schema.d.ts +0 -3
  17. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateKey.schema.js +0 -11
  18. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateRecord.schema.d.ts +0 -3
  19. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateRecord.schema.js +0 -40
  20. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStore.schema.d.ts +0 -3
  21. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStore.schema.js +0 -18
  22. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStores.schema.d.ts +0 -3
  23. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStores.schema.js +0 -19
  24. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexExists.schema.d.ts +0 -3
  25. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexExists.schema.js +0 -20
  26. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexNotFound.schema.d.ts +0 -3
  27. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexNotFound.schema.js +0 -20
  28. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDatabaseName.schema.d.ts +0 -3
  29. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDatabaseName.schema.js +0 -18
  30. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDbConnectionString.schema.d.ts +0 -3
  31. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDbConnectionString.schema.js +0 -11
  32. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema copy.d.ts +0 -3
  33. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema copy.js +0 -25
  34. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema.d.ts +0 -3
  35. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema.js +0 -11
  36. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStoreName.schema.d.ts +0 -3
  37. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStoreName.schema.js +0 -25
  38. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/mongoIdMappingError.schema.d.ts +0 -3
  39. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/mongoIdMappingError.schema.js +0 -11
  40. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/record-not-found-query.schema.d.ts +0 -3
  41. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/record-not-found-query.schema.js +0 -15
  42. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/recordNotFound.schema.d.ts +0 -3
  43. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/recordNotFound.schema.js +0 -30
  44. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/scrambleNotConfigured.schema.d.ts +0 -3
  45. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/scrambleNotConfigured.schema.js +0 -11
  46. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unableToConnectToDb.schema.d.ts +0 -3
  47. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unableToConnectToDb.schema.js +0 -11
  48. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownDatabaseError.schema.d.ts +0 -3
  49. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownDatabaseError.schema.js +0 -18
  50. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownError.schema.d.ts +0 -3
  51. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownError.schema.js +0 -11
  52. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownStoreError.schema.d.ts +0 -3
  53. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownStoreError.schema.js +0 -27
  54. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/errors.types.d.ts +0 -383
  55. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/errors.types.js +0 -4
  56. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/options.types.d.ts +0 -58
  57. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/options.types.js +0 -2
  58. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fieldClassMap.d.ts +0 -2
  59. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fieldClassMap.js +0 -4
  60. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fields.types.d.ts +0 -1
  61. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fields.types.js +0 -2
  62. package/node_modules/@sprucelabs/data-stores/build/.spruce/settings.json +0 -22
  63. package/node_modules/@sprucelabs/data-stores/build/constants.d.ts +0 -1
  64. package/node_modules/@sprucelabs/data-stores/build/constants.js +0 -4
  65. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPager.d.ts +0 -29
  66. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPager.js +0 -129
  67. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPagerFaker.d.ts +0 -6
  68. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPagerFaker.js +0 -25
  69. package/node_modules/@sprucelabs/data-stores/build/databases/MongoDatabase.d.ts +0 -44
  70. package/node_modules/@sprucelabs/data-stores/build/databases/MongoDatabase.js +0 -432
  71. package/node_modules/@sprucelabs/data-stores/build/databases/NeDbDatabase.d.ts +0 -41
  72. package/node_modules/@sprucelabs/data-stores/build/databases/NeDbDatabase.js +0 -447
  73. package/node_modules/@sprucelabs/data-stores/build/databases/mongo.types.d.ts +0 -3163
  74. package/node_modules/@sprucelabs/data-stores/build/databases/mongo.types.js +0 -50
  75. package/node_modules/@sprucelabs/data-stores/build/errors/SpruceError.d.ts +0 -5
  76. package/node_modules/@sprucelabs/data-stores/build/errors/SpruceError.js +0 -103
  77. package/node_modules/@sprucelabs/data-stores/build/errors/databaseNotConnected.builder.d.ts +0 -15
  78. package/node_modules/@sprucelabs/data-stores/build/errors/databaseNotConnected.builder.js +0 -17
  79. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateKey.builder.d.ts +0 -6
  80. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateKey.builder.js +0 -8
  81. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateRecord.builder.d.ts +0 -28
  82. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateRecord.builder.js +0 -30
  83. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStore.builder.d.ts +0 -12
  84. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStore.builder.js +0 -14
  85. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStores.builder.d.ts +0 -16
  86. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStores.builder.js +0 -21
  87. package/node_modules/@sprucelabs/data-stores/build/errors/indexExists.builder.d.ts +0 -14
  88. package/node_modules/@sprucelabs/data-stores/build/errors/indexExists.builder.js +0 -16
  89. package/node_modules/@sprucelabs/data-stores/build/errors/indexNotFound.builder.d.ts +0 -14
  90. package/node_modules/@sprucelabs/data-stores/build/errors/indexNotFound.builder.js +0 -16
  91. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDatabaseName.builder.d.ts +0 -12
  92. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDatabaseName.builder.js +0 -14
  93. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDbConnectionString.builder.d.ts +0 -7
  94. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDbConnectionString.builder.js +0 -9
  95. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStore.builder.d.ts +0 -6
  96. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStore.builder.js +0 -8
  97. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStoreName.builder.d.ts +0 -16
  98. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStoreName.builder.js +0 -18
  99. package/node_modules/@sprucelabs/data-stores/build/errors/mongoIdMappingError.builder.d.ts +0 -7
  100. package/node_modules/@sprucelabs/data-stores/build/errors/mongoIdMappingError.builder.js +0 -12
  101. package/node_modules/@sprucelabs/data-stores/build/errors/recordNotFound.builder.d.ts +0 -31
  102. package/node_modules/@sprucelabs/data-stores/build/errors/recordNotFound.builder.js +0 -33
  103. package/node_modules/@sprucelabs/data-stores/build/errors/scrambleNotConfigured.builder.d.ts +0 -7
  104. package/node_modules/@sprucelabs/data-stores/build/errors/scrambleNotConfigured.builder.js +0 -12
  105. package/node_modules/@sprucelabs/data-stores/build/errors/unableToConnectToDb.builder.d.ts +0 -7
  106. package/node_modules/@sprucelabs/data-stores/build/errors/unableToConnectToDb.builder.js +0 -9
  107. package/node_modules/@sprucelabs/data-stores/build/errors/unknownDatabaseError.builder.d.ts +0 -12
  108. package/node_modules/@sprucelabs/data-stores/build/errors/unknownDatabaseError.builder.js +0 -14
  109. package/node_modules/@sprucelabs/data-stores/build/errors/unknownError.builder.d.ts +0 -6
  110. package/node_modules/@sprucelabs/data-stores/build/errors/unknownError.builder.js +0 -8
  111. package/node_modules/@sprucelabs/data-stores/build/errors/unknownStoreError.builder.d.ts +0 -19
  112. package/node_modules/@sprucelabs/data-stores/build/errors/unknownStoreError.builder.js +0 -21
  113. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/errors.types.d.ts +0 -383
  114. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/errors.types.js +0 -3
  115. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/options.types.d.ts +0 -58
  116. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/options.types.js +0 -1
  117. package/node_modules/@sprucelabs/data-stores/build/esm/constants.d.ts +0 -1
  118. package/node_modules/@sprucelabs/data-stores/build/esm/constants.js +0 -1
  119. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPager.d.ts +0 -29
  120. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPager.js +0 -134
  121. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPagerFaker.d.ts +0 -6
  122. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPagerFaker.js +0 -30
  123. package/node_modules/@sprucelabs/data-stores/build/esm/databases/MongoDatabase.d.ts +0 -44
  124. package/node_modules/@sprucelabs/data-stores/build/esm/databases/MongoDatabase.js +0 -476
  125. package/node_modules/@sprucelabs/data-stores/build/esm/databases/NeDbDatabase.d.ts +0 -41
  126. package/node_modules/@sprucelabs/data-stores/build/esm/databases/NeDbDatabase.js +0 -496
  127. package/node_modules/@sprucelabs/data-stores/build/esm/databases/mongo.types.d.ts +0 -3163
  128. package/node_modules/@sprucelabs/data-stores/build/esm/databases/mongo.types.js +0 -36
  129. package/node_modules/@sprucelabs/data-stores/build/esm/errors/SpruceError.d.ts +0 -5
  130. package/node_modules/@sprucelabs/data-stores/build/esm/errors/SpruceError.js +0 -97
  131. package/node_modules/@sprucelabs/data-stores/build/esm/errors/databaseNotConnected.builder.d.ts +0 -15
  132. package/node_modules/@sprucelabs/data-stores/build/esm/errors/databaseNotConnected.builder.js +0 -15
  133. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateKey.builder.d.ts +0 -6
  134. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateKey.builder.js +0 -6
  135. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateRecord.builder.d.ts +0 -28
  136. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateRecord.builder.js +0 -28
  137. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStore.builder.d.ts +0 -12
  138. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStore.builder.js +0 -12
  139. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStores.builder.d.ts +0 -16
  140. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStores.builder.js +0 -19
  141. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexExists.builder.d.ts +0 -14
  142. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexExists.builder.js +0 -14
  143. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexNotFound.builder.d.ts +0 -14
  144. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexNotFound.builder.js +0 -14
  145. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDatabaseName.builder.d.ts +0 -12
  146. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDatabaseName.builder.js +0 -12
  147. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDbConnectionString.builder.d.ts +0 -7
  148. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDbConnectionString.builder.js +0 -7
  149. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStore.builder.d.ts +0 -6
  150. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStore.builder.js +0 -6
  151. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStoreName.builder.d.ts +0 -16
  152. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStoreName.builder.js +0 -16
  153. package/node_modules/@sprucelabs/data-stores/build/esm/errors/mongoIdMappingError.builder.d.ts +0 -7
  154. package/node_modules/@sprucelabs/data-stores/build/esm/errors/mongoIdMappingError.builder.js +0 -10
  155. package/node_modules/@sprucelabs/data-stores/build/esm/errors/recordNotFound.builder.d.ts +0 -31
  156. package/node_modules/@sprucelabs/data-stores/build/esm/errors/recordNotFound.builder.js +0 -31
  157. package/node_modules/@sprucelabs/data-stores/build/esm/errors/scrambleNotConfigured.builder.d.ts +0 -7
  158. package/node_modules/@sprucelabs/data-stores/build/esm/errors/scrambleNotConfigured.builder.js +0 -10
  159. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unableToConnectToDb.builder.d.ts +0 -7
  160. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unableToConnectToDb.builder.js +0 -7
  161. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownDatabaseError.builder.d.ts +0 -12
  162. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownDatabaseError.builder.js +0 -12
  163. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownError.builder.d.ts +0 -6
  164. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownError.builder.js +0 -6
  165. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownStoreError.builder.d.ts +0 -19
  166. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownStoreError.builder.js +0 -19
  167. package/node_modules/@sprucelabs/data-stores/build/esm/factories/DatabaseFactory.d.ts +0 -10
  168. package/node_modules/@sprucelabs/data-stores/build/esm/factories/DatabaseFactory.js +0 -32
  169. package/node_modules/@sprucelabs/data-stores/build/esm/factories/StoreFactory.d.ts +0 -25
  170. package/node_modules/@sprucelabs/data-stores/build/esm/factories/StoreFactory.js +0 -72
  171. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/DatabaseFixture.d.ts +0 -22
  172. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/DatabaseFixture.js +0 -99
  173. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/StoreFixture.d.ts +0 -5
  174. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/StoreFixture.js +0 -25
  175. package/node_modules/@sprucelabs/data-stores/build/esm/index.d.ts +0 -21
  176. package/node_modules/@sprucelabs/data-stores/build/esm/index.js +0 -21
  177. package/node_modules/@sprucelabs/data-stores/build/esm/loaders/StoreLoader.d.ts +0 -25
  178. package/node_modules/@sprucelabs/data-stores/build/esm/loaders/StoreLoader.js +0 -120
  179. package/node_modules/@sprucelabs/data-stores/build/esm/mutexers/AbstractMutexer.d.ts +0 -6
  180. package/node_modules/@sprucelabs/data-stores/build/esm/mutexers/AbstractMutexer.js +0 -56
  181. package/node_modules/@sprucelabs/data-stores/build/esm/stores/AbstractStore.d.ts +0 -48
  182. package/node_modules/@sprucelabs/data-stores/build/esm/stores/AbstractStore.js +0 -293
  183. package/node_modules/@sprucelabs/data-stores/build/esm/tests/AbstractDatabaseTest.d.ts +0 -12
  184. package/node_modules/@sprucelabs/data-stores/build/esm/tests/AbstractDatabaseTest.js +0 -54
  185. package/node_modules/@sprucelabs/data-stores/build/esm/types/database.types.d.ts +0 -29
  186. package/node_modules/@sprucelabs/data-stores/build/esm/types/database.types.js +0 -1
  187. package/node_modules/@sprucelabs/data-stores/build/esm/types/query.types.d.ts +0 -29
  188. package/node_modules/@sprucelabs/data-stores/build/esm/types/query.types.js +0 -2
  189. package/node_modules/@sprucelabs/data-stores/build/esm/types/stores.types.d.ts +0 -24
  190. package/node_modules/@sprucelabs/data-stores/build/esm/types/stores.types.js +0 -10
  191. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/error.utility.d.ts +0 -5
  192. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/error.utility.js +0 -23
  193. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateId.d.ts +0 -1
  194. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateId.js +0 -4
  195. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateIdDeprecated.d.ts +0 -6
  196. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateIdDeprecated.js +0 -6
  197. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/mongo.utility.d.ts +0 -12
  198. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/mongo.utility.js +0 -104
  199. package/node_modules/@sprucelabs/data-stores/build/factories/DatabaseFactory.d.ts +0 -10
  200. package/node_modules/@sprucelabs/data-stores/build/factories/DatabaseFactory.js +0 -38
  201. package/node_modules/@sprucelabs/data-stores/build/factories/StoreFactory.d.ts +0 -25
  202. package/node_modules/@sprucelabs/data-stores/build/factories/StoreFactory.js +0 -65
  203. package/node_modules/@sprucelabs/data-stores/build/fixtures/DatabaseFixture.d.ts +0 -22
  204. package/node_modules/@sprucelabs/data-stores/build/fixtures/DatabaseFixture.js +0 -86
  205. package/node_modules/@sprucelabs/data-stores/build/fixtures/StoreFixture.d.ts +0 -5
  206. package/node_modules/@sprucelabs/data-stores/build/fixtures/StoreFixture.js +0 -20
  207. package/node_modules/@sprucelabs/data-stores/build/index.d.ts +0 -21
  208. package/node_modules/@sprucelabs/data-stores/build/index.js +0 -53
  209. package/node_modules/@sprucelabs/data-stores/build/loaders/StoreLoader.d.ts +0 -25
  210. package/node_modules/@sprucelabs/data-stores/build/loaders/StoreLoader.js +0 -107
  211. package/node_modules/@sprucelabs/data-stores/build/mutexers/AbstractMutexer.d.ts +0 -6
  212. package/node_modules/@sprucelabs/data-stores/build/mutexers/AbstractMutexer.js +0 -46
  213. package/node_modules/@sprucelabs/data-stores/build/stores/AbstractStore.d.ts +0 -48
  214. package/node_modules/@sprucelabs/data-stores/build/stores/AbstractStore.js +0 -285
  215. package/node_modules/@sprucelabs/data-stores/build/tests/AbstractDatabaseTest.d.ts +0 -12
  216. package/node_modules/@sprucelabs/data-stores/build/tests/AbstractDatabaseTest.js +0 -37
  217. package/node_modules/@sprucelabs/data-stores/build/types/database.types.d.ts +0 -29
  218. package/node_modules/@sprucelabs/data-stores/build/types/database.types.js +0 -2
  219. package/node_modules/@sprucelabs/data-stores/build/types/query.types.d.ts +0 -29
  220. package/node_modules/@sprucelabs/data-stores/build/types/query.types.js +0 -3
  221. package/node_modules/@sprucelabs/data-stores/build/types/stores.types.d.ts +0 -24
  222. package/node_modules/@sprucelabs/data-stores/build/types/stores.types.js +0 -13
  223. package/node_modules/@sprucelabs/data-stores/build/utilities/error.utility.d.ts +0 -5
  224. package/node_modules/@sprucelabs/data-stores/build/utilities/error.utility.js +0 -28
  225. package/node_modules/@sprucelabs/data-stores/build/utilities/generateId.d.ts +0 -1
  226. package/node_modules/@sprucelabs/data-stores/build/utilities/generateId.js +0 -7
  227. package/node_modules/@sprucelabs/data-stores/build/utilities/generateIdDeprecated.d.ts +0 -6
  228. package/node_modules/@sprucelabs/data-stores/build/utilities/generateIdDeprecated.js +0 -11
  229. package/node_modules/@sprucelabs/data-stores/build/utilities/mongo.utility.d.ts +0 -12
  230. package/node_modules/@sprucelabs/data-stores/build/utilities/mongo.utility.js +0 -109
  231. package/node_modules/@sprucelabs/data-stores/node_modules/globby/gitignore.js +0 -120
  232. package/node_modules/@sprucelabs/data-stores/node_modules/globby/index.d.ts +0 -186
  233. package/node_modules/@sprucelabs/data-stores/node_modules/globby/index.js +0 -181
  234. package/node_modules/@sprucelabs/data-stores/node_modules/globby/license +0 -9
  235. package/node_modules/@sprucelabs/data-stores/node_modules/globby/package.json +0 -82
  236. package/node_modules/@sprucelabs/data-stores/node_modules/globby/readme.md +0 -170
  237. package/node_modules/@sprucelabs/data-stores/node_modules/globby/stream-utils.js +0 -46
  238. package/node_modules/@sprucelabs/data-stores/package.json +0 -144
  239. package/node_modules/@sprucelabs/data-stores/tsconfig.json +0 -39
@@ -1,496 +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
- var __rest = (this && this.__rest) || function (s, e) {
11
- var t = {};
12
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
- t[p] = s[p];
14
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
- t[p[i]] = s[p[i]];
18
- }
19
- return t;
20
- };
21
- var _a;
22
- import dotenv from 'dotenv';
23
- import differenceWith from 'lodash/differenceWith.js';
24
- import get from 'lodash/get.js';
25
- import isEqual from 'lodash/isEqual.js';
26
- import isObject from 'lodash/isObject.js';
27
- import uniqBy from 'lodash/uniqBy.js';
28
- import Datastore from 'nedb';
29
- import SpruceError from '../errors/SpruceError.js';
30
- import AbstractMutexer from '../mutexers/AbstractMutexer.js';
31
- import generateId from '../utilities/generateId.js';
32
- import mongoUtil from '../utilities/mongo.utility.js';
33
- dotenv.config();
34
- const NULL_PLACEHOLDER = '_____NULL_____';
35
- const UNDEFINED_PLACEHOLDER = '_____UNDEFINED_____';
36
- const SHOULD_SIMULATE_SLOW_QUERIES = process.env.SHOULD_SIMULATE_SLOW_QUERIES === 'true';
37
- const SLOW_QUERY_MAX_RANDOM_DELAY_MS = parseInt(`${(_a = process.env.SLOW_QUERY_MAX_RANDOM_DELAY_MS) !== null && _a !== void 0 ? _a : 100}`, 10);
38
- export default class NeDbDatabase extends AbstractMutexer {
39
- constructor() {
40
- super(...arguments);
41
- this.collections = {};
42
- this._isConnected = false;
43
- }
44
- generateId() {
45
- return generateId();
46
- }
47
- connect() {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- this._isConnected = true;
50
- yield this.randomDelay();
51
- return Promise.resolve();
52
- });
53
- }
54
- close() {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- yield this.randomDelay();
57
- this._isConnected = false;
58
- return Promise.resolve();
59
- });
60
- }
61
- toMongoId(query) {
62
- return mongoUtil.mapQuery(query, { shouldTransformToObjectId: false });
63
- }
64
- prepQuery(query) {
65
- return this.valuesToDocument(this.toMongoId(query));
66
- }
67
- valuesToDocument(values) {
68
- const withId = this.toMongoId(values);
69
- const nullsToPlaceholder = this.handlePlaceholders(withId, NULL_PLACEHOLDER, (val) => val === null || typeof val === 'undefined' || val === NULL_PLACEHOLDER);
70
- const undefinedToPlaceholder = this.handlePlaceholders(nullsToPlaceholder, UNDEFINED_PLACEHOLDER, (val) => val === undefined || val === UNDEFINED_PLACEHOLDER);
71
- return undefinedToPlaceholder;
72
- }
73
- setShouldAutoGenerateIds(collection, shouldAutoGenerateIds) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- const col = this.loadCollection(collection);
76
- //@ts-ignore
77
- col.indexes._id.unique = shouldAutoGenerateIds;
78
- yield this.randomDelay();
79
- });
80
- }
81
- randomDelay() {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- if (SHOULD_SIMULATE_SLOW_QUERIES) {
84
- const delay = Math.round(Math.random() * SLOW_QUERY_MAX_RANDOM_DELAY_MS);
85
- yield new Promise((resolve) => setTimeout(resolve, delay));
86
- }
87
- });
88
- }
89
- isConnected() {
90
- return this._isConnected;
91
- }
92
- normalizeRecord(record) {
93
- const { _id } = record, rest = __rest(record, ["_id"]);
94
- let values = this.handlePlaceholders(rest, null, (val) => val === null || val === NULL_PLACEHOLDER);
95
- if (!_id) {
96
- return values;
97
- }
98
- return Object.assign({ id: _id }, values);
99
- }
100
- handlePlaceholders(values, dropIn, checker) {
101
- let withPlaceholders = Array.isArray(values) ? [] : {};
102
- if (values instanceof RegExp) {
103
- return values;
104
- }
105
- if (Array.isArray(values)) {
106
- withPlaceholders = values.map((v) => this.handlePlaceholders(v, dropIn, checker));
107
- }
108
- else if (isObject(values)) {
109
- Object.keys(values).forEach((key) => {
110
- withPlaceholders[key] = this.handlePlaceholders(
111
- //@ts-ignore
112
- values[key], dropIn, checker);
113
- });
114
- }
115
- else if (checker(values)) {
116
- withPlaceholders = dropIn;
117
- }
118
- else {
119
- withPlaceholders = values;
120
- }
121
- return withPlaceholders;
122
- }
123
- count(collection, query) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- const col = this.loadCollection(collection);
126
- yield this.randomDelay();
127
- return new Promise((resolve, reject) => {
128
- col.count(this.prepQuery(query !== null && query !== void 0 ? query : {}), (err, count) => {
129
- if (err) {
130
- reject(err);
131
- }
132
- else {
133
- resolve(count);
134
- }
135
- });
136
- });
137
- });
138
- }
139
- createOne(collection, values) {
140
- return __awaiter(this, void 0, void 0, function* () {
141
- yield this.randomDelay();
142
- const all = yield this.create(collection, [values]);
143
- return all[0];
144
- });
145
- }
146
- create(collection, values) {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- const mutexName = 'createMutex';
149
- yield this.lock(mutexName);
150
- yield this.randomDelay();
151
- const col = this.loadCollection(collection);
152
- const mapped = values
153
- .map((v) => this.valuesToDocument(v))
154
- .map((v) => (Object.assign({ _id: this.generateId() }, v)));
155
- try {
156
- yield Promise.all(mapped.map((m) => this.assertPassesUniqueIndexes(collection, undefined, m, 'create')));
157
- }
158
- catch (err) {
159
- this.unlock(mutexName);
160
- throw err;
161
- }
162
- return new Promise((resolve, reject) => {
163
- col.insert(mapped, (err, docs) => {
164
- this.unlock(mutexName);
165
- if (err) {
166
- reject(err);
167
- }
168
- else {
169
- resolve(docs.map((doc) => this.normalizeRecord(doc)));
170
- }
171
- });
172
- });
173
- });
174
- }
175
- loadCollection(collection) {
176
- if (!this.collections[collection]) {
177
- this.collections[collection] = new Datastore();
178
- }
179
- const c = this.collections[collection];
180
- return c;
181
- }
182
- dropCollection(name) {
183
- return __awaiter(this, void 0, void 0, function* () {
184
- yield this.randomDelay();
185
- delete this.collections[name];
186
- return Promise.resolve();
187
- });
188
- }
189
- dropDatabase() {
190
- return __awaiter(this, void 0, void 0, function* () {
191
- yield this.randomDelay();
192
- this.collections = {};
193
- return Promise.resolve();
194
- });
195
- }
196
- findOne(collection, query, options) {
197
- return __awaiter(this, void 0, void 0, function* () {
198
- const results = yield this.find(collection, this.prepQuery(query !== null && query !== void 0 ? query : {}), Object.assign({ limit: 1 }, (options || {})));
199
- return results[0];
200
- });
201
- }
202
- find(collection, query, options) {
203
- return __awaiter(this, void 0, void 0, function* () {
204
- yield this.randomDelay();
205
- if ((options === null || options === void 0 ? void 0 : options.limit) === 0) {
206
- return [];
207
- }
208
- return new Promise((resolve, reject) => {
209
- const col = this.loadCollection(collection);
210
- const mapped = mongoUtil.queryOptionsToMongoFindOptions(options);
211
- const q = this.prepQuery(query !== null && query !== void 0 ? query : {});
212
- const cursor = col.find(q, mapped.projection);
213
- if (mapped.sort) {
214
- cursor.sort(mapped.sort);
215
- }
216
- if (typeof mapped.limit === 'number') {
217
- cursor.limit(mapped.limit);
218
- }
219
- if (mapped.skip) {
220
- cursor.skip(mapped.skip);
221
- }
222
- cursor.exec((err, results) => {
223
- if (err) {
224
- reject(err);
225
- }
226
- else {
227
- resolve(results.map((r) => this.normalizeRecord(r)));
228
- }
229
- });
230
- });
231
- });
232
- }
233
- update(collection, query, updates, neDbOptions) {
234
- return __awaiter(this, void 0, void 0, function* () {
235
- const results = this.updateOne(collection, query, updates, Object.assign(Object.assign({}, neDbOptions), { multi: true, returnUpdatedDocs: false }), 'update');
236
- return results;
237
- });
238
- }
239
- updateOne(collection, query, updates, neDbOptions, action = 'updateOne') {
240
- return __awaiter(this, void 0, void 0, function* () {
241
- const preppedQuery = this.prepQuery(query);
242
- const mutexKey = 'updateMutex';
243
- yield this.lock(mutexKey);
244
- yield this.randomDelay();
245
- try {
246
- yield this.assertPassesUniqueIndexes(collection, query, updates, action);
247
- }
248
- catch (err) {
249
- this.unlock(mutexKey);
250
- throw err;
251
- }
252
- return new Promise((resolve, reject) => {
253
- const col = this.loadCollection(collection);
254
- const values = this.valuesToDocument(mongoUtil.prepareUpdates(updates));
255
- col.update(preppedQuery, values, Object.assign({ returnUpdatedDocs: true }, (neDbOptions || {})), (err, numUpdated, docs) => __awaiter(this, void 0, void 0, function* () {
256
- this.unlock(mutexKey);
257
- if (err) {
258
- reject(err);
259
- }
260
- else if (!(neDbOptions === null || neDbOptions === void 0 ? void 0 : neDbOptions.multi) && numUpdated === 0) {
261
- reject(new SpruceError({
262
- code: 'RECORD_NOT_FOUND',
263
- storeName: 'NeDatabase',
264
- query: preppedQuery,
265
- }));
266
- }
267
- else {
268
- resolve(docs ? this.normalizeRecord(docs) : numUpdated);
269
- }
270
- }));
271
- });
272
- });
273
- }
274
- upsertOne(collection, query, updates) {
275
- return this.updateOne(collection, query, updates, { upsert: true }, 'upsertOne');
276
- }
277
- delete(collection, query) {
278
- return __awaiter(this, void 0, void 0, function* () {
279
- yield this.randomDelay();
280
- return new Promise((resolve, reject) => {
281
- const col = this.loadCollection(collection);
282
- col.remove(this.prepQuery(query), { multi: true }, (err, numDeleted) => {
283
- if (err) {
284
- reject(err);
285
- }
286
- else {
287
- resolve(numDeleted);
288
- }
289
- });
290
- });
291
- });
292
- }
293
- deleteOne(collection, query) {
294
- return __awaiter(this, void 0, void 0, function* () {
295
- yield this.randomDelay();
296
- return new Promise((resolve, reject) => {
297
- const col = this.loadCollection(collection);
298
- col.remove(this.prepQuery(query), (err, numDeleted) => {
299
- if (err) {
300
- reject(err);
301
- }
302
- else {
303
- resolve(numDeleted);
304
- }
305
- });
306
- });
307
- });
308
- }
309
- assertPassesUniqueIndexes(collection, query, values, action) {
310
- return __awaiter(this, void 0, void 0, function* () {
311
- const col = this.loadCollection(collection);
312
- yield this.randomDelay();
313
- if (col._uniqueIndexes) {
314
- for (const fields of col._uniqueIndexes) {
315
- const existing = query ? yield this.findOne(collection, query) : null;
316
- const q = {};
317
- const duplicateFields = [];
318
- const duplicateValues = [];
319
- fields.forEach((f) => {
320
- q[f] = get(values, f);
321
- duplicateFields.push(f);
322
- duplicateValues.push(q[f]);
323
- });
324
- const destination = yield this.findOne(collection, q);
325
- if (destination && (existing === null || existing === void 0 ? void 0 : existing.id) !== destination.id) {
326
- throw new SpruceError({
327
- code: 'DUPLICATE_RECORD',
328
- collectionName: collection,
329
- duplicateFields,
330
- duplicateValues,
331
- action,
332
- });
333
- }
334
- }
335
- }
336
- });
337
- }
338
- getUniqueIndexes(collection) {
339
- var _a;
340
- return __awaiter(this, void 0, void 0, function* () {
341
- const col = this.loadCollection(collection);
342
- yield this.randomDelay();
343
- return (_a = col._uniqueIndexes) !== null && _a !== void 0 ? _a : [];
344
- });
345
- }
346
- getIndexes(collection, shouldIncludeUnique = false) {
347
- var _a, _b, _c;
348
- return __awaiter(this, void 0, void 0, function* () {
349
- const col = this.loadCollection(collection);
350
- yield this.randomDelay();
351
- if (shouldIncludeUnique) {
352
- const uniqIndexes = (_a = col._uniqueIndexes) !== null && _a !== void 0 ? _a : [];
353
- return uniqIndexes.concat((_b = col._indexes) !== null && _b !== void 0 ? _b : []);
354
- }
355
- return (_c = col._indexes) !== null && _c !== void 0 ? _c : [];
356
- });
357
- }
358
- dropIndex(collection, fields) {
359
- var _a, _b;
360
- return __awaiter(this, void 0, void 0, function* () {
361
- const col = this.loadCollection(collection);
362
- yield this.randomDelay();
363
- let found = false;
364
- let newIndexes = [];
365
- for (const uniq of (_a = col._uniqueIndexes) !== null && _a !== void 0 ? _a : []) {
366
- if (!isEqual(uniq, fields)) {
367
- newIndexes.push(uniq);
368
- }
369
- else {
370
- found = true;
371
- }
372
- }
373
- if (found) {
374
- col._uniqueIndexes = newIndexes;
375
- return;
376
- }
377
- else {
378
- newIndexes = [];
379
- for (const index of (_b = col._indexes) !== null && _b !== void 0 ? _b : []) {
380
- if (!isEqual(index, fields)) {
381
- newIndexes.push(index);
382
- }
383
- else {
384
- found = true;
385
- }
386
- }
387
- if (found) {
388
- col._indexes = newIndexes;
389
- return;
390
- }
391
- }
392
- throw new SpruceError({ code: 'INDEX_NOT_FOUND', missingIndex: fields });
393
- });
394
- }
395
- assertIndexDoesNotExist(currentIndexes, fields) {
396
- if (this.doesIndexExist(currentIndexes, fields)) {
397
- throw new SpruceError({ code: 'INDEX_EXISTS', index: fields });
398
- }
399
- }
400
- doesIndexExist(currentIndexes, fields) {
401
- for (const index of currentIndexes !== null && currentIndexes !== void 0 ? currentIndexes : []) {
402
- if (isEqual(index, fields)) {
403
- return true;
404
- }
405
- }
406
- return false;
407
- }
408
- createUniqueIndex(collection, fields) {
409
- return __awaiter(this, void 0, void 0, function* () {
410
- const col = this.loadCollection(collection);
411
- if (!col._uniqueIndexes) {
412
- col._uniqueIndexes = [];
413
- }
414
- yield this.randomDelay();
415
- this.assertIndexDoesNotExist(col._uniqueIndexes, fields);
416
- if (col._uniqueIndexes) {
417
- const tempUniqueIndexes = [...col._uniqueIndexes];
418
- tempUniqueIndexes.push(fields);
419
- const documents = (yield this.find(collection, {})) || [];
420
- for (const uniqueFields of tempUniqueIndexes) {
421
- let parsedExisting = [];
422
- for (const doc of documents) {
423
- const tempDoc = {};
424
- uniqueFields.forEach((f) => {
425
- tempDoc[f] = doc[f];
426
- });
427
- parsedExisting.push(tempDoc);
428
- }
429
- const uniqued = uniqBy(parsedExisting, JSON.stringify);
430
- if (parsedExisting.length != uniqued.length) {
431
- throw new SpruceError({
432
- code: 'DUPLICATE_KEY',
433
- friendlyMessage: `Could not create index! Unique index on '${collection}' has duplicate key for "${fields.join(',')}"`,
434
- });
435
- }
436
- }
437
- }
438
- col._uniqueIndexes.push(fields);
439
- });
440
- }
441
- createIndex(collection, fields) {
442
- return __awaiter(this, void 0, void 0, function* () {
443
- const col = this.loadCollection(collection);
444
- if (!col._indexes) {
445
- col._indexes = [];
446
- }
447
- yield this.randomDelay();
448
- this.assertIndexDoesNotExist(col._indexes, fields);
449
- col._indexes.push(fields);
450
- });
451
- }
452
- syncUniqueIndexes(collectionName, indexes) {
453
- var _a;
454
- return __awaiter(this, void 0, void 0, function* () {
455
- const currentIndexes = yield this.getUniqueIndexes(collectionName);
456
- const extraIndexes = differenceWith(currentIndexes, indexes, isEqual);
457
- for (const index of indexes) {
458
- if (!this.doesIndexExist(currentIndexes, index)) {
459
- try {
460
- yield this.createUniqueIndex(collectionName, index);
461
- }
462
- catch (err) {
463
- if (((_a = err.options) === null || _a === void 0 ? void 0 : _a.code) !== 'INDEX_EXISTS') {
464
- throw err;
465
- }
466
- }
467
- }
468
- }
469
- for (const extra of extraIndexes) {
470
- yield this.dropIndex(collectionName, extra);
471
- }
472
- });
473
- }
474
- syncIndexes(collectionName, indexes) {
475
- var _a;
476
- return __awaiter(this, void 0, void 0, function* () {
477
- const currentIndexes = yield this.getIndexes(collectionName);
478
- const extraIndexes = differenceWith(currentIndexes, indexes, isEqual);
479
- for (const index of indexes) {
480
- if (!this.doesIndexExist(currentIndexes, index)) {
481
- try {
482
- yield this.createIndex(collectionName, index);
483
- }
484
- catch (err) {
485
- if (((_a = err.options) === null || _a === void 0 ? void 0 : _a.code) !== 'INDEX_EXISTS') {
486
- throw err;
487
- }
488
- }
489
- }
490
- }
491
- for (const extra of extraIndexes) {
492
- yield this.dropIndex(collectionName, extra);
493
- }
494
- });
495
- }
496
- }