@sprucelabs/spruce-cli 17.1.11 → 17.1.14

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 +24 -0
  2. package/node_modules/@sprucelabs/data-stores/README.md +24 -0
  3. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/databaseNotConnected.schema.d.ts +3 -0
  4. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/databaseNotConnected.schema.js +23 -0
  5. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateKey.schema.d.ts +3 -0
  6. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateKey.schema.js +11 -0
  7. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateRecord.schema.d.ts +3 -0
  8. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateRecord.schema.js +40 -0
  9. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStore.schema.d.ts +3 -0
  10. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStore.schema.js +18 -0
  11. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStores.schema.d.ts +3 -0
  12. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStores.schema.js +19 -0
  13. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexExists.schema.d.ts +3 -0
  14. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexExists.schema.js +20 -0
  15. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexNotFound.schema.d.ts +3 -0
  16. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexNotFound.schema.js +20 -0
  17. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDatabaseName.schema.d.ts +3 -0
  18. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDatabaseName.schema.js +18 -0
  19. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDbConnectionString.schema.d.ts +3 -0
  20. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDbConnectionString.schema.js +11 -0
  21. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema copy.d.ts +3 -0
  22. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema copy.js +25 -0
  23. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema.d.ts +3 -0
  24. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema.js +11 -0
  25. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStoreName.schema.d.ts +3 -0
  26. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStoreName.schema.js +25 -0
  27. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/mongoIdMappingError.schema.d.ts +3 -0
  28. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/mongoIdMappingError.schema.js +11 -0
  29. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/record-not-found-query.schema.d.ts +3 -0
  30. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/record-not-found-query.schema.js +15 -0
  31. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/recordNotFound.schema.d.ts +3 -0
  32. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/recordNotFound.schema.js +30 -0
  33. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/scrambleNotConfigured.schema.d.ts +3 -0
  34. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/scrambleNotConfigured.schema.js +11 -0
  35. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unableToConnectToDb.schema.d.ts +3 -0
  36. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unableToConnectToDb.schema.js +11 -0
  37. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownDatabaseError.schema.d.ts +3 -0
  38. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownDatabaseError.schema.js +18 -0
  39. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownError.schema.d.ts +3 -0
  40. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownError.schema.js +11 -0
  41. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownStoreError.schema.d.ts +3 -0
  42. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownStoreError.schema.js +27 -0
  43. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/errors.types.d.ts +383 -0
  44. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/errors.types.js +4 -0
  45. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/options.types.d.ts +58 -0
  46. package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/options.types.js +2 -0
  47. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fieldClassMap.d.ts +2 -0
  48. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fieldClassMap.js +4 -0
  49. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fields.types.d.ts +1 -0
  50. package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fields.types.js +2 -0
  51. package/node_modules/@sprucelabs/data-stores/build/.spruce/settings.json +22 -0
  52. package/node_modules/@sprucelabs/data-stores/build/constants.d.ts +1 -0
  53. package/node_modules/@sprucelabs/data-stores/build/constants.js +4 -0
  54. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPager.d.ts +29 -0
  55. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPager.js +129 -0
  56. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPagerFaker.d.ts +6 -0
  57. package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPagerFaker.js +25 -0
  58. package/node_modules/@sprucelabs/data-stores/build/databases/MongoDatabase.d.ts +44 -0
  59. package/node_modules/@sprucelabs/data-stores/build/databases/MongoDatabase.js +432 -0
  60. package/node_modules/@sprucelabs/data-stores/build/databases/NeDbDatabase.d.ts +41 -0
  61. package/node_modules/@sprucelabs/data-stores/build/databases/NeDbDatabase.js +447 -0
  62. package/node_modules/@sprucelabs/data-stores/build/databases/mongo.types.d.ts +3163 -0
  63. package/node_modules/@sprucelabs/data-stores/build/databases/mongo.types.js +50 -0
  64. package/node_modules/@sprucelabs/data-stores/build/errors/SpruceError.d.ts +5 -0
  65. package/node_modules/@sprucelabs/data-stores/build/errors/SpruceError.js +103 -0
  66. package/node_modules/@sprucelabs/data-stores/build/errors/databaseNotConnected.builder.d.ts +15 -0
  67. package/node_modules/@sprucelabs/data-stores/build/errors/databaseNotConnected.builder.js +17 -0
  68. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateKey.builder.d.ts +6 -0
  69. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateKey.builder.js +8 -0
  70. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateRecord.builder.d.ts +28 -0
  71. package/node_modules/@sprucelabs/data-stores/build/errors/duplicateRecord.builder.js +30 -0
  72. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStore.builder.d.ts +12 -0
  73. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStore.builder.js +14 -0
  74. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStores.builder.d.ts +16 -0
  75. package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStores.builder.js +21 -0
  76. package/node_modules/@sprucelabs/data-stores/build/errors/indexExists.builder.d.ts +14 -0
  77. package/node_modules/@sprucelabs/data-stores/build/errors/indexExists.builder.js +16 -0
  78. package/node_modules/@sprucelabs/data-stores/build/errors/indexNotFound.builder.d.ts +14 -0
  79. package/node_modules/@sprucelabs/data-stores/build/errors/indexNotFound.builder.js +16 -0
  80. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDatabaseName.builder.d.ts +12 -0
  81. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDatabaseName.builder.js +14 -0
  82. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDbConnectionString.builder.d.ts +7 -0
  83. package/node_modules/@sprucelabs/data-stores/build/errors/invalidDbConnectionString.builder.js +9 -0
  84. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStore.builder.d.ts +6 -0
  85. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStore.builder.js +8 -0
  86. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStoreName.builder.d.ts +16 -0
  87. package/node_modules/@sprucelabs/data-stores/build/errors/invalidStoreName.builder.js +18 -0
  88. package/node_modules/@sprucelabs/data-stores/build/errors/mongoIdMappingError.builder.d.ts +7 -0
  89. package/node_modules/@sprucelabs/data-stores/build/errors/mongoIdMappingError.builder.js +12 -0
  90. package/node_modules/@sprucelabs/data-stores/build/errors/recordNotFound.builder.d.ts +31 -0
  91. package/node_modules/@sprucelabs/data-stores/build/errors/recordNotFound.builder.js +33 -0
  92. package/node_modules/@sprucelabs/data-stores/build/errors/scrambleNotConfigured.builder.d.ts +7 -0
  93. package/node_modules/@sprucelabs/data-stores/build/errors/scrambleNotConfigured.builder.js +12 -0
  94. package/node_modules/@sprucelabs/data-stores/build/errors/unableToConnectToDb.builder.d.ts +7 -0
  95. package/node_modules/@sprucelabs/data-stores/build/errors/unableToConnectToDb.builder.js +9 -0
  96. package/node_modules/@sprucelabs/data-stores/build/errors/unknownDatabaseError.builder.d.ts +12 -0
  97. package/node_modules/@sprucelabs/data-stores/build/errors/unknownDatabaseError.builder.js +14 -0
  98. package/node_modules/@sprucelabs/data-stores/build/errors/unknownError.builder.d.ts +6 -0
  99. package/node_modules/@sprucelabs/data-stores/build/errors/unknownError.builder.js +8 -0
  100. package/node_modules/@sprucelabs/data-stores/build/errors/unknownStoreError.builder.d.ts +19 -0
  101. package/node_modules/@sprucelabs/data-stores/build/errors/unknownStoreError.builder.js +21 -0
  102. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/errors.types.d.ts +383 -0
  103. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/errors.types.js +3 -0
  104. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/options.types.d.ts +58 -0
  105. package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/options.types.js +1 -0
  106. package/node_modules/@sprucelabs/data-stores/build/esm/constants.d.ts +1 -0
  107. package/node_modules/@sprucelabs/data-stores/build/esm/constants.js +1 -0
  108. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPager.d.ts +29 -0
  109. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPager.js +134 -0
  110. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPagerFaker.d.ts +6 -0
  111. package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPagerFaker.js +30 -0
  112. package/node_modules/@sprucelabs/data-stores/build/esm/databases/MongoDatabase.d.ts +44 -0
  113. package/node_modules/@sprucelabs/data-stores/build/esm/databases/MongoDatabase.js +476 -0
  114. package/node_modules/@sprucelabs/data-stores/build/esm/databases/NeDbDatabase.d.ts +41 -0
  115. package/node_modules/@sprucelabs/data-stores/build/esm/databases/NeDbDatabase.js +496 -0
  116. package/node_modules/@sprucelabs/data-stores/build/esm/databases/mongo.types.d.ts +3163 -0
  117. package/node_modules/@sprucelabs/data-stores/build/esm/databases/mongo.types.js +36 -0
  118. package/node_modules/@sprucelabs/data-stores/build/esm/errors/SpruceError.d.ts +5 -0
  119. package/node_modules/@sprucelabs/data-stores/build/esm/errors/SpruceError.js +97 -0
  120. package/node_modules/@sprucelabs/data-stores/build/esm/errors/databaseNotConnected.builder.d.ts +15 -0
  121. package/node_modules/@sprucelabs/data-stores/build/esm/errors/databaseNotConnected.builder.js +15 -0
  122. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateKey.builder.d.ts +6 -0
  123. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateKey.builder.js +6 -0
  124. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateRecord.builder.d.ts +28 -0
  125. package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateRecord.builder.js +28 -0
  126. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStore.builder.d.ts +12 -0
  127. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStore.builder.js +12 -0
  128. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStores.builder.d.ts +16 -0
  129. package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStores.builder.js +19 -0
  130. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexExists.builder.d.ts +14 -0
  131. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexExists.builder.js +14 -0
  132. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexNotFound.builder.d.ts +14 -0
  133. package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexNotFound.builder.js +14 -0
  134. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDatabaseName.builder.d.ts +12 -0
  135. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDatabaseName.builder.js +12 -0
  136. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDbConnectionString.builder.d.ts +7 -0
  137. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDbConnectionString.builder.js +7 -0
  138. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStore.builder.d.ts +6 -0
  139. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStore.builder.js +6 -0
  140. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStoreName.builder.d.ts +16 -0
  141. package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStoreName.builder.js +16 -0
  142. package/node_modules/@sprucelabs/data-stores/build/esm/errors/mongoIdMappingError.builder.d.ts +7 -0
  143. package/node_modules/@sprucelabs/data-stores/build/esm/errors/mongoIdMappingError.builder.js +10 -0
  144. package/node_modules/@sprucelabs/data-stores/build/esm/errors/recordNotFound.builder.d.ts +31 -0
  145. package/node_modules/@sprucelabs/data-stores/build/esm/errors/recordNotFound.builder.js +31 -0
  146. package/node_modules/@sprucelabs/data-stores/build/esm/errors/scrambleNotConfigured.builder.d.ts +7 -0
  147. package/node_modules/@sprucelabs/data-stores/build/esm/errors/scrambleNotConfigured.builder.js +10 -0
  148. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unableToConnectToDb.builder.d.ts +7 -0
  149. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unableToConnectToDb.builder.js +7 -0
  150. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownDatabaseError.builder.d.ts +12 -0
  151. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownDatabaseError.builder.js +12 -0
  152. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownError.builder.d.ts +6 -0
  153. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownError.builder.js +6 -0
  154. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownStoreError.builder.d.ts +19 -0
  155. package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownStoreError.builder.js +19 -0
  156. package/node_modules/@sprucelabs/data-stores/build/esm/factories/DatabaseFactory.d.ts +10 -0
  157. package/node_modules/@sprucelabs/data-stores/build/esm/factories/DatabaseFactory.js +32 -0
  158. package/node_modules/@sprucelabs/data-stores/build/esm/factories/StoreFactory.d.ts +25 -0
  159. package/node_modules/@sprucelabs/data-stores/build/esm/factories/StoreFactory.js +72 -0
  160. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/DatabaseFixture.d.ts +22 -0
  161. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/DatabaseFixture.js +99 -0
  162. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/StoreFixture.d.ts +5 -0
  163. package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/StoreFixture.js +25 -0
  164. package/node_modules/@sprucelabs/data-stores/build/esm/index.d.ts +21 -0
  165. package/node_modules/@sprucelabs/data-stores/build/esm/index.js +21 -0
  166. package/node_modules/@sprucelabs/data-stores/build/esm/loaders/StoreLoader.d.ts +25 -0
  167. package/node_modules/@sprucelabs/data-stores/build/esm/loaders/StoreLoader.js +120 -0
  168. package/node_modules/@sprucelabs/data-stores/build/esm/mutexers/AbstractMutexer.d.ts +6 -0
  169. package/node_modules/@sprucelabs/data-stores/build/esm/mutexers/AbstractMutexer.js +56 -0
  170. package/node_modules/@sprucelabs/data-stores/build/esm/stores/AbstractStore.d.ts +48 -0
  171. package/node_modules/@sprucelabs/data-stores/build/esm/stores/AbstractStore.js +293 -0
  172. package/node_modules/@sprucelabs/data-stores/build/esm/tests/AbstractDatabaseTest.d.ts +12 -0
  173. package/node_modules/@sprucelabs/data-stores/build/esm/tests/AbstractDatabaseTest.js +54 -0
  174. package/node_modules/@sprucelabs/data-stores/build/esm/types/database.types.d.ts +29 -0
  175. package/node_modules/@sprucelabs/data-stores/build/esm/types/database.types.js +1 -0
  176. package/node_modules/@sprucelabs/data-stores/build/esm/types/query.types.d.ts +29 -0
  177. package/node_modules/@sprucelabs/data-stores/build/esm/types/query.types.js +2 -0
  178. package/node_modules/@sprucelabs/data-stores/build/esm/types/stores.types.d.ts +24 -0
  179. package/node_modules/@sprucelabs/data-stores/build/esm/types/stores.types.js +10 -0
  180. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/error.utility.d.ts +5 -0
  181. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/error.utility.js +23 -0
  182. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateId.d.ts +1 -0
  183. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateId.js +4 -0
  184. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateIdDeprecated.d.ts +6 -0
  185. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateIdDeprecated.js +6 -0
  186. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/mongo.utility.d.ts +12 -0
  187. package/node_modules/@sprucelabs/data-stores/build/esm/utilities/mongo.utility.js +104 -0
  188. package/node_modules/@sprucelabs/data-stores/build/factories/DatabaseFactory.d.ts +10 -0
  189. package/node_modules/@sprucelabs/data-stores/build/factories/DatabaseFactory.js +38 -0
  190. package/node_modules/@sprucelabs/data-stores/build/factories/StoreFactory.d.ts +25 -0
  191. package/node_modules/@sprucelabs/data-stores/build/factories/StoreFactory.js +65 -0
  192. package/node_modules/@sprucelabs/data-stores/build/fixtures/DatabaseFixture.d.ts +22 -0
  193. package/node_modules/@sprucelabs/data-stores/build/fixtures/DatabaseFixture.js +86 -0
  194. package/node_modules/@sprucelabs/data-stores/build/fixtures/StoreFixture.d.ts +5 -0
  195. package/node_modules/@sprucelabs/data-stores/build/fixtures/StoreFixture.js +20 -0
  196. package/node_modules/@sprucelabs/data-stores/build/index.d.ts +21 -0
  197. package/node_modules/@sprucelabs/data-stores/build/index.js +53 -0
  198. package/node_modules/@sprucelabs/data-stores/build/loaders/StoreLoader.d.ts +25 -0
  199. package/node_modules/@sprucelabs/data-stores/build/loaders/StoreLoader.js +107 -0
  200. package/node_modules/@sprucelabs/data-stores/build/mutexers/AbstractMutexer.d.ts +6 -0
  201. package/node_modules/@sprucelabs/data-stores/build/mutexers/AbstractMutexer.js +46 -0
  202. package/node_modules/@sprucelabs/data-stores/build/stores/AbstractStore.d.ts +48 -0
  203. package/node_modules/@sprucelabs/data-stores/build/stores/AbstractStore.js +285 -0
  204. package/node_modules/@sprucelabs/data-stores/build/tests/AbstractDatabaseTest.d.ts +12 -0
  205. package/node_modules/@sprucelabs/data-stores/build/tests/AbstractDatabaseTest.js +37 -0
  206. package/node_modules/@sprucelabs/data-stores/build/types/database.types.d.ts +29 -0
  207. package/node_modules/@sprucelabs/data-stores/build/types/database.types.js +2 -0
  208. package/node_modules/@sprucelabs/data-stores/build/types/query.types.d.ts +29 -0
  209. package/node_modules/@sprucelabs/data-stores/build/types/query.types.js +3 -0
  210. package/node_modules/@sprucelabs/data-stores/build/types/stores.types.d.ts +24 -0
  211. package/node_modules/@sprucelabs/data-stores/build/types/stores.types.js +13 -0
  212. package/node_modules/@sprucelabs/data-stores/build/utilities/error.utility.d.ts +5 -0
  213. package/node_modules/@sprucelabs/data-stores/build/utilities/error.utility.js +28 -0
  214. package/node_modules/@sprucelabs/data-stores/build/utilities/generateId.d.ts +1 -0
  215. package/node_modules/@sprucelabs/data-stores/build/utilities/generateId.js +7 -0
  216. package/node_modules/@sprucelabs/data-stores/build/utilities/generateIdDeprecated.d.ts +6 -0
  217. package/node_modules/@sprucelabs/data-stores/build/utilities/generateIdDeprecated.js +11 -0
  218. package/node_modules/@sprucelabs/data-stores/build/utilities/mongo.utility.d.ts +12 -0
  219. package/node_modules/@sprucelabs/data-stores/build/utilities/mongo.utility.js +109 -0
  220. package/node_modules/@sprucelabs/data-stores/node_modules/globby/gitignore.js +120 -0
  221. package/node_modules/@sprucelabs/data-stores/node_modules/globby/index.d.ts +186 -0
  222. package/node_modules/@sprucelabs/data-stores/node_modules/globby/index.js +181 -0
  223. package/node_modules/@sprucelabs/data-stores/node_modules/globby/license +9 -0
  224. package/node_modules/@sprucelabs/data-stores/node_modules/globby/package.json +82 -0
  225. package/node_modules/@sprucelabs/data-stores/node_modules/globby/readme.md +170 -0
  226. package/node_modules/@sprucelabs/data-stores/node_modules/globby/stream-utils.js +46 -0
  227. package/node_modules/@sprucelabs/data-stores/package.json +144 -0
  228. package/node_modules/@sprucelabs/data-stores/tsconfig.json +39 -0
  229. package/package.json +27 -27
