@tstdl/base 0.71.65 → 0.71.68

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tstdl/base",
3
- "version": "0.71.65",
3
+ "version": "0.71.68",
4
4
  "author": "Patrick Hein",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -15,22 +15,22 @@
15
15
  "pub": "npm run build:prod && rm -vf dist/test* && npm publish dist/"
16
16
  },
17
17
  "dependencies": {
18
- "luxon": "^2",
18
+ "luxon": "^2.4",
19
19
  "reflect-metadata": "^0.1",
20
- "rxjs": "^7",
21
- "type-fest": "^2"
20
+ "rxjs": "^7.5",
21
+ "type-fest": "^2.14"
22
22
  },
23
23
  "devDependencies": {
24
- "@types/chroma-js": "^2.1",
24
+ "@types/chroma-js": "2.1",
25
25
  "@types/koa__router": "8.0",
26
26
  "@types/luxon": "2.3",
27
27
  "@types/minio": "7.0",
28
28
  "@types/mjml": "4.7",
29
- "@types/node": ">=16",
30
- "@types/nodemailer": "^6.4.4",
29
+ "@types/node": "18",
30
+ "@types/nodemailer": "6.4",
31
31
  "@types/yup": "0.29",
32
- "@typescript-eslint/eslint-plugin": "5.29",
33
- "@typescript-eslint/parser": "5.29",
32
+ "@typescript-eslint/eslint-plugin": "5",
33
+ "@typescript-eslint/parser": "5",
34
34
  "eslint": "8.18",
35
35
  "ttypescript": "1.5",
36
36
  "typedoc": "0.23",
@@ -49,7 +49,7 @@
49
49
  "mjml": "^4.12",
50
50
  "mongodb": "^4.7",
51
51
  "nodemailer": "^6.7",
52
- "puppeteer": "^14.4",
52
+ "puppeteer": "^15.1",
53
53
  "superstruct": "^0.16",
54
54
  "undici": "^5.5",
55
55
  "urlpattern-polyfill": "^4.0"
@@ -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":"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"}
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"}