@thisisagile/easy 17.13.8 → 17.13.10

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 (108) hide show
  1. package/dist/{chunk-JICCIN24.mjs → chunk-2KZ5UP6A.mjs} +5 -5
  2. package/dist/{chunk-BM7QLQAQ.mjs → chunk-64S6C743.mjs} +7 -7
  3. package/dist/{chunk-L6CBLUX3.mjs → chunk-6UFIQJVC.mjs} +3 -3
  4. package/dist/{chunk-SX4ETARM.mjs → chunk-B3AQ7EZQ.mjs} +2 -2
  5. package/dist/{chunk-MNTKAUHO.mjs → chunk-BISRC54F.mjs} +2 -2
  6. package/dist/{chunk-6K4R4SKN.mjs → chunk-CRSP7OQT.mjs} +2 -2
  7. package/dist/{chunk-5YMCCYYA.mjs → chunk-CSKOVGAP.mjs} +2 -2
  8. package/dist/{chunk-RSTN6E6S.mjs → chunk-DNWG66S7.mjs} +8 -8
  9. package/dist/{chunk-XZ5M52TO.mjs → chunk-FFK2E2QL.mjs} +3 -3
  10. package/dist/{chunk-VQRR4XHC.mjs → chunk-IMREIDHQ.mjs} +2 -2
  11. package/dist/{chunk-UC53B3Y5.mjs → chunk-K2QIYLIW.mjs} +2 -2
  12. package/dist/{chunk-RDGMHJZE.mjs → chunk-L3BSQAT3.mjs} +2 -2
  13. package/dist/{chunk-WD6VLSJD.mjs → chunk-L4A73A2T.mjs} +8 -8
  14. package/dist/chunk-L4A73A2T.mjs.map +1 -0
  15. package/dist/{chunk-AMFZRUX3.mjs → chunk-LLTFR25V.mjs} +2 -2
  16. package/dist/{chunk-FIQ32LMI.mjs → chunk-MCCIBDEH.mjs} +2 -2
  17. package/dist/{chunk-FIQ32LMI.mjs.map → chunk-MCCIBDEH.mjs.map} +1 -1
  18. package/dist/{chunk-MNDGLLBO.mjs → chunk-NCEWAKOZ.mjs} +2 -2
  19. package/dist/{chunk-P354LSDN.mjs → chunk-NDCIZJXB.mjs} +2 -2
  20. package/dist/{chunk-HAPQZXZM.mjs → chunk-O75J6WWI.mjs} +5 -5
  21. package/dist/{chunk-WAKTY3LS.mjs → chunk-OCJ4IL63.mjs} +3 -3
  22. package/dist/{chunk-VYHMLMTQ.mjs → chunk-Q3WMGUO2.mjs} +2 -2
  23. package/dist/{chunk-IT7FDPTK.mjs → chunk-R2SXNUU3.mjs} +3 -3
  24. package/dist/{chunk-3LJLCDBY.mjs → chunk-RBQOVMPC.mjs} +3 -3
  25. package/dist/{chunk-6JXZMCIN.mjs → chunk-ROTFIQND.mjs} +2 -2
  26. package/dist/{chunk-SZMAMBMD.mjs → chunk-S43CTNIK.mjs} +8 -8
  27. package/dist/{chunk-545DNQMV.mjs → chunk-TZYSQJ2N.mjs} +2 -2
  28. package/dist/{chunk-KZBVIWZZ.mjs → chunk-WD4PRE6L.mjs} +2 -2
  29. package/dist/{chunk-QT5TKJT4.mjs → chunk-ZHAVV2E5.mjs} +4 -4
  30. package/dist/data/InMemoryGateway.mjs +8 -8
  31. package/dist/domain/Audit.mjs +10 -10
  32. package/dist/domain/Child.mjs +10 -10
  33. package/dist/domain/DateTime.mjs +7 -7
  34. package/dist/domain/Entity.mjs +15 -15
  35. package/dist/domain/Repo.mjs +7 -7
  36. package/dist/domain/Struct.mjs +7 -7
  37. package/dist/domain/Typo.mjs +7 -7
  38. package/dist/http/CacheControl.mjs +8 -8
  39. package/dist/http/LocalRequestStore.mjs +2 -2
  40. package/dist/http/RequestOptions.mjs +4 -4
  41. package/dist/http/RestResult.mjs +8 -8
  42. package/dist/http/toResponse.mjs +9 -9
  43. package/dist/index.js +2 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/process/App.mjs +2 -2
  46. package/dist/process/Manage.mjs +8 -8
  47. package/dist/process/Scope.mjs +2 -2
  48. package/dist/process/Search.mjs +8 -8
  49. package/dist/process/UseCase.mjs +1 -1
  50. package/dist/resources/Req.mjs +7 -7
  51. package/dist/services/Api.mjs +15 -15
  52. package/dist/services/ApiGateway.mjs +18 -18
  53. package/dist/services/AxiosProvider.mjs +14 -14
  54. package/dist/services/MappedRouteGateway.mjs +19 -19
  55. package/dist/services/RouteGateway.mjs +19 -19
  56. package/dist/services/ViewRouteGateway.mjs +21 -21
  57. package/dist/sql/Column.mjs +7 -7
  58. package/dist/sql/Table.mjs +7 -7
  59. package/dist/sql/TableGateway.mjs +8 -8
  60. package/dist/types/CacheAge.mjs +8 -8
  61. package/dist/types/Case.mjs +6 -6
  62. package/dist/types/Context.mjs +2 -2
  63. package/dist/types/Exception.mjs +2 -2
  64. package/dist/types/Gateway.mjs +3 -3
  65. package/dist/types/IsEqual.mjs +7 -7
  66. package/dist/types/Number.mjs +7 -7
  67. package/dist/types/PageList.mjs +7 -7
  68. package/dist/types/Parser.mjs +6 -6
  69. package/dist/types/Repository.mjs +3 -3
  70. package/dist/types/Result.mjs +3 -3
  71. package/dist/types/Results.mjs +4 -4
  72. package/dist/types/Template.mjs +1 -1
  73. package/dist/types/Try.mjs +6 -6
  74. package/dist/types/Uri.mjs +6 -6
  75. package/dist/utils/Sentence.mjs +1 -1
  76. package/dist/utils/View.mjs +9 -9
  77. package/dist/validation/Contraints.mjs +7 -7
  78. package/dist/validation/Validate.mjs +6 -6
  79. package/dist/validation/When.mjs +6 -6
  80. package/package.json +1 -1
  81. package/src/types/Template.ts +2 -2
  82. package/src/utils/View.ts +1 -1
  83. package/dist/chunk-WD6VLSJD.mjs.map +0 -1
  84. /package/dist/{chunk-JICCIN24.mjs.map → chunk-2KZ5UP6A.mjs.map} +0 -0
  85. /package/dist/{chunk-BM7QLQAQ.mjs.map → chunk-64S6C743.mjs.map} +0 -0
  86. /package/dist/{chunk-L6CBLUX3.mjs.map → chunk-6UFIQJVC.mjs.map} +0 -0
  87. /package/dist/{chunk-SX4ETARM.mjs.map → chunk-B3AQ7EZQ.mjs.map} +0 -0
  88. /package/dist/{chunk-MNTKAUHO.mjs.map → chunk-BISRC54F.mjs.map} +0 -0
  89. /package/dist/{chunk-6K4R4SKN.mjs.map → chunk-CRSP7OQT.mjs.map} +0 -0
  90. /package/dist/{chunk-5YMCCYYA.mjs.map → chunk-CSKOVGAP.mjs.map} +0 -0
  91. /package/dist/{chunk-RSTN6E6S.mjs.map → chunk-DNWG66S7.mjs.map} +0 -0
  92. /package/dist/{chunk-XZ5M52TO.mjs.map → chunk-FFK2E2QL.mjs.map} +0 -0
  93. /package/dist/{chunk-VQRR4XHC.mjs.map → chunk-IMREIDHQ.mjs.map} +0 -0
  94. /package/dist/{chunk-UC53B3Y5.mjs.map → chunk-K2QIYLIW.mjs.map} +0 -0
  95. /package/dist/{chunk-RDGMHJZE.mjs.map → chunk-L3BSQAT3.mjs.map} +0 -0
  96. /package/dist/{chunk-AMFZRUX3.mjs.map → chunk-LLTFR25V.mjs.map} +0 -0
  97. /package/dist/{chunk-MNDGLLBO.mjs.map → chunk-NCEWAKOZ.mjs.map} +0 -0
  98. /package/dist/{chunk-P354LSDN.mjs.map → chunk-NDCIZJXB.mjs.map} +0 -0
  99. /package/dist/{chunk-HAPQZXZM.mjs.map → chunk-O75J6WWI.mjs.map} +0 -0
  100. /package/dist/{chunk-WAKTY3LS.mjs.map → chunk-OCJ4IL63.mjs.map} +0 -0
  101. /package/dist/{chunk-VYHMLMTQ.mjs.map → chunk-Q3WMGUO2.mjs.map} +0 -0
  102. /package/dist/{chunk-IT7FDPTK.mjs.map → chunk-R2SXNUU3.mjs.map} +0 -0
  103. /package/dist/{chunk-3LJLCDBY.mjs.map → chunk-RBQOVMPC.mjs.map} +0 -0
  104. /package/dist/{chunk-6JXZMCIN.mjs.map → chunk-ROTFIQND.mjs.map} +0 -0
  105. /package/dist/{chunk-SZMAMBMD.mjs.map → chunk-S43CTNIK.mjs.map} +0 -0
  106. /package/dist/{chunk-545DNQMV.mjs.map → chunk-TZYSQJ2N.mjs.map} +0 -0
  107. /package/dist/{chunk-KZBVIWZZ.mjs.map → chunk-WD4PRE6L.mjs.map} +0 -0
  108. /package/dist/{chunk-QT5TKJT4.mjs.map → chunk-ZHAVV2E5.mjs.map} +0 -0
