@tasenor/common-node 1.11.30 → 1.11.32

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.
@@ -15,7 +15,7 @@ export declare class BackendPlugin {
15
15
  description: string;
16
16
  path: string;
17
17
  languages: Record<string, Record<string, string>>;
18
- private catalog?;
18
+ protected catalog?: BackendCatalog;
19
19
  constructor();
20
20
  /**
21
21
  * Hook to be executed once during installing.
@@ -1 +1 @@
1
- {"version":3,"file":"BackendPlugin.js","sourceRoot":"","sources":["../../../src/plugins/BackendPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BackendPlugin.js","sourceRoot":"","sources":["../../../src/plugins/BackendPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { BackendCatalog, Language, LanguageHandler } from '@tasenor/common';
2
+ import { BackendPlugin } from '.';
3
+ /**
4
+ * A plugin providing translations for a language in backend.
5
+ */
6
+ export declare class LanguageBackendPlugin extends BackendPlugin {
7
+ handler: LanguageHandler;
8
+ protected catalog?: BackendCatalog;
9
+ constructor(handler: LanguageHandler);
10
+ getLanguages(): Set<Language>;
11
+ flag(language: Language): any;
12
+ date2str(date: any): string;
13
+ time2str(date: any): string;
14
+ str2date(date: any, sample: Date | undefined): string | undefined;
15
+ }
@@ -0,0 +1,18 @@
1
+ import { BackendPlugin } from '.';
2
+ /**
3
+ * A plugin providing translations for a language in backend.
4
+ */
5
+ export class LanguageBackendPlugin extends BackendPlugin {
6
+ handler;
7
+ constructor(handler) {
8
+ super();
9
+ this.handler = handler;
10
+ this.languages = handler.languages;
11
+ }
12
+ getLanguages() { return this.handler.getLanguages(); }
13
+ flag(language) { return this.handler.flag(language); }
14
+ date2str(date) { return this.handler.date2str(date); }
15
+ time2str(date) { return this.handler.time2str(date); }
16
+ str2date(date, sample) { return this.handler.str2date(date, sample); }
17
+ }
18
+ //# sourceMappingURL=LanguageBackendPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageBackendPlugin.js","sourceRoot":"","sources":["../../../src/plugins/LanguageBackendPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,CAAA;AAEjC;;EAEE;AACF,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IACtD,OAAO,CAAiB;IAGxB,YAAY,OAAwB;QAClC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACpC,CAAC;IAED,YAAY,KAAoB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA,CAAC,CAAC;IACpE,IAAI,CAAC,QAAkB,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAC;IAC/D,QAAQ,CAAC,IAAI,IAAY,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,IAAY,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAwB,IAAwB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA,CAAC,CAAC;CAC5G"}
@@ -1,4 +1,4 @@
1
- import { KnexDatabase } from '..';
1
+ import { KnexDatabase, LanguageBackendPlugin } from '..';
2
2
  import { ReportOptions, ReportID, ReportFlagName, ReportItem, ReportQueryParams, ReportLine, AccountNumber, ReportColumnDefinition, PeriodModel, ReportFormat, Language, ReportMeta, ReportData, ReportTotals, Report } from '@tasenor/common';
3
3
  import { BackendPlugin } from './BackendPlugin';
4
4
  /**
@@ -7,6 +7,7 @@ import { BackendPlugin } from './BackendPlugin';
7
7
  export declare class ReportPlugin extends BackendPlugin {
8
8
  private formats;
9
9
  protected schemes: Set<string> | undefined;
10
+ protected languagePlugins: Partial<Record<Language, LanguageBackendPlugin>>;
10
11
  constructor(...formats: ReportID[]);
11
12
  /**
12
13
  * Read in report structure file.
@@ -71,6 +72,10 @@ export declare class ReportPlugin extends BackendPlugin {
71
72
  * @returns A knex query prepared.
72
73
  */
73
74
  constructSqlQuery(db: KnexDatabase, options: ReportQueryParams, settings: ReportMeta): Promise<any[]>;
75
+ /**
76
+ * Scan string for `{...}` sub-strings and translate parts.
77
+ */
78
+ translate(text: string, lang: Language): string;
74
79
  /**
75
80
  * Construct a report data for the report.
76
81
  * @param db
@@ -89,7 +94,7 @@ export declare class ReportPlugin extends BackendPlugin {
89
94
  * * `useRemainingColumns` if set, extend this column index to use all the rest columns in the row.
90
95
  * * `accountDetails` if true, after this are summarized accounts under this entry.
91
96
  * * `isAccount` if true, this is an account entry.
92
- * * `needLocalization` if set, value should be localized, i.e. translated via Localization component in ui.
97
+ * * `needLocalization` if set, value should be localized, i.e. translated according to the language selected.
93
98
  * * `name` Title of the entry.
94
99
  * * `number` Account number if the entry is an account.
95
100
  * * `values` An object with entry for each column mapping name of the columnt to the value to display.
@@ -112,7 +117,7 @@ export declare class ReportPlugin extends BackendPlugin {
112
117
  */
113
118
  preProcess(id: ReportID, entries: ReportData[], options: ReportQueryParams, settings: ReportMeta, columns: ReportColumnDefinition[]): Promise<ReportLine[]>;
114
119
  /**
115
- * Do post processing for report data before sending it.
120
+ * Do post processing for report data before sending it. By default, do translations.
116
121
  * @param id Report type.
117
122
  * @param data Calculated report data
118
123
  * @param options Report options.
@@ -12,9 +12,12 @@ export class ReportPlugin extends BackendPlugin {
12
12
  formats;
13
13
  // Is set, allow this report only on DBs having those accounting schemes.
14
14
  schemes;
15
+ // Store translation plugin references.
16
+ languagePlugins;
15
17
  constructor(...formats) {
16
18
  super();
17
19
  this.formats = formats;
20
+ this.languagePlugins = {};
18
21
  this.schemes = undefined;
19
22
  }
20
23
  /**
@@ -199,6 +202,28 @@ export class ReportPlugin extends BackendPlugin {
199
202
  .orderBy('entry.id'));
200
203
  return sqlQuery;
201
204
  }
205
+ /**
206
+ * Scan string for `{...}` sub-strings and translate parts.
207
+ */
208
+ translate(text, lang) {
209
+ let match;
210
+ do {
211
+ match = /(\{(\d\d\d\d-\d\d-\d\d)\})/.exec(text);
212
+ if (match) {
213
+ if (!this.languagePlugins[lang]) {
214
+ this.languagePlugins[lang] = this.catalog?.getLanguagePlugin(lang);
215
+ }
216
+ text = text.replace(match[1], this.languagePlugins[lang]?.date2str(match[2]) || match[2]);
217
+ }
218
+ else {
219
+ match = /(\{(.*?)\})/.exec(text);
220
+ if (match) {
221
+ text = text.replace(match[1], this.t(match[2], lang));
222
+ }
223
+ }
224
+ } while (match);
225
+ return text;
226
+ }
202
227
  /**
203
228
  * Construct a report data for the report.
204
229
  * @param db
@@ -217,7 +242,7 @@ export class ReportPlugin extends BackendPlugin {
217
242
  * * `useRemainingColumns` if set, extend this column index to use all the rest columns in the row.
218
243
  * * `accountDetails` if true, after this are summarized accounts under this entry.
219
244
  * * `isAccount` if true, this is an account entry.
220
- * * `needLocalization` if set, value should be localized, i.e. translated via Localization component in ui.
245
+ * * `needLocalization` if set, value should be localized, i.e. translated according to the language selected.
221
246
  * * `name` Title of the entry.
222
247
  * * `number` Account number if the entry is an account.
223
248
  * * `values` An object with entry for each column mapping name of the columnt to the value to display.
@@ -247,8 +272,12 @@ export class ReportPlugin extends BackendPlugin {
247
272
  }
248
273
  // Apply query filtering.
249
274
  entries = this.doFiltering(id, entries, options, settings);
250
- // We have now relevant entries collected. Use plugin features next.
275
+ // Construct columns.
251
276
  const columns = await this.getColumns(id, entries, options, settings);
277
+ columns.forEach(column => {
278
+ column.title = this.translate(column.title, options.lang || 'en');
279
+ });
280
+ // We have now relevant entries collected. Use plugin features next.
252
281
  let data = await this.preProcess(id, entries, options, settings, columns);
253
282
  data = await this.postProcess(id, data, options, settings, columns);
254
283
  const report = {
@@ -297,7 +326,7 @@ export class ReportPlugin extends BackendPlugin {
297
326
  throw new Error(`Report plugin ${this.constructor.name} does not implement preProcess().`);
298
327
  }
299
328
  /**
300
- * Do post processing for report data before sending it.
329
+ * Do post processing for report data before sending it. By default, do translations.
301
330
  * @param id Report type.
302
331
  * @param data Calculated report data
303
332
  * @param options Report options.
@@ -306,6 +335,11 @@ export class ReportPlugin extends BackendPlugin {
306
335
  * @returns
307
336
  */
308
337
  async postProcess(id, data, options, settings, columns) {
338
+ data.forEach(item => {
339
+ if ('needLocalization' in item && item.needLocalization && item.name) {
340
+ item.name = this.translate(item.name, options.lang || 'en');
341
+ }
342
+ });
309
343
  return data;
310
344
  }
311
345
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ReportPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ReportPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReportPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ReportPlugin.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  export * from './BackendPlugin';
5
5
  export * from './DataPlugin';
6
6
  export * from './ImportPlugin';
7
+ export * from './LanguageBackendPlugin';
7
8
  export * from './ReportPlugin';
8
9
  export * from './SchemePlugin';
9
10
  export * from './ServicePlugin';
@@ -4,6 +4,7 @@
4
4
  export * from './BackendPlugin';
5
5
  export * from './DataPlugin';
6
6
  export * from './ImportPlugin';
7
+ export * from './LanguageBackendPlugin';
7
8
  export * from './ReportPlugin';
8
9
  export * from './SchemePlugin';
9
10
  export * from './ServicePlugin';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tasenor/common-node",
3
- "version": "1.11.30",
3
+ "version": "1.11.32",
4
4
  "description": "Common Node-parts of Tasenor project",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -35,7 +35,7 @@
35
35
  "sqlite3": "^5.1.7",
36
36
  "tar": "^6.2.0",
37
37
  "ts-opaque": "^3.0.1",
38
- "@tasenor/common": "1.11.30"
38
+ "@tasenor/common": "1.11.32"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@jest/globals": "^29.7.0",
@@ -44,7 +44,7 @@
44
44
  "jest": "^29.7.0",
45
45
  "ts-jest": "^29.1.2",
46
46
  "typescript": "^5.3.3",
47
- "@tasenor/config": "1.11.30",
47
+ "@tasenor/config": "1.11.32",
48
48
  "eslint-config-tasenor": "0.0.0"
49
49
  },
