@venizia/ignis 0.1.1-18 → 0.1.1-19
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/base/metadata/persistents.d.ts.map +1 -1
- package/dist/base/metadata/persistents.js +8 -0
- package/dist/base/metadata/persistents.js.map +1 -1
- package/dist/base/repositories/common/constants.d.ts +12 -0
- package/dist/base/repositories/common/constants.d.ts.map +1 -1
- package/dist/base/repositories/common/constants.js +13 -1
- package/dist/base/repositories/common/constants.js.map +1 -1
- package/dist/base/repositories/core/abstract.d.ts +2 -0
- package/dist/base/repositories/core/abstract.d.ts.map +1 -1
- package/dist/base/repositories/core/abstract.js +4 -0
- package/dist/base/repositories/core/abstract.js.map +1 -1
- package/dist/connectors/meilisearch/repositories/dialect/query-dialect.d.ts +26 -5
- package/dist/connectors/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/connectors/meilisearch/repositories/dialect/query-dialect.js +163 -46
- package/dist/connectors/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/connectors/search/common/errors.d.ts +27 -0
- package/dist/connectors/search/common/errors.d.ts.map +1 -1
- package/dist/connectors/search/common/errors.js +21 -0
- package/dist/connectors/search/common/errors.js.map +1 -1
- package/dist/connectors/search/models/define-search-collection.d.ts.map +1 -1
- package/dist/connectors/search/models/define-search-collection.js +25 -2
- package/dist/connectors/search/models/define-search-collection.js.map +1 -1
- package/dist/connectors/search/models/types.d.ts +1 -0
- package/dist/connectors/search/models/types.d.ts.map +1 -1
- package/dist/connectors/search/repositories/common/dialect-helpers.d.ts +63 -2
- package/dist/connectors/search/repositories/common/dialect-helpers.d.ts.map +1 -1
- package/dist/connectors/search/repositories/common/dialect-helpers.js +120 -3
- package/dist/connectors/search/repositories/common/dialect-helpers.js.map +1 -1
- package/dist/connectors/search/repositories/common/types.d.ts +75 -0
- package/dist/connectors/search/repositories/common/types.d.ts.map +1 -1
- package/dist/connectors/search/repositories/common/types.js +21 -0
- package/dist/connectors/search/repositories/common/types.js.map +1 -1
- package/dist/connectors/search/repositories/core/base.d.ts +52 -4
- package/dist/connectors/search/repositories/core/base.d.ts.map +1 -1
- package/dist/connectors/search/repositories/core/base.js +96 -16
- package/dist/connectors/search/repositories/core/base.js.map +1 -1
- package/dist/connectors/search/repositories/core/persistable.d.ts +14 -0
- package/dist/connectors/search/repositories/core/persistable.d.ts.map +1 -1
- package/dist/connectors/search/repositories/core/persistable.js +24 -3
- package/dist/connectors/search/repositories/core/persistable.js.map +1 -1
- package/dist/connectors/search/repositories/core/readable.d.ts +9 -0
- package/dist/connectors/search/repositories/core/readable.d.ts.map +1 -1
- package/dist/connectors/search/repositories/core/readable.js +37 -5
- package/dist/connectors/search/repositories/core/readable.js.map +1 -1
- package/dist/connectors/typesense/compiler.d.ts.map +1 -1
- package/dist/connectors/typesense/compiler.js +30 -0
- package/dist/connectors/typesense/compiler.js.map +1 -1
- package/dist/connectors/typesense/connector.d.ts +21 -0
- package/dist/connectors/typesense/connector.d.ts.map +1 -1
- package/dist/connectors/typesense/connector.js +203 -25
- package/dist/connectors/typesense/connector.js.map +1 -1
- package/dist/connectors/typesense/internal/connector-internal.d.ts +33 -0
- package/dist/connectors/typesense/internal/connector-internal.d.ts.map +1 -1
- package/dist/connectors/typesense/internal/connector-internal.js +47 -1
- package/dist/connectors/typesense/internal/connector-internal.js.map +1 -1
- package/dist/connectors/typesense/repositories/common/types.d.ts +7 -0
- package/dist/connectors/typesense/repositories/common/types.d.ts.map +1 -1
- package/dist/connectors/typesense/repositories/dialect/query-dialect.d.ts +27 -6
- package/dist/connectors/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/connectors/typesense/repositories/dialect/query-dialect.js +209 -66
- package/dist/connectors/typesense/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/helpers/inversion/common/types.d.ts +9 -0
- package/dist/helpers/inversion/common/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistents.d.ts","sourceRoot":"","sources":["../../../src/base/metadata/persistents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EAEnB,cAAc,EACd,mBAAmB,EAEpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,oEAAoE;AACpE,eAAO,MAAM,KAAK,GAAI,UAAU,cAAc,KAAG,
|
|
1
|
+
{"version":3,"file":"persistents.d.ts","sourceRoot":"","sources":["../../../src/base/metadata/persistents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EAEnB,cAAc,EACd,mBAAmB,EAEpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,oEAAoE;AACpE,eAAO,MAAM,KAAK,GAAI,UAAU,cAAc,KAAG,cA0BhD,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,UAAU,GAAI,WAAW,mBAAmB,KAAG,cAI3D,CAAC;AAgJF,8EAA8E;AAC9E,eAAO,MAAM,UAAU,GACrB,KAAK,SAAS,cAAc,GAAG,cAAc,EAC7C,UAAU,SAAS,WAAW,GAAG,WAAW,EAE5C,UAAU,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,KAC/C,cAaF,CAAC"}
|
|
@@ -14,6 +14,14 @@ const model = (metadata) => {
|
|
|
14
14
|
message: `[model][${target.name}] Invalid 'defaultLimit' | Expected a positive integer | Got: ${defaultLimit}`,
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
+
// Validated at DECORATION time, like defaultLimit: a bad ceiling is a wiring mistake, and
|
|
18
|
+
// catching it at boot beats catching it on the one request that happens to reach the limit.
|
|
19
|
+
const maxLimit = metadata.settings?.maxLimit;
|
|
20
|
+
if (maxLimit !== undefined && (!Number.isInteger(maxLimit) || maxLimit <= 0)) {
|
|
21
|
+
throw (0, ignis_helpers_1.getError)({
|
|
22
|
+
message: `[model][${target.name}] Invalid 'maxLimit' | Expected a positive integer | Got: ${maxLimit}`,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
17
25
|
// Auto-populate AUTHORIZATION_SUBJECT from authorize.principal if not already set
|
|
18
26
|
const principal = metadata.settings?.authorize?.principal;
|
|
19
27
|
if (principal && !Object.hasOwn(target, 'AUTHORIZATION_SUBJECT')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistents.js","sourceRoot":"","sources":["../../../src/base/metadata/persistents.ts"],"names":[],"mappings":";;;AAAA,gDAAsD;AAQtD,mDAAkF;AAClF,0DAA8E;AAE9E,gDAAoD;AAGpD,oEAAoE;AAC7D,MAAM,KAAK,GAAG,CAAC,QAAwB,EAAkB,EAAE;IAChE,OAAO,MAAM,CAAC,EAAE;QACd,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;QACrD,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC;YACzF,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,WAAW,MAAM,CAAC,IAAI,iEAAiE,YAAY,EAAE;aAC/G,CAAC,CAAC;QACL,CAAC;QAED,kFAAkF;QAClF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;QAC1D,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,EAAE,CAAC;YAChE,MAAkC,CAAC,qBAAqB,GAAG,SAAS,CAAC;QACxE,CAAC;QAED,4BAAgB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC,CAAC;AACJ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"persistents.js","sourceRoot":"","sources":["../../../src/base/metadata/persistents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import type { TConstValue } from '@venizia/ignis-helpers';
|
|
2
2
|
/** Default pagination limit for repository queries. */
|
|
3
3
|
export declare const DEFAULT_LIMIT = 10;
|
|
4
|
+
/**
|
|
5
|
+
* Largest `limit` a caller may ask for when a model declares no `maxLimit`.
|
|
6
|
+
*
|
|
7
|
+
* POLICY, not capacity - it sits far below what an engine can physically serve. It exists because
|
|
8
|
+
* removing an accidental guardrail without replacing it would leave the framework less safe than
|
|
9
|
+
* before: a search engine refused a page over 250 hits, so `limit: 5000` failed fast and cheap.
|
|
10
|
+
* Once that page is served, something has to decide when a page is unreasonable.
|
|
11
|
+
*
|
|
12
|
+
* 1000 sits above any list screen and well below the physical ceiling, so reaching it means the
|
|
13
|
+
* caller is doing something unusual - and a model raises it by saying so explicitly.
|
|
14
|
+
*/
|
|
15
|
+
export declare const DEFAULT_MAX_LIMIT = 1000;
|
|
4
16
|
/** Defines the operation scope for repository instances (READ_ONLY, WRITE_ONLY, READ_WRITE). */
|
|
5
17
|
export declare class RepositoryOperationScopes {
|
|
6
18
|
static readonly READ_ONLY = "READ_ONLY";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,uDAAuD;AACvD,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,gGAAgG;AAChG,qBAAa,yBAAyB;IACpC,MAAM,CAAC,QAAQ,CAAC,SAAS,eAAe;IACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,gBAAgB;IAC1C,MAAM,CAAC,QAAQ,CAAC,UAAU,gBAAgB;IAC1C,MAAM,CAAC,QAAQ,CAAC,UAAU,cAA+D;IAEzF,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC;AAED,+CAA+C;AAC/C,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEtF,kMAAkM;AAClM,qBAAa,oBAAoB;IAC/B,qGAAqG;IACrG,MAAM,CAAC,QAAQ,CAAC,qBAAqB,SAElC;CACJ;AAED,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,mEAAmE;AACnE,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAkC;IAE5D,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC;AAED,kCAAkC;AAClC,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC;AAE9D,yEAAyE;AACzE,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,aAAa,mBAAmB;IAChD,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,SAAS,eAAe;IACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAKvB;IAEH,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAG1C;AAED,kCAAkC;AAClC,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,uDAAuD;AACvD,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC,gGAAgG;AAChG,qBAAa,yBAAyB;IACpC,MAAM,CAAC,QAAQ,CAAC,SAAS,eAAe;IACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,gBAAgB;IAC1C,MAAM,CAAC,QAAQ,CAAC,UAAU,gBAAgB;IAC1C,MAAM,CAAC,QAAQ,CAAC,UAAU,cAA+D;IAEzF,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC;AAED,+CAA+C;AAC/C,MAAM,MAAM,yBAAyB,GAAG,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEtF,kMAAkM;AAClM,qBAAa,oBAAoB;IAC/B,qGAAqG;IACrG,MAAM,CAAC,QAAQ,CAAC,qBAAqB,SAElC;CACJ;AAED,0CAA0C;AAC1C,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5E,mEAAmE;AACnE,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,MAAM,CAAC,QAAQ,CAAC,UAAU,cAAkC;IAE5D,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGzC;AAED,kCAAkC;AAClC,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC;AAE9D,yEAAyE;AACzE,qBAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY;IAClC,MAAM,CAAC,QAAQ,CAAC,aAAa,mBAAmB;IAChD,MAAM,CAAC,QAAQ,CAAC,KAAK,WAAW;IAChC,MAAM,CAAC,QAAQ,CAAC,SAAS,eAAe;IACxC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAKvB;IAEH,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAG1C;AAED,kCAAkC;AAClC,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LockStrengths = exports.RelationTypes = exports.RepositoryErrorCodes = exports.RepositoryOperationScopes = exports.DEFAULT_LIMIT = void 0;
|
|
3
|
+
exports.LockStrengths = exports.RelationTypes = exports.RepositoryErrorCodes = exports.RepositoryOperationScopes = exports.DEFAULT_MAX_LIMIT = exports.DEFAULT_LIMIT = void 0;
|
|
4
4
|
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
5
5
|
/** Default pagination limit for repository queries. */
|
|
6
6
|
exports.DEFAULT_LIMIT = 10;
|
|
7
|
+
/**
|
|
8
|
+
* Largest `limit` a caller may ask for when a model declares no `maxLimit`.
|
|
9
|
+
*
|
|
10
|
+
* POLICY, not capacity - it sits far below what an engine can physically serve. It exists because
|
|
11
|
+
* removing an accidental guardrail without replacing it would leave the framework less safe than
|
|
12
|
+
* before: a search engine refused a page over 250 hits, so `limit: 5000` failed fast and cheap.
|
|
13
|
+
* Once that page is served, something has to decide when a page is unreasonable.
|
|
14
|
+
*
|
|
15
|
+
* 1000 sits above any list screen and well below the physical ceiling, so reaching it means the
|
|
16
|
+
* caller is doing something unusual - and a model raises it by saying so explicitly.
|
|
17
|
+
*/
|
|
18
|
+
exports.DEFAULT_MAX_LIMIT = 1000;
|
|
7
19
|
/** Defines the operation scope for repository instances (READ_ONLY, WRITE_ONLY, READ_WRITE). */
|
|
8
20
|
class RepositoryOperationScopes {
|
|
9
21
|
static { this.READ_ONLY = 'READ_ONLY'; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/base/repositories/common/constants.ts"],"names":[],"mappings":";;;AACA,0DAAqD;AAErD,uDAAuD;AAC1C,QAAA,aAAa,GAAG,EAAE,CAAC;AAEhC,gGAAgG;AAChG,MAAa,yBAAyB;aACpB,cAAS,GAAG,WAAW,CAAC;aACxB,eAAU,GAAG,YAAY,CAAC;aAC1B,eAAU,GAAG,YAAY,CAAC;aAC1B,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEzF,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;;AARH,8DASC;AAKD,kMAAkM;AAClM,MAAa,oBAAoB;IAC/B,qGAAqG;aACrF,0BAAqB,GAAG,2BAAW,CAAC,KAAK,CAAC;QACxD,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,uBAAuB,CAAC;KACvD,CAAC,CAAC;;AAJL,oDAKC;AAKD,mEAAmE;AACnE,MAAa,aAAa;aACR,QAAG,GAAG,KAAK,CAAC;aACZ,SAAI,GAAG,MAAM,CAAC;aACd,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5D,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;;AAPH,sCAQC;AAKD,yEAAyE;AACzE,MAAa,aAAa;aACR,WAAM,GAAG,QAAQ,CAAC;aAClB,kBAAa,GAAG,eAAe,CAAC;aAChC,UAAK,GAAG,OAAO,CAAC;aAChB,cAAS,GAAG,WAAW,CAAC;aACxB,eAAU,GAAG,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,aAAa;QAClB,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,SAAS;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;;AAdH,sCAeC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/base/repositories/common/constants.ts"],"names":[],"mappings":";;;AACA,0DAAqD;AAErD,uDAAuD;AAC1C,QAAA,aAAa,GAAG,EAAE,CAAC;AAEhC;;;;;;;;;;GAUG;AACU,QAAA,iBAAiB,GAAG,IAAI,CAAC;AAEtC,gGAAgG;AAChG,MAAa,yBAAyB;aACpB,cAAS,GAAG,WAAW,CAAC;aACxB,eAAU,GAAG,YAAY,CAAC;aAC1B,eAAU,GAAG,YAAY,CAAC;aAC1B,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAEzF,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;;AARH,8DASC;AAKD,kMAAkM;AAClM,MAAa,oBAAoB;IAC/B,qGAAqG;aACrF,0BAAqB,GAAG,2BAAW,CAAC,KAAK,CAAC;QACxD,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,uBAAuB,CAAC;KACvD,CAAC,CAAC;;AAJL,oDAKC;AAKD,mEAAmE;AACnE,MAAa,aAAa;aACR,QAAG,GAAG,KAAK,CAAC;aACZ,SAAI,GAAG,MAAM,CAAC;aACd,eAAU,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5D,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;;AAPH,sCAQC;AAKD,yEAAyE;AACzE,MAAa,aAAa;aACR,WAAM,GAAG,QAAQ,CAAC;aAClB,kBAAa,GAAG,eAAe,CAAC;aAChC,UAAK,GAAG,OAAO,CAAC;aAChB,cAAS,GAAG,WAAW,CAAC;aACxB,eAAU,GAAG,IAAI,GAAG,CAAC;QACnC,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,aAAa;QAClB,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,SAAS;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;;AAdH,sCAeC"}
|
|
@@ -45,6 +45,8 @@ export declare abstract class AbstractRepository<TDataObject extends object, TPe
|
|
|
45
45
|
/** Default where from @model settings.defaultFilter.where, AND-merged into every query unless skipped. */
|
|
46
46
|
protected get defaultWhere(): TWhere | undefined;
|
|
47
47
|
protected get defaultLimit(): number | undefined;
|
|
48
|
+
/** Largest `limit` a caller may ask for, when the model declares one; undefined leaves the tier's own default in force. */
|
|
49
|
+
protected get maxLimit(): number | undefined;
|
|
48
50
|
/** Resolves the entity instance from @repository metadata on first access. */
|
|
49
51
|
protected resolveEntity(): AbstractEntity;
|
|
50
52
|
/** Rejects a verb the current operation scope does not permit. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/abstract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/base/repositories/core/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,6 +78,10 @@ class AbstractRepository extends ignis_helpers_1.BaseHelper {
|
|
|
78
78
|
get defaultLimit() {
|
|
79
79
|
return this.modelSettings?.defaultLimit;
|
|
80
80
|
}
|
|
81
|
+
/** Largest `limit` a caller may ask for, when the model declares one; undefined leaves the tier's own default in force. */
|
|
82
|
+
get maxLimit() {
|
|
83
|
+
return this.modelSettings?.maxLimit;
|
|
84
|
+
}
|
|
81
85
|
/** Resolves the entity instance from @repository metadata on first access. */
|
|
82
86
|
resolveEntity() {
|
|
83
87
|
const registry = inversion_1.MetadataRegistry.getInstance();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/abstract.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/base/repositories/core/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type TFilter, type TWhere } from '@venizia/ignis-filter';
|
|
2
|
-
import type { ISearchQuery, ISearchQueryDialect, TSearchInput } from '../../../../connectors/search/repositories/common';
|
|
2
|
+
import type { ISearchCompileCapabilities, ISearchQuery, ISearchQueryDialect, TCompiledWhere, TSearchInput } from '../../../../connectors/search/repositories/common';
|
|
3
3
|
import { SearchModes } from '../../../../connectors/search/repositories/common';
|
|
4
4
|
import type { IMeilisearchSearchQuery } from '../common';
|
|
5
5
|
/** The non-raw search inputs the dialect translates; `raw` bypasses the dialect entirely. */
|
|
@@ -11,6 +11,7 @@ export declare class MeilisearchQueryDialect implements ISearchQueryDialect {
|
|
|
11
11
|
build(opts: {
|
|
12
12
|
filter?: TFilter;
|
|
13
13
|
hiddenFields?: string[];
|
|
14
|
+
capabilities?: ISearchCompileCapabilities;
|
|
14
15
|
}): IMeilisearchSearchQuery;
|
|
15
16
|
/** Maps the neutral query onto Meilisearch wire params. Pagination always uses the exhaustive `page`/`hitsPerPage` mode (exact `totalHits`), never `offset`/`limit`; `engineParams` merges last, verbatim. */
|
|
16
17
|
toWireParams(opts: {
|
|
@@ -21,17 +22,37 @@ export declare class MeilisearchQueryDialect implements ISearchQueryDialect {
|
|
|
21
22
|
query: ISearchQuery;
|
|
22
23
|
input: TTranslatableSearchInput;
|
|
23
24
|
}): void;
|
|
24
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Use `compileWhere`. A filter STRING cannot represent "matches nothing", so this
|
|
27
|
+
* returned `''` for it - indistinguishable from "no constraint", which is precisely how an empty
|
|
28
|
+
* `or` came to widen the query it was written to narrow. It now throws on that input.
|
|
29
|
+
*/
|
|
25
30
|
toWhere(opts: {
|
|
26
31
|
where: TWhere;
|
|
27
32
|
}): string;
|
|
33
|
+
/** Compiles a `TWhere` into a Meilisearch filter expression or one of the two absorbing outcomes. Top-level keys conjoin. */
|
|
34
|
+
compileWhere(opts: {
|
|
35
|
+
where: TWhere;
|
|
36
|
+
capabilities?: ISearchCompileCapabilities;
|
|
37
|
+
}): TCompiledWhere;
|
|
38
|
+
/** @see ISearchQueryDialect.canExpress */
|
|
39
|
+
canExpress(opts: {
|
|
40
|
+
operator: string;
|
|
41
|
+
}): boolean;
|
|
42
|
+
/** @see ISearchQueryDialect.conjoin */
|
|
43
|
+
conjoin(opts: {
|
|
44
|
+
clauses: TCompiledWhere[];
|
|
45
|
+
}): TCompiledWhere;
|
|
28
46
|
private assertNoUnsupportedKnobs;
|
|
29
47
|
private toOrderBy;
|
|
30
|
-
|
|
31
|
-
private
|
|
32
|
-
private
|
|
48
|
+
/** A logical group always parenthesises, so precedence never depends on where the group sat in the tree. */
|
|
49
|
+
private compileLogicalGroup;
|
|
50
|
+
private compileFieldClause;
|
|
51
|
+
private compileOperatorClause;
|
|
33
52
|
private escapeValue;
|
|
34
53
|
private escapeArray;
|
|
54
|
+
/** Shared by `between` and `notBetween` so the two cannot disagree on what a valid range is. */
|
|
55
|
+
private assertBetweenTuple;
|
|
35
56
|
private escapeBetween;
|
|
36
57
|
}
|
|
37
58
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-dialect.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/meilisearch/repositories/dialect/query-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACb,MAAM,yCAAyC,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"query-dialect.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/meilisearch/repositories/dialect/query-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EACV,0BAA0B,EAC1B,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,YAAY,EACb,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAwB,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAa5F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEzD,6FAA6F;AAC7F,KAAK,wBAAwB,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,OAAO,WAAW,CAAC,GAAG,CAAA;CAAE,CAAC,CAAC;AAiIxF,qMAAqM;AACrM,qBAAa,uBAAwB,YAAW,mBAAmB;IACjE,KAAK,CAAC,IAAI,EAAE;QACV,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,YAAY,CAAC,EAAE,0BAA0B,CAAC;KAC3C,GAAG,uBAAuB;IA+C3B,8MAA8M;IAC9M,YAAY,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAkC7E,yHAAyH;IACzH,gBAAgB,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,wBAAwB,CAAA;KAAE,GAAG,IAAI;IA8EtF;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAmBxC,6HAA6H;IAC7H,YAAY,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,0BAA0B,CAAA;KAAE,GAAG,cAAc;IA8BhG,0CAA0C;IAC1C,UAAU,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAI/C,uCAAuC;IACvC,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,GAAG,cAAc;IAW5D,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,SAAS;IAiBjB,4GAA4G;IAC5G,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,kBAAkB;IAwC1B,OAAO,CAAC,qBAAqB;IAyE7B,OAAO,CAAC,WAAW;IA2BnB,OAAO,CAAC,WAAW;IAYnB,gGAAgG;IAChG,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,aAAa;CAMtB"}
|
|
@@ -4,7 +4,57 @@ exports.MeilisearchQueryDialect = void 0;
|
|
|
4
4
|
const ignis_filter_1 = require("@venizia/ignis-filter");
|
|
5
5
|
const common_1 = require("../../../../connectors/search/repositories/common");
|
|
6
6
|
const dialect_helpers_1 = require("../../../../connectors/search/repositories/common/dialect-helpers");
|
|
7
|
+
const common_2 = require("../../../../connectors/search/common");
|
|
7
8
|
const ignis_helpers_1 = require("@venizia/ignis-helpers");
|
|
9
|
+
/** Names the engine in every rejection, so a caller reading the error knows it is the ENGINE CHOICE that decided it, not the operator. */
|
|
10
|
+
const ENGINE = 'Meilisearch';
|
|
11
|
+
/**
|
|
12
|
+
* Which neutral operators this engine can express. EVERY member of `QueryOperators.SCHEME_SET`
|
|
13
|
+
* has a cell; a conformance test pins the key set against the vocabulary so a newly added
|
|
14
|
+
* operator cannot reach this engine unclassified.
|
|
15
|
+
*
|
|
16
|
+
* Note where this DIVERGES from Typesense: Meilisearch has real null and presence predicates
|
|
17
|
+
* (`IS NULL`, `EXISTS`), so `exists`/`notExists`/`is: null` are expressible here and are not on
|
|
18
|
+
* Typesense. Levelling the two engines down to their intersection would delete working behaviour.
|
|
19
|
+
*/
|
|
20
|
+
const CAN_EXPRESS = {
|
|
21
|
+
[ignis_filter_1.QueryOperators.EQ]: true,
|
|
22
|
+
[ignis_filter_1.QueryOperators.NE]: true,
|
|
23
|
+
[ignis_filter_1.QueryOperators.NEQ]: true,
|
|
24
|
+
[ignis_filter_1.QueryOperators.GT]: true,
|
|
25
|
+
[ignis_filter_1.QueryOperators.GTE]: true,
|
|
26
|
+
[ignis_filter_1.QueryOperators.LT]: true,
|
|
27
|
+
[ignis_filter_1.QueryOperators.LTE]: true,
|
|
28
|
+
// Pattern matching is a relevance concern in Meilisearch too - it lives in `q`, not `filter`.
|
|
29
|
+
[ignis_filter_1.QueryOperators.LIKE]: false,
|
|
30
|
+
[ignis_filter_1.QueryOperators.NOT_LIKE]: false,
|
|
31
|
+
[ignis_filter_1.QueryOperators.ILIKE]: false,
|
|
32
|
+
[ignis_filter_1.QueryOperators.NOT_ILIKE]: false,
|
|
33
|
+
[ignis_filter_1.QueryOperators.REGEXP]: false,
|
|
34
|
+
[ignis_filter_1.QueryOperators.IREGEXP]: false,
|
|
35
|
+
// Including the `: null` form, which maps to Meilisearch's own IS NULL / IS NOT NULL.
|
|
36
|
+
[ignis_filter_1.QueryOperators.IS]: true,
|
|
37
|
+
[ignis_filter_1.QueryOperators.IS_NOT]: true,
|
|
38
|
+
[ignis_filter_1.QueryOperators.IN]: true,
|
|
39
|
+
[ignis_filter_1.QueryOperators.INQ]: true,
|
|
40
|
+
[ignis_filter_1.QueryOperators.NIN]: true,
|
|
41
|
+
// Native `EXISTS` / `NOT EXISTS`. Expressible here and NOT on Typesense - a deliberate asymmetry.
|
|
42
|
+
[ignis_filter_1.QueryOperators.EXISTS]: true,
|
|
43
|
+
[ignis_filter_1.QueryOperators.NOT_EXISTS]: true,
|
|
44
|
+
[ignis_filter_1.QueryOperators.BETWEEN]: true,
|
|
45
|
+
// Rewritten by De Morgan into `< min OR > max` - see compileOperatorClause.
|
|
46
|
+
[ignis_filter_1.QueryOperators.NOT_BETWEEN]: true,
|
|
47
|
+
// Postgres array-containment semantics; Meilisearch array filtering answers a different question.
|
|
48
|
+
[ignis_filter_1.QueryOperators.CONTAINS]: false,
|
|
49
|
+
[ignis_filter_1.QueryOperators.CONTAINED_BY]: false,
|
|
50
|
+
[ignis_filter_1.QueryOperators.OVERLAPS]: false,
|
|
51
|
+
// Classified unsupported on BOTH engines on purpose: negating an arbitrary subtree needs De
|
|
52
|
+
// Morgan through the whole tree, and shipping only the easy shapes gives a caller an operator
|
|
53
|
+
// that works until it doesn't.
|
|
54
|
+
[ignis_filter_1.QueryOperators.NOT]: false,
|
|
55
|
+
[ignis_filter_1.QueryOperators.AND]: true,
|
|
56
|
+
[ignis_filter_1.QueryOperators.OR]: true,
|
|
57
|
+
};
|
|
8
58
|
/** `mode: 'semantic'` is pure vector search; Meilisearch expresses that as an all-semantic hybrid. */
|
|
9
59
|
const SEMANTIC_ONLY_RATIO = 1;
|
|
10
60
|
/** Meilisearch's own default blend when the caller gives no `alpha`. */
|
|
@@ -68,7 +118,7 @@ const UNSUPPORTED_QUERY_FIELDS = {
|
|
|
68
118
|
/** Translates repository-level TFilter/TWhere into Meilisearch search params - pure string building, no dependency on the `meilisearch` package. Untranslatable shapes throw rather than degrade. */
|
|
69
119
|
class MeilisearchQueryDialect {
|
|
70
120
|
build(opts) {
|
|
71
|
-
const { filter } = opts;
|
|
121
|
+
const { filter, capabilities } = opts;
|
|
72
122
|
// `hiddenFields` is accepted and deliberately NOT translated: Meilisearch has no per-query field exclusion, only index-level `displayedAttributes`, so `SearchBaseRepository` strips hidden fields from every returned document one layer up.
|
|
73
123
|
const { where, fields, order, limit, skip, offset, include } = filter ?? {};
|
|
74
124
|
if (include) {
|
|
@@ -78,9 +128,14 @@ class MeilisearchQueryDialect {
|
|
|
78
128
|
}
|
|
79
129
|
const query = { query: '*' };
|
|
80
130
|
if (where) {
|
|
81
|
-
const
|
|
82
|
-
if (
|
|
83
|
-
query.filterBy = filterBy;
|
|
131
|
+
const compiled = this.compileWhere({ where, capabilities });
|
|
132
|
+
if (compiled.outcome === common_1.SearchFilterOutcomes.FILTER) {
|
|
133
|
+
query.filterBy = compiled.filterBy;
|
|
134
|
+
}
|
|
135
|
+
else if (compiled.outcome === common_1.SearchFilterOutcomes.MATCH_NONE) {
|
|
136
|
+
// Marked, never expressed as a filter: the repository answers empty without a round-trip
|
|
137
|
+
// rather than sending the engine something that approximates "nothing".
|
|
138
|
+
query.matchNone = true;
|
|
84
139
|
}
|
|
85
140
|
}
|
|
86
141
|
if (order) {
|
|
@@ -102,6 +157,9 @@ class MeilisearchQueryDialect {
|
|
|
102
157
|
toWireParams(opts) {
|
|
103
158
|
const { query } = opts;
|
|
104
159
|
const { engineParams, ...rest } = query;
|
|
160
|
+
// `matchNone` is a repository-tier instruction, not a search param - dropped here so it can
|
|
161
|
+
// never reach Meilisearch as an unknown key. `rest` is already a fresh object.
|
|
162
|
+
delete rest.matchNone;
|
|
105
163
|
const wire = {};
|
|
106
164
|
for (const [key, value] of Object.entries(rest)) {
|
|
107
165
|
if (value === undefined) {
|
|
@@ -188,9 +246,31 @@ class MeilisearchQueryDialect {
|
|
|
188
246
|
searchQuery.engineParams = input.engineParams;
|
|
189
247
|
}
|
|
190
248
|
}
|
|
191
|
-
/**
|
|
249
|
+
/**
|
|
250
|
+
* @deprecated Use `compileWhere`. A filter STRING cannot represent "matches nothing", so this
|
|
251
|
+
* returned `''` for it - indistinguishable from "no constraint", which is precisely how an empty
|
|
252
|
+
* `or` came to widen the query it was written to narrow. It now throws on that input.
|
|
253
|
+
*/
|
|
192
254
|
toWhere(opts) {
|
|
193
|
-
const { where }
|
|
255
|
+
const compiled = this.compileWhere({ where: opts.where });
|
|
256
|
+
switch (compiled.outcome) {
|
|
257
|
+
case common_1.SearchFilterOutcomes.FILTER: {
|
|
258
|
+
return compiled.filterBy;
|
|
259
|
+
}
|
|
260
|
+
case common_1.SearchFilterOutcomes.MATCH_ALL: {
|
|
261
|
+
return '';
|
|
262
|
+
}
|
|
263
|
+
default: {
|
|
264
|
+
throw (0, ignis_helpers_1.getError)({
|
|
265
|
+
error: common_2.SearchErrors.UNSUPPORTED_OPERATOR,
|
|
266
|
+
message: `[MeilisearchQueryDialect][toWhere] This where compiles to MATCH-NOTHING, which a filter string cannot express | engine: '${ENGINE}' | returning '' here would match EVERYTHING - call compileWhere() and honour its 'matchNone' outcome instead`,
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
/** Compiles a `TWhere` into a Meilisearch filter expression or one of the two absorbing outcomes. Top-level keys conjoin. */
|
|
272
|
+
compileWhere(opts) {
|
|
273
|
+
const { where, capabilities } = opts;
|
|
194
274
|
const clauses = [];
|
|
195
275
|
for (const key in where) {
|
|
196
276
|
// TWhere<T = any> is a mapped-over-`any` type with no narrower runtime shape to recover here.
|
|
@@ -200,19 +280,33 @@ class MeilisearchQueryDialect {
|
|
|
200
280
|
}
|
|
201
281
|
switch (key) {
|
|
202
282
|
case ignis_filter_1.QueryOperators.AND: {
|
|
203
|
-
clauses.push(this.
|
|
283
|
+
clauses.push(this.compileLogicalGroup({ value, capabilities, isDisjunction: false }));
|
|
204
284
|
break;
|
|
205
285
|
}
|
|
206
286
|
case ignis_filter_1.QueryOperators.OR: {
|
|
207
|
-
clauses.push(this.
|
|
287
|
+
clauses.push(this.compileLogicalGroup({ value, capabilities, isDisjunction: true }));
|
|
208
288
|
break;
|
|
209
289
|
}
|
|
210
290
|
default: {
|
|
211
|
-
clauses.push(this.
|
|
291
|
+
clauses.push(this.compileFieldClause({ field: key, value, capabilities }));
|
|
212
292
|
}
|
|
213
293
|
}
|
|
214
294
|
}
|
|
215
|
-
return
|
|
295
|
+
return (0, dialect_helpers_1.reduceCompiled)({ clauses, isDisjunction: false, joiner: ' AND ' });
|
|
296
|
+
}
|
|
297
|
+
/** @see ISearchQueryDialect.canExpress */
|
|
298
|
+
canExpress(opts) {
|
|
299
|
+
return CAN_EXPRESS[opts.operator] ?? false;
|
|
300
|
+
}
|
|
301
|
+
/** @see ISearchQueryDialect.conjoin */
|
|
302
|
+
conjoin(opts) {
|
|
303
|
+
const { clauses } = opts;
|
|
304
|
+
const combined = (0, dialect_helpers_1.reduceCompiled)({ clauses, isDisjunction: false, joiner: ' AND ' });
|
|
305
|
+
// Parenthesised once two clauses actually join, reproducing byte-for-byte what the previous
|
|
306
|
+
// `{ and: [defaultWhere, where] }` merge emitted through the logical-group path.
|
|
307
|
+
return clauses.filter(clause => clause.outcome === common_1.SearchFilterOutcomes.FILTER).length > 1
|
|
308
|
+
? (0, dialect_helpers_1.parenthesize)(combined)
|
|
309
|
+
: combined;
|
|
216
310
|
}
|
|
217
311
|
assertNoUnsupportedKnobs(opts) {
|
|
218
312
|
const input = opts.input;
|
|
@@ -239,82 +333,100 @@ class MeilisearchQueryDialect {
|
|
|
239
333
|
})
|
|
240
334
|
.join(',');
|
|
241
335
|
}
|
|
242
|
-
|
|
243
|
-
|
|
336
|
+
/** A logical group always parenthesises, so precedence never depends on where the group sat in the tree. */
|
|
337
|
+
compileLogicalGroup(opts) {
|
|
338
|
+
const { value, capabilities, isDisjunction } = opts;
|
|
244
339
|
const items = Array.isArray(value) ? value : [value];
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
return '';
|
|
251
|
-
}
|
|
252
|
-
return `(${sub.join(joiner)})`;
|
|
340
|
+
const clauses = items.map(item => this.compileWhere({ where: item, capabilities }));
|
|
341
|
+
// An empty member (`{}`) compiles to matchAll and the algebra absorbs it correctly: identity
|
|
342
|
+
// under `and`, absorbing under `or`. Dropping it by string-length, as this once did, is what
|
|
343
|
+
// turned `or: []` into "no constraint".
|
|
344
|
+
return (0, dialect_helpers_1.parenthesize)((0, dialect_helpers_1.reduceCompiled)({ clauses, isDisjunction, joiner: isDisjunction ? ' OR ' : ' AND ' }));
|
|
253
345
|
}
|
|
254
|
-
|
|
255
|
-
const { field, value } = opts;
|
|
346
|
+
compileFieldClause(opts) {
|
|
347
|
+
const { field, value, capabilities } = opts;
|
|
256
348
|
if (field.includes('.')) {
|
|
257
349
|
throw (0, ignis_helpers_1.getError)({
|
|
258
350
|
message: `[MeilisearchQueryDialect][toWhere] search() does not support JSON-path fields | field: '${field}'`,
|
|
259
351
|
});
|
|
260
352
|
}
|
|
353
|
+
(0, dialect_helpers_1.assertKnownField)({ field, engine: ENGINE, capabilities });
|
|
261
354
|
if (Array.isArray(value)) {
|
|
262
|
-
|
|
355
|
+
// Mirrors relational `buildValueCondition`: an empty IN-list can match nothing, so it is
|
|
356
|
+
// absorbing false - NOT the malformed `field IN []` this used to emit.
|
|
357
|
+
return value.length === 0
|
|
358
|
+
? { outcome: common_1.SearchFilterOutcomes.MATCH_NONE }
|
|
359
|
+
: (0, dialect_helpers_1.toFilterClause)(`${field} IN [${this.escapeArray({ field, value })}]`);
|
|
263
360
|
}
|
|
264
361
|
if (!(0, dialect_helpers_1.isOperatorObject)(value)) {
|
|
265
|
-
return `${field} = ${this.escapeValue({ field, value })}
|
|
362
|
+
return (0, dialect_helpers_1.toFilterClause)(`${field} = ${this.escapeValue({ field, value })}`);
|
|
266
363
|
}
|
|
267
|
-
const clauses = Object.entries(value).map(([operator, operand]) => this.
|
|
268
|
-
|
|
364
|
+
const clauses = Object.entries(value).map(([operator, operand]) => this.compileOperatorClause({ field, operator, value: operand }));
|
|
365
|
+
const combined = (0, dialect_helpers_1.reduceCompiled)({ clauses, isDisjunction: false, joiner: ' AND ' });
|
|
366
|
+
// Parenthesised only when more than one operator actually contributed a filter, preserving the
|
|
367
|
+
// exact shape callers already assert on for the single-operator case.
|
|
368
|
+
return clauses.filter(clause => clause.outcome === common_1.SearchFilterOutcomes.FILTER).length > 1
|
|
369
|
+
? (0, dialect_helpers_1.parenthesize)(combined)
|
|
370
|
+
: combined;
|
|
269
371
|
}
|
|
270
|
-
|
|
372
|
+
compileOperatorClause(opts) {
|
|
271
373
|
const { field, operator, value } = opts;
|
|
272
374
|
switch (operator) {
|
|
273
375
|
case ignis_filter_1.QueryOperators.EQ:
|
|
274
376
|
case ignis_filter_1.QueryOperators.IS: {
|
|
275
|
-
return value === null
|
|
276
|
-
? `${field} IS NULL`
|
|
277
|
-
: `${field} = ${this.escapeValue({ field, value })}`;
|
|
377
|
+
return (0, dialect_helpers_1.toFilterClause)(value === null ? `${field} IS NULL` : `${field} = ${this.escapeValue({ field, value })}`);
|
|
278
378
|
}
|
|
279
379
|
case ignis_filter_1.QueryOperators.NEQ:
|
|
280
380
|
case ignis_filter_1.QueryOperators.NE:
|
|
281
381
|
case ignis_filter_1.QueryOperators.IS_NOT: {
|
|
282
|
-
return value === null
|
|
382
|
+
return (0, dialect_helpers_1.toFilterClause)(value === null
|
|
283
383
|
? `${field} IS NOT NULL`
|
|
284
|
-
: `${field} != ${this.escapeValue({ field, value })}
|
|
384
|
+
: `${field} != ${this.escapeValue({ field, value })}`);
|
|
285
385
|
}
|
|
286
386
|
case ignis_filter_1.QueryOperators.GT: {
|
|
287
|
-
return `${field} > ${this.escapeValue({ field, value })}
|
|
387
|
+
return (0, dialect_helpers_1.toFilterClause)(`${field} > ${this.escapeValue({ field, value })}`);
|
|
288
388
|
}
|
|
289
389
|
case ignis_filter_1.QueryOperators.GTE: {
|
|
290
|
-
return `${field} >= ${this.escapeValue({ field, value })}
|
|
390
|
+
return (0, dialect_helpers_1.toFilterClause)(`${field} >= ${this.escapeValue({ field, value })}`);
|
|
291
391
|
}
|
|
292
392
|
case ignis_filter_1.QueryOperators.LT: {
|
|
293
|
-
return `${field} < ${this.escapeValue({ field, value })}
|
|
393
|
+
return (0, dialect_helpers_1.toFilterClause)(`${field} < ${this.escapeValue({ field, value })}`);
|
|
294
394
|
}
|
|
295
395
|
case ignis_filter_1.QueryOperators.LTE: {
|
|
296
|
-
return `${field} <= ${this.escapeValue({ field, value })}
|
|
396
|
+
return (0, dialect_helpers_1.toFilterClause)(`${field} <= ${this.escapeValue({ field, value })}`);
|
|
297
397
|
}
|
|
298
398
|
case ignis_filter_1.QueryOperators.IN:
|
|
299
399
|
case ignis_filter_1.QueryOperators.INQ: {
|
|
300
|
-
|
|
400
|
+
// Relational: `inq: []` -> sql`false`. Nothing is a member of the empty set.
|
|
401
|
+
if (Array.isArray(value) && value.length === 0) {
|
|
402
|
+
return { outcome: common_1.SearchFilterOutcomes.MATCH_NONE };
|
|
403
|
+
}
|
|
404
|
+
return (0, dialect_helpers_1.toFilterClause)(`${field} IN [${this.escapeArray({ field, value })}]`);
|
|
301
405
|
}
|
|
302
406
|
case ignis_filter_1.QueryOperators.NIN: {
|
|
303
|
-
|
|
407
|
+
// Relational: `nin: []` -> sql`true`. Excluding nothing excludes nothing.
|
|
408
|
+
if (Array.isArray(value) && value.length === 0) {
|
|
409
|
+
return { outcome: common_1.SearchFilterOutcomes.MATCH_ALL };
|
|
410
|
+
}
|
|
411
|
+
return (0, dialect_helpers_1.toFilterClause)(`${field} NOT IN [${this.escapeArray({ field, value })}]`);
|
|
304
412
|
}
|
|
305
413
|
case ignis_filter_1.QueryOperators.BETWEEN: {
|
|
306
|
-
return `${field} ${this.escapeBetween({ field, value })}
|
|
414
|
+
return (0, dialect_helpers_1.toFilterClause)(`${field} ${this.escapeBetween({ field, value })}`);
|
|
415
|
+
}
|
|
416
|
+
case ignis_filter_1.QueryOperators.NOT_BETWEEN: {
|
|
417
|
+
// De Morgan: NOT (min <= x <= max) is (x < min) OR (x > max). Exact for any field that
|
|
418
|
+
// HAS a value; see the missing-value note on the Typesense side.
|
|
419
|
+
const [min, max] = this.assertBetweenTuple({ field, value });
|
|
420
|
+
return (0, dialect_helpers_1.toFilterClause)(`(${field} < ${this.escapeValue({ field, value: min })} OR ${field} > ${this.escapeValue({ field, value: max })})`);
|
|
307
421
|
}
|
|
308
422
|
case ignis_filter_1.QueryOperators.EXISTS: {
|
|
309
|
-
return value === false ? `${field} NOT EXISTS` : `${field} EXISTS
|
|
423
|
+
return (0, dialect_helpers_1.toFilterClause)(value === false ? `${field} NOT EXISTS` : `${field} EXISTS`);
|
|
310
424
|
}
|
|
311
425
|
case ignis_filter_1.QueryOperators.NOT_EXISTS: {
|
|
312
|
-
return `${field} NOT EXISTS
|
|
426
|
+
return (0, dialect_helpers_1.toFilterClause)(`${field} NOT EXISTS`);
|
|
313
427
|
}
|
|
314
428
|
default: {
|
|
315
|
-
|
|
316
|
-
message: `[MeilisearchQueryDialect][toWhere] search() does not support operator '${operator}' | field: '${field}'`,
|
|
317
|
-
});
|
|
429
|
+
return (0, dialect_helpers_1.throwUnsupportedOperator)({ operator, field, engine: ENGINE });
|
|
318
430
|
}
|
|
319
431
|
}
|
|
320
432
|
}
|
|
@@ -348,14 +460,19 @@ class MeilisearchQueryDialect {
|
|
|
348
460
|
}
|
|
349
461
|
return value.map(item => this.escapeValue({ field, value: item })).join(', ');
|
|
350
462
|
}
|
|
351
|
-
|
|
463
|
+
/** Shared by `between` and `notBetween` so the two cannot disagree on what a valid range is. */
|
|
464
|
+
assertBetweenTuple(opts) {
|
|
352
465
|
const { field, value } = opts;
|
|
353
466
|
if (!Array.isArray(value) || value.length !== 2) {
|
|
354
467
|
throw (0, ignis_helpers_1.getError)({
|
|
355
468
|
message: `[MeilisearchQueryDialect][toWhere] search() 'between' requires a [min, max] tuple | field: '${field}' | value: ${JSON.stringify(value)}`,
|
|
356
469
|
});
|
|
357
470
|
}
|
|
358
|
-
|
|
471
|
+
return [value[0], value[1]];
|
|
472
|
+
}
|
|
473
|
+
escapeBetween(opts) {
|
|
474
|
+
const { field, value } = opts;
|
|
475
|
+
const [min, max] = this.assertBetweenTuple({ field, value });
|
|
359
476
|
return `${this.escapeValue({ field, value: min })} TO ${this.escapeValue({ field, value: max })}`;
|
|
360
477
|
}
|
|
361
478
|
}
|