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