@@ -5,16 +5,16 @@ import {
5
5
  toFilter,
6
6
  toPageList,
7
7
  toShortFilter
8
- } from "../chunk-6K4R4SKN.mjs";
9
- import "../chunk-JICCIN24.mjs";
8
+ } from "../chunk-CRSP7OQT.mjs";
9
+ import "../chunk-2KZ5UP6A.mjs";
10
10
  import "../chunk-OFGI5FLG.mjs";
11
- import "../chunk-MNDGLLBO.mjs";
12
- import "../chunk-VYHMLMTQ.mjs";
11
+ import "../chunk-NCEWAKOZ.mjs";
12
+ import "../chunk-Q3WMGUO2.mjs";
13
13
  import "../chunk-5HENJTR6.mjs";
14
- import "../chunk-AMFZRUX3.mjs";
14
+ import "../chunk-LLTFR25V.mjs";
15
15
  import "../chunk-WSBULPUZ.mjs";
16
- import "../chunk-P354LSDN.mjs";
17
- import "../chunk-FIQ32LMI.mjs";
16
+ import "../chunk-NDCIZJXB.mjs";
17
+ import "../chunk-MCCIBDEH.mjs";
18
18
  import "../chunk-JVDKV5HE.mjs";
19
19
  import "../chunk-WTFW6DLP.mjs";
