@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,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const CursorPager_1 = __importDefault(require("./CursorPager"));
7
+ class CursorPagerFaker {
8
+ static setResponse(response) {
9
+ //@ts-ignore
10
+ CursorPager_1.default.find = async (...args) => {
11
+ //@ts-ignore
12
+ const results = await response(...args);
13
+ return Object.assign({ next: null, previous: null, records: [] }, results);
14
+ };
15
+ }
16
+ static async beforeEach() {
17
+ if (!this.originalFind) {
18
+ this.originalFind = CursorPager_1.default.find.bind(CursorPager_1.default);
19
+ }
20
+ else {
21
+ CursorPager_1.default.find = this.originalFind;
22
+ }
23
+ }
24
+ }
25
+ exports.default = CursorPagerFaker;
@@ -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
+ }
@@ -0,0 +1,432 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.MONGO_TEST_URI = void 0;
18
+ const differenceWith_1 = __importDefault(require("lodash/differenceWith"));
19
+ const isEqual_1 = __importDefault(require("lodash/isEqual"));
20
+ const mongodb_1 = require("mongodb");
21
+ const SpruceError_1 = __importDefault(require("../errors/SpruceError"));
22
+ const generateId_1 = __importDefault(require("../utilities/generateId"));
23
+ const mongo_utility_1 = __importDefault(require("../utilities/mongo.utility"));
24
+ exports.MONGO_TEST_URI = 'mongodb://localhost:27017';
25
+ class MongoDatabase {
26
+ constructor(url, options) {
27
+ this.disableAutoGeneratedIdsOnTheseCollections = [];
28
+ this._isConnected = false;
29
+ const _a = options !== null && options !== void 0 ? options : {}, { dbName } = _a, rest = __rest(_a, ["dbName"]);
30
+ if (dbName === 'undefined') {
31
+ throw new SpruceError_1.default({
32
+ code: 'INVALID_DATABASE_NAME',
33
+ suppliedName: dbName,
34
+ });
35
+ }
36
+ try {
37
+ this.mongo = new mongodb_1.MongoClient(url, Object.assign(Object.assign({}, (rest || {})), { serverSelectionTimeoutMS: 5000 }));
38
+ }
39
+ catch (err) {
40
+ if (err.message.includes('Invalid scheme')) {
41
+ throw new SpruceError_1.default({ code: 'INVALID_DB_CONNECTION_STRING' });
42
+ }
43
+ throw err;
44
+ }
45
+ this.dbName = dbName !== null && dbName !== void 0 ? dbName : 'mercury';
46
+ }
47
+ count(collection, query) {
48
+ const col = this.assertDbWhileAttempingTo('count records', collection).collection(collection);
49
+ return col.countDocuments(query ? this.toMongoIdAndNull(collection, query) : {});
50
+ }
51
+ generateId() {
52
+ return (0, generateId_1.default)();
53
+ }
54
+ async delete(collection, query) {
55
+ var _a;
56
+ const results = await this.assertDbWhileAttempingTo('delete many records', collection)
57
+ .collection(collection)
58
+ .deleteMany(this.toMongoIdAndNull(collection, query));
59
+ return (_a = results.deletedCount) !== null && _a !== void 0 ? _a : 0;
60
+ }
61
+ async deleteOne(collection, query) {
62
+ var _a;
63
+ const results = await this.assertDbWhileAttempingTo('delete one record', collection)
64
+ .collection(collection)
65
+ .deleteOne(this.toMongoIdAndNull(collection, query));
66
+ return (_a = results.deletedCount) !== null && _a !== void 0 ? _a : 0;
67
+ }
68
+ assertDbWhileAttempingTo(attempt, collectionName) {
69
+ if (!this.isConnected() || !this.db) {
70
+ throw new SpruceError_1.default({
71
+ code: 'DATABASE_NOT_CONNECTED',
72
+ operationAttempted: attempt,
73
+ collectionName,
74
+ });
75
+ }
76
+ return this.db;
77
+ }
78
+ async findOne(collection, query, options) {
79
+ let q;
80
+ try {
81
+ q = this.toMongoIdAndNull(collection, query || {});
82
+ }
83
+ catch (err) {
84
+ return null;
85
+ }
86
+ const match = await this.assertDbWhileAttempingTo('found one record.', collection)
87
+ .collection(collection)
88
+ //@ts-ignore
89
+ .findOne(q, mongo_utility_1.default.queryOptionsToMongoFindOptions(options));
90
+ //@ts-ignore
91
+ return match ? this.normalizeRecord(match) : null;
92
+ }
93
+ async find(collection, query, options) {
94
+ let q;
95
+ try {
96
+ q = this.toMongoIdAndNull(collection, query || {});
97
+ }
98
+ catch (err) {
99
+ return [];
100
+ }
101
+ if ((options === null || options === void 0 ? void 0 : options.limit) === 0) {
102
+ return [];
103
+ }
104
+ const matches = await this.assertDbWhileAttempingTo('find many records.', collection)
105
+ .collection(collection)
106
+ //@ts-ignore
107
+ .find(q, mongo_utility_1.default.queryOptionsToMongoFindOptions(options))
108
+ .toArray();
109
+ return matches.map((match) => this.normalizeRecord(match));
110
+ }
111
+ toMongoIdAndNull(collection, query) {
112
+ const isAutoGeneratingIds = this.disableAutoGeneratedIdsOnTheseCollections.indexOf(collection) === -1;
113
+ const q = mongo_utility_1.default.mapQuery(query, {
114
+ shouldTransformToObjectId: isAutoGeneratingIds,
115
+ });
116
+ Object.keys(q).forEach((key) => {
117
+ if (q[key] === undefined) {
118
+ q[key] = null;
119
+ }
120
+ });
121
+ return q;
122
+ }
123
+ async createOne(collection, values) {
124
+ const record = this.toMongoIdAndNull(collection, values);
125
+ try {
126
+ const created = await this.assertDbWhileAttempingTo('create a new record.', collection)
127
+ .collection(collection)
128
+ .insertOne(record);
129
+ return this.findOne(collection, {
130
+ id: created.insertedId.toHexString(),
131
+ });
132
+ }
133
+ catch (err) {
134
+ if (err instanceof mongodb_1.MongoError) {
135
+ if (err.code === 11000) {
136
+ throw new SpruceError_1.default(Object.assign(Object.assign({ code: 'DUPLICATE_RECORD', collectionName: collection }, this.generateDuplicateFieldsForError(
137
+ //@ts-ignore
138
+ err.keyValue)), { action: 'create', originalError: err }));
139
+ }
140
+ }
141
+ throw err;
142
+ }
143
+ }
144
+ async create(collection, values) {
145
+ const records = values.map((v) => this.toMongoIdAndNull(collection, v));
146
+ try {
147
+ const created = await this.assertDbWhileAttempingTo('create many records.', collection)
148
+ .collection(collection)
149
+ .insertMany(records);
150
+ const ids = Object.values(created.insertedIds).map((i) => i.toHexString());
151
+ return this.find(collection, {
152
+ id: { $in: ids },
153
+ });
154
+ }
155
+ catch (err) {
156
+ if (err instanceof mongodb_1.MongoError) {
157
+ if (err.code === 11000) {
158
+ throw new SpruceError_1.default(Object.assign(Object.assign({ code: 'DUPLICATE_RECORD', collectionName: collection }, this.generateDuplicateFieldsForError(
159
+ //@ts-ignore
160
+ err.keyValue)), { action: 'create', originalError: err }));
161
+ }
162
+ }
163
+ throw err;
164
+ }
165
+ }
166
+ normalizeRecord(record) {
167
+ const { _id } = record, rest = __rest(record, ["_id"]);
168
+ if (!_id) {
169
+ return rest;
170
+ }
171
+ return Object.assign({ id: _id.toString() }, rest);
172
+ }
173
+ async close() {
174
+ if (this.isConnected()) {
175
+ this._isConnected = false;
176
+ await this.mongo.close(true);
177
+ }
178
+ }
179
+ async connect() {
180
+ if (!this.isConnected()) {
181
+ try {
182
+ this._isConnected = true;
183
+ await this.mongo.connect();
184
+ }
185
+ catch (err) {
186
+ if (err.name === 'MongoParseError') {
187
+ throw new SpruceError_1.default({ code: 'INVALID_DB_CONNECTION_STRING' });
188
+ }
189
+ else if (err.message.includes('ECONNREFUSED')) {
190
+ throw new SpruceError_1.default({ code: 'UNABLE_TO_CONNECT_TO_DB' });
191
+ }
192
+ else {
193
+ throw new SpruceError_1.default({
194
+ code: 'UNKNOWN_DATABASE_ERROR',
195
+ originalError: err,
196
+ databaseErrorMessage: err.message,
197
+ });
198
+ }
199
+ }
200
+ }
201
+ this.db = this.mongo.db(this.dbName);
202
+ }
203
+ isConnected() {
204
+ return this._isConnected;
205
+ }
206
+ async dropCollection(name) {
207
+ const collections = await this.assertDbWhileAttempingTo('drop an entire collection.', '')
208
+ .listCollections()
209
+ .toArray();
210
+ const doesExist = !!collections.find((collection) => collection.name === name);
211
+ if (doesExist) {
212
+ const collection = this.assertDbWhileAttempingTo('drop the collection.', '').collection(name);
213
+ await collection.drop();
214
+ }
215
+ }
216
+ async dropDatabase() {
217
+ await this.assertDbWhileAttempingTo('drop the entire database.').dropDatabase();
218
+ }
219
+ async listIndexes(collection) {
220
+ try {
221
+ return await this.assertDbWhileAttempingTo('get indexes.', collection)
222
+ .collection(collection)
223
+ .listIndexes()
224
+ .toArray();
225
+ }
226
+ catch (err) {
227
+ return [];
228
+ }
229
+ }
230
+ async dropIndex(collection, fields) {
231
+ const indexes = await this.listIndexes(collection);
232
+ let found = false;
233
+ for (const index of indexes) {
234
+ if ((0, isEqual_1.default)(Object.keys(index.key), fields)) {
235
+ await this.assertDbWhileAttempingTo('drop a index.', collection)
236
+ .collection(collection)
237
+ .dropIndex(index.name);
238
+ found = true;
239
+ }
240
+ }
241
+ if (!found) {
242
+ throw new SpruceError_1.default({ code: 'INDEX_NOT_FOUND', missingIndex: fields });
243
+ }
244
+ }
245
+ async getUniqueIndexes(collection) {
246
+ try {
247
+ const indexes = await this.listIndexes(collection);
248
+ const uniqueIndexes = [];
249
+ for (const index of indexes) {
250
+ if (index.unique) {
251
+ uniqueIndexes.push(Object.keys(index.key));
252
+ }
253
+ }
254
+ return uniqueIndexes;
255
+ }
256
+ catch (err) {
257
+ return [];
258
+ }
259
+ }
260
+ async getIndexes(collection, shouldIncludeUnique = false) {
261
+ try {
262
+ const indexes = await this.listIndexes(collection);
263
+ if (shouldIncludeUnique) {
264
+ return indexes;
265
+ }
266
+ const nonUniqueIndexes = [];
267
+ for (const index of indexes) {
268
+ if (!index.unique) {
269
+ nonUniqueIndexes.push(Object.keys(index.key));
270
+ }
271
+ }
272
+ return nonUniqueIndexes;
273
+ }
274
+ catch (err) {
275
+ return [];
276
+ }
277
+ }
278
+ async createIndex(collection, fields) {
279
+ const currentIndexes = await this.getIndexes(collection);
280
+ await this.assertIndexDoesNotExist(currentIndexes, fields);
281
+ const index = {};
282
+ fields.forEach((name) => {
283
+ index[name] = 1;
284
+ });
285
+ try {
286
+ await this.assertDbWhileAttempingTo('create an index.', collection)
287
+ .collection(collection)
288
+ .createIndex(index);
289
+ }
290
+ catch (err) {
291
+ if ((err === null || err === void 0 ? void 0 : err.code) === 11000) {
292
+ throw new SpruceError_1.default({
293
+ code: 'DUPLICATE_KEY',
294
+ friendlyMessage: `Could not create index! Index on '${collection}' has duplicate key for "${fields.join(',')}"`,
295
+ });
296
+ }
297
+ else {
298
+ throw err;
299
+ }
300
+ }
301
+ }
302
+ assertIndexDoesNotExist(currentIndexes, fields) {
303
+ if (this.doesIndexExist(currentIndexes, fields)) {
304
+ throw new SpruceError_1.default({ code: 'INDEX_EXISTS', index: fields });
305
+ }
306
+ }
307
+ doesIndexExist(currentIndexes, fields) {
308
+ for (const index of currentIndexes !== null && currentIndexes !== void 0 ? currentIndexes : []) {
309
+ if ((0, isEqual_1.default)(index, fields)) {
310
+ return true;
311
+ }
312
+ }
313
+ return false;
314
+ }
315
+ async syncIndexes(collectionName, indexes) {
316
+ const currentIndexes = await this.getIndexes(collectionName);
317
+ const extraIndexes = (0, differenceWith_1.default)(currentIndexes, indexes, isEqual_1.default).filter((i) => !(i.length === 1 && i[0] === '_id'));
318
+ for (const index of indexes) {
319
+ if (!this.doesIndexExist(currentIndexes, index)) {
320
+ await this.createIndex(collectionName, index);
321
+ }
322
+ }
323
+ for (const extra of extraIndexes) {
324
+ await this.dropIndex(collectionName, extra);
325
+ }
326
+ }
327
+ async createUniqueIndex(collection, fields) {
328
+ const currentIndexes = await this.getUniqueIndexes(collection);
329
+ await this.assertIndexDoesNotExist(currentIndexes, fields);
330
+ const index = {};
331
+ fields.forEach((name) => {
332
+ index[name] = 1;
333
+ });
334
+ try {
335
+ await this.assertDbWhileAttempingTo('create a unique index.', collection)
336
+ .collection(collection)
337
+ .createIndex(index, { unique: true });
338
+ }
339
+ catch (err) {
340
+ if ((err === null || err === void 0 ? void 0 : err.code) === 11000) {
341
+ throw new SpruceError_1.default({
342
+ code: 'DUPLICATE_KEY',
343
+ friendlyMessage: `Could not create index! Unique index on '${collection}' has duplicate key for "${fields.join(',')}"`,
344
+ });
345
+ }
346
+ else {
347
+ throw err;
348
+ }
349
+ }
350
+ }
351
+ async syncUniqueIndexes(collectionName, indexes) {
352
+ const currentIndexes = await this.getUniqueIndexes(collectionName);
353
+ const extraIndexes = (0, differenceWith_1.default)(currentIndexes, indexes, isEqual_1.default);
354
+ for (const index of indexes) {
355
+ if (!this.doesIndexExist(currentIndexes, index)) {
356
+ await this.createUniqueIndex(collectionName, index);
357
+ }
358
+ }
359
+ for (const extra of extraIndexes) {
360
+ await this.dropIndex(collectionName, extra);
361
+ }
362
+ }
363
+ async update(collection, query, updates) {
364
+ const q = this.toMongoIdAndNull(collection, query);
365
+ const values = mongo_utility_1.default.prepareUpdates(updates);
366
+ const { modifiedCount } = await this.assertDbWhileAttempingTo('update many records.', collection)
367
+ .collection(collection)
368
+ .updateMany(q, values);
369
+ return modifiedCount;
370
+ }
371
+ async updateOne(collection, query, updates) {
372
+ const q = this.toMongoIdAndNull(collection, query);
373
+ const values = mongo_utility_1.default.prepareUpdates(updates);
374
+ try {
375
+ const results = await this.assertDbWhileAttempingTo('update one record.', collection)
376
+ .collection(collection)
377
+ .findOneAndUpdate(q, values, { returnDocument: 'after' });
378
+ if (!results.value) {
379
+ throw new SpruceError_1.default({
380
+ code: 'RECORD_NOT_FOUND',
381
+ storeName: 'MongoDatabase',
382
+ query: q,
383
+ });
384
+ }
385
+ return this.normalizeRecord(results.value);
386
+ }
387
+ catch (err) {
388
+ if (err instanceof mongodb_1.MongoError) {
389
+ if (err.code === 11000) {
390
+ throw new SpruceError_1.default(Object.assign(Object.assign({ code: 'DUPLICATE_RECORD', collectionName: collection }, this.generateDuplicateFieldsForError(
391
+ //@ts-ignore
392
+ err.keyValue)), { action: 'updateOne', originalError: err }));
393
+ }
394
+ }
395
+ throw err;
396
+ }
397
+ }
398
+ async upsertOne(collection, query, updates) {
399
+ const q = this.toMongoIdAndNull(collection, query);
400
+ const values = this.toMongoIdAndNull(collection, updates);
401
+ try {
402
+ const results = await this.assertDbWhileAttempingTo('upsert one record.', collection)
403
+ .collection(collection)
404
+ .findOneAndUpdate(q, { $set: values }, { upsert: true, returnDocument: 'after' });
405
+ //@ts-ignore
406
+ return this.normalizeRecord(results.value);
407
+ }
408
+ catch (err) {
409
+ if (err instanceof mongodb_1.MongoError) {
410
+ if (err.code === 11000) {
411
+ throw new SpruceError_1.default(Object.assign(Object.assign({ code: 'DUPLICATE_RECORD', collectionName: collection }, this.generateDuplicateFieldsForError(
412
+ //@ts-ignore
413
+ err.keyValue)), { action: 'upsertOne', originalError: err }));
414
+ }
415
+ }
416
+ throw err;
417
+ }
418
+ }
419
+ generateDuplicateFieldsForError(mongoIndexKeyValue) {
420
+ const duplicateFields = [];
421
+ const duplicateValues = [];
422
+ Object.keys(mongoIndexKeyValue !== null && mongoIndexKeyValue !== void 0 ? mongoIndexKeyValue : {}).forEach((name) => {
423
+ duplicateFields.push(name);
424
+ duplicateValues.push(mongoIndexKeyValue[name]);
425
+ });
426
+ return {
427
+ duplicateFields,
428
+ duplicateValues,
429
+ };
430
+ }
431
+ }
432
+ exports.default = MongoDatabase;
@@ -0,0 +1,41 @@
1
+ import AbstractMutexer from '../mutexers/AbstractMutexer';
2
+ import { Database } from '../types/database.types';
3
+ import { QueryOptions } from '../types/query.types';
4
+ export default class NeDbDatabase extends AbstractMutexer implements Database {
5
+ private collections;
6
+ private _isConnected;
7
+ generateId(): string;
8
+ connect(): Promise<void>;
9
+ close(): Promise<void>;
10
+ private toMongoId;
11
+ private prepQuery;
12
+ private valuesToDocument;
13
+ setShouldAutoGenerateIds(collection: string, shouldAutoGenerateIds: boolean): Promise<void>;
14
+ private randomDelay;
15
+ isConnected(): boolean;
16
+ private normalizeRecord;
17
+ private handlePlaceholders;
18
+ count(collection: string, query?: Record<string, any>): Promise<number>;
19
+ createOne(collection: string, values: Record<string, any>): Promise<Record<string, any>>;
20
+ create(collection: string, values: Record<string, any>[]): Promise<Record<string, any>[]>;
21
+ private loadCollection;
22
+ dropCollection(name: string): Promise<void>;
23
+ dropDatabase(): Promise<void>;
24
+ findOne(collection: string, query?: Record<string, any>, options?: QueryOptions): Promise<Record<string, any> | null>;
25
+ find(collection: string, query?: Record<string, any>, options?: QueryOptions): Promise<Record<string, any>[]>;
26
+ update(collection: string, query: Record<string, any>, updates: Record<string, any>, neDbOptions?: Record<string, any>): Promise<number>;
27
+ updateOne(collection: string, query: Record<string, any>, updates: Record<string, any>, neDbOptions?: Record<string, any>, action?: string): Promise<Record<string, any>>;
28
+ upsertOne(collection: string, query: Record<string, any>, updates: Record<string, any>): Promise<Record<string, any>>;
29
+ delete(collection: string, query: Record<string, any>): Promise<number>;
30
+ deleteOne(collection: string, query: Record<string, any>): Promise<number>;
31
+ private assertPassesUniqueIndexes;
32
+ getUniqueIndexes(collection: string): Promise<string[][]>;
33
+ getIndexes(collection: string, shouldIncludeUnique?: boolean): Promise<string[][]>;
34
+ dropIndex(collection: string, fields: string[]): Promise<void>;
35
+ private assertIndexDoesNotExist;
36
+ private doesIndexExist;
37
+ createUniqueIndex(collection: string, fields: string[]): Promise<void>;
38
+ createIndex(collection: string, fields: string[]): Promise<void>;
39
+ syncUniqueIndexes(collectionName: string, indexes: string[][]): Promise<void>;
40
+ syncIndexes(collectionName: string, indexes: string[][]): Promise<void>;
41
+ }