@sprucelabs/data-stores 22.0.3 → 22.2.0

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.
@@ -18,9 +18,6 @@ export default class DatabaseFixture {
18
18
  if (!dbConnectionString) {
19
19
  missing.push('dbConnectionString');
20
20
  }
21
- if (!dbName && dbConnectionString !== MEMORY) {
22
- missing.push('dbName');
23
- }
24
21
  if (missing.length > 0) {
25
22
  throw new SchemaError({
26
23
  code: 'MISSING_PARAMETERS',
@@ -53,7 +53,7 @@ declare const databaseAssertUtil: {
53
53
  assertThrowsWithInvalidConnectionString(connect: TestConnect): Promise<void>;
54
54
  assertKnowsIfConnectionClosed(connect: TestConnect): Promise<void>;
55
55
  assertCanQueryPathWithDotSyntax(connect: TestConnect): Promise<void>;
56
- assertCanQueryByGtLtGteLte(connect: TestConnect): Promise<void>;
56
+ assertCanQueryByGtLtGteLteNe(connect: TestConnect): Promise<void>;
57
57
  assertCanFindWithNe(connect: TestConnect): Promise<void>;
58
58
  assertCanFindWithIn(connect: TestConnect): Promise<void>;
59
59
  assertCanFindWithBooleanField(connect: TestConnect): Promise<void>;
@@ -55,7 +55,7 @@ const databaseAssertUtil = {
55
55
  'assertCanLimitResults',
56
56
  'assertCanLimitResultsToZero',
57
57
  'assertCanFindWithBooleanField',
58
- 'assertCanQueryByGtLtGteLte',
58
+ 'assertCanQueryByGtLtGteLteNe',
59
59
  'assertCanQueryPathWithDotSyntax',
60
60
  'assertCanReturnOnlySelectFields',
61
61
  'assertCanSearchByRegex',
@@ -1162,25 +1162,29 @@ const databaseAssertUtil = {
1162
1162
  yield this.shutdown(db);
1163
1163
  });
1164
1164
  },
1165
- assertCanQueryByGtLtGteLte(connect) {
1165
+ assertCanQueryByGtLtGteLteNe(connect) {
1166
1166
  return __awaiter(this, void 0, void 0, function* () {
1167
1167
  const db = yield connectToDabatase(connect);
1168
1168
  const created = yield db.create(this.collectionName, [
1169
1169
  {
1170
1170
  number: 1,
1171
1171
  name: generateId(),
1172
+ someField: null,
1172
1173
  },
1173
1174
  {
1174
1175
  number: 2,
1175
1176
  name: generateId(),
1177
+ someField: 'test',
1176
1178
  },
1177
1179
  {
1178
1180
  number: 3,
1179
1181
  name: generateId(),
1182
+ someField: 'test',
1180
1183
  },
1181
1184
  {
1182
1185
  number: 4,
1183
1186
  name: generateId(),
1187
+ someField: 'test',
1184
1188
  },
1185
1189
  ]);
1186
1190
  const gtMatches = yield db.find(this.collectionName, {
@@ -1207,6 +1211,19 @@ const databaseAssertUtil = {
1207
1211
  assert.isEqual(lteMatches[0].number, 1);
1208
1212
  assert.isEqual(lteMatches[1].number, 2);
1209
1213
  assert.isEqual(lteMatches[2].number, 3);
1214
+ const notMatches = yield db.find(this.collectionName, {
1215
+ id: {
1216
+ $ne: created[0].id,
1217
+ },
1218
+ });
1219
+ assert.isNotEqual(notMatches[0].id, created[0].id);
1220
+ assert.isLength(notMatches, created.length - 1);
1221
+ const notNull = yield db.find(this.collectionName, {
1222
+ someField: {
1223
+ $ne: null,
1224
+ },
1225
+ });
1226
+ assert.isLength(notNull, created.length - 1);
1210
1227
  yield this.shutdown(db);
1211
1228
  });
1212
1229
  },
@@ -1,2 +1,2 @@
1
1
  import databaseAssertUtil from './databaseAssertUtil';
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")[];
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" | "assertCanQueryByGtLtGteLteNe" | "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")[];
@@ -14,9 +14,6 @@ class DatabaseFixture {
14
14
  if (!dbConnectionString) {
15
15
  missing.push('dbConnectionString');
16
16
  }
17
- if (!dbName && dbConnectionString !== MEMORY) {
18
- missing.push('dbName');
19
- }
20
17
  if (missing.length > 0) {
21
18
  throw new schema_1.SchemaError({
22
19
  code: 'MISSING_PARAMETERS',
@@ -53,7 +53,7 @@ declare const databaseAssertUtil: {
53
53
  assertThrowsWithInvalidConnectionString(connect: TestConnect): Promise<void>;
54
54
  assertKnowsIfConnectionClosed(connect: TestConnect): Promise<void>;
55
55
  assertCanQueryPathWithDotSyntax(connect: TestConnect): Promise<void>;
56
- assertCanQueryByGtLtGteLte(connect: TestConnect): Promise<void>;
56
+ assertCanQueryByGtLtGteLteNe(connect: TestConnect): Promise<void>;
57
57
  assertCanFindWithNe(connect: TestConnect): Promise<void>;
58
58
  assertCanFindWithIn(connect: TestConnect): Promise<void>;
59
59
  assertCanFindWithBooleanField(connect: TestConnect): Promise<void>;
@@ -50,7 +50,7 @@ const databaseAssertUtil = {
50
50
  'assertCanLimitResults',
51
51
  'assertCanLimitResultsToZero',
52
52
  'assertCanFindWithBooleanField',
53
- 'assertCanQueryByGtLtGteLte',
53
+ 'assertCanQueryByGtLtGteLteNe',
54
54
  'assertCanQueryPathWithDotSyntax',
55
55
  'assertCanReturnOnlySelectFields',
56
56
  'assertCanSearchByRegex',
@@ -1056,24 +1056,28 @@ const databaseAssertUtil = {
1056
1056
  test_utils_1.assert.isEqual(secondMatch.name, 'second');
1057
1057
  await this.shutdown(db);
1058
1058
  },
1059
- async assertCanQueryByGtLtGteLte(connect) {
1059
+ async assertCanQueryByGtLtGteLteNe(connect) {
1060
1060
  const db = await connectToDabatase(connect);
1061
1061
  const created = await db.create(this.collectionName, [
1062
1062
  {
1063
1063
  number: 1,
1064
1064
  name: (0, generateId_1.default)(),
1065
+ someField: null,
1065
1066
  },
1066
1067
  {
1067
1068
  number: 2,
1068
1069
  name: (0, generateId_1.default)(),
1070
+ someField: 'test',
1069
1071
  },
1070
1072
  {
1071
1073
  number: 3,
1072
1074
  name: (0, generateId_1.default)(),
1075
+ someField: 'test',
1073
1076
  },
1074
1077
  {
1075
1078
  number: 4,
1076
1079
  name: (0, generateId_1.default)(),
1080
+ someField: 'test',
1077
1081
  },
1078
1082
  ]);
1079
1083
  const gtMatches = await db.find(this.collectionName, {
@@ -1100,6 +1104,19 @@ const databaseAssertUtil = {
1100
1104
  test_utils_1.assert.isEqual(lteMatches[0].number, 1);
1101
1105
  test_utils_1.assert.isEqual(lteMatches[1].number, 2);
1102
1106
  test_utils_1.assert.isEqual(lteMatches[2].number, 3);
1107
+ const notMatches = await db.find(this.collectionName, {
1108
+ id: {
1109
+ $ne: created[0].id,
1110
+ },
1111
+ });
1112
+ test_utils_1.assert.isNotEqual(notMatches[0].id, created[0].id);
1113
+ test_utils_1.assert.isLength(notMatches, created.length - 1);
1114
+ const notNull = await db.find(this.collectionName, {
1115
+ someField: {
1116
+ $ne: null,
1117
+ },
1118
+ });
1119
+ test_utils_1.assert.isLength(notNull, created.length - 1);
1103
1120
  await this.shutdown(db);
1104
1121
  },
1105
1122
  async assertCanFindWithNe(connect) {
@@ -1,2 +1,2 @@
1
1
  import databaseAssertUtil from './databaseAssertUtil';
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")[];
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" | "assertCanQueryByGtLtGteLteNe" | "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")[];
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "22.0.3",
6
+ "version": "22.2.0",
7
7
  "files": [
8
8
  "build/**/*",
9
9
  "!build/__tests__",