20
20
  import "../chunk-H2762RTS.mjs";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  isValid
3
- } from "../chunk-JICCIN24.mjs";
3
+ } from "../chunk-2KZ5UP6A.mjs";
4
4
  import "../chunk-OFGI5FLG.mjs";
5
- import "../chunk-MNDGLLBO.mjs";
6
- import "../chunk-VYHMLMTQ.mjs";
5
+ import "../chunk-NCEWAKOZ.mjs";
6
+ import "../chunk-Q3WMGUO2.mjs";
7
7
  import "../chunk-5HENJTR6.mjs";
8
- import "../chunk-AMFZRUX3.mjs";
8
+ import "../chunk-LLTFR25V.mjs";
9
9
  import "../chunk-WSBULPUZ.mjs";
10
- import "../chunk-P354LSDN.mjs";
11
- import "../chunk-FIQ32LMI.mjs";
10
+ import "../chunk-NDCIZJXB.mjs";
11
+ import "../chunk-MCCIBDEH.mjs";
12
12
  import "../chunk-JVDKV5HE.mjs";
13
13
  import "../chunk-WTFW6DLP.mjs";
14
14
  import "../chunk-H2762RTS.mjs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Repository
3
- } from "../chunk-6JXZMCIN.mjs";
3
+ } from "../chunk-ROTFIQND.mjs";
4
4
  import "../chunk-5HENJTR6.mjs";
