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