@genesislcap/foundation-utils 14.118.0 → 14.119.0

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.
@@ -341,6 +341,132 @@
341
341
  }
342
342
  ]
343
343
  },
344
+ {
345
+ "kind": "javascript-module",
346
+ "path": "src/decorators/index.ts",
347
+ "declarations": [],
348
+ "exports": [
349
+ {
350
+ "kind": "js",
351
+ "name": "*",
352
+ "declaration": {
353
+ "name": "*",
354
+ "package": "./renderOnChange"
355
+ }
356
+ }
357
+ ]
358
+ },
359
+ {
360
+ "kind": "javascript-module",
361
+ "path": "src/decorators/renderOnChange.ts",
362
+ "declarations": [
363
+ {
364
+ "kind": "function",
365
+ "name": "renderOnChange",
366
+ "parameters": [
367
+ {
368
+ "name": "target",
369
+ "type": {
370
+ "text": "FASTElement & { render(): void }"
371
+ },
372
+ "description": "The target to define the property change handler on."
373
+ },
374
+ {
375
+ "name": "name",
376
+ "type": {
377
+ "text": "string"
378
+ },
379
+ "description": "The property name."
380
+ }
381
+ ],
382
+ "description": "Defines a property changed handler that calls a render() method on the target as an internal observation enhancement.",
383
+ "privacy": "public"
384
+ }
385
+ ],
386
+ "exports": [
387
+ {
388
+ "kind": "js",
389
+ "name": "renderOnChange",
390
+ "declaration": {
391
+ "name": "renderOnChange",
392
+ "module": "src/decorators/renderOnChange.ts"
393
+ }
394
+ }
395
+ ]
396
+ },
397
+ {
398
+ "kind": "javascript-module",
399
+ "path": "src/directives/index.ts",
400
+ "declarations": [],
401
+ "exports": [
402
+ {
403
+ "kind": "js",
404
+ "name": "*",
405
+ "declaration": {
406
+ "name": "*",
407
+ "package": "./sync"
408
+ }
409
+ },
410
+ {
411
+ "kind": "js",
412
+ "name": "*",
413
+ "declaration": {
414
+ "name": "*",
415
+ "package": "./when-else"
416
+ }
417
+ }
418
+ ]
419
+ },
420
+ {
421
+ "kind": "javascript-module",
422
+ "path": "src/design-system/design-system.ts",
423
+ "declarations": [
424
+ {
425
+ "kind": "function",
426
+ "name": "assureDesignSystem",
427
+ "return": {
428
+ "type": {
429
+ "text": "DesignSystemModule"
430
+ }
431
+ },
432
+ "parameters": [
433
+ {
434
+ "name": "module",
435
+ "type": {
436
+ "text": "DesignSystemModule"
437
+ }
438
+ }
439
+ ],
440
+ "description": "assureDesignSystem.",
441
+ "privacy": "public"
442
+ }
443
+ ],
444
+ "exports": [
445
+ {
446
+ "kind": "js",
447
+ "name": "assureDesignSystem",
448
+ "declaration": {
449
+ "name": "assureDesignSystem",
450
+ "module": "src/design-system/design-system.ts"
451
+ }
452
+ }
453
+ ]
454
+ },
455
+ {
456
+ "kind": "javascript-module",
457
+ "path": "src/design-system/index.ts",
458
+ "declarations": [],
459
+ "exports": [
460
+ {
461
+ "kind": "js",
462
+ "name": "*",
463
+ "declaration": {
464
+ "name": "*",
465
+ "package": "./design-system"
466
+ }
467
+ }
468
+ ]
469
+ },
344
470
  {
345
471
  "kind": "javascript-module",
346
472
  "path": "src/env/index.ts",
@@ -564,59 +690,6 @@
564
690
  }
565
691
  ]
566
692
  },
567
- {
568
- "kind": "javascript-module",
569
- "path": "src/decorators/index.ts",
570
- "declarations": [],
571
- "exports": [
572
- {
573
- "kind": "js",
574
- "name": "*",
575
- "declaration": {
576
- "name": "*",
577
- "package": "./renderOnChange"
578
- }
579
- }
580
- ]
581
- },
582
- {
583
- "kind": "javascript-module",
584
- "path": "src/decorators/renderOnChange.ts",
585
- "declarations": [
586
- {
587
- "kind": "function",
588
- "name": "renderOnChange",
589
- "parameters": [
590
- {
591
- "name": "target",
592
- "type": {
593
- "text": "FASTElement & { render(): void }"
594
- },
595
- "description": "The target to define the property change handler on."
596
- },
597
- {
598
- "name": "name",
599
- "type": {
600
- "text": "string"
601
- },
602
- "description": "The property name."
603
- }
604
- ],
605
- "description": "Defines a property changed handler that calls a render() method on the target as an internal observation enhancement.",
606
- "privacy": "public"
607
- }
608
- ],
609
- "exports": [
610
- {
611
- "kind": "js",
612
- "name": "renderOnChange",
613
- "declaration": {
614
- "name": "renderOnChange",
615
- "module": "src/decorators/renderOnChange.ts"
616
- }
617
- }
618
- ]
619
- },
620
693
  {
621
694
  "kind": "javascript-module",
622
695
  "path": "src/error/errorMap.ts",
@@ -745,6 +818,11 @@
745
818
  "privacy": "public",
746
819
  "readonly": true
747
820
  },
