@sprucelabs/data-stores 19.3.3 → 20.0.1

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.
@@ -1,2 +1,2 @@
1
1
  import databaseAssertUtil from './databaseAssertUtil';
2
- export default function pluckAssertionMethods(util: typeof databaseAssertUtil): ("collectionName" | "runSuite" | "_getFilteredIndexes" | "_filterIdIndex" | "_assertUpdateUpdatedRightNumberOfRecords" | "assertCanSortDesc" | "assertCanSortAsc" | "assertInsertingGeneratesId" | "assertThrowsWhenUpdatingRecordNotFound" | "shutdown" | "assertCanCreateUniqueIndex" | "assertHasNoUniqueIndexToStart" | "assertCanShutdown" | "assertCanDeleteOne" | "assertCanDeleteRecord" | "assertCanLimitResultsToZero" | "assertCanLimitResults" | "assertFindOneOnEmptyDatabaseReturnsNull" | "assertEmptyDatabaseReturnsEmptyArray" | "assertCanPushOntoArrayValue" | "assertCanCreateMany" | "assertCanUpdateMany" | "assertCanQueryWithOr" | "assertCanUpdate" | "assertCanSortById" | "assertCanCreateMultiFieldUniqueIndex" | "assertSettingUniqueIndexViolationThrowsSpruceError" | "assertDuplicateKeyThrowsOnInsert" | "assertSyncingIndexesDoesNotAddAndRemove" | "assertSyncingUniqueIndexesRemovesExtraIndexes" | "assertSyncingUniqueIndexsSkipsExistingIndexs" | "assertSyncingUniqueIndexsAddsMissingIndexes" | "assertCantDropCompoundUniqueIndexThatDoesntExist" | "assertCantDropIndexWhenNoIndexExists" | "assertCantDropUniqueIndexThatDoesntExist" | "assertCanDropCompoundUniqueIndex" | "assertCanDropUniqueIndex" | "assertCantCreateUniqueIndexTwice" | "assertSyncingUniqueIndexesIsRaceProof" | "assertUniqueIndexBlocksDuplicates" | "assertCanCreateUniqueIndexOnNestedField" | "assertCanPushToArrayOnUpsert" | "assertCanSearchByRegex" | "assertCanReturnOnlySelectFields" | "assertThrowsWithoutDatabaseName" | "assertThrowsWhenCantConnect" | "assertThrowsWithInvalidConnectionString" | "assertKnowsIfConnectionClosed" | "assertCanQueryPathWithDotSyntax" | "assertCanQueryByGtLtGteLte" | "assertCanFindWithNe" | "assertCanFindWithIn" | "assertCanCountOnId" | "assertCanCount" | "assertCanUpsertNull" | "assertCanSaveAndGetNullAndUndefined" | "assertSyncIndexesDoesNotRemoveExisting" | "assertSyncIndexesRemovesExtraIndexes" | "assertSyncIndexesSkipsExisting" | "assertCantDropCompoundIndexThatDoesNotExist" | "assertCanDropCompoundIndex" | "assertCanDropIndex" | "assertCanCreateMultiFieldIndex" | "assertCantCreateSameIndexTwice" | "assertCanCreateIndex" | "assertHasNoIndexToStart" | "assertNestedFieldIndexUpdates" | "assertUpsertWithUniqueIndex" | "assertSyncIndexesHandlesRaceConditions" | "assertDuplicateFieldsWithMultipleUniqueIndexesWorkAsExpected")[];
2
+ export default function pluckAssertionMethods(util: typeof databaseAssertUtil): ("collectionName" | "assertThrowsWithInvalidConnectionString" | "assertThrowsWhenCantConnect" | "assertThrowsWithBadDatabaseName" | "assertEmptyDatabaseReturnsEmptyArray" | "assertKnowsIfConnectionClosed" | "assertFindOneOnEmptyDatabaseReturnsNull" | "assertCanSortDesc" | "assertCanSortAsc" | "assertCanSortById" | "assertCanQueryWithOr" | "generateIdDifferentEachTime" | "assertInsertingGeneratesId" | "assertCanCreateMany" | "assertCanLimitResults" | "assertCanCreateWithObjectField" | "assertCanCountOnId" | "assertCanCount" | "assertThrowsWhenUpdatingRecordNotFound" | "assertCanUpdate" | "assertCanUpdateMany" | "assertCanPushOntoArrayValue" | "canUpdateWithObjectField" | "canUpdateFieldInObjectFieldWithTargettedWhere" | "assertCanSaveAndGetNullAndUndefined" | "assertCanUpsertOne" | "assertCanUpsertNull" | "assertCanPushToArrayOnUpsert" | "assertCanLimitResultsToZero" | "assertCanFindWithBooleanField" | "assertCanQueryByGtLtGteLte" | "assertCanQueryPathWithDotSyntax" | "assertCanReturnOnlySelectFields" | "assertCanSearchByRegex" | "assertCanFindWithNe" | "assertCanFindWithIn" | "assertCanDeleteRecord" | "assertCanDeleteOne" | "assertHasNoUniqueIndexToStart" | "assertCanCreateUniqueIndex" | "assertCanCreateMultiFieldUniqueIndex" | "assertCantCreateUniqueIndexTwice" | "assertCanDropUniqueIndex" | "assertCanDropCompoundUniqueIndex" | "assertCantDropUniqueIndexThatDoesntExist" | "assertCantDropIndexWhenNoIndexExists" | "assertCantDropCompoundUniqueIndexThatDoesntExist" | "assertSyncingUniqueIndexsAddsMissingIndexes" | "assertSyncingUniqueIndexsSkipsExistingIndexs" | "assertSyncingUniqueIndexesRemovesExtraIndexes" | "assertSyncingUniqueIndexesIsRaceProof" | "assertSyncingIndexesDoesNotAddAndRemove" | "assertUniqueIndexBlocksDuplicates" | "assertDuplicateKeyThrowsOnInsert" | "assertSettingUniqueIndexViolationThrowsSpruceError" | "assertCanCreateUniqueIndexOnNestedField" | "assertUpsertWithUniqueIndex" | "assertNestedFieldIndexUpdates" | "assertHasNoIndexToStart" | "assertCanCreateIndex" | "assertCantCreateSameIndexTwice" | "assertCanCreateMultiFieldIndex" | "assertCanDropIndex" | "assertCanDropCompoundIndex" | "assertCantDropCompoundIndexThatDoesNotExist" | "assertSyncIndexesSkipsExisting" | "assertSyncIndexesRemovesExtraIndexes" | "assertSyncIndexesHandlesRaceConditions" | "assertSyncIndexesDoesNotRemoveExisting" | "assertDuplicateFieldsWithMultipleUniqueIndexesWorkAsExpected" | "runSuite" | "_getFilteredIndexes" | "_filterIdIndex" | "_assertUpdateUpdatedRightNumberOfRecords" | "shutdown" | "_assertThrowsExpectedNotFoundOnUpdateOne" | "_assert$orReturnsExpectedTotalRecords" | "_assertCanCreateMultiFieldIndex")[];
@@ -32,3 +32,9 @@ export interface DatabaseOptions {
32
32
  dbName?: string;
33
33
  log?: Log;
34
34
  }