50
50
  "scripts": {
@@ -20,7 +20,7 @@ export class BackendPlugin {
20
20
  public description: string
21
21
  public path: string
22
22
  public languages: Record<string, Record<string, string>>
23
- private catalog?: BackendCatalog
23
+ protected catalog?: BackendCatalog
24
24
 
25
25
  constructor() {
26
26
  this.id = null
@@ -0,0 +1,22 @@
1
+ import { BackendCatalog, Language, LanguageHandler } from '@tasenor/common'
2
+ import { BackendPlugin } from '.'
3
+
4
+ /**
5
+ * A plugin providing translations for a language in backend.
6
+ */
7
+ export class LanguageBackendPlugin extends BackendPlugin {
8
+ handler: LanguageHandler
9
+ declare protected catalog?: BackendCatalog
10
+
11
+ constructor(handler: LanguageHandler) {
12
+ super()
13
+ this.handler = handler
14
+ this.languages = handler.languages
15
+ }
16
+
17
+ getLanguages(): Set<Language> { return this.handler.getLanguages() }
18
+ flag(language: Language) { return this.handler.flag(language) }
19
+ date2str(date): string { return this.handler.date2str(date) }
20
+ time2str(date): string { return this.handler.time2str(date) }
21
+ str2date(date, sample: Date | undefined): string | undefined { return this.handler.str2date(date, sample) }
22
+ }
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
2
  import fs from 'fs'
3
- import { KnexDatabase, data2csv } from '..'
3
+ import { KnexDatabase, LanguageBackendPlugin, data2csv } from '..'
4
4
  import dayjs from 'dayjs'
5
5
  import quarterOfYear from 'dayjs/plugin/quarterOfYear'
6
6
  import { ReportOptions, ReportID, ReportFlagName, ReportItem, ReportQueryParams, ReportLine, AccountNumber, ReportColumnDefinition, PeriodModel, ReportFormat, Language, PK, ReportMeta, ReportData, ReportTotals, Report } from '@tasenor/common'
@@ -16,10 +16,13 @@ export class ReportPlugin extends BackendPlugin {
16
16
  private formats: ReportID[]
17
17
  // Is set, allow this report only on DBs having those accounting schemes.
18
18
  protected schemes: Set<string> | undefined
19
+ // Store translation plugin references.
20
+ protected languagePlugins: Partial<Record<Language, LanguageBackendPlugin>>
19
21
 
20
22
  constructor(...formats: ReportID[]) {
21
23
  super()
22
24
  this.formats = formats
25
+ this.languagePlugins = {}
23
26
  this.schemes = undefined
24
27
  }
25
28
 
@@ -234,6 +237,29 @@ export class ReportPlugin extends BackendPlugin {
234
237
  return sqlQuery
235
238
  }
236
239
 
240
+ /**
241
+ * Scan string for `{...}` sub-strings and translate parts.
242
+ */
243
+ translate(text: string, lang: Language): string {
244
+ let match
245
+ do {
246
+ match = /(\{(\d\d\d\d-\d\d-\d\d)\})/.exec(text)
247
+ if (match) {
248
+ if (!this.languagePlugins[lang]) {
249
+ this.languagePlugins[lang] = this.catalog?.getLanguagePlugin(lang) as LanguageBackendPlugin | undefined
250
+ }
251
+ text = text.replace(match[1], this.languagePlugins[lang]?.date2str(match[2]) || match[2])
252
+ } else {
253
+ match = /(\{(.*?)\})/.exec(text)
254
+ if (match) {
255
+ text = text.replace(match[1], this.t(match[2], lang))
256
+ }
257
+ }
258
+ } while (match)
259
+
260
+ return text
261
+ }
262
+
237
263
  /**
238
264
  * Construct a report data for the report.
239
265
  * @param db
@@ -252,7 +278,7 @@ export class ReportPlugin extends BackendPlugin {
252
278
  * * `useRemainingColumns` if set, extend this column index to use all the rest columns in the row.
253
279
  * * `accountDetails` if true, after this are summarized accounts under this entry.
254
280
  * * `isAccount` if true, this is an account entry.
255
- * * `needLocalization` if set, value should be localized, i.e. translated via Localization component in ui.
281
+ * * `needLocalization` if set, value should be localized, i.e. translated according to the language selected.
256
282
  * * `name` Title of the entry.
257
283
  * * `number` Account number if the entry is an account.
258
284
  * * `values` An object with entry for each column mapping name of the columnt to the value to display.
@@ -289,8 +315,13 @@ export class ReportPlugin extends BackendPlugin {
289
315
  // Apply query filtering.
290
316
  entries = this.doFiltering(id, entries, options, settings)
291
317
 
292
- // We have now relevant entries collected. Use plugin features next.
318
+ // Construct columns.
293
319
  const columns: ReportColumnDefinition[] = await this.getColumns(id, entries, options as ReportOptions, settings)
320
+ columns.forEach(column => {
321
+ column.title = this.translate(column.title, options.lang || 'en')
322
+ })
323
+
324
+ // We have now relevant entries collected. Use plugin features next.
294
325
  let data = await this.preProcess(id, entries, options, settings, columns) as ReportLine[]
295
326
  data = await this.postProcess(id, data, options, settings, columns)
296
327
  const report = {
@@ -344,7 +375,7 @@ export class ReportPlugin extends BackendPlugin {
344
375
  }
345
376
 
346
377
  /**
347
- * Do post processing for report data before sending it.
378
+ * Do post processing for report data before sending it. By default, do translations.
348
379
  * @param id Report type.
349
380
  * @param data Calculated report data
350
381
  * @param options Report options.
@@ -353,6 +384,11 @@ export class ReportPlugin extends BackendPlugin {
353
384
  * @returns
354
385
  */
355
386
  async postProcess(id: ReportID, data: ReportLine[], options: ReportQueryParams, settings: ReportMeta, columns: ReportColumnDefinition[]): Promise<ReportLine[]> {
387
+ data.forEach(item => {
388
+ if ('needLocalization' in item && item.needLocalization && item.name) {
389
+ item.name = this.translate(item.name, options.lang || 'en')
390
+ }
391
+ })
356
392
  return data
357
393
  }
358
394
 
@@ -4,6 +4,7 @@
4
4
  export * from './BackendPlugin'
5
5
  export * from './DataPlugin'
6
6
  export * from './ImportPlugin'
7
+ export * from './LanguageBackendPlugin'
7
8
  export * from './ReportPlugin'
8
9
  export * from './SchemePlugin'
9
10
  export * from './ServicePlugin'