5
- import "../chunk-AMFZRUX3.mjs";
6
- import "../chunk-FIQ32LMI.mjs";
5
+ import "../chunk-LLTFR25V.mjs";
6
+ import "../chunk-MCCIBDEH.mjs";
7
7
  import "../chunk-JVDKV5HE.mjs";
8
8
  import "../chunk-WTFW6DLP.mjs";
9
9
  import "../chunk-H2762RTS.mjs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  isResult,
3
3
  toResult
4
- } from "../chunk-VYHMLMTQ.mjs";
5
- import "../chunk-P354LSDN.mjs";
6
- import "../chunk-FIQ32LMI.mjs";
4
+ } from "../chunk-Q3WMGUO2.mjs";
5
+ import "../chunk-NDCIZJXB.mjs";
6
+ import "../chunk-MCCIBDEH.mjs";
7
7
  import "../chunk-H2762RTS.mjs";
8
8
  import "../chunk-A7C3XND3.mjs";
9
9
  import "../chunk-JSON7A4X.mjs";
@@ -2,10 +2,10 @@ import {
2
2
  Results,
3
3
  isResults,
4
4
  toResults
5
- } from "../chunk-MNDGLLBO.mjs";
6
- import "../chunk-VYHMLMTQ.mjs";
7
- import "../chunk-P354LSDN.mjs";
8
- import "../chunk-FIQ32LMI.mjs";
5
+ } from "../chunk-NCEWAKOZ.mjs";
6
+ import "../chunk-Q3WMGUO2.mjs";
7
+ import "../chunk-NDCIZJXB.mjs";
8
+ import "../chunk-MCCIBDEH.mjs";
9
9
  import "../chunk-H2762RTS.mjs";
10
10
  import "../chunk-A7C3XND3.mjs";
11
11
  import "../chunk-JSON7A4X.mjs";
@@ -4,7 +4,7 @@ import {
4
4
  template,
5
5
  text,
6
6
  textValue
7
- } from "../chunk-FIQ32LMI.mjs";
7
+ } from "../chunk-MCCIBDEH.mjs";
8
8
  import "../chunk-H2762RTS.mjs";
9
9
  import "../chunk-A7C3XND3.mjs";
10
10
  import "../chunk-JSON7A4X.mjs";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  Try,
3
3
  tryTo
4
- } from "../chunk-JICCIN24.mjs";
4
+ } from "../chunk-2KZ5UP6A.mjs";
5
5
  import "../chunk-OFGI5FLG.mjs";
6
- import "../chunk-MNDGLLBO.mjs";
7
- import "../chunk-VYHMLMTQ.mjs";
6
+ import "../chunk-NCEWAKOZ.mjs";
7
+ import "../chunk-Q3WMGUO2.mjs";
8
8
  import "../chunk-5HENJTR6.mjs";
9
- import "../chunk-AMFZRUX3.mjs";
9
+ import "../chunk-LLTFR25V.mjs";
10
10
  import "../chunk-WSBULPUZ.mjs";
11
- import "../chunk-P354LSDN.mjs";
12
- import "../chunk-FIQ32LMI.mjs";
11
+ import "../chunk-NDCIZJXB.mjs";
12
+ import "../chunk-MCCIBDEH.mjs";
13
13
  import "../chunk-JVDKV5HE.mjs";
14
14
  import "../chunk-WTFW6DLP.mjs";
15
15
  import "../chunk-H2762RTS.mjs";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  tryTo
