@owlmeans/mongo-resource 0.1.18-rc.41 → 0.1.18-rc.42
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/README.md +2 -2
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/mongo-resource/SKILL.md +1 -1
- package/build/declarations.d.ts +1 -7
- package/build/declarations.d.ts.map +1 -1
- package/build/declarations.js.map +1 -1
- package/build/resource.d.ts +1 -1
- package/build/resource.d.ts.map +1 -1
- package/build/resource.js +1 -2
- package/build/resource.js.map +1 -1
- package/build/types.d.ts +6 -1
- package/build/types.d.ts.map +1 -1
- package/build/types.local.d.ts +4 -0
- package/build/types.local.d.ts.map +1 -0
- package/build/types.local.js +2 -0
- package/build/types.local.js.map +1 -0
- package/build/utils/consts.local.d.ts +25 -0
- package/build/utils/consts.local.d.ts.map +1 -0
- package/build/utils/consts.local.js +31 -0
- package/build/utils/consts.local.js.map +1 -0
- package/build/utils/criteria.d.ts +1 -1
- package/build/utils/criteria.d.ts.map +1 -1
- package/build/utils/criteria.js +1 -7
- package/build/utils/criteria.js.map +1 -1
- package/build/utils/indexes.d.ts.map +1 -1
- package/build/utils/indexes.js +1 -6
- package/build/utils/indexes.js.map +1 -1
- package/build/utils/migrations.d.ts.map +1 -1
- package/build/utils/migrations.js +1 -2
- package/build/utils/migrations.js.map +1 -1
- package/build/utils/name.d.ts.map +1 -1
- package/build/utils/name.js +1 -5
- package/build/utils/name.js.map +1 -1
- package/build/utils/refs.d.ts +1 -1
- package/build/utils/refs.d.ts.map +1 -1
- package/build/utils/refs.js +1 -12
- package/build/utils/refs.js.map +1 -1
- package/build/utils/types.local.d.ts +13 -0
- package/build/utils/types.local.d.ts.map +1 -0
- package/build/utils/types.local.js +2 -0
- package/build/utils/types.local.js.map +1 -0
- package/package.json +9 -9
- package/src/declarations.ts +1 -8
- package/src/resource.ts +3 -12
- package/src/types.local.ts +5 -0
- package/src/types.ts +7 -3
- package/src/utils/consts.local.ts +35 -0
- package/src/utils/criteria.ts +2 -10
- package/src/utils/indexes.ts +1 -7
- package/src/utils/migrations.ts +3 -17
- package/src/utils/name.ts +1 -6
- package/src/utils/refs.ts +2 -17
- package/src/utils/types.local.ts +13 -0
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ Client-side records go in [`@owlmeans/state`](../state).
|
|
|
12
12
|
## Installation
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
bun add @owlmeans/mongo-resource@^0.1.18-rc.
|
|
15
|
+
bun add @owlmeans/mongo-resource@^0.1.18-rc.42
|
|
16
16
|
```
|
|
17
17
|
|
|
18
18
|
`mongodb` and `ajv` are peer dependencies. The connection service comes from
|
|
@@ -294,7 +294,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
294
294
|
your project's skill store (`.agents/skills/`):
|
|
295
295
|
|
|
296
296
|
```sh
|
|
297
|
-
npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
297
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.48
|
|
298
298
|
```
|
|
299
299
|
|
|
300
300
|
The embedded files are version-matched to this package release. Do not edit them
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/mongo-resource",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-10-
|
|
4
|
+
"version": "0.1.18-rc.42",
|
|
5
|
+
"generatedAt": "2026-10-05T08:32:19.102Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
# @owlmeans/mongo-resource
|
|
9
9
|
|
|
10
10
|
**Layer:** Infra
|
|
11
|
-
**Install:** `"@owlmeans/mongo-resource": "^0.1.18-rc.
|
|
11
|
+
**Install:** `"@owlmeans/mongo-resource": "^0.1.18-rc.42"` in `dependencies` (peers `mongodb`, `ajv`)
|
|
12
12
|
|
|
13
13
|
The Mongo counterpart of [[postgres-resource]]. A collection has no structure of its own, so
|
|
14
14
|
here the resource layer owns the *validator* (`$jsonSchema` from the AJV schema), the indexes,
|
package/build/declarations.d.ts
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { MongoReference, MongoTx } from './types.js';
|
|
3
|
-
export interface MongoDeclaration {
|
|
4
|
-
migrations: MigrationRegistry<MongoTx>;
|
|
5
|
-
/** Declared ObjectId references, keyed by field. Registered via `resource.reference()`. */
|
|
6
|
-
references: Map<string, MongoReference>;
|
|
7
|
-
}
|
|
1
|
+
import type { MongoDeclaration } from './types.js';
|
|
8
2
|
export declare const getDeclaration: (alias: string) => MongoDeclaration;
|
|
9
3
|
/** Testing seam — drops every declaration so a spec can redeclare a resource from scratch. */
|
|
10
4
|
export declare const resetDeclarations: (alias?: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.d.ts","sourceRoot":"","sources":["../src/declarations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"declarations.d.ts","sourceRoot":"","sources":["../src/declarations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAa3D,eAAO,MAAM,cAAc,UAAW,MAAM,KAAG,gBAQ9C,CAAA;AAED,8FAA8F;AAC9F,eAAO,MAAM,iBAAiB,WAAY,MAAM,KAAG,IAOlD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../src/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../src/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAI5D;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAkC,IAAI,GAAG,EAAE,CAAA;AAE7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAoB,EAAE;IAChE,IAAI,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACzC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,WAAW,GAAG,EAAE,UAAU,EAAE,uBAAuB,EAAW,EAAE,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,CAAA;QACvF,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAED,8FAA8F;AAC9F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAQ,EAAE;IACxD,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,YAAY,CAAC,KAAK,EAAE,CAAA;QAEpB,OAAM;IACR,CAAC;IACD,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC,CAAA"}
|
package/build/resource.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ResourceRecord } from '@owlmeans/resource';
|
|
2
2
|
import type { MongoResource } from './types.js';
|
|
3
3
|
export declare const makeMongoResource: <R extends ResourceRecord, T extends MongoResource<R> = MongoResource<R>>(alias: string, dbAlias?: string, serviceAlias?: string, collectionName?: string) => T;
|
|
4
4
|
//# sourceMappingURL=resource.d.ts.map
|
package/build/resource.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuF,KAAK,cAAc,EAAsH,MAAM,oBAAoB,CAAA;AACjQ,OAAO,KAAK,EAAmD,aAAa,EAAW,MAAM,YAAY,CAAA;AAazG,eAAO,MAAM,iBAAiB,GAC5B,CAAC,SAAS,cAAc,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,SAEhE,MAAM,YAAW,MAAM,iBAAmC,MAAM,mBACtD,MAAM,KACtB,CAsRF,CAAA"}
|
package/build/resource.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { appendContextual, assertContext } from '@owlmeans/context';
|
|
2
2
|
import { DEFAULT_DB_ALIAS, DEFAULT_PAGE_SIZE } from './consts.js';
|
|
3
|
-
import { MigrationStage } from '@owlmeans/resource';
|
|
3
|
+
import { MigrationStage, MisshapedRecord, RecordExists, UnknownRecordError, UnsupportedArgumentError, RecordUpdateFailed } from '@owlmeans/resource';
|
|
4
4
|
import { initializeCollection } from './utils/life-cycle.js';
|
|
5
5
|
import { getDeclaration } from './declarations.js';
|
|
6
6
|
import { ObjectId } from 'mongodb';
|
|
7
|
-
import { MisshapedRecord, RecordExists, UnknownRecordError, UnsupportedArgumentError, RecordUpdateFailed } from '@owlmeans/resource';
|
|
8
7
|
import { getSchemaSecureFeilds } from './helper.js';
|
|
9
8
|
import { criteriaToFilter, sortToMongo } from './utils/criteria.js';
|
|
10
9
|
import { demarshalRefs, identityCriteria, makeRefMigration, marshalReference, refMigrationName } from './utils/refs.js';
|
package/build/resource.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"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"}
|
package/build/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Resource, ResourceRecord, ResourceDbService, DbLocker, LockableResource, MigratableResource } from '@owlmeans/resource';
|
|
1
|
+
import type { Resource, ResourceRecord, ResourceDbService, DbLocker, LockableResource, MigratableResource, MigrationRegistry } from '@owlmeans/resource';
|
|
2
2
|
import type { Collection, CreateIndexesOptions, Db, IndexSpecification, MongoClient } from 'mongodb';
|
|
3
3
|
import type { AnySchema } from 'ajv';
|
|
4
4
|
/**
|
|
@@ -79,4 +79,9 @@ export interface MongoResource<T extends ResourceRecord> extends Resource<T>, Lo
|
|
|
79
79
|
}
|
|
80
80
|
export interface MongoDbService extends ResourceDbService<Db, MongoClient>, DbLocker<ResourceRecord> {
|
|
81
81
|
}
|
|
82
|
+
export interface MongoDeclaration {
|
|
83
|
+
migrations: MigrationRegistry<MongoTx>;
|
|
84
|
+
/** Declared ObjectId references, keyed by field. Registered via `resource.reference()`. */
|
|
85
|
+
references: Map<string, MongoReference>;
|
|
86
|
+
}
|
|
82
87
|
//# sourceMappingURL=types.d.ts.map
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACxJ,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAAE,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,EAAE,CAAA;IACN,wCAAwC;IACxC,UAAU,EAAE,UAAU,CAAA;IACtB,yFAAyF;IACzF,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,UAAU,CAAA;IACnC,mGAAmG;IACnG,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAChC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAA;IACb,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC/F,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,kBAAkB,CAAC;QAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAA;IAC5F,UAAU,EAAE,UAAU,CAAA;IACtB,EAAE,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC,CAAA;IACrB,MAAM,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;IAClC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAA;IACxF;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,KAAK,IAAI,CAAA;IACnE,6CAA6C;IAC7C,UAAU,EAAE,MAAM,cAAc,EAAE,CAAA;IAClC,WAAW,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,cAAe,SAAQ,iBAAiB,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC;CACnG;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACtC,2FAA2F;IAC3F,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.local.d.ts","sourceRoot":"","sources":["../src/types.local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE3E,MAAM,MAAM,MAAM,GAAG,YAAY,CAAA;AAEjC,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.local.js","sourceRoot":"","sources":["../src/types.local.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operators mongo speaks natively and that mean the same thing here as they do in SQL and in
|
|
3
|
+
* the in-memory engine. Everything else in the shared vocabulary is rewritten below into a
|
|
4
|
+
* mongo expression with the same meaning — a criteria object has to answer identically
|
|
5
|
+
* whichever store it reaches.
|
|
6
|
+
*/
|
|
7
|
+
export declare const NATIVE: Set<string>;
|
|
8
|
+
/** What the SERVER reports about an index rather than what a declaration asks for — never a
|
|
9
|
+
* reason to recreate one. `collation` is here because a collection's default collation is
|
|
10
|
+
* reported on every index in it, including the ones declared without any. */
|
|
11
|
+
export declare const REPORTED_FIELDS: Set<string>;
|
|
12
|
+
export declare const VALID_COLLECTION_NAME: RegExp;
|
|
13
|
+
/**
|
|
14
|
+
* The only shape a stored reference is converted from. Deliberately stricter than
|
|
15
|
+
* `ObjectId.isValid`, which also accepts any 12 character string and would silently
|
|
16
|
+
* swallow short business keys.
|
|
17
|
+
*/
|
|
18
|
+
export declare const HEX24: RegExp;
|
|
19
|
+
/**
|
|
20
|
+
* Operators whose operand is never an id — a 24 hex string under `$regex` is a pattern,
|
|
21
|
+
* not a reference.
|
|
22
|
+
*/
|
|
23
|
+
export declare const OPAQUE_OPERATORS: string[];
|
|
24
|
+
export declare const LOGICAL_OPERATORS: string[];
|
|
25
|
+
//# sourceMappingURL=consts.local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.d.ts","sourceRoot":"","sources":["../../src/utils/consts.local.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,aAAiF,CAAA;AAEpG;;8EAE8E;AAC9E,eAAO,MAAM,eAAe,aAE1B,CAAA;AAMF,eAAO,MAAM,qBAAqB,QAAqB,CAAA;AAEvD;;;;GAIG;AACH,eAAO,MAAM,KAAK,QAAsB,CAAA;AAExC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,UAAwE,CAAA;AAErG,eAAO,MAAM,iBAAiB,UAA0B,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operators mongo speaks natively and that mean the same thing here as they do in SQL and in
|
|
3
|
+
* the in-memory engine. Everything else in the shared vocabulary is rewritten below into a
|
|
4
|
+
* mongo expression with the same meaning — a criteria object has to answer identically
|
|
5
|
+
* whichever store it reaches.
|
|
6
|
+
*/
|
|
7
|
+
export const NATIVE = new Set(['$eq', '$ne', '$gt', '$gte', '$lt', '$lte', '$in', '$nin', '$regex']);
|
|
8
|
+
/** What the SERVER reports about an index rather than what a declaration asks for — never a
|
|
9
|
+
* reason to recreate one. `collation` is here because a collection's default collation is
|
|
10
|
+
* reported on every index in it, including the ones declared without any. */
|
|
11
|
+
export const REPORTED_FIELDS = new Set([
|
|
12
|
+
'v', 'ns', 'name', 'collation', 'textIndexVersion', '2dsphereIndexVersion', 'background'
|
|
13
|
+
]);
|
|
14
|
+
// Collection names must use only alphanumeric characters, underscore, and hyphen — no
|
|
15
|
+
// colons or other delimiters. This guard enforces the rule for every collection created
|
|
16
|
+
// through makeMongoResource across all projects (common/internal/app), failing fast at
|
|
17
|
+
// initialization rather than silently creating a badly-named collection.
|
|
18
|
+
export const VALID_COLLECTION_NAME = /^[a-zA-Z0-9_-]+$/;
|
|
19
|
+
/**
|
|
20
|
+
* The only shape a stored reference is converted from. Deliberately stricter than
|
|
21
|
+
* `ObjectId.isValid`, which also accepts any 12 character string and would silently
|
|
22
|
+
* swallow short business keys.
|
|
23
|
+
*/
|
|
24
|
+
export const HEX24 = /^[0-9a-fA-F]{24}$/;
|
|
25
|
+
/**
|
|
26
|
+
* Operators whose operand is never an id — a 24 hex string under `$regex` is a pattern,
|
|
27
|
+
* not a reference.
|
|
28
|
+
*/
|
|
29
|
+
export const OPAQUE_OPERATORS = ['$regex', '$options', '$type', '$size', '$mod', '$exists', '$where'];
|
|
30
|
+
export const LOGICAL_OPERATORS = ['$and', '$or', '$nor'];
|
|
31
|
+
//# sourceMappingURL=consts.local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.js","sourceRoot":"","sources":["../../src/utils/consts.local.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AAEpG;;8EAE8E;AAC9E,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,YAAY;CACzF,CAAC,CAAA;AAEF,sFAAsF;AACtF,wFAAwF;AACxF,uFAAuF;AACvF,yEAAyE;AACzE,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAA;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,mBAAmB,CAAA;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAErG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../src/utils/criteria.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"criteria.d.ts","sourceRoot":"","sources":["../../src/utils/criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAkMjD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,aACjB,QAAQ,CAAC,GAAG,CAAC,GAAG,SAAS,QAAQ,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,KACrE,QAOF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,UAAW,IAAI,CAAC,GAAG,CAAC,EAAE,KAAG,QAAQ,GAAG,SAa3D,CAAA"}
|
package/build/utils/criteria.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { UnsupportedArgumentError } from '@owlmeans/resource';
|
|
2
2
|
import { marshalCriteria } from './refs.js';
|
|
3
|
-
|
|
4
|
-
* Operators mongo speaks natively and that mean the same thing here as they do in SQL and in
|
|
5
|
-
* the in-memory engine. Everything else in the shared vocabulary is rewritten below into a
|
|
6
|
-
* mongo expression with the same meaning — a criteria object has to answer identically
|
|
7
|
-
* whichever store it reaches.
|
|
8
|
-
*/
|
|
9
|
-
const NATIVE = new Set(['$eq', '$ne', '$gt', '$gte', '$lt', '$lte', '$in', '$nin', '$regex']);
|
|
3
|
+
import { NATIVE } from './consts.local.js';
|
|
10
4
|
const escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
11
5
|
/**
|
|
12
6
|
* A SQL `LIKE` pattern as an anchored regular expression: `%` is any run, `_` is one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../src/utils/criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"criteria.js","sourceRoot":"","sources":["../../src/utils/criteria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAA4B,MAAM,oBAAoB,CAAA;AAIvF,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;AAE5F;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE;IAC/C,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAE,CAAA;QAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,CAAE,CAAC,CAAA;YACzC,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAAC,MAAM,IAAI,IAAI,CAAC;YAAC,SAAQ;QAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAAC,MAAM,IAAI,GAAG,CAAC;YAAC,SAAQ;QAAC,CAAC;QAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,IAAI,MAAM,GAAG,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAa,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;AAE7F;;;;;;;;;;GAUG;AACH,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,OAAgB,EAAY,EAAE;IACvF,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IAChC,CAAC;IACD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;QAC1D,KAAK,OAAO;YACV,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;QAC1D,KAAK,OAAO;YACV,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,CAAA;QAC/C,KAAK,QAAQ;YACX,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAA;QAC9D,KAAK,aAAa;YAChB,OAAO,EAAE,MAAM,EAAE,IAAI,YAAY,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAA;QACrD,KAAK,WAAW;YACd,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,EAAE,CAAA;QACrD,KAAK,UAAU;YACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,wBAAwB,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAA;YAClE,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/C,oFAAoF;QACpF,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAA;QACnC,KAAK,YAAY;YACf;;;;eAIG;YACH,OAAO,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;QACxE,KAAK,WAAW;YACd,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAA;QAClC;YACE,MAAM,IAAI,wBAAwB,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,KAAc,EAAoC,EAAE,CAC1E,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC;OAC5F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;AAExD;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,IAA6B,EAAc,EAAE;IACnF,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,UAAU,GAAe,EAAE,CAAA;IAEjC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAQ;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC3D,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;YACrD,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;YACtC,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,OAAO,GAAG,CAAC,UAAsB,EAAY,EAAE;IACnD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,WAAW,GAAe,EAAE,CAAA;IAElC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC3B,SAAQ;QACV,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAA;IACpF,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,QAAmC,EAAc,EAAE;IAChE,MAAM,UAAU,GAAe,EAAE,CAAA;IAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD;;;WAGG;QACH,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,SAAQ;QACV,CAAC;QAED,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAqB,CAAC,CAAC;iBACzC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;YACpE,CAAC;YACD,SAAQ;QACV,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAoB,CAAC,CAAA;YACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,kFAAkF;gBAClF,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;YAC7C,CAAC;YACD,SAAQ;QACV,CAAC;QAED,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;YACzC,SAAQ;QACV,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,GAA8B,CAAC,CAAC,CAAA;YACxE,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB;;;eAGG;YACH,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;YACxC,SAAQ;QACV,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAAmC,EAAE,IAAiC,EAC5D,EAAE;IACZ,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;IAClC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;AACzD,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAwB,EAAE;IACtE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAW,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAqB,OAAO,KAAK,KAAK,QAAQ;YACpE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACZ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAClD,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;QAEjD,OAAO,KAAK,CAAA;IACd,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/utils/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/utils/indexes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAUnD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,aAAc,QAAQ,YAAY,QAAQ,KAAG,OAMrE,CAAA;AAED,eAAO,MAAM,aAAa,eAAsB,UAAU,YAAY,aAAa,CAAC,cAAc,CAAC,kBA8BlG,CAAA"}
|
package/build/utils/indexes.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { logger } from '@owlmeans/log';
|
|
2
|
+
import { REPORTED_FIELDS } from './consts.local.js';
|
|
2
3
|
const log = logger('mongo-resource');
|
|
3
|
-
/** What the SERVER reports about an index rather than what a declaration asks for — never a
|
|
4
|
-
* reason to recreate one. `collation` is here because a collection's default collation is
|
|
5
|
-
* reported on every index in it, including the ones declared without any. */
|
|
6
|
-
const REPORTED_FIELDS = new Set([
|
|
7
|
-
'v', 'ns', 'name', 'collation', 'textIndexVersion', '2dsphereIndexVersion', 'background'
|
|
8
|
-
]);
|
|
9
4
|
const options = (spec) => Object.entries(spec)
|
|
10
5
|
.filter(([field]) => field !== 'key' && !REPORTED_FIELDS.has(field))
|
|
11
6
|
.sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/utils/indexes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../src/utils/indexes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/utils/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/utils/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAa,cAAc,EAAkB,MAAM,oBAAoB,CAAA;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,EAAiC,OAAO,EAAE,MAAM,aAAa,CAAA;AAOzE;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,OAClB,EAAE,cAAc,UAAU,UAAU,QAAQ,WAAW,YAAY,CAAC,GAAG,CAAC,QAAQ,MAAM,KACzF,OA6BF,CAAA;AAqBD;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,OAC9B,EAAE,MAAM,OAAO,SAAQ,MAAM,KAChC,cAAc,CAAC,OAAO,CAwFxB,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { DEF_MIGRATION_POLL, DEF_MIGRATION_WAIT, DEF_MIGRATIONS_COLLECTION, MONGO_DUPLICATE_KEY } from '../consts.js';
|
|
2
|
-
import { DEFAULT_DB_ALIAS } from '../consts.js';
|
|
1
|
+
import { DEF_MIGRATION_POLL, DEF_MIGRATION_WAIT, DEF_MIGRATIONS_COLLECTION, MONGO_DUPLICATE_KEY, DEFAULT_DB_ALIAS } from '../consts.js';
|
|
3
2
|
import { mongoCollectionName } from './name.js';
|
|
4
3
|
const isDuplicateKey = (error) => error?.code === MONGO_DUPLICATE_KEY;
|
|
5
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/utils/migrations.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/utils/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../../src/utils/name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../../src/utils/name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,eAAO,MAAM,mBAAmB,WAAY,QAAQ,YAAY,aAAa,CAAC,cAAc,CAAC,KAAG,MAQ/F,CAAA"}
|
package/build/utils/name.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
// colons or other delimiters. This guard enforces the rule for every collection created
|
|
3
|
-
// through makeMongoResource across all projects (common/internal/app), failing fast at
|
|
4
|
-
// initialization rather than silently creating a badly-named collection.
|
|
5
|
-
const VALID_COLLECTION_NAME = /^[a-zA-Z0-9_-]+$/;
|
|
1
|
+
import { VALID_COLLECTION_NAME } from './consts.local.js';
|
|
6
2
|
export const mongoCollectionName = (config, resource) => {
|
|
7
3
|
const name = `${config.resourcePrefix ?? ''}${resource.name ?? resource.alias}`;
|
|
8
4
|
if (!VALID_COLLECTION_NAME.test(name)) {
|
package/build/utils/name.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../src/utils/name.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../src/utils/name.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAgB,EAAE,QAAuC,EAAU,EAAE;IACvG,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAA;IAC/E,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,WAAW,CACnB,kCAAkC,IAAI,cAAc,QAAQ,CAAC,KAAK,oCAAoC,CACvG,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
package/build/utils/refs.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/utils/refs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"refs.d.ts","sourceRoot":"","sources":["../../src/utils/refs.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAK1D,eAAO,MAAM,aAAa,UAAW,OAAO,KAAG,KAAK,IAAI,MACR,CAAA;AAEhD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,UAAW,MAAM,SAAS,OAAO,KAAG,OAehE,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,UAAW,OAAO,KAAG,OASnD,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,EAAE,UAAU,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,KAAG,CAY1F,CAAA;AAoBD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,aAChB,QAAQ,GAAG,SAAS,QAAQ,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,KAChE,QAAQ,GAAG,SAkBb,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,UACpB,MAAM,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,KAC3D,QAYF,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,UAAW,MAAM,KAAG,MAA2B,CAAA;AAE5E,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,UAAW,MAAM,UAAgB,OAAO,KAAG,OAAO,CAAC,IAAI,CAEnF,CAAA;AAeD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,eAAsB,UAAU,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,CAmBjG,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,eAClB,UAAU,QAAQ,cAAc,EAAE,SAAS,MAAM,KAC5D,OAAO,CAAC,IAAI,CAad,CAAA"}
|
package/build/utils/refs.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { MisshapedRecord } from '@owlmeans/resource';
|
|
2
2
|
import { ObjectId } from 'mongodb';
|
|
3
3
|
import { logger } from '@owlmeans/log';
|
|
4
|
+
import { HEX24, LOGICAL_OPERATORS, OPAQUE_OPERATORS } from './consts.local.js';
|
|
4
5
|
const log = logger('mongo-resource');
|
|
5
|
-
/**
|
|
6
|
-
* The only shape a stored reference is converted from. Deliberately stricter than
|
|
7
|
-
* `ObjectId.isValid`, which also accepts any 12 character string and would silently
|
|
8
|
-
* swallow short business keys.
|
|
9
|
-
*/
|
|
10
|
-
const HEX24 = /^[0-9a-fA-F]{24}$/;
|
|
11
6
|
export const isObjectIdHex = (value) => typeof value === 'string' && HEX24.test(value);
|
|
12
7
|
/**
|
|
13
8
|
* Write side of a declared reference: the string id a record carries becomes the
|
|
@@ -58,12 +53,6 @@ export const demarshalRefs = (record, refs) => {
|
|
|
58
53
|
}
|
|
59
54
|
return record;
|
|
60
55
|
};
|
|
61
|
-
/**
|
|
62
|
-
* Operators whose operand is never an id — a 24 hex string under `$regex` is a pattern,
|
|
63
|
-
* not a reference.
|
|
64
|
-
*/
|
|
65
|
-
const OPAQUE_OPERATORS = ['$regex', '$options', '$type', '$size', '$mod', '$exists', '$where'];
|
|
66
|
-
const LOGICAL_OPERATORS = ['$and', '$or', '$nor'];
|
|
67
56
|
const marshalCriteriaValue = (value) => {
|
|
68
57
|
if (typeof value === 'string') {
|
|
69
58
|
return isObjectIdHex(value) ? new ObjectId(value) : value;
|
package/build/utils/refs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/utils/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/utils/refs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { MigrationStage } from '@owlmeans/resource';
|
|
2
|
+
export interface LedgerRecord {
|
|
3
|
+
alias: string;
|
|
4
|
+
name: string;
|
|
5
|
+
stage: MigrationStage;
|
|
6
|
+
checksum: string | null;
|
|
7
|
+
baseline: boolean;
|
|
8
|
+
startedAt: Date;
|
|
9
|
+
/** `null` while a replica is running it — the claim, not the completion. */
|
|
10
|
+
completedAt: Date | null;
|
|
11
|
+
durationMs: number | null;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=types.local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.local.d.ts","sourceRoot":"","sources":["../../src/utils/types.local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,cAAc,CAAA;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;IACf,4EAA4E;IAC5E,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.local.js","sourceRoot":"","sources":["../../src/utils/types.local.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/mongo-resource",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.42",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -26,17 +26,17 @@
|
|
|
26
26
|
"mongodb": "*"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@owlmeans/context": "^0.1.18-rc.
|
|
30
|
-
"@owlmeans/log": "^0.1.18-rc.
|
|
31
|
-
"@owlmeans/resource": "^0.1.18-rc.
|
|
32
|
-
"@owlmeans/server-context": "^0.1.18-rc.
|
|
29
|
+
"@owlmeans/context": "^0.1.18-rc.33",
|
|
30
|
+
"@owlmeans/log": "^0.1.18-rc.1",
|
|
31
|
+
"@owlmeans/resource": "^0.1.18-rc.39",
|
|
32
|
+
"@owlmeans/server-context": "^0.1.18-rc.42"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@owlmeans/dep-config": "workspace:*",
|
|
36
|
-
"@owlmeans/test-integration": "^0.1.18-rc.
|
|
37
|
-
"@types/bun": "^1.4.
|
|
38
|
-
"@types/node": "^26.
|
|
39
|
-
"mongodb": "^7.
|
|
36
|
+
"@owlmeans/test-integration": "^0.1.18-rc.32",
|
|
37
|
+
"@types/bun": "^1.4.2",
|
|
38
|
+
"@types/node": "^26.6.4",
|
|
39
|
+
"mongodb": "^7.7.0",
|
|
40
40
|
"nodemon": "^3.1.14",
|
|
41
41
|
"typescript": "^7.0.2"
|
|
42
42
|
},
|
package/src/declarations.ts
CHANGED
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import { createMigrationRegistry } from '@owlmeans/resource'
|
|
2
|
-
import type { MigrationRegistry } from '@owlmeans/resource'
|
|
3
2
|
|
|
4
|
-
import type {
|
|
5
|
-
|
|
6
|
-
export interface MongoDeclaration {
|
|
7
|
-
migrations: MigrationRegistry<MongoTx>
|
|
8
|
-
/** Declared ObjectId references, keyed by field. Registered via `resource.reference()`. */
|
|
9
|
-
references: Map<string, MongoReference>
|
|
10
|
-
}
|
|
3
|
+
import type { MongoTx, MongoDeclaration } from './types.js'
|
|
11
4
|
|
|
12
5
|
/**
|
|
13
6
|
* Per-alias migration store, held at module scope rather than on the resource object.
|
package/src/resource.ts
CHANGED
|
@@ -1,27 +1,18 @@
|
|
|
1
1
|
import { appendContextual, assertContext } from '@owlmeans/context'
|
|
2
2
|
import { DEFAULT_DB_ALIAS, DEFAULT_PAGE_SIZE } from './consts.js'
|
|
3
|
-
import { MigrationStage } from '@owlmeans/resource'
|
|
4
|
-
import type {
|
|
5
|
-
Criteria, FirstOptions, ListOptions, ListResult, ResourceRecord, WriteOptions
|
|
6
|
-
} from '@owlmeans/resource'
|
|
7
|
-
import type { ServerConfig, ServerContext } from '@owlmeans/server-context'
|
|
3
|
+
import { MigrationStage, type Criteria, type FirstOptions, type ListOptions, type ListResult, type ResourceRecord, type WriteOptions, MisshapedRecord, RecordExists, UnknownRecordError, UnsupportedArgumentError, RecordUpdateFailed } from '@owlmeans/resource'
|
|
8
4
|
import type { MongoDbService, MongoReference, MongoRefOptions, MongoResource, MongoTx } from './types.js'
|
|
9
5
|
import { initializeCollection } from './utils/life-cycle.js'
|
|
10
6
|
import { getDeclaration } from './declarations.js'
|
|
11
|
-
import { ObjectId } from 'mongodb'
|
|
12
|
-
import type { CreateIndexesOptions, Document, IndexSpecification } from 'mongodb'
|
|
13
|
-
import {
|
|
14
|
-
MisshapedRecord, RecordExists, UnknownRecordError, UnsupportedArgumentError, RecordUpdateFailed
|
|
15
|
-
} from '@owlmeans/resource'
|
|
7
|
+
import { ObjectId, type CreateIndexesOptions, type Document, type IndexSpecification } from 'mongodb'
|
|
16
8
|
import type { JSONSchemaType } from 'ajv'
|
|
17
9
|
import { getSchemaSecureFeilds } from './helper.js'
|
|
18
10
|
import { criteriaToFilter, sortToMongo } from './utils/criteria.js'
|
|
19
11
|
import {
|
|
20
12
|
demarshalRefs, identityCriteria, makeRefMigration, marshalReference, refMigrationName
|
|
21
13
|
} from './utils/refs.js'
|
|
14
|
+
import type { Config, Context } from './types.local.js'
|
|
22
15
|
|
|
23
|
-
type Config = ServerConfig
|
|
24
|
-
type Context<C extends Config = Config> = ServerContext<C>
|
|
25
16
|
|
|
26
17
|
export const makeMongoResource = <
|
|
27
18
|
R extends ResourceRecord, T extends MongoResource<R> = MongoResource<R>
|
package/src/types.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
Resource, ResourceRecord, ResourceDbService, DbLocker, LockableResource, MigratableResource
|
|
3
|
-
} from '@owlmeans/resource'
|
|
1
|
+
import type { Resource, ResourceRecord, ResourceDbService, DbLocker, LockableResource, MigratableResource, MigrationRegistry } from '@owlmeans/resource'
|
|
4
2
|
import type { Collection, CreateIndexesOptions, Db, IndexSpecification, MongoClient } from 'mongodb'
|
|
5
3
|
import type { AnySchema } from 'ajv'
|
|
6
4
|
|
|
@@ -83,3 +81,9 @@ export interface MongoResource<T extends ResourceRecord> extends Resource<T>, Lo
|
|
|
83
81
|
|
|
84
82
|
export interface MongoDbService extends ResourceDbService<Db, MongoClient>, DbLocker<ResourceRecord> {
|
|
85
83
|
}
|
|
84
|
+
|
|
85
|
+
export interface MongoDeclaration {
|
|
86
|
+
migrations: MigrationRegistry<MongoTx>
|
|
87
|
+
/** Declared ObjectId references, keyed by field. Registered via `resource.reference()`. */
|
|
88
|
+
references: Map<string, MongoReference>
|
|
89
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operators mongo speaks natively and that mean the same thing here as they do in SQL and in
|
|
3
|
+
* the in-memory engine. Everything else in the shared vocabulary is rewritten below into a
|
|
4
|
+
* mongo expression with the same meaning — a criteria object has to answer identically
|
|
5
|
+
* whichever store it reaches.
|
|
6
|
+
*/
|
|
7
|
+
export const NATIVE = new Set(['$eq', '$ne', '$gt', '$gte', '$lt', '$lte', '$in', '$nin', '$regex'])
|
|
8
|
+
|
|
9
|
+
/** What the SERVER reports about an index rather than what a declaration asks for — never a
|
|
10
|
+
* reason to recreate one. `collation` is here because a collection's default collation is
|
|
11
|
+
* reported on every index in it, including the ones declared without any. */
|
|
12
|
+
export const REPORTED_FIELDS = new Set([
|
|
13
|
+
'v', 'ns', 'name', 'collation', 'textIndexVersion', '2dsphereIndexVersion', 'background'
|
|
14
|
+
])
|
|
15
|
+
|
|
16
|
+
// Collection names must use only alphanumeric characters, underscore, and hyphen — no
|
|
17
|
+
// colons or other delimiters. This guard enforces the rule for every collection created
|
|
18
|
+
// through makeMongoResource across all projects (common/internal/app), failing fast at
|
|
19
|
+
// initialization rather than silently creating a badly-named collection.
|
|
20
|
+
export const VALID_COLLECTION_NAME = /^[a-zA-Z0-9_-]+$/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The only shape a stored reference is converted from. Deliberately stricter than
|
|
24
|
+
* `ObjectId.isValid`, which also accepts any 12 character string and would silently
|
|
25
|
+
* swallow short business keys.
|
|
26
|
+
*/
|
|
27
|
+
export const HEX24 = /^[0-9a-fA-F]{24}$/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Operators whose operand is never an id — a 24 hex string under `$regex` is a pattern,
|
|
31
|
+
* not a reference.
|
|
32
|
+
*/
|
|
33
|
+
export const OPAQUE_OPERATORS = ['$regex', '$options', '$type', '$size', '$mod', '$exists', '$where']
|
|
34
|
+
|
|
35
|
+
export const LOGICAL_OPERATORS = ['$and', '$or', '$nor']
|
package/src/utils/criteria.ts
CHANGED
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
import { UnsupportedArgumentError } from '@owlmeans/resource'
|
|
2
|
-
import type { Criteria, Sort } from '@owlmeans/resource'
|
|
1
|
+
import { UnsupportedArgumentError, type Criteria, type Sort } from '@owlmeans/resource'
|
|
3
2
|
import type { Document } from 'mongodb'
|
|
4
3
|
|
|
5
4
|
import type { MongoReference } from '../types.js'
|
|
6
5
|
import { marshalCriteria } from './refs.js'
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Operators mongo speaks natively and that mean the same thing here as they do in SQL and in
|
|
10
|
-
* the in-memory engine. Everything else in the shared vocabulary is rewritten below into a
|
|
11
|
-
* mongo expression with the same meaning — a criteria object has to answer identically
|
|
12
|
-
* whichever store it reaches.
|
|
13
|
-
*/
|
|
14
|
-
const NATIVE = new Set(['$eq', '$ne', '$gt', '$gte', '$lt', '$lte', '$in', '$nin', '$regex'])
|
|
6
|
+
import { NATIVE } from './consts.local.js'
|
|
15
7
|
|
|
16
8
|
const escapeRegExp = (value: string): string => value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
|
17
9
|
|
package/src/utils/indexes.ts
CHANGED
|
@@ -2,16 +2,10 @@ import type { ResourceRecord } from '@owlmeans/resource'
|
|
|
2
2
|
import type { MongoResource } from '../types.js'
|
|
3
3
|
import type { Collection, Document } from 'mongodb'
|
|
4
4
|
import { logger } from '@owlmeans/log'
|
|
5
|
+
import { REPORTED_FIELDS } from './consts.local.js'
|
|
5
6
|
|
|
6
7
|
const log = logger('mongo-resource')
|
|
7
8
|
|
|
8
|
-
/** What the SERVER reports about an index rather than what a declaration asks for — never a
|
|
9
|
-
* reason to recreate one. `collation` is here because a collection's default collation is
|
|
10
|
-
* reported on every index in it, including the ones declared without any. */
|
|
11
|
-
const REPORTED_FIELDS = new Set([
|
|
12
|
-
'v', 'ns', 'name', 'collation', 'textIndexVersion', '2dsphereIndexVersion', 'background'
|
|
13
|
-
])
|
|
14
|
-
|
|
15
9
|
const options = (spec: Document): [string, unknown][] => Object.entries(spec)
|
|
16
10
|
.filter(([field]) => field !== 'key' && !REPORTED_FIELDS.has(field))
|
|
17
11
|
.sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0)
|
package/src/utils/migrations.ts
CHANGED
|
@@ -1,25 +1,11 @@
|
|
|
1
1
|
import type { BasicContext } from '@owlmeans/context'
|
|
2
|
-
import type { DbConfig, Migration,
|
|
2
|
+
import type { DbConfig, Migration, MigrationStore, ResourceRecord } from '@owlmeans/resource'
|
|
3
3
|
import type { Collection, Db } from 'mongodb'
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
DEF_MIGRATION_POLL, DEF_MIGRATION_WAIT, DEF_MIGRATIONS_COLLECTION, MONGO_DUPLICATE_KEY
|
|
7
|
-
} from '../consts.js'
|
|
5
|
+
import { DEF_MIGRATION_POLL, DEF_MIGRATION_WAIT, DEF_MIGRATIONS_COLLECTION, MONGO_DUPLICATE_KEY, DEFAULT_DB_ALIAS } from '../consts.js'
|
|
8
6
|
import type { MongoDbService, MongoResource, MongoTx } from '../types.js'
|
|
9
|
-
import { DEFAULT_DB_ALIAS } from '../consts.js'
|
|
10
7
|
import { mongoCollectionName } from './name.js'
|
|
11
|
-
|
|
12
|
-
interface LedgerRecord {
|
|
13
|
-
alias: string
|
|
14
|
-
name: string
|
|
15
|
-
stage: MigrationStage
|
|
16
|
-
checksum: string | null
|
|
17
|
-
baseline: boolean
|
|
18
|
-
startedAt: Date
|
|
19
|
-
/** `null` while a replica is running it — the claim, not the completion. */
|
|
20
|
-
completedAt: Date | null
|
|
21
|
-
durationMs: number | null
|
|
22
|
-
}
|
|
8
|
+
import type { LedgerRecord } from './types.local.js'
|
|
23
9
|
|
|
24
10
|
const isDuplicateKey = (error: unknown): boolean =>
|
|
25
11
|
(error as { code?: number } | null)?.code === MONGO_DUPLICATE_KEY
|
package/src/utils/name.ts
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import type { DbConfig, ResourceRecord } from '@owlmeans/resource'
|
|
2
2
|
import type { MongoResource } from '../types.js'
|
|
3
|
-
|
|
4
|
-
// Collection names must use only alphanumeric characters, underscore, and hyphen — no
|
|
5
|
-
// colons or other delimiters. This guard enforces the rule for every collection created
|
|
6
|
-
// through makeMongoResource across all projects (common/internal/app), failing fast at
|
|
7
|
-
// initialization rather than silently creating a badly-named collection.
|
|
8
|
-
const VALID_COLLECTION_NAME = /^[a-zA-Z0-9_-]+$/
|
|
3
|
+
import { VALID_COLLECTION_NAME } from './consts.local.js'
|
|
9
4
|
|
|
10
5
|
export const mongoCollectionName = (config: DbConfig, resource: MongoResource<ResourceRecord>): string => {
|
|
11
6
|
const name = `${config.resourcePrefix ?? ''}${resource.name ?? resource.alias}`
|
package/src/utils/refs.ts
CHANGED
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
import { MisshapedRecord } from '@owlmeans/resource'
|
|
2
|
-
import { ObjectId } from 'mongodb'
|
|
3
|
-
import type { Collection, Document } from 'mongodb'
|
|
2
|
+
import { ObjectId, type Collection, type Document } from 'mongodb'
|
|
4
3
|
import { logger } from '@owlmeans/log'
|
|
5
4
|
|
|
6
5
|
import type { MongoReference, MongoTx } from '../types.js'
|
|
6
|
+
import { HEX24, LOGICAL_OPERATORS, OPAQUE_OPERATORS } from './consts.local.js'
|
|
7
7
|
|
|
8
8
|
const log = logger('mongo-resource')
|
|
9
9
|
|
|
10
|
-
/**
|
|
11
|
-
* The only shape a stored reference is converted from. Deliberately stricter than
|
|
12
|
-
* `ObjectId.isValid`, which also accepts any 12 character string and would silently
|
|
13
|
-
* swallow short business keys.
|
|
14
|
-
*/
|
|
15
|
-
const HEX24 = /^[0-9a-fA-F]{24}$/
|
|
16
|
-
|
|
17
10
|
export const isObjectIdHex = (value: unknown): value is string =>
|
|
18
11
|
typeof value === 'string' && HEX24.test(value)
|
|
19
12
|
|
|
@@ -72,14 +65,6 @@ export const demarshalRefs = <T extends {}>(record: T, refs: Map<string, MongoRe
|
|
|
72
65
|
return record
|
|
73
66
|
}
|
|
74
67
|
|
|
75
|
-
/**
|
|
76
|
-
* Operators whose operand is never an id — a 24 hex string under `$regex` is a pattern,
|
|
77
|
-
* not a reference.
|
|
78
|
-
*/
|
|
79
|
-
const OPAQUE_OPERATORS = ['$regex', '$options', '$type', '$size', '$mod', '$exists', '$where']
|
|
80
|
-
|
|
81
|
-
const LOGICAL_OPERATORS = ['$and', '$or', '$nor']
|
|
82
|
-
|
|
83
68
|
const marshalCriteriaValue = (value: unknown): unknown => {
|
|
84
69
|
if (typeof value === 'string') {
|
|
85
70
|
return isObjectIdHex(value) ? new ObjectId(value) : value
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { MigrationStage } from '@owlmeans/resource'
|
|
2
|
+
|
|
3
|
+
export interface LedgerRecord {
|
|
4
|
+
alias: string
|
|
5
|
+
name: string
|
|
6
|
+
stage: MigrationStage
|
|
7
|
+
checksum: string | null
|
|
8
|
+
baseline: boolean
|
|
9
|
+
startedAt: Date
|
|
10
|
+
/** `null` while a replica is running it — the claim, not the completion. */
|
|
11
|
+
completedAt: Date | null
|
|
12
|
+
durationMs: number | null
|
|
13
|
+
}
|