35
+ export type TestConnect = (connectionString?: string, dbName?: string) => Promise<{
36
+ db: Database;
37
+ scheme: string;
38
+ connectionStringWithRandomBadDatabaseName: string;
39
+ badDatabaseName: string;
40
+ }>;
@@ -6,13 +6,14 @@ export type QueryBuilder<Query> = {
6
6
  } & {
7
7
  id?: string | QuerySelector<string>;
8
8
  };
9
+ export interface QuerySortField {
10
+ field: string;
11
+ direction: 'asc' | 'desc';
12
+ }
9
13
  export interface QueryOptions {
10
14
  skip?: number;
11
15
  limit?: number;
12
- sort?: {
13
- field: string;
14
- direction: 'asc' | 'desc';
15
- }[];
16
+ sort?: QuerySortField[];
16
17
  includeFields?: string[];
17
18
  }
18
19
  export type FlattenAndPathKeys<O extends Obj, T extends Obj = PathKeys<O>> = Flatten<T>;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "19.3.3",
6
+ "version": "20.0.1",
7
7
  "files": [
8
8
  "build/**/*",
9
9
  "!build/__tests__",
@@ -70,9 +70,9 @@
70
70
  "upgrade.packages.test": "yarn upgrade.packages.all && yarn lint && yarn build.dev && yarn test"
71
71
  },
72
72
  "dependencies": {
73
- "@sprucelabs/error": "^5.0.580",
74
- "@sprucelabs/schema": "^28.5.129",
75
- "@sprucelabs/spruce-skill-utils": "^28.1.82",
73
+ "@sprucelabs/error": "^5.0.583",
74
+ "@sprucelabs/schema": "^28.5.135",
75
+ "@sprucelabs/spruce-skill-utils": "^28.1.88",
76
76
  "globby": "^11.0.4",
77
77
  "just-clone": "^6.2.0",
78
78
  "lodash": "^4.17.21",
@@ -80,27 +80,27 @@
80
80
  "nedb": "^1.8.0"
81
81
  },
82
82
  "devDependencies": {
83
- "@sprucelabs/esm-postbuild": "^2.0.91",
84
- "@sprucelabs/jest-json-reporter": "^6.0.563",
83
+ "@sprucelabs/esm-postbuild": "^2.0.94",
84
+ "@sprucelabs/jest-json-reporter": "^6.0.566",
85
85
  "@sprucelabs/jest-sheets-reporter": "^2.0.21",
86
- "@sprucelabs/resolve-path-aliases": "^1.1.177",
86
+ "@sprucelabs/resolve-path-aliases": "^1.1.179",
87
87
  "@sprucelabs/semantic-release": "^4.0.8",
88
- "@sprucelabs/test": "^7.7.420",
89
- "@sprucelabs/test-utils": "^3.4.1",
88
+ "@sprucelabs/test": "^7.7.422",
89
+ "@sprucelabs/test-utils": "^3.4.7",
90
90
  "@types/lodash": "^4.14.191",
91
91
  "@types/nedb": "^1.8.12",
92
92
  "@types/node": "17.0.5",
93
93
  "chokidar-cli": "^3.0.0",
94
94
  "concurrently": "^7.6.0",
95
95
  "dotenv": "^16.0.3",
96
- "eslint": "^8.34.0",
96
+ "eslint": "^8.35.0",
97
97
  "eslint-config-spruce": "^10.12.0",
98
98
  "jest": "^29.4.3",
99
99
  "jest-circus": "^29.4.3",
100
100
  "prettier": "^2.8.4",
101
101
  "ts-node": "^10.9.1",
102
102
  "tsc-watch": "^6.0.0",
103
- "tsconfig-paths": "^4.1.2",
103
+ "tsconfig-paths": "^3.14.2",
104
104
  "typescript": "^4.9.5"
105
105
  },
106
106
  "engines": {