821
+ {
822
+ "kind": "method",
823
+ "name": "values",
824
+ "privacy": "public"
825
+ },
748
826
  {
749
827
  "kind": "field",
750
828
  "name": "messages",
@@ -811,78 +889,6 @@
811
889
  }
812
890
  ]
813
891
  },
814
- {
815
- "kind": "javascript-module",
816
- "path": "src/design-system/design-system.ts",
817
- "declarations": [
818
- {
819
- "kind": "function",
820
- "name": "assureDesignSystem",
821
- "return": {
822
- "type": {
823
- "text": "DesignSystemModule"
824
- }
825
- },
826
- "parameters": [
827
- {
828
- "name": "module",
829
- "type": {
830
- "text": "DesignSystemModule"
831
- }
832
- }
833
- ],
834
- "privacy": "public"
835
- }
836
- ],
837
- "exports": [
838
- {
839
- "kind": "js",
840
- "name": "assureDesignSystem",
841
- "declaration": {
842
- "name": "assureDesignSystem",
843
- "module": "src/design-system/design-system.ts"
844
- }
845
- }
846
- ]
847
- },
848
- {
849
- "kind": "javascript-module",
850
- "path": "src/design-system/index.ts",
851
- "declarations": [],
852
- "exports": [
853
- {
854
- "kind": "js",
855
- "name": "*",
856
- "declaration": {
857
- "name": "*",
858
- "package": "./design-system"
859
- }
860
- }
861
- ]
862
- },
863
- {
864
- "kind": "javascript-module",
865
- "path": "src/directives/index.ts",
866
- "declarations": [],
867
- "exports": [
868
- {
869
- "kind": "js",
870
- "name": "*",
871
- "declaration": {
872
- "name": "*",
873
- "package": "./sync"
874
- }
875
- },
876
- {
877
- "kind": "js",
878
- "name": "*",
879
- "declaration": {
880
- "name": "*",
881
- "package": "./when-else"
882
- }
883
- }
884
- ]
885
- },
886
892
  {
887
893
  "kind": "javascript-module",
888
894
  "path": "src/formatters/datetime.ts",
@@ -1,5 +1,6 @@
1
1
  import { DesignSystem } from '@microsoft/fast-foundation';
2
2
  /**
3
+ * DesignSystemModule.
3
4
  * @public
4
5
  */
5
6
  export interface DesignSystemModule {
@@ -7,10 +8,46 @@ export interface DesignSystemModule {
7
8
  [key: string]: any;
8
9
  }
9
10
  /**
11
+ * DesignSystemResource.
10
12
  * @public
11
13
  */
12
14
  export type DesignSystemResource<T = DesignSystemModule> = Promise<T>;
13
15
  /**
16
+ * assureDesignSystem.
17
+ *
18
+ * @remarks
19
+ * Webpack caching strategies can backfill missing modules with placeholders in an attempt to prevent errors. In the case
20
+ * of offline remotes, we rely on the error to fall back to local versions. This utility assures we have a design system.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * async function zeroDesignSystemImport(): Promise<DesignSystemModule> {
25
+ * let module: DesignSystemModule;
26
+ * let type: ResourceType = ResourceType.remote;
27
+ * try {
28
+ * module = await import('foundationZero/ZeroDesignSystem');
29
+ * return assureDesignSystem(module);
30
+ * } catch (e) {
31
+ * logger.info(
32
+ * `Please note remoteEntry.js load errors are expected if module federated dependencies are offline. Falling back to locally bundled versions.`,
33
+ * );
34
+ * type = ResourceType.local;
35
+ * module = await import('@genesislcap/foundation-zero');
36
+ * return assureDesignSystem(module);
37
+ * } finally {
38
+ * logger.debug(`Using '${type}' version of foundation-zero`);
39
+ * }
40
+ * }
41
+ * ```
42
+ *
43
+ * @example You should also instruct webpack to use strict module handling.
44
+ * ```ts
45
+ * output: {
46
+ * strictModuleErrorHandling: true,
47
+ * strictModuleExceptionHandling: true,
48
+ * }
49
+ * ```
50
+ *
14
51
  * @public
15
52
  */
16
53
  export declare function assureDesignSystem(module: DesignSystemModule): DesignSystemModule;
@@ -1 +1 @@
1
- {"version":3,"file":"design-system.d.ts","sourceRoot":"","sources":["../../../src/design-system/design-system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,CACjB,OAAO,CAAC,EAAE,WAAW,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,kBAAkB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAQjF"}
1
+ {"version":3,"file":"design-system.d.ts","sourceRoot":"","sources":["../../../src/design-system/design-system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,CACjB,OAAO,CAAC,EAAE,WAAW,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,kBAAkB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAQjF"}
@@ -9,7 +9,7 @@ export type ErrorMapLogger = (...args: any[]) => void;
9
9
  /**
10
10
  * @public
11
11
  */
12
- export interface ErrorMap<TErrorDetailMap extends ErrorDetailMap> extends Pick<Map<keyof TErrorDetailMap, Error>, 'get' | 'has' | 'delete' | 'clear' | 'size'> {
12
+ export interface ErrorMap<TErrorDetailMap extends ErrorDetailMap> extends Pick<Map<keyof TErrorDetailMap, Error>, 'get' | 'has' | 'delete' | 'clear' | 'size' | 'values'> {
13
13
  /**
14
14
  * Error map as messages.
15
15
  * @returns string
@@ -83,6 +83,10 @@ export declare class DefaultErrorMap<TErrorDetailMap extends ErrorDetailMap> imp
83
83
  * @public
84
84
  */
85
85
  get size(): number;
86
+ /**
87
+ * @public
88
+ */
89
+ values(): IterableIterator<Error>;
86
90
  /** {@inheritDoc ErrorMap.messages} */
87
91
  get messages(): string;
88
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errorMap.d.ts","sourceRoot":"","sources":["../../../src/error/errorMap.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,eAAe,SAAS,cAAc,CAC9D,SAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC5F;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,eAAe,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,eAAe,CAAC,eAAe,SAAS,cAAc,CACjE,YAAW,QAAQ,CAAC,eAAe,CAAC;IAUxB,OAAO,CAAC,MAAM;IARd,OAAO,CAAC,GAAG,CAA2C;IAElE,uCAAuC;IAC3B,SAAS,EAAE,KAAK,CAAC;IAE7B;;OAEG;gBACiB,MAAM,EAAE,cAAc;IAE1C,iCAAiC;IACjC,GAAG,CAAC,GAAG,EAAE,MAAM,eAAe,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAMnD;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,eAAe,GAAG,KAAK,GAAG,SAAS;IAIlD;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,eAAe,GAAG,OAAO;IAIxC;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,eAAe,GAAG,OAAO;IAa3C;;;OAGG;IACH,KAAK;IAKL;;;;;OAKG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,sCAAsC;IACtC,IAAI,QAAQ,IAAI,MAAM,CAUrB;CACF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,mDACjB,cAAc,8BACoD,CAAC"}
1
+ {"version":3,"file":"errorMap.d.ts","sourceRoot":"","sources":["../../../src/error/errorMap.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,eAAe,SAAS,cAAc,CAC9D,SAAQ,IAAI,CACV,GAAG,CAAC,MAAM,eAAe,EAAE,KAAK,CAAC,EACjC,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CACvD;IACD;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,eAAe,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpD;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,eAAe,CAAC,eAAe,SAAS,cAAc,CACjE,YAAW,QAAQ,CAAC,eAAe,CAAC;IAUxB,OAAO,CAAC,MAAM;IARd,OAAO,CAAC,GAAG,CAA2C;IAElE,uCAAuC;IAC3B,SAAS,EAAE,KAAK,CAAC;IAE7B;;OAEG;gBACiB,MAAM,EAAE,cAAc;IAE1C,iCAAiC;IACjC,GAAG,CAAC,GAAG,EAAE,MAAM,eAAe,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAMnD;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,eAAe,GAAG,KAAK,GAAG,SAAS;IAIlD;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,eAAe,GAAG,OAAO;IAIxC;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,eAAe,GAAG,OAAO;IAa3C;;;OAGG;IACH,KAAK;IAKL;;;;;OAKG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,MAAM;IAIN,sCAAsC;IACtC,IAAI,QAAQ,IAAI,MAAM,CAUrB;CACF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,mDACjB,cAAc,8BACoD,CAAC"}
@@ -5,6 +5,7 @@
5
5
  export type Listener<EventType> = (ev: EventType) => void;
6
6
  /**
7
7
  * Subscribes a listener function to receive events of a specific type.
8
+ * @returns An unsubscribe function.
8
9
  * @public
9
10
  */
10
11
  export type Subscribe<EventType> = (listener: Listener<EventType>) => () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../../src/observer/observer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;AAC1D;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,MAAM,IAAI,CAAC;AACjF;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,QAAQ,CAAC,SAAS;IACjC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,sCAW1B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,YAAa,WAAW,mBAAmB,OAAO,KAAK,GAAG,SAYzF,CAAC"}
1
+ {"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../../src/observer/observer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,SAAS,IAAI,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;AAC1D;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,MAAM,IAAI,CAAC;AACjF;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,QAAQ,CAAC,SAAS;IACjC,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,sCAW1B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,YAAa,WAAW,mBAAmB,OAAO,KAAK,GAAG,SAYzF,CAAC"}
@@ -1,4 +1,39 @@
1
1
  /**
2
+ * assureDesignSystem.
3
+ *
4
+ * @remarks
5
+ * Webpack caching strategies can backfill missing modules with placeholders in an attempt to prevent errors. In the case
6
+ * of offline remotes, we rely on the error to fall back to local versions. This utility assures we have a design system.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * async function zeroDesignSystemImport(): Promise<DesignSystemModule> {
11
+ * let module: DesignSystemModule;
12
+ * let type: ResourceType = ResourceType.remote;
13
+ * try {
14
+ * module = await import('foundationZero/ZeroDesignSystem');
15
+ * return assureDesignSystem(module);
16
+ * } catch (e) {
17
+ * logger.info(
18
+ * `Please note remoteEntry.js load errors are expected if module federated dependencies are offline. Falling back to locally bundled versions.`,
19
+ * );
20
+ * type = ResourceType.local;
21
+ * module = await import('@genesislcap/foundation-zero');
22
+ * return assureDesignSystem(module);
23
+ * } finally {
24
+ * logger.debug(`Using '${type}' version of foundation-zero`);
25
+ * }
26
+ * }
27
+ * ```
28
+ *
29
+ * @example You should also instruct webpack to use strict module handling.
30
+ * ```ts
31
+ * output: {
32
+ * strictModuleErrorHandling: true,
33
+ * strictModuleExceptionHandling: true,
34
+ * }
35
+ * ```
36
+ *
2
37
  * @public
3
38
  */
4
39
  export function assureDesignSystem(module) {
@@ -72,6 +72,12 @@ export class DefaultErrorMap {
72
72
  get size() {
73
73
  return this.map.size;
74
74
  }
75
+ /**
76
+ * @public
77
+ */
78
+ values() {
79
+ return this.map.values();
80
+ }
75
81
  /** {@inheritDoc ErrorMap.messages} */
76
82
  get messages() {
77
83
  const count = this.size;
@@ -230,7 +230,7 @@
230
230
  {
231
231
  "kind": "Function",
232
232
  "canonicalReference": "@genesislcap/foundation-utils!assureDesignSystem:function(1)",
233
- "docComment": "/**\n * @public\n */\n",
233
+ "docComment": "/**\n * assureDesignSystem.\n *\n * @remarks\n *\n * Webpack caching strategies can backfill missing modules with placeholders in an attempt to prevent errors. In the case of offline remotes, we rely on the error to fall back to local versions. This utility assures we have a design system.\n *\n * @example\n * ```ts\n * async function zeroDesignSystemImport(): Promise<DesignSystemModule> {\n * let module: DesignSystemModule;\n * let type: ResourceType = ResourceType.remote;\n * try {\n * module = await import('foundationZero/ZeroDesignSystem');\n * return assureDesignSystem(module);\n * } catch (e) {\n * logger.info(\n * `Please note remoteEntry.js load errors are expected if module federated dependencies are offline. Falling back to locally bundled versions.`,\n * );\n * type = ResourceType.local;\n * module = await import('@genesislcap/foundation-zero');\n * return assureDesignSystem(module);\n * } finally {\n * logger.debug(`Using '${type}' version of foundation-zero`);\n * }\n * }\n * ```\n *\n * @example\n *\n * You should also instruct webpack to use strict module handling.\n * ```ts\n * output: {\n * strictModuleErrorHandling: true,\n * strictModuleExceptionHandling: true,\n * }\n * ```\n *\n * @public\n */\n",
234
234
  "excerptTokens": [
235
235
  {
236
236
  "kind": "Content",
@@ -2109,6 +2109,51 @@
2109
2109
  "isStatic": false,
2110
2110
  "isProtected": false,
2111
2111
  "isAbstract": false
2112
+ },
2113
+ {
2114
+ "kind": "Method",
2115
+ "canonicalReference": "@genesislcap/foundation-utils!DefaultErrorMap#values:member(1)",
2116
+ "docComment": "/**\n * @public\n */\n",
2117
+ "excerptTokens": [
2118
+ {
2119
+ "kind": "Content",
2120
+ "text": "values(): "
2121
+ },
2122
+ {
2123
+ "kind": "Reference",
2124
+ "text": "IterableIterator",
2125
+ "canonicalReference": "!IterableIterator:interface"
2126
+ },
2127
+ {
2128
+ "kind": "Content",
2129
+ "text": "<"
2130
+ },
2131
+ {
2132
+ "kind": "Reference",
2133
+ "text": "Error",
2134
+ "canonicalReference": "!Error:interface"
2135
+ },
2136
+ {
2137
+ "kind": "Content",
2138
+ "text": ">"
2139
+ },
2140
+ {
2141
+ "kind": "Content",
2142
+ "text": ";"
2143
+ }
2144
+ ],
2145
+ "isStatic": false,
2146
+ "returnTypeTokenRange": {
2147
+ "startIndex": 1,
2148
+ "endIndex": 5
2149
+ },
2150
+ "releaseTag": "Public",
2151
+ "isProtected": false,
2152
+ "overloadIndex": 1,
2153
+ "parameters": [],
2154
+ "isOptional": false,
2155
+ "isAbstract": false,
2156
+ "name": "values"
2112
2157
  }
2113
2158
  ],
2114
2159
  "implementsTokenRanges": [
@@ -2327,7 +2372,7 @@
2327
2372
  {
2328
2373
  "kind": "Interface",
2329
2374
  "canonicalReference": "@genesislcap/foundation-utils!DesignSystemModule:interface",
2330
- "docComment": "/**\n * @public\n */\n",
2375
+ "docComment": "/**\n * DesignSystemModule.\n *\n * @public\n */\n",
2331
2376
  "excerptTokens": [
2332
2377
  {
2333
2378
  "kind": "Content",
@@ -2474,7 +2519,7 @@
2474
2519
  {
2475
2520
  "kind": "TypeAlias",
2476
2521
  "canonicalReference": "@genesislcap/foundation-utils!DesignSystemResource:type",
2477
- "docComment": "/**\n * @public\n */\n",
2522
+ "docComment": "/**\n * DesignSystemResource.\n *\n * @public\n */\n",
2478
2523
  "excerptTokens": [
2479
2524
  {
2480
2525
  "kind": "Content",
@@ -2730,7 +2775,7 @@
2730
2775
  },
2731
2776
  {
2732
2777
  "kind": "Content",
2733
- "text": ">, 'get' | 'has' | 'delete' | 'clear' | 'size'>"
2778
+ "text": ">, 'get' | 'has' | 'delete' | 'clear' | 'size' | 'values'>"
2734
2779
  },
2735
2780
  {
2736
2781
  "kind": "Content",
@@ -11863,7 +11908,7 @@
11863
11908
  {
11864
11909
  "kind": "TypeAlias",
11865
11910
  "canonicalReference": "@genesislcap/foundation-utils!Subscribe:type",
11866
- "docComment": "/**\n * Subscribes a listener function to receive events of a specific type.\n *\n * @public\n */\n",
11911
+ "docComment": "/**\n * Subscribes a listener function to receive events of a specific type.\n *\n * @returns An unsubscribe function.\n *\n * @public\n */\n",
11867
11912
  "excerptTokens": [
11868
11913
  {
11869
11914
  "kind": "Content",
@@ -29,6 +29,41 @@ export declare const activeColorScheme: CSSDesignToken<string>;
29
29
  export declare let API_HOST: string;
30
30
 
31
31
  /**
32
+ * assureDesignSystem.
33
+ *
34
+ * @remarks
35
+ * Webpack caching strategies can backfill missing modules with placeholders in an attempt to prevent errors. In the case
36
+ * of offline remotes, we rely on the error to fall back to local versions. This utility assures we have a design system.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * async function zeroDesignSystemImport(): Promise<DesignSystemModule> {
41
+ * let module: DesignSystemModule;
42
+ * let type: ResourceType = ResourceType.remote;
43
+ * try {
44
+ * module = await import('foundationZero/ZeroDesignSystem');
45
+ * return assureDesignSystem(module);
46
+ * } catch (e) {
47
+ * logger.info(
48
+ * `Please note remoteEntry.js load errors are expected if module federated dependencies are offline. Falling back to locally bundled versions.`,
49
+ * );
50
+ * type = ResourceType.local;
51
+ * module = await import('@genesislcap/foundation-zero');
52
+ * return assureDesignSystem(module);
53
+ * } finally {
54
+ * logger.debug(`Using '${type}' version of foundation-zero`);
55
+ * }
56
+ * }
57
+ * ```
58
+ *
59
+ * @example You should also instruct webpack to use strict module handling.
60
+ * ```ts
61
+ * output: {
62
+ * strictModuleErrorHandling: true,
63
+ * strictModuleExceptionHandling: true,
64
+ * }
65
+ * ```
66
+ *
32
67
  * @public
33
68
  */
34
69
  export declare function assureDesignSystem(module: DesignSystemModule): DesignSystemModule;
@@ -220,6 +255,10 @@ export declare class DefaultErrorMap<TErrorDetailMap extends ErrorDetailMap> imp
220
255
  * @public
221
256
  */
222
257
  get size(): number;
258
+ /**
259
+ * @public
260
+ */
261
+ values(): IterableIterator<Error>;
223
262
  /** {@inheritDoc ErrorMap.messages} */
224
263
  get messages(): string;
225
264
  }
@@ -264,6 +303,7 @@ export declare class DefaultServerRowDTOMapper implements ServerRowDTOMapper {
264
303
  }
265
304
 
266
305
  /**
306
+ * DesignSystemModule.
267
307
  * @public
268
308
  */
269
309
  export declare interface DesignSystemModule {
@@ -272,6 +312,7 @@ export declare interface DesignSystemModule {
272
312
  }
273
313
 
274
314
  /**
315
+ * DesignSystemResource.
275
316
  * @public
276
317
  */
277
318
  export declare type DesignSystemResource<T = DesignSystemModule> = Promise<T>;
@@ -301,7 +342,7 @@ export declare type ErrorDetailMap = Record<string, unknown>;
301
342
  /**
302
343
  * @public
303
344
  */
304
- export declare interface ErrorMap<TErrorDetailMap extends ErrorDetailMap> extends Pick<Map<keyof TErrorDetailMap, Error>, 'get' | 'has' | 'delete' | 'clear' | 'size'> {
345
+ export declare interface ErrorMap<TErrorDetailMap extends ErrorDetailMap> extends Pick<Map<keyof TErrorDetailMap, Error>, 'get' | 'has' | 'delete' | 'clear' | 'size' | 'values'> {
305
346
  /**
306
347
  * Error map as messages.
307
348
  * @returns string
@@ -1592,6 +1633,7 @@ export declare let SOCKET_EXT: string;
1592
1633
 
1593
1634
  /**
1594
1635
  * Subscribes a listener function to receive events of a specific type.
1636
+ * @returns An unsubscribe function.
1595
1637
  * @public
1596
1638
  */
1597
1639
  export declare type Subscribe<EventType> = (listener: Listener<EventType>) => () => void;
@@ -4,6 +4,7 @@
4
4
 
5
5
  ## assureDesignSystem() function
6
6
 
7
+ assureDesignSystem.
7
8
 
8
9
  **Signature:**
9
10
 
@@ -21,3 +22,41 @@ export declare function assureDesignSystem(module: DesignSystemModule): DesignSy
21
22
 
22
23
  [DesignSystemModule](./foundation-utils.designsystemmodule.md)
23
24
 
25
+ ## Remarks
26
+
27
+ Webpack caching strategies can backfill missing modules with placeholders in an attempt to prevent errors. In the case of offline remotes, we rely on the error to fall back to local versions. This utility assures we have a design system.
28
+
29
+ ## Example 1
30
+
31
+
32
+ ```ts
33
+ async function zeroDesignSystemImport(): Promise<DesignSystemModule> {
34
+ let module: DesignSystemModule;
35
+ let type: ResourceType = ResourceType.remote;
36
+ try {
37
+ module = await import('foundationZero/ZeroDesignSystem');
38
+ return assureDesignSystem(module);
39
+ } catch (e) {
40
+ logger.info(
41
+ `Please note remoteEntry.js load errors are expected if module federated dependencies are offline. Falling back to locally bundled versions.`,
42
+ );
43
+ type = ResourceType.local;
44
+ module = await import('@genesislcap/foundation-zero');
45
+ return assureDesignSystem(module);
46
+ } finally {
47
+ logger.debug(`Using '${type}' version of foundation-zero`);
48
+ }
49
+ }
50
+ ```
51
+
52
+ ## Example 2
53
+
54
+ You should also instruct webpack to use strict module handling.
55
+
56
+ ```ts
57
+ output: {
58
+ strictModuleErrorHandling: true,
59
+ strictModuleExceptionHandling: true,
60
+ }
61
+ ```
62
+
@@ -35,4 +35,5 @@ export declare class DefaultErrorMap<TErrorDetailMap extends ErrorDetailMap> imp
35
35
  | [get(key)](./foundation-utils.defaulterrormap.get.md) | | Get an error by key. |
36
36
  | [has(key)](./foundation-utils.defaulterrormap.has.md) | | Has an error for key. |
37
37
  | [set(key, error)](./foundation-utils.defaulterrormap.set.md) | | Set an error by key. |
38
+ | [values()](./foundation-utils.defaulterrormap.values.md) | | |
38
39
 
@@ -0,0 +1,16 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-utils](./foundation-utils.md) &gt; [DefaultErrorMap](./foundation-utils.defaulterrormap.md) &gt; [values](./foundation-utils.defaulterrormap.values.md)
4
+
5
+ ## DefaultErrorMap.values() method
6
+
7
+
8
+ **Signature:**
9
+
10
+ ```typescript
11
+ values(): IterableIterator<Error>;
12
+ ```
13
+ **Returns:**
14
+
15
+ IterableIterator&lt;Error&gt;
16
+
@@ -4,6 +4,7 @@
4
4
 
5
5
  ## DesignSystemModule interface
6
6
 
7
+ DesignSystemModule.
7
8
 
8
9
  **Signature:**
9
10
 
@@ -4,6 +4,7 @@
4
4
 
5
5
  ## DesignSystemResource type
6
6
 
7
+ DesignSystemResource.
7
8
 
8
9
  **Signature:**
9
10
 
@@ -8,9 +8,9 @@
8
8
  **Signature:**
9
9
 
10
10
  ```typescript
11
- export interface ErrorMap<TErrorDetailMap extends ErrorDetailMap> extends Pick<Map<keyof TErrorDetailMap, Error>, 'get' | 'has' | 'delete' | 'clear' | 'size'>
11
+ export interface ErrorMap<TErrorDetailMap extends ErrorDetailMap> extends Pick<Map<keyof TErrorDetailMap, Error>, 'get' | 'has' | 'delete' | 'clear' | 'size' | 'values'>
12
12
  ```
13
- **Extends:** Pick&lt;Map&lt;keyof TErrorDetailMap, Error&gt;, 'get' \| 'has' \| 'delete' \| 'clear' \| 'size'&gt;
13
+ **Extends:** Pick&lt;Map&lt;keyof TErrorDetailMap, Error&gt;, 'get' \| 'has' \| 'delete' \| 'clear' \| 'size' \| 'values'&gt;
14
14
 
15
15
  ## Properties
16
16
 
@@ -26,7 +26,7 @@
26
26
 
27
27
  | Function | Description |
28
28
  | --- | --- |
29
- | [assureDesignSystem(module)](./foundation-utils.assuredesignsystem.md) | |
29
+ | [assureDesignSystem(module)](./foundation-utils.assuredesignsystem.md) | assureDesignSystem. |
30
30
  | [createLogger(name, options)](./foundation-utils.createlogger.md) | Creates a logger with the given name and options. |
31
31
  | [customNumberParser(value)](./foundation-utils.customnumberparser.md) | A Default Number Parser for deserializing objects. |
32
32
  | [formatDateTimestamp(timestamp)](./foundation-utils.formatdatetimestamp.md) | Formats \[DATE\] UNIX Timestamps (without time) to readable strings |
@@ -45,7 +45,7 @@
45
45
  | --- | --- |
46
46
  | [Database](./foundation-utils.database.md) | Represents a database with basic CRUD operations. |
47
47
  | [DatabaseRecord](./foundation-utils.databaserecord.md) | Represents a database record. |
48
- | [DesignSystemModule](./foundation-utils.designsystemmodule.md) | |
48
+ | [DesignSystemModule](./foundation-utils.designsystemmodule.md) | DesignSystemModule. |
49
49
  | [DTOMapper](./foundation-utils.dtomapper.md) | |
50
50
  | [ErrorMap](./foundation-utils.errormap.md) | |
51
51
  | [JSONSerializer](./foundation-utils.jsonserializer.md) | An interface representing a JSON serializer. |
@@ -108,7 +108,7 @@
108
108
  | [ConstructableLifecycleHandler](./foundation-utils.constructablelifecyclehandler.md) | |
109
109
  | [ConstructablePendingState](./foundation-utils.constructablependingstate.md) | A mixin that provides functionality for raising <code>pending-state</code> events. |
110
110
  | [ConversionType](./foundation-utils.conversiontype.md) | Represents the possible types of value conversion for data synchronization. |
111
- | [DesignSystemResource](./foundation-utils.designsystemresource.md) | |
111
+ | [DesignSystemResource](./foundation-utils.designsystemresource.md) | DesignSystemResource. |
112
112
  | [ErrorDetailMap](./foundation-utils.errordetailmap.md) | |
113
113
  | [ErrorMapLogger](./foundation-utils.errormaplogger.md) | |
114
114
  | [EventName](./foundation-utils.eventname.md) | Represents the possible event names for data synchronization. |
@@ -25,7 +25,7 @@ export const activeColorScheme: CSSDesignToken<string>;
25
25
  // @public
26
26
  export let API_HOST: string;
27
27
 
28
- // @public (undocumented)
28
+ // @public
29
29
  export function assureDesignSystem(module: DesignSystemModule): DesignSystemModule;
30
30
 
31
31
  // Warning: (ae-internal-missing-underscore) The name "BIG_INT_64_BITS" should be prefixed with an underscore because the declaration is marked as @internal
@@ -144,6 +144,8 @@ export class DefaultErrorMap<TErrorDetailMap extends ErrorDetailMap> implements
144
144
  get messages(): string;
145
145
  set(key: keyof TErrorDetailMap, error: Error): void;
146
146
  get size(): number;
147
+ // (undocumented)
148
+ values(): IterableIterator<Error>;
147
149
  }
148
150
 
149
151
  // @public
@@ -161,7 +163,7 @@ export class DefaultServerRowDTOMapper implements ServerRowDTOMapper {
161
163
  toDTO: (entity: ServerRowEntity) => ServerRowDTO;
162
164
  }
163
165
 
164
- // @public (undocumented)
166
+ // @public
165
167
  export interface DesignSystemModule {
166
168
  // (undocumented)
167
169
  [key: string]: any;
@@ -169,7 +171,7 @@ export interface DesignSystemModule {
169
171
  provideDesignSystem(element?: HTMLElement, prefix?: string): DesignSystem | Pick<DesignSystem, 'register'>;
170
172
  }
171
173
 
172
- // @public (undocumented)
174
+ // @public
173
175
  export type DesignSystemResource<T = DesignSystemModule> = Promise<T>;
174
176
 
175
177
  // Warning: (ae-internal-missing-underscore) The name "DOMContainer" should be prefixed with an underscore because the declaration is marked as @internal
@@ -193,7 +195,7 @@ export interface DTOMapper<TDTO, TEntity> {
193
195
  export type ErrorDetailMap = Record<string, unknown>;
194
196
 
195
197
  // @public (undocumented)
196
- export interface ErrorMap<TErrorDetailMap extends ErrorDetailMap> extends Pick<Map<keyof TErrorDetailMap, Error>, 'get' | 'has' | 'delete' | 'clear' | 'size'> {
198
+ export interface ErrorMap<TErrorDetailMap extends ErrorDetailMap> extends Pick<Map<keyof TErrorDetailMap, Error>, 'get' | 'has' | 'delete' | 'clear' | 'size' | 'values'> {
197
199
  readonly lastError: Error;
198
200
  readonly messages: string;
199
201
  set(key: keyof TErrorDetailMap, error: Error): void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-utils",
3
3
  "description": "Genesis Foundation Utils",
4
- "version": "14.118.0",
4
+ "version": "14.119.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -19,12 +19,12 @@
19
19
  "test": "genx test"
20
20
  },
21
21
  "devDependencies": {
22
- "@genesislcap/foundation-testing": "14.118.0",
23
- "@genesislcap/genx": "14.118.0",
22
+ "@genesislcap/foundation-testing": "14.119.0",
23
+ "@genesislcap/genx": "14.119.0",
24
24
  "rimraf": "^3.0.2"
25
25
  },
26
26
  "dependencies": {
27
- "@genesislcap/foundation-logger": "14.118.0",
27
+ "@genesislcap/foundation-logger": "14.119.0",
28
28
  "@microsoft/fast-components": "^2.21.3",
29
29
  "@microsoft/fast-element": "^1.7.0",
30
30
  "@microsoft/fast-foundation": "^2.33.2",
@@ -42,5 +42,5 @@
42
42
  "access": "public"
43
43
  },
44
44
  "customElements": "dist/custom-elements.json",
45
- "gitHead": "03508c2fc32d208bb7a037a3587b39690cfa752d"
45
+ "gitHead": "e404631dc1081f17be8ba7d9b487adfb6d852bad"
46
46
  }