@tstdl/base 0.82.40 → 0.82.41

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.82.40",
3
+ "version": "0.82.41",
4
4
  "author": "Patrick Hein",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,5 +1,9 @@
1
+ import type { PickBy, ReplaceKey } from "../types";
1
2
  import type { Observable } from 'rxjs';
2
3
  import type { LocalizableText } from './localizable-text.model';
3
4
  import { LocalizationService } from './localization.service';
4
5
  export type DynamicText = LocalizableText | Observable<LocalizableText>;
5
6
  export declare function resolveDynamicText$(text: DynamicText, localizationService?: LocalizationService): Observable<string>;
7
+ export declare function resolveDynamicTexts$(texts: DynamicText[], localizationService?: LocalizationService): Observable<string[]>;
8
+ export declare function resolveNestedDynamicText$<T, K extends keyof PickBy<T, DynamicText>>(item: T, key: K, localizationService?: LocalizationService): Observable<ReplaceKey<T, K, string>>;
9
+ export declare function resolveNestedDynamicTexts$<T, K extends keyof PickBy<T, DynamicText>>(items: T[], key: K, localizationService?: LocalizationService): Observable<ReplaceKey<T, K, string>[]>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveDynamicText$ = void 0;
3
+ exports.resolveNestedDynamicTexts$ = exports.resolveNestedDynamicText$ = exports.resolveDynamicTexts$ = exports.resolveDynamicText$ = void 0;
4
4
  const container_1 = require("../container");
5
5
  const type_guards_1 = require("../utils/type-guards");
6
6
  const rxjs_1 = require("rxjs");
@@ -16,4 +16,21 @@ function resolveDynamicText$(text, localizationService) {
16
16
  return resolvedLocalizationService.localize$(text);
17
17
  }
18
18
  exports.resolveDynamicText$ = resolveDynamicText$;
19
+ function resolveDynamicTexts$(texts, localizationService) {
20
+ const resolvedLocalizationService = localizationService ?? container_1.container.resolve(localization_service_1.LocalizationService);
21
+ const resolvedTextObservables = texts.map((text) => resolveDynamicText$(text, resolvedLocalizationService));
22
+ return (0, rxjs_1.combineLatest)(resolvedTextObservables);
23
+ }
24
+ exports.resolveDynamicTexts$ = resolveDynamicTexts$;
25
+ function resolveNestedDynamicText$(item, key, localizationService) {
26
+ return resolveDynamicText$(item[key], localizationService)
27
+ .pipe((0, rxjs_1.map)((resolvedText) => ({ ...item, [key]: resolvedText })));
28
+ }
29
+ exports.resolveNestedDynamicText$ = resolveNestedDynamicText$;
30
+ function resolveNestedDynamicTexts$(items, key, localizationService) {
31
+ const resolvedLocalizationService = localizationService ?? container_1.container.resolve(localization_service_1.LocalizationService);
32
+ const resolvedTextObservables = items.map((item) => resolveNestedDynamicText$(item, key, resolvedLocalizationService));
33
+ return (0, rxjs_1.combineLatest)(resolvedTextObservables);
34
+ }
35
+ exports.resolveNestedDynamicTexts$ = resolveNestedDynamicTexts$;
19
36
  //# sourceMappingURL=dynamic-text.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-text.model.js","sourceRoot":"","sources":["../../source/text/dynamic-text.model.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AACxC,sDAA+C;AAE/C,+BAAmD;AAEnD,iEAA6D;AAI7D,SAAgB,mBAAmB,CAAC,IAAiB,EAAE,mBAAyC;IAC9F,MAAM,2BAA2B,GAAG,mBAAmB,IAAI,qBAAS,CAAC,OAAO,CAAC,0CAAmB,CAAC,CAAC;IAElG,IAAI,IAAA,mBAAY,EAAC,IAAI,CAAC,EAAE;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;KACzF;IAED,IAAI,IAAA,sBAAQ,EAAC,IAAI,CAAC,EAAE;QAClB,OAAO,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC;KACjB;IAED,OAAO,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAZD,kDAYC"}
1
+ {"version":3,"file":"dynamic-text.model.js","sourceRoot":"","sources":["../../source/text/dynamic-text.model.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AAExC,sDAA+C;AAE/C,+BAAuE;AAEvE,iEAA6D;AAI7D,SAAgB,mBAAmB,CAAC,IAAiB,EAAE,mBAAyC;IAC9F,MAAM,2BAA2B,GAAG,mBAAmB,IAAI,qBAAS,CAAC,OAAO,CAAC,0CAAmB,CAAC,CAAC;IAElG,IAAI,IAAA,mBAAY,EAAC,IAAI,CAAC,EAAE;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAA,gBAAS,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;KACzF;IAED,IAAI,IAAA,sBAAQ,EAAC,IAAI,CAAC,EAAE;QAClB,OAAO,IAAA,SAAE,EAAC,IAAI,CAAC,CAAC;KACjB;IAED,OAAO,2BAA2B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAZD,kDAYC;AAED,SAAgB,oBAAoB,CAAC,KAAoB,EAAE,mBAAyC;IAClG,MAAM,2BAA2B,GAAG,mBAAmB,IAAI,qBAAS,CAAC,OAAO,CAAC,0CAAmB,CAAC,CAAC;IAClG,MAAM,uBAAuB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAE5G,OAAO,IAAA,oBAAa,EAAC,uBAAuB,CAAC,CAAC;AAChD,CAAC;AALD,oDAKC;AAED,SAAgB,yBAAyB,CAA4C,IAAO,EAAE,GAAM,EAAE,mBAAyC;IAC7I,OAAO,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAgB,EAAE,mBAAmB,CAAC;SACtE,IAAI,CACH,IAAA,UAAG,EAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,CAA6B,CAAC,CACtF,CAAC;AACN,CAAC;AALD,8DAKC;AAED,SAAgB,0BAA0B,CAA4C,KAAU,EAAE,GAAM,EAAE,mBAAyC;IACjJ,MAAM,2BAA2B,GAAG,mBAAmB,IAAI,qBAAS,CAAC,OAAO,CAAC,0CAAmB,CAAC,CAAC;IAClG,MAAM,uBAAuB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAEvH,OAAO,IAAA,oBAAa,EAAC,uBAAuB,CAAC,CAAC;AAChD,CAAC;AALD,gEAKC"}
package/types.d.ts CHANGED
@@ -157,6 +157,9 @@ export type DeepReadonlyObject<T> = {
157
157
  readonly [P in keyof T]: DeepReadonly<T[P]>;
158
158
  };
159
159
  export type DeepReadonlyArray<T> = readonly DeepReadonly<T>[];
160
+ export type ReplaceKey<T, K extends keyof T, U> = SimplifyObject<{
161
+ [P in keyof T]: P extends K ? U : T[P];
162
+ }>;
160
163
  export type DeepPartial<T> = T extends BuiltIn ? T : T extends any[] ? DeepPartialArray<T[number]> : T extends readonly any[] ? Readonly<DeepPartialArray<T[number]>> : DeepPartialObject<T>;
161
164
  export type DeepPartialObject<T> = {
162
165
  [P in keyof T]?: DeepPartial<T[P]>;