@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,293 +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
- import SchemaEntity, { normalizeSchemaValues, validateSchemaValues, } from '@sprucelabs/schema';
22
- import { SCRAMBLE_VALUE } from '../constants.js';
23
- import SpruceError from '../errors/SpruceError.js';
24
- import AbstractMutexer from '../mutexers/AbstractMutexer.js';
25
- import { saveOperations, } from '../types/stores.types.js';
26
- import errorUtil from '../utilities/error.utility.js';
27
- export default class AbstractStore extends AbstractMutexer {
28
- constructor(db, collectionName) {
29
- super();
30
- this.db = db;
31
- if (collectionName) {
32
- this.setCollectionName(collectionName);
33
- }
34
- }
35
- setCollectionName(name) {
36
- this.collectionName = name;
37
- }
38
- prepareAndNormalizeRecord(record, options = {}) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- const preparedRecord = this.prepareRecord
41
- ? yield this.prepareRecord(record, options)
42
- : record;
43
- const isScrambled = this.isScrambled(preparedRecord);
44
- if (isScrambled) {
45
- return preparedRecord;
46
- }
47
- return normalizeSchemaValues(this.fullSchema, preparedRecord, Object.assign(Object.assign({}, options), { fields: options.includeFields, shouldIncludePrivateFields: options.shouldIncludePrivateFields === true, createEntityInstances: false }));
48
- });
49
- }
50
- create(values, options) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- try {
53
- //@ts-ignore
54
- values.forEach((v) => validateSchemaValues(this.createSchema, v));
55
- const cleanedValues = yield Promise.all(values.map((v) => __awaiter(this, void 0, void 0, function* () { return (this.willCreate ? this.willCreate(v) : v); })));
56
- const databaseRecords = cleanedValues.map((v) => {
57
- var _a;
58
- return (Object.assign(Object.assign({}, v), {
59
- //@ts-ignore
60
- id: (_a = v.id) !== null && _a !== void 0 ? _a : this.db.generateId() }));
61
- });
62
- const toSave = databaseRecords.map((r) => normalizeSchemaValues(this.databaseSchema,
63
- //@ts-ignore
64
- r, { shouldCreateEntityInstances: false }));
65
- const records = yield this.db.create(this.collectionName, toSave);
66
- return Promise.all(records.map((record) => __awaiter(this, void 0, void 0, function* () { return this.prepareAndNormalizeRecord(record, options); })));
67
- }
68
- catch (err) {
69
- const coded = errorUtil.transformToSpruceErrors(err, new SpruceError({
70
- code: 'UNKNOWN_STORE_ERROR',
71
- storeName: this.name,
72
- action: 'create',
73
- originalError: err,
74
- }));
75
- throw coded[0];
76
- }
77
- });
78
- }
79
- createOne(values, options) {
80
- var _a, _b;
81
- return __awaiter(this, void 0, void 0, function* () {
82
- try {
83
- //@ts-ignore
84
- validateSchemaValues(this.createSchema, values);
85
- const cleanedValues = this.willCreate
86
- ? yield this.willCreate(values)
87
- : values;
88
- const databaseRecord = Object.assign(Object.assign({}, cleanedValues), {
89
- //@ts-ignore
90
- id: (_a = cleanedValues.id) !== null && _a !== void 0 ? _a : this.db.generateId() });
91
- const toSave = normalizeSchemaValues(this.databaseSchema,
92
- //@ts-ignore
93
- databaseRecord, { shouldCreateEntityInstances: false });
94
- const record = yield this.db.createOne(this.collectionName, toSave);
95
- yield ((_b = this.didCreate) === null || _b === void 0 ? void 0 : _b.call(this, record));
96
- const normalized = yield this.prepareAndNormalizeRecord(record, options);
97
- return normalized;
98
- }
99
- catch (err) {
100
- const coded = errorUtil.transformToSpruceErrors(err, new SpruceError({
101
- code: 'UNKNOWN_STORE_ERROR',
102
- storeName: this.name,
103
- action: 'create',
104
- originalError: err,
105
- }));
106
- throw coded[0];
107
- }
108
- });
109
- }
110
- findOne(query, options = {}) {
111
- return __awaiter(this, void 0, void 0, function* () {
112
- const results = yield this.find(query, { limit: 1 }, options);
113
- if (results.length > 0) {
114
- return results[0];
115
- }
116
- return null;
117
- });
118
- }
119
- count(query) {
120
- return __awaiter(this, void 0, void 0, function* () {
121
- const count = yield this.db.count(this.collectionName, query);
122
- return count;
123
- });
124
- }
125
- find(query, queryOptions, options) {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- const results = yield this.db.find(this.collectionName, query, Object.assign(Object.assign({}, queryOptions), { includeFields: options === null || options === void 0 ? void 0 : options.includeFields }));
128
- if (results) {
129
- const all = results.map((result) =>
130
- //@ts-ignore
131
- this.prepareAndNormalizeRecord(result, options));
132
- const records = yield Promise.all(all);
133
- return records;
134
- }
135
- return [];
136
- });
137
- }
138
- upsertOne(query, updates, options) {
139
- return __awaiter(this, void 0, void 0, function* () {
140
- const mutexKey = 'upsertOne';
141
- yield this.lock(mutexKey);
142
- try {
143
- const notFoundHandler = () => __awaiter(this, void 0, void 0, function* () {
144
- const created = yield this.createOne(updates, Object.assign(Object.assign({}, options), { shouldIncludePrivateFields: true }));
145
- //@ts-ignore
146
- return created;
147
- });
148
- const entity = new SchemaEntity(this.updateSchema, updates);
149
- const cleanedUpdates = entity.getValues({
150
- validate: false,
151
- //@ts-ignore
152
- fields: Object.keys(updates),
153
- createEntityInstances: false,
154
- });
155
- if (updates.id) {
156
- //@ts-ignore
157
- cleanedUpdates.id = updates.id;
158
- }
159
- const results = yield this.findOneAndUpdate(query,
160
- //@ts-ignore
161
- cleanedUpdates, notFoundHandler, options);
162
- return results;
163
- }
164
- finally {
165
- this.unlock(mutexKey);
166
- }
167
- });
168
- }
169
- updateOne(query, updates, options) {
170
- return __awaiter(this, void 0, void 0, function* () {
171
- const notFoundHandler = () => __awaiter(this, void 0, void 0, function* () {
172
- throw new SpruceError({
173
- code: 'RECORD_NOT_FOUND',
174
- storeName: this.name,
175
- query,
176
- });
177
- });
178
- return this.findOneAndUpdate(query, updates, notFoundHandler, options);
179
- });
180
- }
181
- update(query, updates) {
182
- return __awaiter(this, void 0, void 0, function* () {
183
- return this.db.update(this.collectionName, query, updates);
184
- });
185
- }
186
- findOneAndUpdate(query, updates, notFoundHandler, options = {}) {
187
- var _a;
188
- return __awaiter(this, void 0, void 0, function* () {
189
- const { ops, updates: initialUpdates } = this.pluckOperations(updates);
190
- try {
191
- const isScrambled = this.isScrambled(initialUpdates);
192
- let current = yield this.findOne(query, Object.assign(Object.assign({}, options), { shouldIncludePrivateFields: true }));
193
- if (!current) {
194
- current = yield notFoundHandler();
195
- if (current) {
196
- return current;
197
- }
198
- else {
199
- throw new Error('Make sure your notFoundHandler returns a record or throws');
200
- }
201
- }
202
- if (!isScrambled) {
203
- //@ts-ignore
204
- validateSchemaValues(this.updateSchema, initialUpdates);
205
- }
206
- const cleanedUpdates = !isScrambled && this.willUpdate
207
- ? yield this.willUpdate(initialUpdates, current)
208
- : initialUpdates;
209
- const databaseRecord = Object.assign(Object.assign({}, current), cleanedUpdates);
210
- const normalizedValues = isScrambled
211
- ? databaseRecord
212
- : normalizeSchemaValues(this.databaseSchema, databaseRecord, {
213
- shouldCreateEntityInstances: false,
214
- fields: Object.keys(cleanedUpdates),
215
- });
216
- for (const { name, value } of ops) {
217
- normalizedValues[name] = value;
218
- }
219
- const results = yield this.db.updateOne(this.collectionName, query, normalizedValues);
220
- yield ((_a = this.didUpdate) === null || _a === void 0 ? void 0 : _a.call(this, current, results));
221
- return this.prepareAndNormalizeRecord(results, options);
222
- }
223
- catch (err) {
224
- const coded = errorUtil.transformToSpruceErrors(err, new SpruceError({
225
- code: 'UNKNOWN_STORE_ERROR',
226
- storeName: this.name,
227
- action: 'update',
228
- originalError: err,
229
- }));
230
- throw coded[0];
231
- }
232
- });
233
- }
234
- pluckOperations(updates) {
235
- const initialUpdates = __rest(updates, []);
236
- const ops = saveOperations
237
- .map((name) => {
238
- if (name in initialUpdates) {
239
- //@ts-ignore
240
- const value = initialUpdates[name];
241
- //@ts-ignore
242
- delete initialUpdates[name];
243
- return {
244
- name,
245
- value,
246
- };
247
- }
248
- return false;
249
- })
250
- .filter((o) => !!o);
251
- return { ops, updates: initialUpdates };
252
- }
253
- scramble(id) {
254
- return __awaiter(this, void 0, void 0, function* () {
255
- if (!this.scrambleFields) {
256
- throw new SpruceError({ code: 'SCRAMBLE_NOT_CONFIGURED' });
257
- }
258
- const values = yield this.generateScrambledRecord();
259
- //@ts-ignore
260
- return this.updateOne({ id }, values);
261
- });
262
- }
263
- isScrambled(preparedRecord) {
264
- return !!preparedRecord._isScrambled;
265
- }
266
- generateScrambledRecord() {
267
- var _a;
268
- return __awaiter(this, void 0, void 0, function* () {
269
- if (!this.scrambleFields) {
270
- throw new SpruceError({ code: 'SCRAMBLE_NOT_CONFIGURED' });
271
- }
272
- const scrambledFields = (_a = this.scrambleFields) === null || _a === void 0 ? void 0 : _a.reduce((values, name) => {
273
- values[name] = SCRAMBLE_VALUE;
274
- return values;
275
- }, {});
276
- const record = Object.assign(Object.assign({}, scrambledFields), { _isScrambled: true });
277
- const cleanedValues = this.willScramble
278
- ? yield this.willScramble(record)
279
- : record;
280
- return cleanedValues;
281
- });
282
- }
283
- deleteOne(query) {
284
- return __awaiter(this, void 0, void 0, function* () {
285
- return yield this.db.deleteOne(this.collectionName, query);
286
- });
287
- }
288
- delete(query) {
289
- return __awaiter(this, void 0, void 0, function* () {
290
- return yield this.db.delete(this.collectionName, query);
291
- });
292
- }
293
- }
@@ -1,12 +0,0 @@
1
- import AbstractSpruceTest from '@sprucelabs/test';
2
- import DatabaseFixture, { DatabaseFixtureOptions } from '../fixtures/DatabaseFixture';
3
- import { Database } from '../types/database.types';
4
- export default class AbstractDatabaseTest extends AbstractSpruceTest {
5
- protected static db: Database;
6
- protected static shouldUseInMemoryDatabase: boolean;
7
- protected static DB_NAME: string;
8
- protected static beforeEach(): Promise<void>;
9
- protected static afterEach(): Promise<void>;
10
- protected static DatabaseFixture(options?: DatabaseFixtureOptions): Promise<DatabaseFixture>;
11
- protected static connectToDatabase(): Promise<Database>;
12
- }
@@ -1,54 +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 { SchemaRegistry } from '@sprucelabs/schema';
11
- import AbstractSpruceTest from '@sprucelabs/test';
12
- import DatabaseFixture from '../fixtures/DatabaseFixture.js';
13
- export default class AbstractDatabaseTest extends AbstractSpruceTest {
14
- static beforeEach() {
15
- const _super = Object.create(null, {
16
- beforeEach: { get: () => super.beforeEach }
17
- });
18
- return __awaiter(this, void 0, void 0, function* () {
19
- yield _super.beforeEach.call(this);
20
- SchemaRegistry.getInstance().forgetAllSchemas();
21
- });
22
- }
23
- static afterEach() {
24
- const _super = Object.create(null, {
25
- afterEach: { get: () => super.afterEach }
26
- });
27
- return __awaiter(this, void 0, void 0, function* () {
28
- yield _super.afterEach.call(this);
29
- yield DatabaseFixture.destroy();
30
- //@ts-ignore
31
- this.db = undefined;
32
- //@ts-ignore
33
- this.DB_NAME = undefined;
34
- });
35
- }
36
- static DatabaseFixture(options) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- const d = new DatabaseFixture(Object.assign({}, options));
39
- return d;
40
- });
41
- }
42
- static connectToDatabase() {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- if (!this.db) {
45
- const dbFixture = yield this.DatabaseFixture();
46
- const db = yield dbFixture.connectToDatabase();
47
- this.DB_NAME = this.shouldUseInMemoryDatabase ? '' : dbFixture.getDbName();
48
- this.db = db;
49
- }
50
- return this.db;
51
- });
52
- }
53
- }
54
- AbstractDatabaseTest.shouldUseInMemoryDatabase = true;
@@ -1,29 +0,0 @@
1
- import { QueryOptions } from './query.types';
2
- export declare type UniqueIndex = string[];
3
- export declare type Index = string[];
4
- export interface Database {
5
- [x: string]: any;
6
- syncUniqueIndexes(collectionName: string, indexes: UniqueIndex[]): Promise<void>;
7
- syncIndexes(collectionName: string, indexes: Index[]): Promise<void>;
8
- dropIndex(collectionName: string, fields: UniqueIndex): Promise<void>;
9
- getUniqueIndexes(collectionName: string): Promise<UniqueIndex[]>;
10
- getIndexes(collectionName: string): Promise<Index[] | UniqueIndex[]>;
11
- isConnected(): boolean;
12
- generateId(): string;
13
- connect(): Promise<void>;
14
- close(): Promise<void>;
15
- createOne(collection: string, values: Record<string, any>): Promise<Record<string, any>>;
16
- create(collection: string, values: Record<string, any>[]): Promise<Record<string, any>[]>;
17
- dropCollection(name: string): Promise<void>;
18
- dropDatabase(): Promise<void>;
19
- findOne(collection: string, query?: Record<string, any>, options?: QueryOptions): Promise<Record<string, any> | null>;
20
- find(collection: string, query?: Record<string, any>, options?: QueryOptions): Promise<Record<string, any>[]>;
21
- updateOne(collection: string, query: Record<string, any>, updates: Record<string, any>): Promise<Record<string, any>>;
22
- update(collection: string, query: Record<string, any>, updates: Record<string, any>): Promise<number>;
23
- upsertOne(collection: string, query: Record<string, any>, updates: Record<string, any>): Promise<Record<string, any>>;
24
- delete(collection: string, query: Record<string, any>): Promise<number>;
25
- deleteOne(collection: string, query: Record<string, any>): Promise<number>;
26
- count(collection: string, query?: Record<string, any>): Promise<number>;
27
- createUniqueIndex(collection: string, fields: UniqueIndex): Promise<void>;
28
- createIndex(collection: string, fields: Index): Promise<void>;
29
- }
@@ -1,29 +0,0 @@
1
- import { QuerySelector } from '../databases/mongo.types';
2
- declare type QueryPredicate<Query, K extends keyof Query> = Query[K] | QuerySelector<Query[K]> | string;
3
- declare type Obj = Record<string, any>;
4
- export declare type QueryBuilder<Query extends Obj> = {
5
- [K in keyof Query]?: QueryPredicate<Query, K>;
6
- } & {
7
- id?: string | QuerySelector<string>;
8
- };
9
- export interface QueryOptions {
10
- skip?: number;
11
- limit?: number;
12
- sort?: {
13
- field: string;
14
- direction: 'asc' | 'desc';
15
- }[];
16
- includeFields?: string[];
17
- }
18
- export declare type FlattenAndPathKeys<O extends Obj, T extends Obj = PathKeys<O>> = Flatten<T>;
19
- export declare type Flatten<T extends Obj> = Pick<T, NonObjectKeysOf<T>> & UnionToIntersection<ObjectValuesOf<T>>;
20
- export declare type PathKeys<Query extends Obj, prefix extends string = ''> = {
21
- [K in Extract<keyof Query, string> as `${prefix}${K}`]: Query[K] extends Obj ? PathKeys<Query[K], `${K}.`> : Query[K];
22
- };
23
- declare type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
24
- declare type ValuesOf<T> = T[keyof T];
25
- declare type ObjectValuesOf<T> = Exclude<Extract<ValuesOf<T>, object>, Array<any>>;
26
- declare type NonObjectKeysOf<T> = {
27
- [K in keyof T]: T[K] extends Array<any> ? K : T[K] extends Obj ? never : K;
28
- }[keyof T];
29
- export {};
@@ -1,2 +0,0 @@
1
- /* eslint-disable @typescript-eslint/ban-types */
2
- export {};
@@ -1,24 +0,0 @@
1
- import { Schema, SchemaFieldNames, SchemaPublicValues, SchemaValues } from '@sprucelabs/schema';
2
- import StoreFactory from '../factories/StoreFactory';
3
- import { Database } from './database.types';
4
- export declare const saveOperations: readonly ["$push", "$inc", "$min", "$max", "$mul", "$push", "$pull", "$pop"];
5
- export declare type SaveOperation = typeof saveOperations[number];
6
- export declare type SaveOperations = Partial<Record<SaveOperation, Record<string, any>>>;
7
- export interface UniversalStoreOptions {
8
- db: Database;
9
- storeFactory: StoreFactory;
10
- }
11
- export interface Store {
12
- initialize?(): Promise<void>;
13
- }
14
- export interface StoreMap {
15
- }
16
- export interface StoreOptionsMap {
17
- }
18
- export interface PrepareOptions<IncludePrivateFields extends boolean, S extends Schema, FieldNames extends SchemaFieldNames<S> = SchemaFieldNames<S>> {
19
- shouldIncludePrivateFields?: IncludePrivateFields;
20
- includeFields?: FieldNames[];
21
- }
22
- export declare type PrepareResults<S extends Schema, IncludePrivateFields extends boolean> = IncludePrivateFields extends true ? SchemaPublicValues<S> : SchemaValues<S>;
23
- export declare type StoreName = keyof StoreMap;
24
- export declare type StoreOptions<Name extends StoreName> = Name extends keyof StoreOptionsMap ? StoreOptionsMap[Name] : Record<string, never>;
@@ -1,10 +0,0 @@
1
- export const saveOperations = [
2
- '$push',
3
- '$inc',
4
- '$min',
5
- '$max',
6
- '$mul',
7
- '$push',
8
- '$pull',
9
- '$pop',
10
- ];
@@ -1,5 +0,0 @@
1
- import SpruceError from '../errors/SpruceError';
2
- declare const errorUtil: {
3
- transformToSpruceErrors(err: SpruceError | Error | Record<string, any>, fallbackErrorWhenUnableToMapToSpruceError?: SpruceError): SpruceError[];
4
- };
5
- export default errorUtil;
@@ -1,23 +0,0 @@
1
- import AbstractSpruceError from '@sprucelabs/error';
2
- import SpruceError from '../errors/SpruceError.js';
3
- const errorUtil = {
4
- transformToSpruceErrors(err, fallbackErrorWhenUnableToMapToSpruceError) {
5
- if (err instanceof AbstractSpruceError) {
6
- return [err];
7
- }
8
- else if (!(err instanceof Error)) {
9
- const e = AbstractSpruceError.parse(err, SpruceError);
10
- return [e];
11
- }
12
- const fallback = err instanceof AbstractSpruceError
13
- ? [err]
14
- : [
15
- fallbackErrorWhenUnableToMapToSpruceError !== null && fallbackErrorWhenUnableToMapToSpruceError !== void 0 ? fallbackErrorWhenUnableToMapToSpruceError : new SpruceError({
16
- code: 'UNKNOWN_ERROR',
17
- originalError: err,
18
- }),
19
- ];
20
- return fallback;
21
- },
22
- };
23
- export default errorUtil;
@@ -1 +0,0 @@
1
- export default function generateId(): string;
@@ -1,4 +0,0 @@
1
- import { ObjectId } from 'mongodb';
2
- export default function generateId() {
3
- return new ObjectId().toString();
4
- }
@@ -1,6 +0,0 @@
1
- import generateId from './generateId';
2
- /**
3
- * @deprecated change generateId to use @sprucelabs/spruce-test-utils generateId
4
- */
5
- declare const generateIdDeprecated: typeof generateId;
6
- export default generateIdDeprecated;
@@ -1,6 +0,0 @@
1
- import generateId from './generateId.js';
2
- /**
3
- * @deprecated change generateId to use @sprucelabs/spruce-test-utils generateId
4
- */
5
- const generateIdDeprecated = generateId;
6
- export default generateIdDeprecated;
@@ -1,12 +0,0 @@
1
- import { FindOneOptions } from '../databases/mongo.types';
2
- import { QueryOptions } from '../types/query.types';
3
- declare const mongoUtil: {
4
- mapQuery(query: Record<string, any>, options?: {
5
- shouldTransformToObjectId?: boolean;
6
- }): {
7
- [x: string]: any;
8
- };
9
- prepareUpdates(updates: Record<string, any>): Record<string, any>;
10
- queryOptionsToMongoFindOptions(options?: QueryOptions): FindOneOptions<any>;
11
- };
12
- export default mongoUtil;
@@ -1,104 +0,0 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import { ObjectId } from 'mongodb';
13
- import SpruceError from '../errors/SpruceError.js';
14
- const mongoUtil = {
15
- mapQuery(query, options = {}) {
16
- const q = query || {};
17
- const opts = options;
18
- if (Object.prototype.hasOwnProperty.call(q, 'id') && q.id === undefined) {
19
- throw new SpruceError({
20
- code: 'MONGO_ID_MAPPING_ERROR',
21
- friendlyMessage: '`id` cannot be undefined',
22
- });
23
- }
24
- const { id, $or, $and } = q, rest = __rest(q, ["id", "$or", "$and"]);
25
- let normalizedValues = rest;
26
- if (Array.isArray($and)) {
27
- normalizedValues.$and = $and.map((a) => this.mapQuery(a, options));
28
- }
29
- if (Array.isArray($or)) {
30
- normalizedValues.$or = $or.map((o) => this.mapQuery(o, options));
31
- }
32
- else if (typeof id === 'string') {
33
- normalizedValues._id =
34
- opts.shouldTransformToObjectId === false ? id : new ObjectId(id);
35
- }
36
- else if (id) {
37
- normalizedValues._id = mapNestedIdValues(id, options);
38
- }
39
- return normalizedValues;
40
- },
41
- prepareUpdates(updates) {
42
- let hasDollarSigns = !!Object.keys(updates).find((key) => key[0] === '$');
43
- const values = hasDollarSigns ? updates : { $set: updates };
44
- return values;
45
- },
46
- queryOptionsToMongoFindOptions(options) {
47
- const _a = options || {}, { sort, includeFields: fields = [] } = _a, rest = __rest(_a, ["sort", "includeFields"]);
48
- const mappedOptions = Object.assign({}, rest);
49
- if (fields.length > 0) {
50
- mappedOptions.projection = {
51
- _id: 0,
52
- };
53
- for (const field of fields) {
54
- mappedOptions.projection[field === 'id' ? '_id' : field] = 1;
55
- }
56
- }
57
- if (sort) {
58
- let mongoSort = {};
59
- sort.forEach((sort) => (mongoSort[sort.field === 'id' ? '_id' : sort.field] =
60
- sort.direction === 'asc' ? 1 : -1));
61
- mappedOptions.sort = mongoSort;
62
- }
63
- return mappedOptions;
64
- },
65
- };
66
- function mapNestedIdValues(id, options = {}) {
67
- const mapped = {};
68
- Object.keys(id).forEach((key) => {
69
- if (['$gt', '$lt', '$gte', '$lte', '$ne'].indexOf(key) > -1) {
70
- mapped[key] =
71
- options.shouldTransformToObjectId === false
72
- ? id[key]
73
- : new ObjectId(id[key]);
74
- }
75
- else {
76
- if (!id[key] || !id[key].map) {
77
- throw new SpruceError({
78
- code: 'MONGO_ID_MAPPING_ERROR',
79
- friendlyMessage: `Invalid query, id: { ${key} } must be an array.`,
80
- });
81
- }
82
- mapped[key] = id[key].map((value) => {
83
- if (typeof value === 'string') {
84
- try {
85
- return options.shouldTransformToObjectId === false
86
- ? value
87
- : new ObjectId(value);
88
- }
89
- catch (err) {
90
- throw new SpruceError({
91
- code: 'MONGO_ID_MAPPING_ERROR',
92
- friendlyMessage: `Could not map '${value}' to an id.`,
93
- });
94
- }
95
- }
96
- else {
97
- return mapNestedIdValues(value);
98
- }
99
- });
100
- }
101
- });
102
- return mapped;
103
- }
104
- export default mongoUtil;
@@ -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
- }