@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.
- package/CHANGELOG.md +24 -0
- package/node_modules/@sprucelabs/data-stores/README.md +24 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/databaseNotConnected.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/databaseNotConnected.schema.js +23 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateKey.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateKey.schema.js +11 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateRecord.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/duplicateRecord.schema.js +40 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStore.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStore.schema.js +18 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStores.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/failedToLoadStores.schema.js +19 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexExists.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexExists.schema.js +20 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexNotFound.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/indexNotFound.schema.js +20 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDatabaseName.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDatabaseName.schema.js +18 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDbConnectionString.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidDbConnectionString.schema.js +11 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema copy.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema copy.js +25 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStore.schema.js +11 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStoreName.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/invalidStoreName.schema.js +25 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/mongoIdMappingError.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/mongoIdMappingError.schema.js +11 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/record-not-found-query.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/record-not-found-query.schema.js +15 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/recordNotFound.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/recordNotFound.schema.js +30 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/scrambleNotConfigured.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/scrambleNotConfigured.schema.js +11 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unableToConnectToDb.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unableToConnectToDb.schema.js +11 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownDatabaseError.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownDatabaseError.schema.js +18 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownError.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownError.schema.js +11 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownStoreError.schema.d.ts +3 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/dataStores/unknownStoreError.schema.js +27 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/errors.types.d.ts +383 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/errors.types.js +4 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/options.types.d.ts +58 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/errors/options.types.js +2 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fieldClassMap.d.ts +2 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fieldClassMap.js +4 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fields.types.d.ts +1 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/schemas/fields/fields.types.js +2 -0
- package/node_modules/@sprucelabs/data-stores/build/.spruce/settings.json +22 -0
- package/node_modules/@sprucelabs/data-stores/build/constants.d.ts +1 -0
- package/node_modules/@sprucelabs/data-stores/build/constants.js +4 -0
- package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPager.d.ts +29 -0
- package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPager.js +129 -0
- package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPagerFaker.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/cursors/CursorPagerFaker.js +25 -0
- package/node_modules/@sprucelabs/data-stores/build/databases/MongoDatabase.d.ts +44 -0
- package/node_modules/@sprucelabs/data-stores/build/databases/MongoDatabase.js +432 -0
- package/node_modules/@sprucelabs/data-stores/build/databases/NeDbDatabase.d.ts +41 -0
- package/node_modules/@sprucelabs/data-stores/build/databases/NeDbDatabase.js +447 -0
- package/node_modules/@sprucelabs/data-stores/build/databases/mongo.types.d.ts +3163 -0
- package/node_modules/@sprucelabs/data-stores/build/databases/mongo.types.js +50 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/SpruceError.d.ts +5 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/SpruceError.js +103 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/databaseNotConnected.builder.d.ts +15 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/databaseNotConnected.builder.js +17 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/duplicateKey.builder.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/duplicateKey.builder.js +8 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/duplicateRecord.builder.d.ts +28 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/duplicateRecord.builder.js +30 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStore.builder.d.ts +12 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStore.builder.js +14 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStores.builder.d.ts +16 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/failedToLoadStores.builder.js +21 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/indexExists.builder.d.ts +14 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/indexExists.builder.js +16 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/indexNotFound.builder.d.ts +14 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/indexNotFound.builder.js +16 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/invalidDatabaseName.builder.d.ts +12 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/invalidDatabaseName.builder.js +14 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/invalidDbConnectionString.builder.d.ts +7 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/invalidDbConnectionString.builder.js +9 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/invalidStore.builder.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/invalidStore.builder.js +8 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/invalidStoreName.builder.d.ts +16 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/invalidStoreName.builder.js +18 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/mongoIdMappingError.builder.d.ts +7 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/mongoIdMappingError.builder.js +12 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/recordNotFound.builder.d.ts +31 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/recordNotFound.builder.js +33 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/scrambleNotConfigured.builder.d.ts +7 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/scrambleNotConfigured.builder.js +12 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/unableToConnectToDb.builder.d.ts +7 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/unableToConnectToDb.builder.js +9 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/unknownDatabaseError.builder.d.ts +12 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/unknownDatabaseError.builder.js +14 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/unknownError.builder.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/unknownError.builder.js +8 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/unknownStoreError.builder.d.ts +19 -0
- package/node_modules/@sprucelabs/data-stores/build/errors/unknownStoreError.builder.js +21 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/errors.types.d.ts +383 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/errors.types.js +3 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/options.types.d.ts +58 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/.spruce/errors/options.types.js +1 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/constants.d.ts +1 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/constants.js +1 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPager.d.ts +29 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPager.js +134 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPagerFaker.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/cursors/CursorPagerFaker.js +30 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/databases/MongoDatabase.d.ts +44 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/databases/MongoDatabase.js +476 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/databases/NeDbDatabase.d.ts +41 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/databases/NeDbDatabase.js +496 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/databases/mongo.types.d.ts +3163 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/databases/mongo.types.js +36 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/SpruceError.d.ts +5 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/SpruceError.js +97 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/databaseNotConnected.builder.d.ts +15 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/databaseNotConnected.builder.js +15 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateKey.builder.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateKey.builder.js +6 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateRecord.builder.d.ts +28 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/duplicateRecord.builder.js +28 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStore.builder.d.ts +12 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStore.builder.js +12 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStores.builder.d.ts +16 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/failedToLoadStores.builder.js +19 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexExists.builder.d.ts +14 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexExists.builder.js +14 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexNotFound.builder.d.ts +14 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/indexNotFound.builder.js +14 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDatabaseName.builder.d.ts +12 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDatabaseName.builder.js +12 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDbConnectionString.builder.d.ts +7 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidDbConnectionString.builder.js +7 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStore.builder.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStore.builder.js +6 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStoreName.builder.d.ts +16 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/invalidStoreName.builder.js +16 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/mongoIdMappingError.builder.d.ts +7 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/mongoIdMappingError.builder.js +10 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/recordNotFound.builder.d.ts +31 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/recordNotFound.builder.js +31 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/scrambleNotConfigured.builder.d.ts +7 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/scrambleNotConfigured.builder.js +10 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/unableToConnectToDb.builder.d.ts +7 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/unableToConnectToDb.builder.js +7 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownDatabaseError.builder.d.ts +12 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownDatabaseError.builder.js +12 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownError.builder.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownError.builder.js +6 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownStoreError.builder.d.ts +19 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/errors/unknownStoreError.builder.js +19 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/factories/DatabaseFactory.d.ts +10 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/factories/DatabaseFactory.js +32 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/factories/StoreFactory.d.ts +25 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/factories/StoreFactory.js +72 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/DatabaseFixture.d.ts +22 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/DatabaseFixture.js +99 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/StoreFixture.d.ts +5 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/fixtures/StoreFixture.js +25 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/index.d.ts +21 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/index.js +21 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/loaders/StoreLoader.d.ts +25 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/loaders/StoreLoader.js +120 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/mutexers/AbstractMutexer.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/mutexers/AbstractMutexer.js +56 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/stores/AbstractStore.d.ts +48 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/stores/AbstractStore.js +293 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/tests/AbstractDatabaseTest.d.ts +12 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/tests/AbstractDatabaseTest.js +54 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/types/database.types.d.ts +29 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/types/database.types.js +1 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/types/query.types.d.ts +29 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/types/query.types.js +2 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/types/stores.types.d.ts +24 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/types/stores.types.js +10 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/utilities/error.utility.d.ts +5 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/utilities/error.utility.js +23 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateId.d.ts +1 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateId.js +4 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateIdDeprecated.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/utilities/generateIdDeprecated.js +6 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/utilities/mongo.utility.d.ts +12 -0
- package/node_modules/@sprucelabs/data-stores/build/esm/utilities/mongo.utility.js +104 -0
- package/node_modules/@sprucelabs/data-stores/build/factories/DatabaseFactory.d.ts +10 -0
- package/node_modules/@sprucelabs/data-stores/build/factories/DatabaseFactory.js +38 -0
- package/node_modules/@sprucelabs/data-stores/build/factories/StoreFactory.d.ts +25 -0
- package/node_modules/@sprucelabs/data-stores/build/factories/StoreFactory.js +65 -0
- package/node_modules/@sprucelabs/data-stores/build/fixtures/DatabaseFixture.d.ts +22 -0
- package/node_modules/@sprucelabs/data-stores/build/fixtures/DatabaseFixture.js +86 -0
- package/node_modules/@sprucelabs/data-stores/build/fixtures/StoreFixture.d.ts +5 -0
- package/node_modules/@sprucelabs/data-stores/build/fixtures/StoreFixture.js +20 -0
- package/node_modules/@sprucelabs/data-stores/build/index.d.ts +21 -0
- package/node_modules/@sprucelabs/data-stores/build/index.js +53 -0
- package/node_modules/@sprucelabs/data-stores/build/loaders/StoreLoader.d.ts +25 -0
- package/node_modules/@sprucelabs/data-stores/build/loaders/StoreLoader.js +107 -0
- package/node_modules/@sprucelabs/data-stores/build/mutexers/AbstractMutexer.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/mutexers/AbstractMutexer.js +46 -0
- package/node_modules/@sprucelabs/data-stores/build/stores/AbstractStore.d.ts +48 -0
- package/node_modules/@sprucelabs/data-stores/build/stores/AbstractStore.js +285 -0
- package/node_modules/@sprucelabs/data-stores/build/tests/AbstractDatabaseTest.d.ts +12 -0
- package/node_modules/@sprucelabs/data-stores/build/tests/AbstractDatabaseTest.js +37 -0
- package/node_modules/@sprucelabs/data-stores/build/types/database.types.d.ts +29 -0
- package/node_modules/@sprucelabs/data-stores/build/types/database.types.js +2 -0
- package/node_modules/@sprucelabs/data-stores/build/types/query.types.d.ts +29 -0
- package/node_modules/@sprucelabs/data-stores/build/types/query.types.js +3 -0
- package/node_modules/@sprucelabs/data-stores/build/types/stores.types.d.ts +24 -0
- package/node_modules/@sprucelabs/data-stores/build/types/stores.types.js +13 -0
- package/node_modules/@sprucelabs/data-stores/build/utilities/error.utility.d.ts +5 -0
- package/node_modules/@sprucelabs/data-stores/build/utilities/error.utility.js +28 -0
- package/node_modules/@sprucelabs/data-stores/build/utilities/generateId.d.ts +1 -0
- package/node_modules/@sprucelabs/data-stores/build/utilities/generateId.js +7 -0
- package/node_modules/@sprucelabs/data-stores/build/utilities/generateIdDeprecated.d.ts +6 -0
- package/node_modules/@sprucelabs/data-stores/build/utilities/generateIdDeprecated.js +11 -0
- package/node_modules/@sprucelabs/data-stores/build/utilities/mongo.utility.d.ts +12 -0
- package/node_modules/@sprucelabs/data-stores/build/utilities/mongo.utility.js +109 -0
- package/node_modules/@sprucelabs/data-stores/node_modules/globby/gitignore.js +120 -0
- package/node_modules/@sprucelabs/data-stores/node_modules/globby/index.d.ts +186 -0
- package/node_modules/@sprucelabs/data-stores/node_modules/globby/index.js +181 -0
- package/node_modules/@sprucelabs/data-stores/node_modules/globby/license +9 -0
- package/node_modules/@sprucelabs/data-stores/node_modules/globby/package.json +82 -0
- package/node_modules/@sprucelabs/data-stores/node_modules/globby/readme.md +170 -0
- package/node_modules/@sprucelabs/data-stores/node_modules/globby/stream-utils.js +46 -0
- package/node_modules/@sprucelabs/data-stores/package.json +144 -0
- package/node_modules/@sprucelabs/data-stores/tsconfig.json +39 -0
- 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
|
+
}
|