@unchainedshop/mongodb 3.1.1 → 3.1.5

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 +1 @@
1
- {"version":3,"file":"build-db-indexes.d.ts","sourceRoot":"","sources":["../src/build-db-indexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKrF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,KAAK,CAAC;IAC9C,KAAK,EAAE;SAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc;KAAE,CAAC;IAC7C,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC,CAAC;AAkBH,eAAO,MAAM,cAAc,GAAU,CAAC,SAAS,QAAQ,cACzC,UAAU,CAAC,CAAC,CAAC,WAChB,OAAO,CAAC,CAAC,CAAC,qBAwBpB,CAAC"}
1
+ {"version":3,"file":"build-db-indexes.d.ts","sourceRoot":"","sources":["../src/build-db-indexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAKrF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,IAAI,KAAK,CAAC;IAC9C,KAAK,EAAE;SAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc;KAAE,CAAC;IAC7C,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC,CAAC;AAkBH,eAAO,MAAM,cAAc,GAAU,CAAC,SAAS,QAAQ,EACrD,YAAY,UAAU,CAAC,CAAC,CAAC,EACzB,SAAS,OAAO,CAAC,CAAC,CAAC,qBAwBpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-sort-option.d.ts","sourceRoot":"","sources":["../src/build-sort-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAO/B,eAAO,MAAM,gBAAgB,UAAU,KAAK,CAAC,UAAU,CAAC,KAAQ,IAM/D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"build-sort-option.d.ts","sourceRoot":"","sources":["../src/build-sort-option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAO/B,eAAO,MAAM,gBAAgB,GAAI,OAAM,KAAK,CAAC,UAAU,CAAM,KAAG,IAM/D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function assertDocumentDBCompatMode(): void;
2
+ export declare const isDocumentDBCompatModeEnabled: () => boolean;
3
+ //# sourceMappingURL=documentdb-compat-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentdb-compat-mode.d.ts","sourceRoot":"","sources":["../src/documentdb-compat-mode.ts"],"names":[],"mappings":"AAAA,wBAAgB,0BAA0B,SAGzC;AAED,eAAO,MAAM,6BAA6B,eAA8D,CAAC"}
@@ -0,0 +1,6 @@
1
+ export function assertDocumentDBCompatMode() {
2
+ if (isDocumentDBCompatModeEnabled())
3
+ throw new Error('Text search is not supported in DocumentDB Compatibility Mode');
4
+ }
5
+ export const isDocumentDBCompatModeEnabled = () => Boolean(process.env.UNCHAINED_DOCUMENTDB_COMPAT_MODE);
6
+ //# sourceMappingURL=documentdb-compat-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentdb-compat-mode.js","sourceRoot":"","sources":["../src/documentdb-compat-mode.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,0BAA0B;IACxC,IAAI,6BAA6B,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"find-localized-text.d.ts","sourceRoot":"","sources":["../src/find-localized-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAUvD,eAAO,MAAM,iBAAiB,GAAU,CAAC,SAAS,QAAQ,cAC5C,UAAU,CAAC,CAAC,CAAC,YACf,MAAM,CAAC,CAAC,CAAC,UACX,IAAI,CAAC,MAAM,KAClB,OAAO,CAAC,CAAC,CAwBX,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"find-localized-text.d.ts","sourceRoot":"","sources":["../src/find-localized-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAUvD,eAAO,MAAM,iBAAiB,GAAU,CAAC,SAAS,QAAQ,EACxD,YAAY,UAAU,CAAC,CAAC,CAAC,EACzB,UAAU,MAAM,CAAC,CAAC,CAAC,EACnB,QAAQ,IAAI,CAAC,MAAM,KAClB,OAAO,CAAC,CAAC,CAwBX,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"find-preserving-ids.d.ts","sourceRoot":"","sources":["../src/find-preserving-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAQ1D,eAAO,MAAM,iBAAiB,GAC3B,CAAC,cACY,UAAU,CAAC,CAAC,CAAC,KACxB,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA0BxF,CAAC"}
1
+ {"version":3,"file":"find-preserving-ids.d.ts","sourceRoot":"","sources":["../src/find-preserving-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAQ1D,eAAO,MAAM,iBAAiB,GAC3B,CAAC,EACA,YAAY,UAAU,CAAC,CAAC,CAAC,KACxB,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CA0BxF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-db-filter-by-id.d.ts","sourceRoot":"","sources":["../src/generate-db-filter-by-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,MACzD,OAAO,UACJ,MAAM,CAAC,CAAC,CAAC,KACf,MAAM,CAAC,CAAC,CAGV,CAAC"}
1
+ {"version":3,"file":"generate-db-filter-by-id.d.ts","sourceRoot":"","sources":["../src/generate-db-filter-by-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7D,IAAI,OAAO,EACX,QAAO,MAAM,CAAC,CAAC,CAAM,KACpB,MAAM,CAAC,CAAC,CAGV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-db-object-id.d.ts","sourceRoot":"","sources":["../src/generate-db-object-id.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,uBAAkB,MAKhD,CAAC"}
1
+ {"version":3,"file":"generate-db-object-id.d.ts","sourceRoot":"","sources":["../src/generate-db-object-id.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,GAAI,eAAW,KAAG,MAKhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"initDb.d.ts","sourceRoot":"","sources":["../src/initDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,SAAS,CAAC;AAc1C,eAAO,MAAM,OAAO,uBA0BnB,CAAC;AAEF,eAAO,MAAM,MAAM,qBAGlB,CAAC;AAEF,QAAA,MAAM,MAAM,QAAa,OAAO,CAAC,EAAE,CAQlC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"initDb.d.ts","sourceRoot":"","sources":["../src/initDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAe,MAAM,SAAS,CAAC;AAc1C,eAAO,MAAM,OAAO,uBA2BnB,CAAC;AAEF,eAAO,MAAM,MAAM,qBAGlB,CAAC;AAEF,QAAA,MAAM,MAAM,QAAa,OAAO,CAAC,EAAE,CAQlC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
package/lib/initDb.js CHANGED
@@ -25,7 +25,8 @@ export const startDb = async () => {
25
25
  storageEngine: 'wiredTiger',
26
26
  port: parseInt(process.env.PORT, 10) + 1,
27
27
  },
28
- }).catch(() => {
28
+ }).catch((e) => {
29
+ console.log(e);
29
30
  // Drop error
30
31
  /* */
31
32
  });
package/lib/initDb.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"initDb.js","sourceRoot":"","sources":["../src/initDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1C,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,MAAM,CAAC;AAEX,IAAI,CAAC;IACH,2BAA2B;IAC3B,mBAAmB;IACnB,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACjC,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAAC,MAAM,CAAC;IACP,KAAK;AACP,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,KAAK;IACP,CAAC;IACD,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAChC,QAAQ,EAAE;YACR,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM;YAC9B,aAAa,EAAE,YAAY;YAC3B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC;SACzC;KACF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACZ,aAAa;QACb,KAAK;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;IACnC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IAC/B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;IACnC,MAAO,aAAqB,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,KAAK,IAAiB,EAAE;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE;QAClC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"initDb.js","sourceRoot":"","sources":["../src/initDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1C,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,MAAM,CAAC;AAEX,IAAI,CAAC;IACH,2BAA2B;IAC3B,mBAAmB;IACnB,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACjC,WAAW,GAAG,IAAI,CAAC;AACrB,CAAC;AAAC,MAAM,CAAC;IACP,KAAK;AACP,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,KAAK;IACP,CAAC;IACD,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAChC,QAAQ,EAAE;YACR,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM;YAC9B,aAAa,EAAE,YAAY;YAC3B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC;SACzC;KACF,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,aAAa;QACb,KAAK;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;IACnC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IAC/B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;IACnC,MAAO,aAAqB,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,KAAK,IAAiB,EAAE;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE;QAClC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC9C,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;IACvB,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/mongodb",
3
- "version": "3.1.1",
3
+ "version": "3.1.5",
4
4
  "description": "MongoDB provider for unchained platform",
5
5
  "main": "lib/mongodb-index.js",
6
6
  "types": "lib/mongodb-index.d.ts",
@@ -10,8 +10,8 @@
10
10
  "build": "tsc -b",
11
11
  "prepublishOnly": "npm run clean && npm run build",
12
12
  "watch": "tsc -w",
13
- "test": "NODE_OPTIONS=--experimental-vm-modules jest --detectOpenHandles --forceExit",
14
- "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch --detectOpenHandles --forceExit"
13
+ "test": "tsx --test",
14
+ "test:watch": "tsx --test --watch"
15
15
  },
16
16
  "repository": {
17
17
  "type": "git",
@@ -51,7 +51,6 @@
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/node": "^22.13.4",
54
- "jest": "^29.7.0",
55
54
  "typescript": "^5.7.3"
56
55
  }
57
56
  }
package/src/initDb.ts CHANGED
@@ -26,7 +26,8 @@ export const startDb = async () => {
26
26
  storageEngine: 'wiredTiger',
27
27
  port: parseInt(process.env.PORT, 10) + 1,
28
28
  },
29
- }).catch(() => {
29
+ }).catch((e) => {
30
+ console.log(e);
30
31
  // Drop error
31
32
  /* */
32
33
  });
@@ -1,16 +1,26 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert';
1
3
  import { insensitiveTrimmedRegexOperator } from './insensitive-trimmed-regex-operator.js';
2
4
 
3
5
  describe('Email Regex Operator', () => {
4
6
  it('should accept + mails', () => {
5
7
  const input = 'test+test@test.com';
6
- expect(insensitiveTrimmedRegexOperator(input)).toEqual({ $regex: /^test\+test@test\.com$/i });
8
+ assert.deepStrictEqual(insensitiveTrimmedRegexOperator(input), {
9
+ $regex: /^test\+test@test\.com$/i,
10
+ });
7
11
  });
12
+
8
13
  it('should trim mails', () => {
9
14
  const input = ' test-two+test@test.com';
10
- expect(insensitiveTrimmedRegexOperator(input)).toEqual({ $regex: /^test-two\+test@test\.com$/i });
15
+ assert.deepStrictEqual(insensitiveTrimmedRegexOperator(input), {
16
+ $regex: /^test-two\+test@test\.com$/i,
17
+ });
11
18
  });
19
+
12
20
  it('should not transform case', () => {
13
21
  const input = ' tesT+tesT@test.com ';
14
- expect(insensitiveTrimmedRegexOperator(input)).toEqual({ $regex: /^tesT\+tesT@test\.com$/i });
22
+ assert.deepStrictEqual(insensitiveTrimmedRegexOperator(input), {
23
+ $regex: /^tesT\+tesT@test\.com$/i,
24
+ });
15
25
  });
16
26
  });
@@ -1,9 +1,11 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert';
1
3
  import { SortDirection } from '@unchainedshop/utils';
2
4
  import { buildSortOptions, generateDbObjectId } from './mongodb-index.js';
3
5
 
4
6
  describe('Mongo', () => {
5
7
  it('Init', () => {
6
- expect(true).toBeTruthy();
8
+ assert(true);
7
9
  });
8
10
 
9
11
  describe('buildSortOptions', () => {
@@ -12,27 +14,27 @@ describe('Mongo', () => {
12
14
  { key: 'name', value: SortDirection.ASC },
13
15
  { key: 'age', value: SortDirection.DESC },
14
16
  ];
15
- expect(buildSortOptions(sort)).toEqual({ name: 1, age: -1 });
17
+ assert.deepStrictEqual(buildSortOptions(sort), { name: 1, age: -1 });
16
18
  });
17
19
  });
18
20
 
19
21
  describe('generateDbObjectId', () => {
20
22
  it('generateDbObjectId with default digits', () => {
21
23
  const result = generateDbObjectId();
22
- expect(typeof result).toBe('string');
23
- expect(result.length).toBe(24);
24
+ assert.strictEqual(typeof result, 'string');
25
+ assert.strictEqual(result.length, 24);
24
26
  });
25
27
 
26
28
  it('generateDbObjectId with odd digits', () => {
27
29
  const result = generateDbObjectId(23);
28
- expect(typeof result).toBe('string');
29
- expect(result.length).toBe(23);
30
+ assert.strictEqual(typeof result, 'string');
31
+ assert.strictEqual(result.length, 23);
30
32
  });
31
33
 
32
34
  it('generateDbObjectId with even digits', () => {
33
35
  const result = generateDbObjectId(24);
34
- expect(typeof result).toBe('string');
35
- expect(result.length).toBe(24);
36
+ assert.strictEqual(typeof result, 'string');
37
+ assert.strictEqual(result.length, 24);
36
38
  });
37
39
  });
38
40
  });
package/jest.config.js DELETED
@@ -1,17 +0,0 @@
1
- /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
2
- export default {
3
- preset: 'ts-jest/presets/default-esm', // or other ESM presets
4
- testEnvironment: 'node',
5
- extensionsToTreatAsEsm: ['.ts'],
6
- transform: {
7
- '^.+\\.tsx?$': [
8
- 'ts-jest',
9
- {
10
- useESM: true,
11
- },
12
- ],
13
- },
14
- moduleNameMapper: {
15
- '^(\\.{1,2}/.*)\\.js$': '$1',
16
- },
17
- };
package/lib/check-id.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export declare const checkId: (value: string, error?: {
2
- message: string;
3
- path?: string | undefined;
4
- } | undefined) => void;
5
- //# sourceMappingURL=check-id.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check-id.d.ts","sourceRoot":"","sources":["../src/check-id.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UACX,MAAM,UAET;IACE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,GACD,SAAS,KACZ,IAIF,CAAC"}
package/lib/check-id.js DELETED
@@ -1,6 +0,0 @@
1
- export const checkId = (value, error) => {
2
- if (typeof value !== 'string') {
3
- throw error || { message: 'Invalid id' };
4
- }
5
- };
6
- //# sourceMappingURL=check-id.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check-id.js","sourceRoot":"","sources":["../src/check-id.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,KAAa,EACb,KAKa,EACP,EAAE;IACR,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare function emailRegexOperator(string: any): {
2
- $regex: RegExp;
3
- };
4
- //# sourceMappingURL=email-regex-operator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-regex-operator.d.ts","sourceRoot":"","sources":["../src/email-regex-operator.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,MAAM,KAAA;;EAMxC"}
@@ -1,8 +0,0 @@
1
- export function emailRegexOperator(string) {
2
- if (typeof string !== 'string') {
3
- throw new TypeError('Expected a string');
4
- }
5
- const escappedEmail = string.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d');
6
- return { $regex: new RegExp(`${escappedEmail}$`, 'i') };
7
- }
8
- //# sourceMappingURL=email-regex-operator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-regex-operator.js","sourceRoot":"","sources":["../src/email-regex-operator.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB,CAAC,MAAM;IACvC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3F,OAAO,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,GAAG,aAAa,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AAC1D,CAAC"}
@@ -1,11 +0,0 @@
1
- import SimpleSchema from 'simpl-schema';
2
- import { TimestampFields } from '@unchainedshop/types/common.js';
3
- import { ModuleCreateMutation, ModuleMutations } from '@unchainedshop/types/core.js';
4
- import { Collection } from 'mongodb';
5
- export declare const generateDbMutations: <T extends TimestampFields & {
6
- _id?: string;
7
- }>(collection: Collection<T>, schema: SimpleSchema, options?: {
8
- hasCreateOnly?: boolean;
9
- permanentlyDeleteByDefault?: boolean;
10
- }) => ModuleMutations<T> | ModuleCreateMutation<T>;
11
- //# sourceMappingURL=generate-db-mutations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-db-mutations.d.ts","sourceRoot":"","sources":["../src/generate-db-mutations.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,UAAU,EAAgB,MAAM,SAAS,CAAC;AAKnD,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,eAAe,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,cAClE,UAAU,CAAC,CAAC,CAAC,UACjB,YAAY,YACV;IACR,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,KACA,eAAe,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CA6E7C,CAAC"}
@@ -1,73 +0,0 @@
1
- import { checkId } from './check-id.js';
2
- import { generateDbObjectId } from './generate-db-object-id.js';
3
- import { generateDbFilterById } from './generate-db-filter-by-id.js';
4
- export const generateDbMutations = (collection, schema, options) => {
5
- if (!collection)
6
- throw new Error('Collection is missing');
7
- if (!schema)
8
- throw new Error('Schema is missing');
9
- const { hasCreateOnly, permanentlyDeleteByDefault } = options || {
10
- hasCreateOnly: false,
11
- permanentlyDeleteByDefault: false,
12
- };
13
- const deletePermanently = async (_id) => {
14
- checkId(_id);
15
- const filter = generateDbFilterById(_id);
16
- const result = await collection.deleteOne(filter);
17
- return result.deletedCount;
18
- };
19
- return {
20
- create: async (doc) => {
21
- const values = schema.clean(doc);
22
- values.created = new Date();
23
- schema.validate(values);
24
- values._id = doc._id || generateDbObjectId();
25
- const result = await collection.insertOne(values);
26
- return result.insertedId;
27
- },
28
- update: hasCreateOnly
29
- ? undefined
30
- : async (_id, doc) => {
31
- checkId(_id);
32
- let modifier;
33
- if (doc?.$set) {
34
- const values = schema.clean(doc, { isModifier: true });
35
- modifier = {
36
- ...values,
37
- $set: {
38
- ...(values.$set || {}),
39
- updated: new Date(),
40
- },
41
- };
42
- }
43
- else {
44
- const values = schema.clean(doc);
45
- modifier = {
46
- $set: {
47
- ...values,
48
- updated: new Date(),
49
- },
50
- };
51
- }
52
- schema.validate(modifier, { modifier: true });
53
- const filter = generateDbFilterById(_id, { deleted: null });
54
- await collection.updateOne(filter, modifier);
55
- return _id;
56
- },
57
- deletePermanently: hasCreateOnly ? undefined : deletePermanently,
58
- delete: hasCreateOnly
59
- ? undefined
60
- : async (_id) => {
61
- if (permanentlyDeleteByDefault) {
62
- return deletePermanently(_id);
63
- }
64
- checkId(_id);
65
- const filter = generateDbFilterById(_id, { deleted: null });
66
- const modifier = { $set: { deleted: new Date() } };
67
- const values = schema.clean(modifier, { isModifier: true });
68
- const result = await collection.updateOne(filter, values);
69
- return result.modifiedCount;
70
- },
71
- };
72
- };
73
- //# sourceMappingURL=generate-db-mutations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-db-mutations.js","sourceRoot":"","sources":["../src/generate-db-mutations.ts"],"names":[],"mappings":"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"}