@tstdl/base 0.71.63 → 0.71.66

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/http/client.d.ts +1 -0
  5. package/examples/http/client.js +18 -0
  6. package/examples/http/client.js.map +1 -0
  7. package/examples/reflection/basic.d.ts +11 -0
  8. package/examples/reflection/basic.js +69 -0
  9. package/examples/reflection/basic.js.map +1 -0
  10. package/http/client/http-client.js +5 -4
  11. package/http/client/http-client.js.map +1 -1
  12. package/image-service/image-service.d.ts +1 -1
  13. package/module/modules/function.module.d.ts +10 -0
  14. package/module/modules/function.module.js +16 -0
  15. package/module/modules/function.module.js.map +1 -0
  16. package/module/modules/index.d.ts +1 -0
  17. package/module/modules/index.js +1 -0
  18. package/module/modules/index.js.map +1 -1
  19. package/package.json +12 -12
  20. package/reflection/decorator-data.d.ts +47 -0
  21. package/reflection/decorator-data.js +68 -0
  22. package/reflection/decorator-data.js.map +1 -0
  23. package/reflection/decorators.d.ts +12 -0
  24. package/reflection/decorators.js +43 -0
  25. package/reflection/decorators.js.map +1 -0
  26. package/reflection/index.d.ts +4 -0
  27. package/reflection/index.js +21 -0
  28. package/reflection/index.js.map +1 -0
  29. package/reflection/registry.d.ts +42 -0
  30. package/reflection/registry.js +95 -0
  31. package/reflection/registry.js.map +1 -0
  32. package/reflection/utils.d.ts +27 -0
  33. package/reflection/utils.js +115 -0
  34. package/reflection/utils.js.map +1 -0
  35. package/schema/schemas/object.js +1 -1
  36. package/schema/schemas/object.js.map +1 -1
  37. package/search-index/elastic/index.d.ts +1 -0
  38. package/search-index/elastic/index.js +1 -0
  39. package/search-index/elastic/index.js.map +1 -1
  40. package/search-index/elastic/keyword-rewriter.d.ts +8 -0
  41. package/search-index/elastic/keyword-rewriter.js +22 -0
  42. package/search-index/elastic/keyword-rewriter.js.map +1 -0
  43. package/search-index/elastic/search-index.d.ts +3 -2
  44. package/search-index/elastic/search-index.js +4 -3
  45. package/search-index/elastic/search-index.js.map +1 -1
  46. package/search-index/elastic/sort-converter.d.ts +2 -1
  47. package/search-index/elastic/sort-converter.js +2 -3
  48. package/search-index/elastic/sort-converter.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,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./decorator-data"), exports);
18
+ __exportStar(require("./decorators"), exports);
19
+ __exportStar(require("./registry"), exports);
20
+ __exportStar(require("./utils"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/reflection/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B;AAC3B,0CAAwB"}
@@ -0,0 +1,42 @@
1
+ import type { Constructor, Type } from "../types";
2
+ import type { DecoratorData } from './decorator-data';
3
+ declare type Data = Map<string | symbol, any>;
4
+ export declare type ReflectionMetadata = TypeMetadata | PropertyMetadata | MethodMetadata | ParameterMetadata;
5
+ export declare type TypeMetadata = {
6
+ constructor: Constructor;
7
+ parameters: ParameterMetadata[];
8
+ properties: Map<string | symbol, PropertyMetadata>;
9
+ staticProperties: Map<string | symbol, PropertyMetadata>;
10
+ methods: Map<string | symbol, MethodMetadata>;
11
+ staticMethods: Map<string | symbol, MethodMetadata>;
12
+ data: Data;
13
+ };
14
+ export declare type PropertyMetadata = {
15
+ type: Type;
16
+ data: Data;
17
+ };
18
+ export declare type MethodMetadata = {
19
+ parameters: ParameterMetadata[];
20
+ returnType: Type | undefined;
21
+ data: Data;
22
+ };
23
+ export declare type ParameterMetadata = {
24
+ type: Type;
25
+ data: Data;
26
+ };
27
+ export declare class ReflectionRegistry {
28
+ private readonly metadataMap;
29
+ constructor();
30
+ getMetadata(type: Constructor): TypeMetadata;
31
+ register(target: object, propertyKey?: string | symbol, descriptorOrParameterIndex?: PropertyDescriptor | number): DecoratorData;
32
+ registerDecoratorData(data: DecoratorData): ReflectionMetadata;
33
+ /**
34
+ * Unregister a type. Can be useful if you replace a class with an decorator.
35
+ * However, this should not be necessary since WeakRefs are used.
36
+ * @param type Type to unregister
37
+ */
38
+ unregister(type: Type): void;
39
+ private initializeType;
40
+ }
41
+ export declare const reflectionRegistry: ReflectionRegistry;
42
+ export {};
@@ -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>;
@@ -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;
@@ -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"}
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>;