3
- } from "../chunk-JICCIN24.mjs";
3
+ } from "../chunk-2KZ5UP6A.mjs";
4
4
  import "../chunk-OFGI5FLG.mjs";
5
- import "../chunk-MNDGLLBO.mjs";
6
- import "../chunk-VYHMLMTQ.mjs";
5
+ import "../chunk-NCEWAKOZ.mjs";
6
+ import "../chunk-Q3WMGUO2.mjs";
7
7
  import "../chunk-5HENJTR6.mjs";
8
- import "../chunk-AMFZRUX3.mjs";
8
+ import "../chunk-LLTFR25V.mjs";
9
9
  import "../chunk-WSBULPUZ.mjs";
10
10
  import {
11
11
  ctx
12
- } from "../chunk-P354LSDN.mjs";
13
- import "../chunk-FIQ32LMI.mjs";
12
+ } from "../chunk-NDCIZJXB.mjs";
13
+ import "../chunk-MCCIBDEH.mjs";
14
14
  import "../chunk-JVDKV5HE.mjs";
15
15
  import {
16
16
  meta
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  text
3
- } from "../chunk-FIQ32LMI.mjs";
3
+ } from "../chunk-MCCIBDEH.mjs";
4
4
  import "../chunk-H2762RTS.mjs";
5
5
  import "../chunk-A7C3XND3.mjs";
6
6
  import "../chunk-JSON7A4X.mjs";
@@ -4,20 +4,20 @@ import {
4
4
  toViewer,
5
5
  view,
6
6
  views
7
- } from "../chunk-WD6VLSJD.mjs";
7
+ } from "../chunk-L4A73A2T.mjs";
8
8
  import "../chunk-SSROJBD5.mjs";
9
- import "../chunk-KZBVIWZZ.mjs";
9
+ import "../chunk-WD4PRE6L.mjs";
10
+ import "../chunk-CRSP7OQT.mjs";
10
11
  import "../chunk-6NJ65PSU.mjs";
11
- import "../chunk-6K4R4SKN.mjs";
12
- import "../chunk-JICCIN24.mjs";
12
+ import "../chunk-2KZ5UP6A.mjs";
13
13
  import "../chunk-OFGI5FLG.mjs";
14
- import "../chunk-MNDGLLBO.mjs";
15
- import "../chunk-VYHMLMTQ.mjs";
14
+ import "../chunk-NCEWAKOZ.mjs";
15
+ import "../chunk-Q3WMGUO2.mjs";
16
16
  import "../chunk-5HENJTR6.mjs";
17
- import "../chunk-AMFZRUX3.mjs";
17
+ import "../chunk-LLTFR25V.mjs";
18
18
  import "../chunk-WSBULPUZ.mjs";
19
- import "../chunk-P354LSDN.mjs";
20
- import "../chunk-FIQ32LMI.mjs";
19
+ import "../chunk-NDCIZJXB.mjs";
20
+ import "../chunk-MCCIBDEH.mjs";
21
21
  import "../chunk-JVDKV5HE.mjs";
22
22
  import "../chunk-WTFW6DLP.mjs";
23
23
  import "../chunk-H2762RTS.mjs";
@@ -17,17 +17,17 @@ import {
17
17
  required,
18
18
  rule,
19
19
  valid
20
- } from "../chunk-3LJLCDBY.mjs";
20
+ } from "../chunk-RBQOVMPC.mjs";
21
21
  import "../chunk-ADJAEGCT.mjs";
22
- import "../chunk-JICCIN24.mjs";
22
+ import "../chunk-2KZ5UP6A.mjs";
23
23
  import "../chunk-OFGI5FLG.mjs";
24
- import "../chunk-MNDGLLBO.mjs";
25
- import "../chunk-VYHMLMTQ.mjs";
24
+ import "../chunk-NCEWAKOZ.mjs";
25
+ import "../chunk-Q3WMGUO2.mjs";
26
26
  import "../chunk-5HENJTR6.mjs";
27
- import "../chunk-AMFZRUX3.mjs";
27
+ import "../chunk-LLTFR25V.mjs";
28
28
  import "../chunk-WSBULPUZ.mjs";
