@lossless.org/client 1.18.0 → 1.18.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.
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/nosqldb/classes.collection.js +12 -2
- package/dist_ts/nosqldb/classes.collectiontopology.d.ts +7 -0
- package/dist_ts/nosqldb/classes.collectiontopology.js +25 -2
- package/package.json +2 -2
- package/readme.md +1 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/nosqldb/classes.collection.ts +12 -1
- package/ts/nosqldb/classes.collectiontopology.ts +32 -4
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@lossless.org/client',
|
|
6
|
-
version: '1.18.
|
|
6
|
+
version: '1.18.1',
|
|
7
7
|
description: 'One typed client for NoSQLDB, MongoDB, SQLDB, MariaDB, ClickHouse and S3 object storage.'
|
|
8
8
|
};
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSxzQkFBc0I7SUFDNUIsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLDBGQUEwRjtDQUN4RyxDQUFBIn0=
|
|
@@ -12,7 +12,7 @@ import { logger } from './logging.js';
|
|
|
12
12
|
import { SmartdataPersistenceError, isMongoIndexConflictError, normalizeOrdinaryPersistenceError, } from './classes.persistence.js';
|
|
13
13
|
import { notifyCollectionReconnect } from './classes.collectionlifecycle.js';
|
|
14
14
|
import { leaseOrdinarySmartdataSession, runWithOrdinarySmartdataSession, } from './classes.session.js';
|
|
15
|
-
import { collectionModelSchemaResolverSymbol, collectionTopologyDbInspectionSymbol, findCollectionModelSchemaResolver, getExpectedCollectionTopologyForSchema, getIdentityIndexName, isIdentityIndexFor, isPlainIndexDocument, compareSmartdataTopologyStrings, } from './classes.collectiontopology.js';
|
|
15
|
+
import { collectionModelSchemaResolverSymbol, collectionTopologyDbInspectionSymbol, createMissingCollectionSchemaBindingError, findCollectionModelSchemaResolver, getExpectedCollectionTopologyForSchema, getIdentityIndexName, isIdentityIndexFor, isPlainIndexDocument, compareSmartdataTopologyStrings, } from './classes.collectiontopology.js';
|
|
16
16
|
const collectionFactory = new CollectionFactory();
|
|
17
17
|
const unsafeFieldNames = new Set(['__proto__', 'prototype', 'constructor']);
|
|
18
18
|
const automaticTextIndexName = 'smartdata_text_index';
|
|
@@ -647,6 +647,16 @@ export const getIdentityDocumentIdField = (modelArg) => {
|
|
|
647
647
|
const managerFollowsReceiverSymbol = Symbol('@lossless.org/client.nosqldb.managerFollowsReceiver');
|
|
648
648
|
const installCollectionBinding = (constructorArg, dbResolverArg, schemaResolverArg, managerFollowsReceiverArg = false) => {
|
|
649
649
|
const getCollection = (receiverArg) => {
|
|
650
|
+
// The accessor is inherited. A subclass is served only while the binding
|
|
651
|
+
// describes it: one that declares decorators or a persistence policy of its
|
|
652
|
+
// own would otherwise write through this schema, dropping its own fields
|
|
653
|
+
// and installing its own indexes in this collection.
|
|
654
|
+
const receivingModel = typeof receiverArg === 'function'
|
|
655
|
+
? receiverArg
|
|
656
|
+
: receiverArg.constructor;
|
|
657
|
+
if (findCollectionModelSchemaResolver(receivingModel) !== schemaResolverArg) {
|
|
658
|
+
throw createMissingCollectionSchemaBindingError(receivingModel);
|
|
659
|
+
}
|
|
650
660
|
const db = dbResolverArg(receiverArg);
|
|
651
661
|
if (!(db instanceof SmartdataDb)) {
|
|
652
662
|
throw new SmartdataPersistenceError('invalid_configuration', `Model "${constructorArg.name}" did not resolve a SmartdataDb.`);
|
|
@@ -1940,4 +1950,4 @@ export class SmartdataCollection {
|
|
|
1940
1950
|
return done.promise;
|
|
1941
1951
|
}
|
|
1942
1952
|
}
|
|
1943
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbm9zcWxkYi9jbGFzc2VzLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUNMLDJCQUEyQixFQUFFLHNCQUFzQixHQUVwRCxNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFDTCw0QkFBNEIsRUFBRSx5QkFBeUIsRUFDdkQsOEJBQThCLEdBRS9CLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxjQUFjLEdBS2YsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLGlDQUFpQyxHQUNsQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTdFLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsK0JBQStCLEdBRWhDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMsaUNBQWlDLEVBQ2pDLHNDQUFzQyxFQUN0QyxvQkFB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
|
|
1953
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbm9zcWxkYi9jbGFzc2VzLmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUNMLDJCQUEyQixFQUFFLHNCQUFzQixHQUVwRCxNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFDTCw0QkFBNEIsRUFBRSx5QkFBeUIsRUFDdkQsOEJBQThCLEdBRS9CLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxjQUFjLEdBS2YsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLGlDQUFpQyxHQUNsQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTdFLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsK0JBQStCLEdBRWhDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUNMLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMseUNBQXlDLEVBQ3pDLGlDQUFpQyxFQUNqQyxzQ0FB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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { INormalizedCollectionModelSchema } from './classes.collection.js';
|
|
2
2
|
import type { SmartdataDb } from './classes.db.js';
|
|
3
|
+
import { SmartdataPersistenceError } from './classes.persistence.js';
|
|
3
4
|
export type TSmartdataCollectionTopologyStatus = 'absent' | 'compatible' | 'exact' | 'divergent';
|
|
4
5
|
export type TSmartdataCollectionTopologyReasonCode = 'namespace_not_collection' | 'collection_options_present' | 'id_index_missing' | 'id_index_changed' | 'expected_index_missing' | 'unexpected_index' | 'index_changed' | 'unsupported_actual_index';
|
|
5
6
|
export type TSmartdataCollectionTopologyIndexDirection = 1 | -1 | 'text';
|
|
@@ -64,6 +65,12 @@ export declare const isPlainIndexDocument: (valueArg: unknown) => valueArg is Re
|
|
|
64
65
|
* resolves none.
|
|
65
66
|
*/
|
|
66
67
|
export declare const findCollectionModelSchemaResolver: (constructorArg: unknown) => TCollectionModelSchemaResolver | undefined;
|
|
68
|
+
/**
|
|
69
|
+
* @internal The refusal for a model that resolves no collection schema
|
|
70
|
+
* binding. When the model extends a bound model, the message names that model
|
|
71
|
+
* and why its binding does not describe the subclass.
|
|
72
|
+
*/
|
|
73
|
+
export declare const createMissingCollectionSchemaBindingError: (constructorArg: unknown) => SmartdataPersistenceError;
|
|
67
74
|
export declare const getExpectedCollectionTopologyForModel: (constructorArg: ICollectionTopologyModelConstructor) => ISmartdataExpectedCollectionTopology;
|
|
68
75
|
/** @internal Normalizes the same contract for a bound collection. */
|
|
69
76
|
export declare const getExpectedCollectionTopologyForSchema: (schema: INormalizedCollectionModelSchema) => ISmartdataExpectedCollectionTopology;
|
|
@@ -127,10 +127,33 @@ export const findCollectionModelSchemaResolver = (constructorArg) => {
|
|
|
127
127
|
}
|
|
128
128
|
return undefined;
|
|
129
129
|
};
|
|
130
|
+
/**
|
|
131
|
+
* @internal The refusal for a model that resolves no collection schema
|
|
132
|
+
* binding. When the model extends a bound model, the message names that model
|
|
133
|
+
* and why its binding does not describe the subclass.
|
|
134
|
+
*/
|
|
135
|
+
export const createMissingCollectionSchemaBindingError = (constructorArg) => {
|
|
136
|
+
const name = typeof constructorArg === 'function' && constructorArg.name
|
|
137
|
+
? constructorArg.name
|
|
138
|
+
: 'unknown';
|
|
139
|
+
let boundAncestor = typeof constructorArg === 'function'
|
|
140
|
+
? Object.getPrototypeOf(constructorArg)
|
|
141
|
+
: undefined;
|
|
142
|
+
while (typeof boundAncestor === 'function' &&
|
|
143
|
+
!Object.hasOwn(boundAncestor, collectionModelSchemaResolverSymbol)) {
|
|
144
|
+
boundAncestor = Object.getPrototypeOf(boundAncestor);
|
|
145
|
+
}
|
|
146
|
+
return new SmartdataPersistenceError('invalid_configuration', typeof boundAncestor === 'function'
|
|
147
|
+
? `Model "${name}" has no collection schema binding: it extends the bound model ` +
|
|
148
|
+
`"${boundAncestor.name}" but declares decorators or a persistence policy of its own, ` +
|
|
149
|
+
'which the inherited binding does not describe. Give it its own @Collection(), ' +
|
|
150
|
+
'@managed() or defineCollectionModel() binding.'
|
|
151
|
+
: `Model "${name}" has no collection schema binding.`);
|
|
152
|
+
};
|
|
130
153
|
const getSchemaResolver = (constructorArg) => {
|
|
131
154
|
const resolver = findCollectionModelSchemaResolver(constructorArg);
|
|
132
155
|
if (resolver === undefined) {
|
|
133
|
-
throw
|
|
156
|
+
throw createMissingCollectionSchemaBindingError(constructorArg);
|
|
134
157
|
}
|
|
135
158
|
return resolver;
|
|
136
159
|
};
|
|
@@ -483,4 +506,4 @@ export const inspectCollectionTopologySnapshot = (expected, rawSnapshot) => {
|
|
|
483
506
|
throw new SmartdataPersistenceError('unsupported_operation', 'Collection topology inspection returned unreadable metadata.');
|
|
484
507
|
}
|
|
485
508
|
};
|
|
486
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jb2xsZWN0aW9udG9wb2xvZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9ub3NxbGRiL2NsYXNzZXMuY29sbGVjdGlvbnRvcG9sb2d5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBZ0VuRixNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxNQUFNLENBQ3ZELHFEQUFxRCxDQUN0RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsTUFBTSxDQUN4RCxzREFBc0QsQ0FDdkQsQ0FBQztBQWtCRixNQUFNLDJCQUEyQixHQUFHLEVBQUUsQ0FBQztBQUN2QyxNQUFNLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztBQUNoQyxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDL0IsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkQsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsS0FBSztJQUNiLGtCQUFrQixFQUFFLElBQUk7Q0FDekIsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxlQUFlLEdBQXNEO0lBQ3pFLDBCQUEwQjtJQUMxQiw0QkFBNEI7SUFDNUIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZiwwQkFBMEI7Q0FDM0IsQ0FBQztBQUNGLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdEMsR0FBRztJQUNILEtBQUs7SUFDTCxNQUFNO0lBQ04sSUFBSTtJQUNKLFlBQVk7SUFDWixRQUFRO0lBQ1IsUUFBUTtJQUNSLG9C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
|
|
509
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jb2xsZWN0aW9udG9wb2xvZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9ub3NxbGRiL2NsYXNzZXMuY29sbGVjdGlvbnRvcG9sb2d5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBZ0VuRixNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxNQUFNLENBQ3ZELHFEQUFxRCxDQUN0RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsTUFBTSxDQUN4RCxzREFBc0QsQ0FDdkQsQ0FBQztBQWtCRixNQUFNLDJCQUEyQixHQUFHLEVBQUUsQ0FBQztBQUN2QyxNQUFNLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztBQUNoQyxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUM7SUFDL0IsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkQsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsS0FBSztJQUNiLGtCQUFrQixFQUFFLElBQUk7Q0FDekIsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxlQUFlLEdBQXNEO0lBQ3pFLDBCQUEwQjtJQUMxQiw0QkFBNEI7SUFDNUIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZiwwQkFBMEI7Q0FDM0IsQ0FBQztBQUNGLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdEMsR0FBRztJQUNILEtBQUs7SUFDTCxNQUFNO0lBQ04sSUFBSTtJQUNKLFlBQVk7SUFDWixRQUFRO0lBQ1IsUUFBUTtJQUNSLG9C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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lossless.org/client",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "One typed client for NoSQLDB, MongoDB, SQLDB, MariaDB, ClickHouse and S3 object storage.",
|
|
6
6
|
"exports": {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"@git.zone/tsbuild": "5.1.2",
|
|
84
84
|
"@git.zone/tsbundle": "3.1.2",
|
|
85
85
|
"@git.zone/tsrun": "3.0.2",
|
|
86
|
-
"@git.zone/tstest": "6.3.
|
|
86
|
+
"@git.zone/tstest": "6.3.5",
|
|
87
87
|
"@lossless.org/nosqldb": "8.0.2",
|
|
88
88
|
"@lossless.org/nosqldb-qualified": "npm:@lossless.org/nosqldb@10.7.2",
|
|
89
89
|
"@lossless.org/objectstorage": "10.3.1",
|
package/readme.md
CHANGED
|
@@ -115,6 +115,7 @@ Family imports preserve the established SmartData and SmartBucket names and cons
|
|
|
115
115
|
| Grouped totals paging | rows come ordered by group key; `getGroupedTotalsPage()` returns `nextCursor` while `hasMore`, `cursor` continues after it, and `iterateGroupedTotals()` reads every group page by page — exact across pages for null, number, string and boolean group values (proven on NoSQLDB 8.0.2, 10.7.2 and MongoDB; ObjectId and date values are ordered by BSON type order but not yet covered by the paging tests), refused with `unsupported_operation` for other values, and a cursor from another query is refused with `invalid_argument` |
|
|
116
116
|
| Query-plan inspection | `Model.inspectQueryPlan(db, { filter, sort?, projection?, limit?, timeoutMS?, signal? })` — the winning plan's stages (`stage`, `depth`, `indexName`, `direction`) and `nReturned`/`totalKeysExamined`/`totalDocsExamined`, read-only and bounded, so a consumer proves a model query uses its intended index without raw driver access |
|
|
117
117
|
| Per-instance model binding | `bindDocToManager(manager, Model)` returns a subclass of a model declared with `@managed()` and no manager argument, named like the model and bound to that manager, so several databases use the same models at once; any other binding is refused with `invalid_configuration` |
|
|
118
|
+
| Subclasses need their own binding | a subclass of a bound model that declares decorators or a persistence policy of its own and no `@Collection()`, `@managed()` or `defineCollectionModel()` binding is refused with `invalid_configuration` on every read and write, so it never writes through the parent's schema; an undecorated subclass keeps the inherited binding |
|
|
118
119
|
| Disposable test databases on a unix socket | `SmartdataTestDatabase.create({ connection: { socketPath } })` from `@lossless.org/client/testsupport` reaches an engine that listens only on a unix-domain socket, fault helpers included; the loopback `host`/`port` form is unchanged |
|
|
119
120
|
|
|
120
121
|
`docs/source/smartdata/readme.md` documents each one with its refusals.
|
package/ts/00_commitinfo_data.ts
CHANGED
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
import {
|
|
38
38
|
collectionModelSchemaResolverSymbol,
|
|
39
39
|
collectionTopologyDbInspectionSymbol,
|
|
40
|
+
createMissingCollectionSchemaBindingError,
|
|
40
41
|
findCollectionModelSchemaResolver,
|
|
41
42
|
getExpectedCollectionTopologyForSchema,
|
|
42
43
|
getIdentityIndexName,
|
|
@@ -1238,7 +1239,17 @@ const installCollectionBinding = <
|
|
|
1238
1239
|
schemaResolverArg: () => INormalizedCollectionModelSchema,
|
|
1239
1240
|
managerFollowsReceiverArg = false,
|
|
1240
1241
|
): TCollectionModelConstructor<TModel> => {
|
|
1241
|
-
const getCollection = (receiverArg
|
|
1242
|
+
const getCollection = (receiverArg: unknown) => {
|
|
1243
|
+
// The accessor is inherited. A subclass is served only while the binding
|
|
1244
|
+
// describes it: one that declares decorators or a persistence policy of its
|
|
1245
|
+
// own would otherwise write through this schema, dropping its own fields
|
|
1246
|
+
// and installing its own indexes in this collection.
|
|
1247
|
+
const receivingModel = typeof receiverArg === 'function'
|
|
1248
|
+
? receiverArg
|
|
1249
|
+
: (receiverArg as { constructor?: unknown }).constructor;
|
|
1250
|
+
if (findCollectionModelSchemaResolver(receivingModel) !== schemaResolverArg) {
|
|
1251
|
+
throw createMissingCollectionSchemaBindingError(receivingModel);
|
|
1252
|
+
}
|
|
1242
1253
|
const db = dbResolverArg(receiverArg);
|
|
1243
1254
|
if (!(db instanceof SmartdataDb)) {
|
|
1244
1255
|
throw new SmartdataPersistenceError(
|
|
@@ -262,15 +262,43 @@ export const findCollectionModelSchemaResolver = (
|
|
|
262
262
|
return undefined;
|
|
263
263
|
};
|
|
264
264
|
|
|
265
|
+
/**
|
|
266
|
+
* @internal The refusal for a model that resolves no collection schema
|
|
267
|
+
* binding. When the model extends a bound model, the message names that model
|
|
268
|
+
* and why its binding does not describe the subclass.
|
|
269
|
+
*/
|
|
270
|
+
export const createMissingCollectionSchemaBindingError = (
|
|
271
|
+
constructorArg: unknown,
|
|
272
|
+
): SmartdataPersistenceError => {
|
|
273
|
+
const name = typeof constructorArg === 'function' && constructorArg.name
|
|
274
|
+
? constructorArg.name
|
|
275
|
+
: 'unknown';
|
|
276
|
+
let boundAncestor: unknown = typeof constructorArg === 'function'
|
|
277
|
+
? Object.getPrototypeOf(constructorArg)
|
|
278
|
+
: undefined;
|
|
279
|
+
while (
|
|
280
|
+
typeof boundAncestor === 'function' &&
|
|
281
|
+
!Object.hasOwn(boundAncestor, collectionModelSchemaResolverSymbol)
|
|
282
|
+
) {
|
|
283
|
+
boundAncestor = Object.getPrototypeOf(boundAncestor);
|
|
284
|
+
}
|
|
285
|
+
return new SmartdataPersistenceError(
|
|
286
|
+
'invalid_configuration',
|
|
287
|
+
typeof boundAncestor === 'function'
|
|
288
|
+
? `Model "${name}" has no collection schema binding: it extends the bound model ` +
|
|
289
|
+
`"${boundAncestor.name}" but declares decorators or a persistence policy of its own, ` +
|
|
290
|
+
'which the inherited binding does not describe. Give it its own @Collection(), ' +
|
|
291
|
+
'@managed() or defineCollectionModel() binding.'
|
|
292
|
+
: `Model "${name}" has no collection schema binding.`,
|
|
293
|
+
);
|
|
294
|
+
};
|
|
295
|
+
|
|
265
296
|
const getSchemaResolver = (
|
|
266
297
|
constructorArg: ICollectionTopologyModelConstructor,
|
|
267
298
|
): TCollectionModelSchemaResolver => {
|
|
268
299
|
const resolver = findCollectionModelSchemaResolver(constructorArg);
|
|
269
300
|
if (resolver === undefined) {
|
|
270
|
-
throw
|
|
271
|
-
'invalid_configuration',
|
|
272
|
-
`Model "${constructorArg?.name || 'unknown'}" has no collection schema binding.`,
|
|
273
|
-
);
|
|
301
|
+
throw createMissingCollectionSchemaBindingError(constructorArg);
|
|
274
302
|
}
|
|
275
303
|
return resolver;
|
|
276
304
|
};
|