@@ -0,0 +1,134 @@
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 { assertOptions, SchemaError } from '@sprucelabs/schema';
22
+ import clone from 'just-clone';
23
+ export default class CursorPager {
24
+ static find(store, query, options) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const _a = this.prepareQueryOptions(options), { next, previous } = _a, prepped = __rest(_a, ["next", "previous"]);
27
+ let cursorQuery;
28
+ let newest;
29
+ if (next || previous) {
30
+ cursorQuery = {};
31
+ const { sort } = prepped;
32
+ const cursor = this.parseCursor((next !== null && next !== void 0 ? next : previous));
33
+ let compare = sort[0].direction === 'asc' ? '$gt' : '$lt';
34
+ if (cursor.last.length > 1) {
35
+ let inverse = compare === '$lt' ? '$gte' : '$lte';
36
+ newest = cursor.newest;
37
+ let sameNameCompare = '$lt';
38
+ if (previous) {
39
+ sameNameCompare = '$gt';
40
+ inverse = compare;
41
+ }
42
+ cursorQuery = {
43
+ $or: [
44
+ {
45
+ [sort[0].field]: { [compare]: cursor.last[0] },
46
+ },
47
+ {
48
+ [sort[0].field]: cursor.last[0],
49
+ id: { [sameNameCompare]: cursor.id },
50
+ },
51
+ {
52
+ [sort[0].field]: { [inverse]: cursor.last[0] },
53
+ id: { $gt: cursor.newest },
54
+ },
55
+ ],
56
+ };
57
+ }
58
+ else {
59
+ cursorQuery = {
60
+ id: { [compare]: cursor.id },
61
+ };
62
+ }
63
+ }
64
+ const records = yield store.find(!cursorQuery ? query : { $and: [cursorQuery, query] }, prepped);
65
+ let newNextCursor;
66
+ const hasExtra = records.length > options.limit;
67
+ if (hasExtra) {
68
+ records.pop();
69
+ }
70
+ if (previous) {
71
+ records.reverse();
72
+ }
73
+ if (previous || hasExtra) {
74
+ const record = records[records.length - 1];
75
+ newNextCursor = this.encodeCursor({
76
+ id: record.id,
77
+ newest: this.trackNewest(records, newest),
78
+ last: this.getSortFieldValuesFromRecord(prepped, record),
79
+ });
80
+ }
81
+ let newPreviousCursor;
82
+ if (next || previous) {
83
+ const record = records[0];
84
+ newPreviousCursor = this.encodeCursor({
85
+ id: record.id,
86
+ newest: this.trackNewest(records, newest),
87
+ last: this.getSortFieldValuesFromRecord(prepped, record),
88
+ });
89
+ }
90
+ return {
91
+ records,
92
+ next: newNextCursor !== null && newNextCursor !== void 0 ? newNextCursor : null,
93
+ previous: newPreviousCursor !== null && newPreviousCursor !== void 0 ? newPreviousCursor : null,
94
+ };
95
+ });
96
+ }
97
+ static getSortFieldValuesFromRecord(prepped, record) {
98
+ return prepped.sort.map((s) => { var _a; return (_a = record[s.field]) !== null && _a !== void 0 ? _a : null; });
99
+ }
100
+ static trackNewest(records, newest) {
101
+ return [...records.map((r) => r.id), newest]
102
+ .filter((id) => !!id)
103
+ .sort()
104
+ .pop();
105
+ }
106
+ static parseCursor(next) {
107
+ return JSON.parse(next);
108
+ }
109
+ static encodeCursor(cursor) {
110
+ return JSON.stringify(cursor);
111
+ }
112
+ static prepareQueryOptions(options) {
113
+ const { previous, sort = [], limit, } = clone(assertOptions(options, ['limit']));
114
+ if (limit < 1) {
115
+ throw new SchemaError({
116
+ code: 'INVALID_PARAMETERS',
117
+ parameters: ['limit'],
118
+ friendlyMessage: 'Your limit must be above zero!',
119
+ });
120
+ }
121
+ if (!sort.find((p) => p.field === 'id')) {
122
+ sort.push({
123
+ field: 'id',
124
+ direction: 'desc',
125
+ });
126
+ }
127
+ if (previous) {
128
+ for (const s of sort) {
129
+ s.direction = s.direction === 'asc' ? 'desc' : 'asc';
130
+ }
131
+ }
132
+ return Object.assign(Object.assign({}, options), { limit: limit + 1, sort });
133
+ }
134
+ }
@@ -0,0 +1,6 @@
1
+ import { CursorQueryOptions, RecordsWithCursors, SimpleStore } from './CursorPager';
2
+ export default class CursorPagerFaker {
3
+ private static originalFind;
4
+ static setResponse(response: (store: SimpleStore, query: Record<string, any>, options: CursorQueryOptions) => Promise<Partial<RecordsWithCursors<Record<string, any>[]>>>): void;
5
+ static beforeEach(): Promise<void>;
6
+ }
@@ -0,0 +1,30 @@
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 CursorPager from './CursorPager.js';
11
+ export default class CursorPagerFaker {
12
+ static setResponse(response) {
13
+ //@ts-ignore
14
+ CursorPager.find = (...args) => __awaiter(this, void 0, void 0, function* () {
15
+ //@ts-ignore
16
+ const results = yield response(...args);
17
+ return Object.assign({ next: null, previous: null, records: [] }, results);
18
+ });
19
+ }
20
+ static beforeEach() {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ if (!this.originalFind) {
23
+ this.originalFind = CursorPager.find.bind(CursorPager);
24
+ }
25
+ else {
26
+ CursorPager.find = this.originalFind;
27
+ }
28
+ });
29
+ }
30
+ }
@@ -0,0 +1,44 @@
1
+ import { MongoClientOptions } from 'mongodb';
2
+ import { Database } from '../types/database.types';
3
+ import { QueryOptions } from '../types/query.types';
4
+ export declare const MONGO_TEST_URI = "mongodb://localhost:27017";
5
+ export default class MongoDatabase implements Database {
6
+ private mongo;
7
+ private db?;
8
+ private dbName;
9
+ private disableAutoGeneratedIdsOnTheseCollections;
10
+ private _isConnected;
11
+ constructor(url: string, options?: MongoClientOptions & {
12
+ dbName?: string;
13
+ });
14
+ count(collection: string, query?: Record<string, any>): Promise<number>;
15
+ generateId(): string;
16
+ delete(collection: string, query: Record<string, any>): Promise<number>;
17
+ deleteOne(collection: string, query: Record<string, any>): Promise<number>;
18
+ private assertDbWhileAttempingTo;
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
+ private toMongoIdAndNull;
22
+ createOne(collection: string, values: Record<string, any>): Promise<any>;
23
+ create(collection: string, values: Record<string, any>[]): Promise<Record<string, any>[]>;
24
+ private normalizeRecord;
25
+ close(): Promise<void>;
26
+ connect(): Promise<void>;
27
+ isConnected(): boolean;
28
+ dropCollection(name: string): Promise<void>;
29
+ dropDatabase(): Promise<void>;
30
+ private listIndexes;
31
+ dropIndex(collection: string, fields: string[]): Promise<void>;
32
+ getUniqueIndexes(collection: string): Promise<string[][]>;
33
+ getIndexes(collection: string, shouldIncludeUnique?: boolean): Promise<any[]>;
34
+ createIndex(collection: string, fields: string[]): Promise<void>;
35
+ private assertIndexDoesNotExist;
36
+ private doesIndexExist;
37
+ syncIndexes(collectionName: string, indexes: string[][]): Promise<void>;
38
+ createUniqueIndex(collection: string, fields: string[]): Promise<void>;
39
+ syncUniqueIndexes(collectionName: string, indexes: string[][]): Promise<void>;
40
+ update(collection: string, query: Record<string, any>, updates: Record<string, any>): Promise<any>;
41
+ updateOne(collection: string, query: Record<string, any>, updates: Record<string, any>): Promise<Record<string, any>>;
42
+ upsertOne(collection: string, query: Record<string, any>, updates: Record<string, any>): Promise<Record<string, any>>;
43
+ private generateDuplicateFieldsForError;
44
+ }