@tstdl/base 0.71.64 → 0.71.67

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.
Files changed (51) hide show
  1. package/application/application.d.ts +4 -3
  2. package/application/application.js +20 -8
  3. package/application/application.js.map +1 -1
  4. package/examples/reflection/basic.d.ts +11 -0
  5. package/examples/reflection/basic.js +69 -0
  6. package/examples/reflection/basic.js.map +1 -0
  7. package/image-service/image-service.d.ts +1 -1
  8. package/module/modules/function.module.d.ts +10 -0
  9. package/module/modules/function.module.js +16 -0
  10. package/module/modules/function.module.js.map +1 -0
  11. package/module/modules/index.d.ts +1 -0
  12. package/module/modules/index.js +1 -0
  13. package/module/modules/index.js.map +1 -1
  14. package/package.json +11 -11
  15. package/reflection/decorator-data.d.ts +47 -0
  16. package/reflection/decorator-data.js +68 -0
  17. package/reflection/decorator-data.js.map +1 -0
  18. package/reflection/decorators.d.ts +12 -0
  19. package/reflection/decorators.js +43 -0
  20. package/reflection/decorators.js.map +1 -0
  21. package/reflection/index.d.ts +4 -0
  22. package/reflection/index.js +21 -0
  23. package/reflection/index.js.map +1 -0
  24. package/reflection/registry.d.ts +42 -0
  25. package/reflection/registry.js +95 -0
  26. package/reflection/registry.js.map +1 -0
  27. package/reflection/utils.d.ts +27 -0
  28. package/reflection/utils.js +115 -0
  29. package/reflection/utils.js.map +1 -0
  30. package/schema/schemas/object.js +1 -1
  31. package/schema/schemas/object.js.map +1 -1
  32. package/search-index/elastic/index.d.ts +1 -0
  33. package/search-index/elastic/index.js +1 -0
  34. package/search-index/elastic/index.js.map +1 -1
  35. package/search-index/elastic/keyword-rewriter.d.ts +8 -0
  36. package/search-index/elastic/keyword-rewriter.js +22 -0
  37. package/search-index/elastic/keyword-rewriter.js.map +1 -0
  38. package/search-index/elastic/search-index.d.ts +4 -2
  39. package/search-index/elastic/search-index.js +14 -3
  40. package/search-index/elastic/search-index.js.map +1 -1
  41. package/search-index/elastic/sort-converter.d.ts +2 -1
  42. package/search-index/elastic/sort-converter.js +2 -3
  43. package/search-index/elastic/sort-converter.js.map +1 -1
  44. package/search-index/memory/memory-search-index.d.ts +1 -0
  45. package/search-index/memory/memory-search-index.js +4 -0
  46. package/search-index/memory/memory-search-index.js.map +1 -1
  47. package/search-index/search-index.d.ts +1 -0
  48. package/search-index/search-index.js.map +1 -1
  49. package/types.d.ts +8 -3
  50. package/utils/type-guards.d.ts +3 -3
  51. package/utils/type-guards.js.map +1 -1
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.reflectionRegistry = exports.ReflectionRegistry = void 0;
4
+ /* eslint-disable max-classes-per-file */
5
+ const data_structures_1 = require("../data-structures");
6
+ const factory_map_1 = require("../utils/factory-map");
7
+ const object_1 = require("../utils/object");
8
+ const reflection_1 = require("../utils/reflection");
9
+ const type_guards_1 = require("../utils/type-guards");
10
+ const decorator_data_1 = require("./decorator-data");
11
+ class ReflectionRegistry {
12
+ constructor() {
13
+ this.metadataMap = new factory_map_1.FactoryMap((type) => this.initializeType(type), new data_structures_1.WeakRefMap());
14
+ }
15
+ getMetadata(type) {
16
+ return this.metadataMap.get(type);
17
+ }
18
+ register(target, propertyKey, descriptorOrParameterIndex) {
19
+ const data = (0, decorator_data_1.getDecoratorData)(target, propertyKey, descriptorOrParameterIndex);
20
+ this.registerDecoratorData(data);
21
+ return data;
22
+ }
23
+ registerDecoratorData(data) {
24
+ const metadata = this.metadataMap.get(data.constructor);
25
+ if (data.type == 'class') {
26
+ return metadata;
27
+ }
28
+ else if ((data.type == 'property') || (data.type == 'accessor')) {
29
+ return (data.static ? metadata.staticProperties : metadata.properties).get(data.propertyKey);
30
+ }
31
+ else if (data.type == 'method') {
32
+ return (data.static ? metadata.staticMethods : metadata.methods).get(data.methodKey);
33
+ }
34
+ else if (data.type == 'parameter') {
35
+ return (data.static ? metadata.staticMethods : metadata.methods).get(data.methodKey);
36
+ }
37
+ else if (data.type == 'constructor-parameter') { // eslint-disable-line @typescript-eslint/no-unnecessary-condition
38
+ return metadata.parameters[data.index];
39
+ }
40
+ else {
41
+ throw new Error(`Unknown DecoratorData type ${data.type}`);
42
+ }
43
+ }
44
+ /**
45
+ * Unregister a type. Can be useful if you replace a class with an decorator.
46
+ * However, this should not be necessary since WeakRefs are used.
47
+ * @param type Type to unregister
48
+ */
49
+ unregister(type) {
50
+ this.metadataMap.delete(type);
51
+ }
52
+ // eslint-disable-next-line max-lines-per-function
53
+ initializeType(type) {
54
+ return (0, object_1.lazyObject)({
55
+ constructor: (0, object_1.lazyObjectValue)(type),
56
+ parameters: {
57
+ initializer() {
58
+ const parameters = (0, reflection_1.getParameterTypes)(type);
59
+ (0, type_guards_1.assertDefined)(parameters, 'missing constructor parameters');
60
+ return parameters.map((parameter) => ({ type: parameter, data: new Map() }));
61
+ }
62
+ },
63
+ properties: {
64
+ initializer: () => new factory_map_1.FactoryMap((key) => ({ type: (0, reflection_1.getDesignType)(type.prototype, key), data: new Map() }))
65
+ },
66
+ staticProperties: {
67
+ initializer: () => new factory_map_1.FactoryMap((key) => ({ type: (0, reflection_1.getDesignType)(type, key), data: new Map() }))
68
+ },
69
+ methods: {
70
+ initializer: () => new factory_map_1.FactoryMap((key) => {
71
+ const parameters = (0, reflection_1.getParameterTypes)(type.prototype, key);
72
+ const returnType = (0, reflection_1.getReturnType)(type.prototype, key);
73
+ if ((0, type_guards_1.isUndefined)(parameters)) {
74
+ throw new Error(`Could not get parameters for method ${key.toString()} of type ${type.name}`);
75
+ }
76
+ return { parameters: parameters.map((parameter) => ({ type: parameter, data: new Map() })), returnType, data: new Map() };
77
+ })
78
+ },
79
+ staticMethods: {
80
+ initializer: () => new factory_map_1.FactoryMap((key) => {
81
+ const parameters = (0, reflection_1.getParameterTypes)(type, key);
82
+ const returnType = (0, reflection_1.getReturnType)(type, key);
83
+ if ((0, type_guards_1.isUndefined)(parameters)) {
84
+ throw new Error(`Could not get parameters for static method ${key.toString()} of type ${type.name}`);
85
+ }
86
+ return { parameters: parameters.map((parameter) => ({ type: parameter, data: new Map() })), returnType, data: new Map() };
87
+ })
88
+ },
89
+ data: { initializer: () => new Map() }
90
+ });
91
+ }
92
+ }
93
+ exports.ReflectionRegistry = ReflectionRegistry;
94
+ exports.reflectionRegistry = new ReflectionRegistry();
95
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../source/reflection/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { Constructor, Record } from "../types";
2
+ import type { AccessorDecoratorData, ClassDecoratorData, ConstructorParameterDecoratorData, DecoratorData, MethodDecoratorData, MethodParameterDecoratorData, ParameterDecoratorData, PropertyDecoratorData, PropertyOrAccessorDecoratorData } from './decorator-data';
3
+ export declare type Decorator = ClassDecorator | PropertyDecorator | MethodDecorator | ParameterDecorator;
4
+ export declare type DecoratorHandler = (data: DecoratorData) => ReturnType<Decorator>;
5
+ export declare type ClassDecoratorHandler<T extends Constructor> = (data: ClassDecoratorData) => void | undefined | T;
6
+ export declare type PropertyDecoratorHandler = (data: PropertyDecoratorData) => void;
7
+ export declare type AccessorDecoratorHandler = (data: AccessorDecoratorData) => void;
8
+ export declare type PropertyOrAccessorDecoratorHandler = <T>(data: PropertyOrAccessorDecoratorData) => void | TypedPropertyDescriptor<T>;
9
+ export declare type MethodDecoratorHandler = <T>(data: MethodDecoratorData) => void | TypedPropertyDescriptor<T>;
10
+ export declare type ParameterDecoratorHandler = (data: ParameterDecoratorData) => void;
11
+ export declare type ConstructorParameterDecoratorHandler = (data: ConstructorParameterDecoratorData) => void;
12
+ export declare type MethodParameterDecoratorHandler = (data: MethodParameterDecoratorData) => void;
13
+ export declare type CreateDecoratorOptions = {
14
+ data?: Record<string | symbol>;
15
+ };
16
+ export declare function createDecorator(decorator: DecoratorHandler, options?: CreateDecoratorOptions): Decorator;
17
+ export declare function createClassDecorator<T extends Constructor>(decorator: ClassDecoratorHandler<T>, options?: CreateDecoratorOptions): ClassDecorator;
18
+ export declare function createPropertyDecorator(decorator: PropertyDecoratorHandler, options?: CreateDecoratorOptions): PropertyDecorator;
19
+ export declare function createAccessorDecorator(decorator: AccessorDecoratorHandler, options?: CreateDecoratorOptions): MethodDecorator;
20
+ export declare function createPropertyOrAccessorDecorator(decorator: PropertyOrAccessorDecoratorHandler, options?: CreateDecoratorOptions): MethodDecorator;
21
+ export declare function createMethodDecorator(decorator: MethodDecoratorHandler, options?: CreateDecoratorOptions): MethodDecorator;
22
+ export declare function createParameterDecorator(decorator: ParameterDecoratorHandler, options?: CreateDecoratorOptions): ParameterDecorator;
23
+ export declare function createConstructorParameterDecorator(decorator: ConstructorParameterDecoratorHandler, options?: CreateDecoratorOptions): ParameterDecorator;
24
+ export declare function createMethodParameterDecorator(decorator: MethodParameterDecoratorHandler, options?: CreateDecoratorOptions): ParameterDecorator;
25
+ export declare function getConstructor<T extends Constructor = Constructor>(constructorOrTarget: object): T;
26
+ export declare function getTypeInfoString(type: Constructor): string;
27
+ export declare function printType(type: Constructor): void;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.printType = exports.getTypeInfoString = exports.getConstructor = exports.createMethodParameterDecorator = exports.createConstructorParameterDecorator = exports.createParameterDecorator = exports.createMethodDecorator = exports.createPropertyOrAccessorDecorator = exports.createAccessorDecorator = exports.createPropertyDecorator = exports.createClassDecorator = exports.createDecorator = void 0;
4
+ const type_guards_1 = require("../utils/type-guards");
5
+ const decorator_data_1 = require("./decorator-data");
6
+ const registry_1 = require("./registry");
7
+ function createDecorator(decorator, options = {}) {
8
+ function decoratorWrapper(target, propertyKey, descriptorOrParameterIndex) {
9
+ const data = (0, decorator_data_1.getDecoratorData)(target, propertyKey, descriptorOrParameterIndex);
10
+ const metadata = registry_1.reflectionRegistry.registerDecoratorData(data);
11
+ if ((0, type_guards_1.isDefined)(options.data)) {
12
+ for (const [key, value] of Object.entries(options.data)) {
13
+ metadata.data.set(key, value);
14
+ }
15
+ }
16
+ return decorator(data);
17
+ }
18
+ return decoratorWrapper;
19
+ }
20
+ exports.createDecorator = createDecorator;
21
+ function createClassDecorator(decorator, options = {}) {
22
+ return createDecorator((data) => {
23
+ (0, type_guards_1.assert)(data.type == 'class', `Class decorator cannot be used for ${data.type}.`);
24
+ return decorator(data);
25
+ }, options);
26
+ }
27
+ exports.createClassDecorator = createClassDecorator;
28
+ function createPropertyDecorator(decorator, options = {}) {
29
+ return createDecorator((data) => {
30
+ (0, type_guards_1.assert)(data.type == 'property', `Property decorator cannot be used for ${data.type}.`);
31
+ decorator(data);
32
+ }, options);
33
+ }
34
+ exports.createPropertyDecorator = createPropertyDecorator;
35
+ function createAccessorDecorator(decorator, options = {}) {
36
+ return createDecorator((data) => {
37
+ (0, type_guards_1.assert)(data.type == 'accessor', `Accessor decorator cannot be used for ${data.type}.`);
38
+ decorator(data);
39
+ }, options);
40
+ }
41
+ exports.createAccessorDecorator = createAccessorDecorator;
42
+ function createPropertyOrAccessorDecorator(decorator, options = {}) {
43
+ return createDecorator((data) => {
44
+ (0, type_guards_1.assert)((data.type == 'property') || (data.type == 'accessor'), `Property or accessor decorator cannot be used for ${data.type}.`);
45
+ decorator(data);
46
+ }, options);
47
+ }
48
+ exports.createPropertyOrAccessorDecorator = createPropertyOrAccessorDecorator;
49
+ function createMethodDecorator(decorator, options = {}) {
50
+ return createDecorator((data) => {
51
+ (0, type_guards_1.assert)(data.type == 'method', `Method decorator cannot be used for ${data.type}.`);
52
+ return decorator(data);
53
+ }, options);
54
+ }
55
+ exports.createMethodDecorator = createMethodDecorator;
56
+ function createParameterDecorator(decorator, options = {}) {
57
+ return createDecorator((data) => {
58
+ (0, type_guards_1.assert)((data.type == 'parameter') || (data.type == 'constructor-parameter'), `Parameter decorator cannot be used for ${data.type}.`);
59
+ decorator(data);
60
+ }, options);
61
+ }
62
+ exports.createParameterDecorator = createParameterDecorator;
63
+ function createConstructorParameterDecorator(decorator, options = {}) {
64
+ return createDecorator((data) => {
65
+ (0, type_guards_1.assert)((data.type == 'constructor-parameter'), `Constructor-Parameter decorator cannot be used for ${data.type}.`);
66
+ decorator(data);
67
+ }, options);
68
+ }
69
+ exports.createConstructorParameterDecorator = createConstructorParameterDecorator;
70
+ function createMethodParameterDecorator(decorator, options = {}) {
71
+ return createDecorator((data) => {
72
+ (0, type_guards_1.assert)((data.type == 'parameter'), `Method-Parameter decorator cannot be used for ${data.type}.`);
73
+ decorator(data);
74
+ }, options);
75
+ }
76
+ exports.createMethodParameterDecorator = createMethodParameterDecorator;
77
+ function getConstructor(constructorOrTarget) {
78
+ return (0, type_guards_1.isFunction)(constructorOrTarget)
79
+ ? constructorOrTarget
80
+ : constructorOrTarget.constructor;
81
+ }
82
+ exports.getConstructor = getConstructor;
83
+ function getTypeInfoString(type) {
84
+ const lines = [];
85
+ const metadata = registry_1.reflectionRegistry.getMetadata(type);
86
+ const constructorParameters = metadata.parameters.map((parameter) => parameter.type.name).join(', ');
87
+ lines.push(`${metadata.constructor.name}(${constructorParameters})`);
88
+ for (const [key, propertyMetadata] of metadata.staticProperties) {
89
+ const propertyKey = (0, type_guards_1.isSymbol)(key) ? `[${key.toString()}]` : key;
90
+ lines.push(` static ${propertyKey}: ${propertyMetadata.type.name}`);
91
+ }
92
+ for (const [key, methodMetadata] of metadata.staticMethods) {
93
+ const propertyKey = (0, type_guards_1.isSymbol)(key) ? `[${key.toString()}]` : key;
94
+ const parameters = metadata.parameters.map((parameter) => parameter.type.name).join(', ');
95
+ lines.push(` static ${propertyKey}(${parameters}): ${methodMetadata.returnType?.name ?? 'void'}`);
96
+ }
97
+ for (const [key, propertyMetadata] of metadata.properties) {
98
+ const propertyKey = (0, type_guards_1.isSymbol)(key) ? `[${key.toString()}]` : key;
99
+ lines.push(` ${propertyKey}: ${propertyMetadata.type.name}`);
100
+ }
101
+ for (const [key, methodMetadata] of metadata.methods) {
102
+ const propertyKey = (0, type_guards_1.isSymbol)(key) ? `[${key.toString()}]` : key;
103
+ const parameters = metadata.parameters.map((parameter) => parameter.type.name).join(', ');
104
+ lines.push(` ${propertyKey}(${parameters}): ${methodMetadata.returnType?.name ?? 'void'}`);
105
+ }
106
+ return lines.join('\n');
107
+ }
108
+ exports.getTypeInfoString = getTypeInfoString;
109
+ // eslint-disable-next-line max-statements, max-lines-per-function
110
+ function printType(type) {
111
+ const text = getTypeInfoString(type);
112
+ console.log(text);
113
+ }
114
+ exports.printType = printType;
115
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../source/reflection/utils.ts"],"names":[],"mappings":"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"}
@@ -69,7 +69,7 @@ class ObjectSchemaValidator extends schema_validator_1.SchemaValidator {
69
69
  const unknownKeys = (0, map_1.differenceMaps)(valueEntries, this.validatorEntries);
70
70
  if ((unknownKeys.length > 0) && (this.schema.mask != true) && ((0, type_guards_1.isBoolean)(this.schema.mask) || !options.mask) && (this.schema.keepUnknown != true)) {
71
71
  const keys = unknownKeys.map((entry) => entry[0]).join(', ');
72
- return { valid: false, error: (0, schema_error_1.schemaError)(`unexpecet keys in object: ${keys}`, path) };
72
+ return { valid: false, error: (0, schema_error_1.schemaError)(`unexpected keys in object: ${keys}`, path) };
73
73
  }
74
74
  return { valid: true, value: valueEntries };
75
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../source/schema/schemas/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../source/schema/schemas/object.ts"],"names":[],"mappings":";;;AAEA,yCAA6C;AAC7C,yDAAgD;AAChD,kDAA2D;AAE3D,0DAAuE;AAEvE,oCAAwC;AAexC,MAAa,qBAA6D,SAAQ,kCAA0C;IAG1H,YAAY,UAA2C,EAAE,MAAiC;QACxF,KAAK,CAAC,MAAM,CAAC,CAAC;QAEd,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,MAAM,CAA+E,CAA2B,EAAE,CAA2B;QAClJ,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAwC,CAAC;QAEvJ,MAAM,MAAM,GAA+C;YACzD,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE;SACtD,CAAC;QAEF,OAAO,IAAI,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,CAAC,uBAAI,CAAC,CAAC,KAAc,EAAE,OAAiC,EAAE,IAAc;QACtE,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YACzB,OAAO,cAAc,CAAC;SACvB;QAED,IAAI,YAAY,GAAW,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACpD,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,GAAa,CAAC,CAAC;YAE3D,MAAM,8BAA8B,GAAG,SAAS,CAAC,uBAAI,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,GAAa,CAAC,CAAC,CAAC;YAErG,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE;gBACzC,OAAO,8BAA8B,CAAC;aACvC;YAED,YAAY,CAAC,GAAa,CAAC,GAAG,8BAA8B,CAAC,KAAK,CAAC;SACpE;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE;YACnC,YAAY,GAAG,EAAE,GAAI,KAAgB,EAAE,GAAG,YAAY,EAAE,CAAC;SAC1D;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAmC,EAAE,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,CAAC,4BAAS,CAAC,CAAC,KAAc,EAAE,OAAiC,EAAE,IAAc;QACjF,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;YACzB,OAAO,cAAc,CAAC;SACvB;QAED,IAAI,YAAY,GAAW,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACpD,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,GAAa,CAAC,CAAC;YAE3D,MAAM,8BAA8B,GAAG,MAAM,SAAS,CAAC,4BAAS,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,GAAa,CAAC,CAAC,CAAC;YAEhH,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE;gBACzC,OAAO,8BAA8B,CAAC;aACvC;YAED,YAAY,CAAC,GAAa,CAAC,GAAG,8BAA8B,CAAC,KAAK,CAAC;SACpE;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE;YACnC,YAAY,GAAG,EAAE,GAAI,KAAgB,EAAE,GAAG,YAAY,EAAE,CAAC;SAC1D;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAmC,EAAE,CAAC;IACrE,CAAC;IAEO,SAAS,CAAC,KAAc,EAAE,OAAiC,EAAE,IAAc;QACjF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YACrB,OAAO,UAAU,CAAC;SACnB;aACI,IAAI,KAAK,KAAK,IAAI,EAAE;YACvB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;SACpF;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,IAAA,oBAAc,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAExE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAA,uBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE;YACjJ,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAA,0BAAW,EAAC,8BAA8B,IAAI,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;SACzF;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAC9C,CAAC;CACF;AAhGD,sDAgGC;AAED,SAAgB,MAAM,CAAwC,OAAwC,EAAE,OAA6D;IACnK,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAqC,CAAC;IACrF,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAU,CAAC,CAAC;IAEpG,MAAM,MAAM,GAAG,IAAA,oBAAY,EAA4B;QACrD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAM;QACxD,GAAG,OAAO;KACX,CAAC,CAAC;IAEH,OAAO,IAAI,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAXD,wBAWC;AAED,SAAgB,MAAM,CAA+E,CAA2B,EAAE,CAA2B;IAC3J,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAFD,wBAEC"}
@@ -1,4 +1,5 @@
1
1
  export * from './config';
2
+ export * from './keyword-rewriter';
2
3
  export * from './model';
3
4
  export * from './module';
4
5
  export * from './search-index';
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./config"), exports);
18
+ __exportStar(require("./keyword-rewriter"), exports);
18
19
  __exportStar(require("./model"), exports);
19
20
  __exportStar(require("./module"), exports);
20
21
  __exportStar(require("./search-index"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/search-index/elastic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,iDAA+B;AAC/B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/search-index/elastic/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,qDAAmC;AACnC,0CAAwB;AACxB,2CAAyB;AACzB,iDAA+B;AAC/B,0CAAwB"}
@@ -0,0 +1,8 @@
1
+ export declare class KeywordRewriter {
2
+ private readonly fields;
3
+ constructor(fields: Iterable<string>);
4
+ add(field: string): void;
5
+ remove(field: string): void;
6
+ requiresRewrite(field: string): boolean;
7
+ rewriteIfRequired(field: string): string;
8
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeywordRewriter = void 0;
4
+ class KeywordRewriter {
5
+ constructor(fields) {
6
+ this.fields = new Set(fields);
7
+ }
8
+ add(field) {
9
+ this.fields.add(field);
10
+ }
11
+ remove(field) {
12
+ this.fields.delete(field);
13
+ }
14
+ requiresRewrite(field) {
15
+ return this.fields.has(field);
16
+ }
17
+ rewriteIfRequired(field) {
18
+ return this.requiresRewrite(field) ? `${field}.keyword` : field;
19
+ }
20
+ }
21
+ exports.KeywordRewriter = KeywordRewriter;
22
+ //# sourceMappingURL=keyword-rewriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyword-rewriter.js","sourceRoot":"","sources":["../../../source/search-index/elastic/keyword-rewriter.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;IAG1B,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,CAAC;CACF;AAtBD,0CAsBC"}
@@ -7,6 +7,7 @@ import { SearchIndex } from "..";
7
7
  import type { Client } from '@elastic/elasticsearch';
8
8
  import type { IndicesIndexSettings } from '@elastic/elasticsearch/lib/api/types';
9
9
  import type { ElasticSearchIndexConfig } from './config';
10
+ import { KeywordRewriter } from './keyword-rewriter';
10
11
  import type { ElasticIndexMapping } from './model';
11
12
  export declare class ElasticSearchIndex<T extends Entity> extends SearchIndex<T> implements AfterResolve {
12
13
  private readonly logger;
@@ -14,8 +15,8 @@ export declare class ElasticSearchIndex<T extends Entity> extends SearchIndex<T>
14
15
  readonly indexName: string;
15
16
  readonly indexSettings: IndicesIndexSettings;
16
17
  readonly indexMapping: ElasticIndexMapping<T>;
17
- readonly sortKeywordRewrites: Set<string>;
18
- constructor(client: Client, config: ElasticSearchIndexConfig<T>, indexSettings: IndicesIndexSettings, indexMapping: ElasticIndexMapping<T>, sortKeywordRewrites: Set<string>, logger: Logger);
18
+ readonly keywordRewriter: KeywordRewriter;
19
+ constructor(client: Client, config: ElasticSearchIndexConfig<T>, indexSettings: IndicesIndexSettings, indexMapping: ElasticIndexMapping<T>, keywordRewrites: Iterable<string>, logger: Logger);
19
20
  [afterResolve](): Promise<void>;
20
21
  initialize(): Promise<void>;
21
22
  refresh(): Promise<void>;
@@ -24,6 +25,7 @@ export declare class ElasticSearchIndex<T extends Entity> extends SearchIndex<T>
24
25
  delete(id: string): Promise<void>;
25
26
  deleteByQuery(query: Query<T>): Promise<void>;
26
27
  search(searchQueryOrCursor: Query<T> | string, options?: QueryOptions<T>): Promise<SearchResult<T>>;
28
+ count(query: Query<T>, options?: QueryOptions<T>): Promise<number>;
27
29
  drop(): Promise<void>;
28
30
  exists(): Promise<boolean>;
29
31
  }
@@ -8,17 +8,18 @@ const base64_1 = require("../../utils/base64");
8
8
  const encoding_1 = require("../../utils/encoding");
9
9
  const object_1 = require("../../utils/object");
10
10
  const type_guards_1 = require("../../utils/type-guards");
11
+ const keyword_rewriter_1 = require("./keyword-rewriter");
11
12
  const query_converter_1 = require("./query-converter");
12
13
  const sort_converter_1 = require("./sort-converter");
13
14
  class ElasticSearchIndex extends search_index_1.SearchIndex {
14
- constructor(client, config, indexSettings, indexMapping, sortKeywordRewrites, logger) {
15
+ constructor(client, config, indexSettings, indexMapping, keywordRewrites, logger) {
15
16
  super();
16
17
  this.client = client;
17
18
  this.indexName = config.indexName;
18
19
  this.indexSettings = indexSettings;
19
20
  this.indexMapping = indexMapping;
20
- this.sortKeywordRewrites = sortKeywordRewrites;
21
21
  this.logger = logger;
22
+ this.keywordRewriter = new keyword_rewriter_1.KeywordRewriter(keywordRewrites);
22
23
  }
23
24
  async [container_1.afterResolve]() {
24
25
  await this.initialize();
@@ -91,7 +92,7 @@ class ElasticSearchIndex extends search_index_1.SearchIndex {
91
92
  if ((0, type_guards_1.isDefined)(cursorData) && (0, type_guards_1.isDefined)(options?.skip)) {
92
93
  throw new Error('cursor and skip cannot be used at the same time');
93
94
  }
94
- const sort = cursorData?.sort ?? (options?.sort ?? []).map((sortItem) => (0, sort_converter_1.convertSort)(sortItem, this.sortKeywordRewrites));
95
+ const sort = cursorData?.sort ?? (options?.sort ?? []).map((sortItem) => (0, sort_converter_1.convertSort)(sortItem, this.keywordRewriter));
95
96
  search.sort = sort;
96
97
  search.from = options?.skip;
97
98
  search.size = options?.limit ?? cursorData?.options?.limit;
@@ -105,6 +106,16 @@ class ElasticSearchIndex extends search_index_1.SearchIndex {
105
106
  const result = { total, milliseconds: response.took, totalIsLowerBound, cursor, items: resultItems };
106
107
  return result;
107
108
  }
109
+ async count(query, options) {
110
+ if ((0, type_guards_1.isDefined)(options?.skip) || (0, type_guards_1.isDefined)(options?.limit)) {
111
+ throw new Error('Options skip and limit for count are not support in ElasticSearchIndex.');
112
+ }
113
+ const result = await this.client.count({
114
+ index: this.indexName,
115
+ query: (0, query_converter_1.convertQuery)(query)
116
+ });
117
+ return result.count;
118
+ }
108
119
  async drop() {
109
120
  const exists = await this.exists();
110
121
  if (!exists) {
@@ -1 +1 @@
1
- {"version":3,"file":"search-index.js","sourceRoot":"","sources":["../../../source/search-index/elastic/search-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-index.js","sourceRoot":"","sources":["../../../source/search-index/elastic/search-index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { Entity, Sort } from "../../database";
2
+ import type { KeywordRewriter } from './keyword-rewriter';
2
3
  import type { SortCombinations } from './model';
3
- export declare function convertSort<T extends Entity>(sort: Sort<T>, keywordRewrites: Set<string>): SortCombinations<T>;
4
+ export declare function convertSort<T extends Entity>(sort: Sort<T>, keywordRewriter: KeywordRewriter): SortCombinations<T>;
@@ -6,10 +6,9 @@ const renameMap = new Map([
6
6
  ['$score', '_score']
7
7
  ]);
8
8
  // eslint-disable-next-line max-lines-per-function, max-statements, complexity
9
- function convertSort(sort, keywordRewrites) {
9
+ function convertSort(sort, keywordRewriter) {
10
10
  const name = renameMap.get(sort.field) ?? sort.field;
11
- const rewrite = keywordRewrites.has(name);
12
- const field = rewrite ? `${name}.keyword` : name;
11
+ const field = keywordRewriter.rewriteIfRequired(name);
13
12
  const order = sort.order ?? 'asc';
14
13
  if (((field != '_score') && (order == 'asc')) || ((field == '_score') && (order == 'desc'))) {
15
14
  return field;
@@ -1 +1 @@
1
- {"version":3,"file":"sort-converter.js","sourceRoot":"","sources":["../../../source/search-index/elastic/sort-converter.ts"],"names":[],"mappings":";;;AAGA,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,CAAC,IAAI,EAAE,KAAK,CAAC;IACb,CAAC,QAAQ,EAAE,QAAQ,CAAC;CACrB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,SAAgB,WAAW,CAAmB,IAAa,EAAE,eAA4B;IACvF,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAe,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;IAC/D,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,MAAM,KAAK,GAAc,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAE7C,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,EAAE;QAC3F,OAAO,KAAgB,CAAC;KACzB;IAED,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAyB,CAAC;AACnD,CAAC;AAXD,kCAWC"}
1
+ {"version":3,"file":"sort-converter.js","sourceRoot":"","sources":["../../../source/search-index/elastic/sort-converter.ts"],"names":[],"mappings":";;;AAIA,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,CAAC,IAAI,EAAE,KAAK,CAAC;IACb,CAAC,QAAQ,EAAE,QAAQ,CAAC;CACrB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,SAAgB,WAAW,CAAmB,IAAa,EAAE,eAAgC;IAC3F,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAe,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;IAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,KAAK,GAAc,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAE7C,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,EAAE;QAC3F,OAAO,KAAgB,CAAC;KACzB;IAED,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAyB,CAAC;AACnD,CAAC;AAVD,kCAUC"}
@@ -11,6 +11,7 @@ export declare class MemorySearchIndex<T extends Entity> extends SearchIndex<T>
11
11
  delete(id: string): Promise<void>;
12
12
  deleteByQuery(query: Query<T>): Promise<void>;
13
13
  search(queryOrCursor: string | Query<T>, options?: QueryOptions<T>): Promise<SearchResult<T>>;
14
+ count(query: Query<T>, options?: QueryOptions<T> | undefined): Promise<number>;
14
15
  drop(): Promise<void>;
15
16
  private _delete;
16
17
  private indexEntity;
@@ -83,6 +83,10 @@ class MemorySearchIndex extends search_index_1.SearchIndex {
83
83
  };
84
84
  return result;
85
85
  }
86
+ async count(query, options) {
87
+ const items = await this.searchAll(query, options);
88
+ return items.length;
89
+ }
86
90
  // eslint-disable-next-line @typescript-eslint/require-await
87
91
  async drop() {
88
92
  this.allSet.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"memory-search-index.js","sourceRoot":"","sources":["../../../source/search-index/memory/memory-search-index.ts"],"names":[],"mappings":";;;AACA,uDAAoE;AACpE,yDAAiD;AACjD,iDAAgD;AAChD,yCAAuD;AACvD,6CAAsC;AACtC,yDAA6E;AAC7E,kDAA8C;AAG9C,MAAa,iBAAoC,SAAQ,0BAAc;IAMrE,YAAY,aAA0B;QACpC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,wBAAU,CAAC,GAAG,EAAE,CAAC,IAAI,wBAAU,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,KAAK,CAAC,QAAa;QACvB,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC1B;IACH,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAe;QACjC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE;YACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAChC;IACH,CAAC;IAED,oGAAoG;IACpG,KAAK,CAAC,MAAM,CAAC,aAAgC,EAAE,UAA2B,EAAE;QAC1E,IAAI,IAAA,sBAAQ,EAAC,aAAa,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QAED,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE9C,IAAI,KAAU,CAAC;QAEf,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YACvB,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;SAC1B;aACI;YACH,MAAM,IAAI,GAAa,EAAE,CAAC;YAE1B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE;gBACpC,MAAM,SAAS,GAAI,KAA6B,CAAC,KAAK,CAAC;gBACvD,MAAM,aAAa,GAAG,IAAA,sBAAQ,EAAC,SAAS,CAAC,CAAC;gBAE1C,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;gBACxD,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAE9D,MAAM,SAAS,GAAa,EAAE,CAAC;gBAE/B,IAAI,IAAA,sBAAQ,EAAC,IAAI,CAAC,EAAE;oBAClB,MAAM,MAAM,GAAG,IAAA,uBAAa,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAElF,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;wBACtB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC7B;oBAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;wBAC1B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;qBACrD;iBACF;gBAED,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,IAAA,mBAAa,EAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,eAAS,EAAC,GAAG,SAAS,CAAC,CAAC;gBACjF,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;aAClC;YAED,KAAK,GAAG,IAAA,mBAAa,EAAC,GAAG,IAAI,CAAC,CAAC;SAChC;QAED,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC3B,KAAK,CAAC,IAAI,CAAC,IAAA,2CAA8B,EAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAgB,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAU,CAAC,CAAC,CAAC,CAAC;SAC/J;QAED,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,IAAA,uBAAS,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACjC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAuB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3F,MAAM,MAAM,GAAoB;YAC9B,KAAK,EAAE,WAAW,CAAC,MAAM;YACzB,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,KAAK,EAAE,WAAW;SACnB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAEO,OAAO,CAAC,EAAU;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElC,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;IAEO,WAAW,CAAC,MAAS;QAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAElC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAEhC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aAC3D;SACF;IACH,CAAC;IAEO,YAAY,CAAC,MAAS;QAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAEhC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACpD;SACF;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF;AAlJD,8CAkJC;AAED,SAAS,SAAS,CAAC,KAAU;IAC3B,IAAI,IAAA,+BAAiB,EAAC,KAAK,CAAC,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,CAAC;KAChB;IAED,IAAI,CAAC,IAAA,sBAAQ,EAAC,KAAK,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IAED,MAAM,eAAe,GAAG,IAAA,uBAAa,EAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAClC;SACF;KACF;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"memory-search-index.js","sourceRoot":"","sources":["../../../source/search-index/memory/memory-search-index.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ export declare abstract class SearchIndex<T extends Entity> {
37
37
  abstract search(query: Query<T>, options?: QueryOptions<T>): Promise<SearchResult<T>>;
38
38
  abstract search(cursor: string, options?: QueryOptions<T>): Promise<SearchResult<T>>;
39
39
  abstract search(queryOrCursor: Query<T> | string, options?: QueryOptions<T>): Promise<SearchResult<T>>;
40
+ abstract count(query: Query<T>, options?: QueryOptions<T>): Promise<number>;
40
41
  /**
41
42
  * drop index. If you only want to delete all items from the index, use {@link deleteByQuery} with an empty query.
42
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"search-index.js","sourceRoot":"","sources":["../../source/search-index/search-index.ts"],"names":[],"mappings":";;;AAEA,sDAAgD;AAShD,MAAsB,WAAW;IAG/B;;;;OAIG;IACH,KAAK,CAAC,CAAC,YAAY,CAAC,KAAe,EAAE,OAAgC;QACnE,IAAI,MAA0B,CAAC;QAE/B,GAAG;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAEvB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACrB,QACM,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,KAAe,EAAE,OAAyB;QACxD,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,IAAI,MAA0B,CAAC;QAE/B,GAAG;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAEvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC5B,QACM,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;QAE1B,OAAQ,EAA4B,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;IAC1D,CAAC;CA4BF;AAlED,kCAkEC"}
1
+ {"version":3,"file":"search-index.js","sourceRoot":"","sources":["../../source/search-index/search-index.ts"],"names":[],"mappings":";;;AAEA,sDAAgD;AAShD,MAAsB,WAAW;IAG/B;;;;OAIG;IACH,KAAK,CAAC,CAAC,YAAY,CAAC,KAAe,EAAE,OAAgC;QACnE,IAAI,MAA0B,CAAC;QAE/B,GAAG;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAEvB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACrB,QACM,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,KAAe,EAAE,OAAyB;QACxD,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,IAAI,MAA0B,CAAC;QAE/B,GAAG;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAEvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC5B,QACM,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;QAE1B,OAAQ,EAA4B,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC;IAC1D,CAAC;CA8BF;AApED,kCAoEC"}
package/types.d.ts CHANGED
@@ -37,9 +37,14 @@ export declare type UndefinableJsonArray = UndefinableJsonInnerNode[];
37
37
  export declare type Enumeration = EnumerationArray | EnumerationObject;
38
38
  export declare type EnumerationArray = readonly [string | number, ...(string | number)[]];
39
39
  export declare type EnumerationObject = StringMap<string | number>;
40
- export declare type Constructor<T = any, Args extends any[] = any> = Type<T, Args>;
41
- export declare type Type<T = any, Args extends any[] = any> = new (...args: Args) => T;
42
- export declare type AbstractType<T = any, Args extends any[] = any> = abstract new (...args: Args) => T;
40
+ export declare type Type<T = any, Arguments extends any[] = any> = Constructor<T, Arguments> & {
41
+ prototype: T;
42
+ };
43
+ export declare type Constructor<T = any, Arguments extends any[] = any> = new (...args: Arguments) => T;
44
+ export declare type AbstractType<T = any, Arguments extends any[] = any> = AbstractConstructor<T, Arguments> & {
45
+ prototype: T;
46
+ };
47
+ export declare type AbstractConstructor<T = any, Arguments extends any[] = any> = abstract new (...args: Arguments) => T;
43
48
  export declare type ReturnTypeOrT<T> = T extends (...args: any) => infer R ? R : T;
44
49
  export declare type Record<K extends keyof any = any, V = any> = {
45
50
  [P in K]: V;
@@ -46,11 +46,11 @@ export declare function assertBigInt(value: any, message?: AssertionMessage): as
46
46
  export declare function assertNotBigInt<T>(value: T, message?: AssertionMessage): asserts value is InferIsNotType<T, typeof isBigInt>;
47
47
  export declare function assertBigIntPass(value: any, message?: AssertionMessage): InferIsType<typeof isBigInt>;
48
48
  export declare function assertNotBigIntPass<T>(value: T, message?: AssertionMessage): InferIsNotType<T, typeof isBigInt>;
49
- export declare function isFunction(value: any): value is Function;
49
+ export declare function isFunction<T extends Function = Function>(value: any): value is T;
50
50
  export declare function isNotFunction<T>(value: T): value is InferIsNotType<T, typeof isFunction>;
51
- export declare function assertFunction(value: any, message?: AssertionMessage): asserts value is InferIsType<typeof isFunction>;
51
+ export declare function assertFunction<T extends Function = Function>(value: any, message?: AssertionMessage): asserts value is InferIsType<typeof isFunction<T>>;
52
52
  export declare function assertNotFunction<T>(value: T, message?: AssertionMessage): asserts value is InferIsNotType<T, typeof isFunction>;
53
- export declare function assertFunctionPass(value: any, message?: AssertionMessage): InferIsType<typeof isFunction>;
53
+ export declare function assertFunctionPass<T extends Function = Function>(value: any, message?: AssertionMessage): InferIsType<typeof isFunction<T>>;
54
54
  export declare function assertNotFunctionPass<T>(value: T, message?: AssertionMessage): InferIsNotType<T, typeof isFunction>;
55
55
  export declare function isSymbol(value: any): value is symbol;
56
56
  export declare function isNotSymbol<T>(value: T): value is InferIsNotType<T, typeof isSymbol>;