29
- import "../chunk-P354LSDN.mjs";
30
- import "../chunk-FIQ32LMI.mjs";
29
+ import "../chunk-NDCIZJXB.mjs";
30
+ import "../chunk-MCCIBDEH.mjs";
31
31
  import "../chunk-JVDKV5HE.mjs";
32
32
  import "../chunk-WTFW6DLP.mjs";
33
33
  import "../chunk-H2762RTS.mjs";
@@ -3,15 +3,15 @@ import {
3
3
  isValid,
4
4
  validate,
5
5
  validateReject
6
- } from "../chunk-JICCIN24.mjs";
6
+ } from "../chunk-2KZ5UP6A.mjs";
7
7
  import "../chunk-OFGI5FLG.mjs";
8
- import "../chunk-MNDGLLBO.mjs";
9
- import "../chunk-VYHMLMTQ.mjs";
8
+ import "../chunk-NCEWAKOZ.mjs";
9
+ import "../chunk-Q3WMGUO2.mjs";
10
10
  import "../chunk-5HENJTR6.mjs";
11
- import "../chunk-AMFZRUX3.mjs";
11
+ import "../chunk-LLTFR25V.mjs";
12
12
  import "../chunk-WSBULPUZ.mjs";
13
- import "../chunk-P354LSDN.mjs";
14
- import "../chunk-FIQ32LMI.mjs";
13
+ import "../chunk-NDCIZJXB.mjs";
14
+ import "../chunk-MCCIBDEH.mjs";
15
15
  import "../chunk-JVDKV5HE.mjs";
16
16
  import "../chunk-WTFW6DLP.mjs";
17
17
  import "../chunk-H2762RTS.mjs";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  When,
3
3
  when
4
- } from "../chunk-JICCIN24.mjs";
4
+ } from "../chunk-2KZ5UP6A.mjs";
5
5
  import "../chunk-OFGI5FLG.mjs";
6
- import "../chunk-MNDGLLBO.mjs";
7
- import "../chunk-VYHMLMTQ.mjs";
6
+ import "../chunk-NCEWAKOZ.mjs";
7
+ import "../chunk-Q3WMGUO2.mjs";
8
8
  import "../chunk-5HENJTR6.mjs";
9
- import "../chunk-AMFZRUX3.mjs";
9
+ import "../chunk-LLTFR25V.mjs";
10
10
  import "../chunk-WSBULPUZ.mjs";
11
- import "../chunk-P354LSDN.mjs";
12
- import "../chunk-FIQ32LMI.mjs";
11
+ import "../chunk-NDCIZJXB.mjs";
12
+ import "../chunk-MCCIBDEH.mjs";
13
13
  import "../chunk-JVDKV5HE.mjs";
14
14
  import "../chunk-WTFW6DLP.mjs";
15
15
  import "../chunk-H2762RTS.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "17.13.8",
3
+ "version": "17.13.10",
4
4
  "description": "Straightforward library for building domain-driven microservice architectures",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
@@ -191,6 +191,6 @@ export function textValue(subject: any, prop: string): string {
191
191
  const initial = typeof root === 'object' && root !== null ? root : text(root);
192
192
  return p
193
193
  .splice(1)
194
- .reduce((t, s) => t[s], initial)
195
- .toString();
194
+ .reduce((t, s) => t?.[s], initial)
195
+ ?.toString() ?? '';
196
196
  }
package/src/utils/View.ts CHANGED
@@ -66,7 +66,7 @@ export class View<V = any> {
66
66
  if (isPageList(source))
67
67
  return toPageList(
68
68
  source.map(s => this.reduce(s)),
69
- source
69
+ source.options
70
70
  );
71
71
  if (isArray(source)) return source.map(s => this.reduce(s));
72
72
  return this.reduce(source);
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/View.ts"],"sourcesContent":["import { traverse } from './Traverse';\nimport { ifDefined } from './If';\nimport { Primitive } from '../types/Primitive';\nimport { Constructor, isConstructor, use } from '../types/Constructor';\nimport { asJson, json } from '../types/Json';\nimport { choose } from '../types/Case';\nimport { isArray, isBoolean, isFunction, isString } from '../types/Is';\nimport { meta } from '../types/Meta';\nimport { isPageList, PageList, toPageList } from '../types/PageList';\nimport { List } from '../types/List';\nimport { isEqual } from '../types/IsEqual';\nimport { DontInfer } from '../types/Types';\n\ntype Func<T = unknown> = (a: any, key?: string) => T;\ntype Viewer = { key: string; f: Func };\n\ntype ViewType<V = any> = Primitive | Constructor | Func | View<V> | undefined;\ntype ViewRecord<V = any> = Partial<Record<keyof V, ViewType>>;\n\nconst ignore = Symbol('view.ignore');\nconst keep = Symbol('view.keep');\n\nexport const toViewer = (key: string, value: ViewType): Viewer =>\n choose(value)\n .is.not.defined(v => v, { key, f: () => undefined } as Viewer)\n .type(isBoolean, b => ({ key, f: () => b }))\n .equals(ignore, { key, f: () => undefined })\n .equals(keep, { key, f: (a: any) => traverse(a, key) })\n .type(isString, s => ({ key, f: (a: any) => traverse(a, s) }))\n .type(isConstructor, c => ({\n key,\n f: (a, key) => use(traverse(a, key), v => (isArray(v) ? v.map(i => optional(c, i)) : optional(c, v))),\n }))\n .type(isSimpleView, f => ({ key, f: (a: any) => f.from(traverse(a, key)) }))\n .type(isFunction, f => ({ key, f }))\n .else(v => ({ key, f: () => v }));\n\nconst optional = (c: Constructor, v: any) =>\n ifDefined(\n v,\n i => new c(i),\n () => v\n );\n\nconst toViewers = (views: ViewRecord): Viewer[] =>\n meta(views)\n .entries<ViewType>()\n .map(([k, v]) => toViewer(k, v));\n\nexport class View<V = any> {\n constructor(\n private views = {} as ViewRecord<V>,\n readonly startsFrom: 'scratch' | 'source' = 'scratch',\n readonly viewers: Viewer[] = toViewers(views)\n ) {}\n\n get fromSource(): View<V> {\n return new View(this.views, 'source', this.viewers);\n }\n\n from<T = unknown>(source: PageList<T>): PageList<V>;\n from<T = unknown>(source: List<T>): List<V>;\n from<T = unknown>(source: T[]): V[];\n from<T = unknown>(source: T): V;\n from<T = unknown>(source: PageList<T> | List<T> | T[] | T): PageList<V> | List<V> | V[] | V {\n if (isPageList(source))\n return toPageList(\n source.map(s => this.reduce(s)),\n source\n );\n if (isArray(source)) return source.map(s => this.reduce(s));\n return this.reduce(source);\n }\n\n same = (one?: unknown, another?: unknown): boolean => isEqual(this.from(one), this.from(another));\n\n private reduce = (source: any): any =>\n use(asJson(source), src => this.viewers.reduce((acc, v) => json.set(acc, v.key, v.f(src, v.key)), this.startsFrom === 'scratch' ? {} : src));\n}\n\nexport const isSimpleView = (a: unknown): a is View => a instanceof View;\n\nexport const view = <V = any>(views: ViewRecord<DontInfer<V>>): View<V> => new View<V>(views);\n\nexport const views = {\n ignore,\n keep,\n skip: ignore,\n value: (value: unknown) => () => value,\n or: {\n key: (altKey: string) => (a: unknown, key?: string) => traverse(a, key) ?? traverse(a, altKey),\n value: (altValue: unknown) => (a: unknown, key?: string) => traverse(a, key) ?? altValue,\n func: (altFunc: Func) => (a: unknown, key?: string) => traverse(a, key) ?? altFunc(a, key),\n },\n};\n\n// spread: (a: any, key: string) => ({...a, ...(use(traverse(a, key), v => isObject(v) ? v : ({[key]: v})))}),\n"],"mappings":"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","names":["key","views"]}