@thisisagile/easy 17.7.0 → 17.9.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.
Files changed (175) hide show
  1. package/dist/{chunk-6NUZBLB3.mjs → chunk-2HN7FNP4.mjs} +2 -2
  2. package/dist/{chunk-AG2M5MAW.mjs → chunk-2WTJFLRR.mjs} +3 -3
  3. package/dist/{chunk-DTBQDKGY.mjs → chunk-3ZWOAEBK.mjs} +3 -3
  4. package/dist/{chunk-HAQHMQR7.mjs → chunk-475VR7PB.mjs} +5 -5
  5. package/dist/{chunk-NGTFU2W5.mjs → chunk-5LRXY36D.mjs} +2 -2
  6. package/dist/{chunk-I7VONUMP.mjs → chunk-5UMUYU5D.mjs} +2 -2
  7. package/dist/{chunk-BSMRA5KX.mjs → chunk-7CUMFC67.mjs} +4 -4
  8. package/dist/{chunk-RUCZFEER.mjs → chunk-7OU7RKLW.mjs} +2 -2
  9. package/dist/{chunk-NCUV6HM6.mjs → chunk-AFM5HVG3.mjs} +2 -2
  10. package/dist/{chunk-CPS5QCHM.mjs → chunk-B5TMED7B.mjs} +3 -3
  11. package/dist/{chunk-ZTM66Q3Z.mjs → chunk-BH3K5MLD.mjs} +2 -2
  12. package/dist/{chunk-4ERH25J4.mjs → chunk-C2FM7WJJ.mjs} +3 -3
  13. package/dist/{chunk-4KHE7GYH.mjs → chunk-CWOZXDQC.mjs} +3 -3
  14. package/dist/{chunk-T72JRDSF.mjs → chunk-D4IM66AI.mjs} +15 -3
  15. package/dist/chunk-D4IM66AI.mjs.map +1 -0
  16. package/dist/{chunk-ZGWJOMV4.mjs → chunk-DF4QRKLZ.mjs} +4 -4
  17. package/dist/{chunk-S6Q5OF24.mjs → chunk-DLAM3KDM.mjs} +3 -3
  18. package/dist/{chunk-YLKBONED.mjs → chunk-EZU7VKYW.mjs} +2 -2
  19. package/dist/{chunk-IK2CTC65.mjs → chunk-FJCEJLY3.mjs} +3 -3
  20. package/dist/{chunk-KL44D4OJ.mjs → chunk-FO6Z53LA.mjs} +9 -9
  21. package/dist/{chunk-I2FML25X.mjs → chunk-H5JZZPYG.mjs} +14 -1
  22. package/dist/{chunk-I2FML25X.mjs.map → chunk-H5JZZPYG.mjs.map} +1 -1
  23. package/dist/{chunk-YSBSTNES.mjs → chunk-JDFW625N.mjs} +9 -9
  24. package/dist/{chunk-F3VZGXLD.mjs → chunk-JMCV5SFF.mjs} +2 -2
  25. package/dist/{chunk-3OMZMZ2X.mjs → chunk-K5QAWUWF.mjs} +9 -9
  26. package/dist/{chunk-33IUBZPX.mjs → chunk-LMOD42DY.mjs} +2 -2
  27. package/dist/{chunk-WY2WXOMC.mjs → chunk-LQ36P2RS.mjs} +2 -2
  28. package/dist/{chunk-63E35OAQ.mjs → chunk-M4JWZQNE.mjs} +2 -2
  29. package/dist/{chunk-DTINSZE3.mjs → chunk-M5TFQK5Z.mjs} +2 -2
  30. package/dist/{chunk-SA47YQ5R.mjs → chunk-NJLEPEGD.mjs} +7 -7
  31. package/dist/{chunk-QKVXEIND.mjs → chunk-NMNXMRF4.mjs} +2 -2
  32. package/dist/{chunk-ZGXNQ4YF.mjs → chunk-NUWTRBRC.mjs} +2 -2
  33. package/dist/{chunk-2SHFYZBU.mjs → chunk-O7BOSGH7.mjs} +4 -4
  34. package/dist/{chunk-VHBGB4ZY.mjs → chunk-OKYMT6PJ.mjs} +2 -2
  35. package/dist/{chunk-DR73NB3Q.mjs → chunk-QA5NH7YM.mjs} +2 -2
  36. package/dist/{chunk-YA6TV7X4.mjs → chunk-RD6BUPBH.mjs} +2 -2
  37. package/dist/{chunk-L3RHZQZ5.mjs → chunk-REO5NOOT.mjs} +2 -2
  38. package/dist/{chunk-MHC4UN53.mjs → chunk-SKJKFUXV.mjs} +3 -3
  39. package/dist/{chunk-R5I63QRB.mjs → chunk-T54MQFMU.mjs} +9 -9
  40. package/dist/chunk-T54MQFMU.mjs.map +1 -0
  41. package/dist/{chunk-TDH4GL63.mjs → chunk-TEAWRNW5.mjs} +4 -4
  42. package/dist/{chunk-CDZBTCZD.mjs → chunk-TXWGSMGI.mjs} +4 -4
  43. package/dist/{chunk-WBP7TFRY.mjs → chunk-TYWAEOLI.mjs} +3 -3
  44. package/dist/{chunk-JGTC2EX2.mjs → chunk-VNAW26ZJ.mjs} +3 -3
  45. package/dist/{chunk-IPLLGXTR.mjs → chunk-VZ7Y2FPH.mjs} +3 -3
  46. package/dist/{chunk-VXFTE4YT.mjs → chunk-X74YW3KA.mjs} +4 -4
  47. package/dist/{chunk-JZQX2C22.mjs → chunk-YXXKGJF2.mjs} +2 -2
  48. package/dist/{chunk-VN6WM7SD.mjs → chunk-ZG2RZH2H.mjs} +8 -8
  49. package/dist/{chunk-NV3NU5X4.mjs → chunk-ZOQKLMK7.mjs} +2 -2
  50. package/dist/data/Condition.mjs +4 -4
  51. package/dist/data/Database.mjs +5 -5
  52. package/dist/data/Field.mjs +4 -4
  53. package/dist/data/InMemoryGateway.mjs +13 -13
  54. package/dist/domain/Audit.mjs +17 -17
  55. package/dist/domain/Child.mjs +16 -16
  56. package/dist/domain/DateTime.mjs +13 -13
  57. package/dist/domain/Entity.mjs +21 -21
  58. package/dist/domain/Repo.mjs +13 -13
  59. package/dist/domain/Struct.mjs +13 -13
  60. package/dist/domain/Typo.mjs +12 -12
  61. package/dist/http/CacheControl.mjs +13 -13
  62. package/dist/http/ContentType.mjs +5 -5
  63. package/dist/http/HttpStatus.mjs +5 -5
  64. package/dist/http/HttpVerb.mjs +5 -5
  65. package/dist/http/LocalRequestStore.mjs +4 -4
  66. package/dist/http/RequestOptions.mjs +9 -9
  67. package/dist/http/RestResult.mjs +13 -13
  68. package/dist/http/toResponse.mjs +14 -14
  69. package/dist/index.js +25 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/process/App.mjs +6 -6
  72. package/dist/process/Manage.mjs +13 -13
  73. package/dist/process/Scope.mjs +6 -6
  74. package/dist/process/Search.mjs +13 -13
  75. package/dist/process/UseCase.mjs +5 -5
  76. package/dist/resources/Req.mjs +12 -12
  77. package/dist/services/Api.mjs +22 -22
  78. package/dist/services/ApiGateway.mjs +25 -25
  79. package/dist/services/AxiosProvider.mjs +20 -20
  80. package/dist/services/MappedRouteGateway.mjs +28 -28
  81. package/dist/services/RouteGateway.mjs +26 -26
  82. package/dist/services/ViewRouteGateway.d.ts +4 -4
  83. package/dist/services/ViewRouteGateway.mjs +29 -29
  84. package/dist/sql/Column.mjs +12 -12
  85. package/dist/sql/Count.mjs +4 -4
  86. package/dist/sql/Delete.mjs +3 -3
  87. package/dist/sql/Insert.mjs +3 -3
  88. package/dist/sql/Select.mjs +3 -3
  89. package/dist/sql/SqlQuery.mjs +2 -2
  90. package/dist/sql/Table.mjs +21 -21
  91. package/dist/sql/TableGateway.mjs +13 -13
  92. package/dist/sql/Update.mjs +3 -3
  93. package/dist/types/Cache.mjs +3 -3
  94. package/dist/types/CacheAge.mjs +13 -13
  95. package/dist/types/Case.mjs +11 -11
  96. package/dist/types/Context.mjs +4 -4
  97. package/dist/types/Enum.mjs +4 -4
  98. package/dist/types/Environment.mjs +4 -4
  99. package/dist/types/Exception.mjs +6 -6
  100. package/dist/types/Gateway.mjs +8 -8
  101. package/dist/types/IsEqual.mjs +12 -12
  102. package/dist/types/Json.mjs +3 -3
  103. package/dist/types/List.d.ts +4 -0
  104. package/dist/types/List.mjs +1 -1
  105. package/dist/types/Meta.mjs +3 -3
  106. package/dist/types/Number.mjs +12 -12
  107. package/dist/types/Object.mjs +2 -2
  108. package/dist/types/PageList.d.ts +5 -0
  109. package/dist/types/PageList.mjs +12 -12
  110. package/dist/types/Parser.mjs +11 -11
  111. package/dist/types/Repository.mjs +8 -8
  112. package/dist/types/Result.mjs +5 -5
  113. package/dist/types/Results.mjs +6 -6
  114. package/dist/types/Tag.mjs +3 -3
  115. package/dist/types/Template.mjs +3 -3
  116. package/dist/types/Try.mjs +11 -11
  117. package/dist/types/Uri.mjs +11 -11
  118. package/dist/utils/Mapper.mjs +5 -5
  119. package/dist/utils/Promise.mjs +2 -2
  120. package/dist/utils/Seconds.mjs +2 -2
  121. package/dist/utils/Sentence.mjs +3 -3
  122. package/dist/utils/View.d.ts +6 -5
  123. package/dist/utils/View.mjs +15 -15
  124. package/dist/validation/Contraints.mjs +12 -12
  125. package/dist/validation/Validate.mjs +11 -11
  126. package/dist/validation/When.mjs +11 -11
  127. package/package.json +2 -2
  128. package/src/types/List.ts +17 -0
  129. package/src/types/PageList.ts +17 -0
  130. package/src/utils/View.ts +6 -5
  131. package/dist/chunk-R5I63QRB.mjs.map +0 -1
  132. package/dist/chunk-T72JRDSF.mjs.map +0 -1
  133. /package/dist/{chunk-6NUZBLB3.mjs.map → chunk-2HN7FNP4.mjs.map} +0 -0
  134. /package/dist/{chunk-AG2M5MAW.mjs.map → chunk-2WTJFLRR.mjs.map} +0 -0
  135. /package/dist/{chunk-DTBQDKGY.mjs.map → chunk-3ZWOAEBK.mjs.map} +0 -0
  136. /package/dist/{chunk-HAQHMQR7.mjs.map → chunk-475VR7PB.mjs.map} +0 -0
  137. /package/dist/{chunk-NGTFU2W5.mjs.map → chunk-5LRXY36D.mjs.map} +0 -0
  138. /package/dist/{chunk-I7VONUMP.mjs.map → chunk-5UMUYU5D.mjs.map} +0 -0
  139. /package/dist/{chunk-BSMRA5KX.mjs.map → chunk-7CUMFC67.mjs.map} +0 -0
  140. /package/dist/{chunk-RUCZFEER.mjs.map → chunk-7OU7RKLW.mjs.map} +0 -0
  141. /package/dist/{chunk-NCUV6HM6.mjs.map → chunk-AFM5HVG3.mjs.map} +0 -0
  142. /package/dist/{chunk-CPS5QCHM.mjs.map → chunk-B5TMED7B.mjs.map} +0 -0
  143. /package/dist/{chunk-ZTM66Q3Z.mjs.map → chunk-BH3K5MLD.mjs.map} +0 -0
  144. /package/dist/{chunk-4ERH25J4.mjs.map → chunk-C2FM7WJJ.mjs.map} +0 -0
  145. /package/dist/{chunk-4KHE7GYH.mjs.map → chunk-CWOZXDQC.mjs.map} +0 -0
  146. /package/dist/{chunk-ZGWJOMV4.mjs.map → chunk-DF4QRKLZ.mjs.map} +0 -0
  147. /package/dist/{chunk-S6Q5OF24.mjs.map → chunk-DLAM3KDM.mjs.map} +0 -0
  148. /package/dist/{chunk-YLKBONED.mjs.map → chunk-EZU7VKYW.mjs.map} +0 -0
  149. /package/dist/{chunk-IK2CTC65.mjs.map → chunk-FJCEJLY3.mjs.map} +0 -0
  150. /package/dist/{chunk-KL44D4OJ.mjs.map → chunk-FO6Z53LA.mjs.map} +0 -0
  151. /package/dist/{chunk-YSBSTNES.mjs.map → chunk-JDFW625N.mjs.map} +0 -0
  152. /package/dist/{chunk-F3VZGXLD.mjs.map → chunk-JMCV5SFF.mjs.map} +0 -0
  153. /package/dist/{chunk-3OMZMZ2X.mjs.map → chunk-K5QAWUWF.mjs.map} +0 -0
  154. /package/dist/{chunk-33IUBZPX.mjs.map → chunk-LMOD42DY.mjs.map} +0 -0
  155. /package/dist/{chunk-WY2WXOMC.mjs.map → chunk-LQ36P2RS.mjs.map} +0 -0
  156. /package/dist/{chunk-63E35OAQ.mjs.map → chunk-M4JWZQNE.mjs.map} +0 -0
  157. /package/dist/{chunk-DTINSZE3.mjs.map → chunk-M5TFQK5Z.mjs.map} +0 -0
  158. /package/dist/{chunk-SA47YQ5R.mjs.map → chunk-NJLEPEGD.mjs.map} +0 -0
  159. /package/dist/{chunk-QKVXEIND.mjs.map → chunk-NMNXMRF4.mjs.map} +0 -0
  160. /package/dist/{chunk-ZGXNQ4YF.mjs.map → chunk-NUWTRBRC.mjs.map} +0 -0
  161. /package/dist/{chunk-2SHFYZBU.mjs.map → chunk-O7BOSGH7.mjs.map} +0 -0
  162. /package/dist/{chunk-VHBGB4ZY.mjs.map → chunk-OKYMT6PJ.mjs.map} +0 -0
  163. /package/dist/{chunk-DR73NB3Q.mjs.map → chunk-QA5NH7YM.mjs.map} +0 -0
  164. /package/dist/{chunk-YA6TV7X4.mjs.map → chunk-RD6BUPBH.mjs.map} +0 -0
  165. /package/dist/{chunk-L3RHZQZ5.mjs.map → chunk-REO5NOOT.mjs.map} +0 -0
  166. /package/dist/{chunk-MHC4UN53.mjs.map → chunk-SKJKFUXV.mjs.map} +0 -0
  167. /package/dist/{chunk-TDH4GL63.mjs.map → chunk-TEAWRNW5.mjs.map} +0 -0
  168. /package/dist/{chunk-CDZBTCZD.mjs.map → chunk-TXWGSMGI.mjs.map} +0 -0
  169. /package/dist/{chunk-WBP7TFRY.mjs.map → chunk-TYWAEOLI.mjs.map} +0 -0
  170. /package/dist/{chunk-JGTC2EX2.mjs.map → chunk-VNAW26ZJ.mjs.map} +0 -0
  171. /package/dist/{chunk-IPLLGXTR.mjs.map → chunk-VZ7Y2FPH.mjs.map} +0 -0
  172. /package/dist/{chunk-VXFTE4YT.mjs.map → chunk-X74YW3KA.mjs.map} +0 -0
  173. /package/dist/{chunk-JZQX2C22.mjs.map → chunk-YXXKGJF2.mjs.map} +0 -0
  174. /package/dist/{chunk-VN6WM7SD.mjs.map → chunk-ZG2RZH2H.mjs.map} +0 -0
  175. /package/dist/{chunk-NV3NU5X4.mjs.map → chunk-ZOQKLMK7.mjs.map} +0 -0
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  Try,
3
3
  tryTo
4
- } from "../chunk-3OMZMZ2X.mjs";
4
+ } from "../chunk-K5QAWUWF.mjs";
5
5
  import "../chunk-OFGI5FLG.mjs";
6
- import "../chunk-63E35OAQ.mjs";
7
- import "../chunk-DTINSZE3.mjs";
8
- import "../chunk-I7VONUMP.mjs";
9
- import "../chunk-S6Q5OF24.mjs";
6
+ import "../chunk-M4JWZQNE.mjs";
7
+ import "../chunk-M5TFQK5Z.mjs";
8
+ import "../chunk-5UMUYU5D.mjs";
9
+ import "../chunk-DLAM3KDM.mjs";
10
10
  import "../chunk-CAHTK3AT.mjs";
11
- import "../chunk-RUCZFEER.mjs";
12
- import "../chunk-DTBQDKGY.mjs";
13
- import "../chunk-4ERH25J4.mjs";
14
- import "../chunk-MHC4UN53.mjs";
15
- import "../chunk-L3RHZQZ5.mjs";
16
- import "../chunk-I2FML25X.mjs";
11
+ import "../chunk-7OU7RKLW.mjs";
12
+ import "../chunk-3ZWOAEBK.mjs";
13
+ import "../chunk-C2FM7WJJ.mjs";
14
+ import "../chunk-SKJKFUXV.mjs";
15
+ import "../chunk-REO5NOOT.mjs";
16
+ import "../chunk-H5JZZPYG.mjs";
17
17
  import "../chunk-JSON7A4X.mjs";
18
18
  import "../chunk-X7FZPY3P.mjs";
19
19
  import "../chunk-45GNHDKA.mjs";
@@ -1,26 +1,26 @@
1
1
  import {
2
2
  tryTo
3
- } from "../chunk-3OMZMZ2X.mjs";
3
+ } from "../chunk-K5QAWUWF.mjs";
4
4
  import "../chunk-OFGI5FLG.mjs";
5
- import "../chunk-63E35OAQ.mjs";
6
- import "../chunk-DTINSZE3.mjs";
7
- import "../chunk-I7VONUMP.mjs";
8
- import "../chunk-S6Q5OF24.mjs";
5
+ import "../chunk-M4JWZQNE.mjs";
6
+ import "../chunk-M5TFQK5Z.mjs";
7
+ import "../chunk-5UMUYU5D.mjs";
8
+ import "../chunk-DLAM3KDM.mjs";
9
9
  import "../chunk-CAHTK3AT.mjs";
10
10
  import {
11
11
  ctx
12
- } from "../chunk-RUCZFEER.mjs";
13
- import "../chunk-DTBQDKGY.mjs";
14
- import "../chunk-4ERH25J4.mjs";
12
+ } from "../chunk-7OU7RKLW.mjs";
13
+ import "../chunk-3ZWOAEBK.mjs";
14
+ import "../chunk-C2FM7WJJ.mjs";
15
15
  import {
16
16
  meta
17
- } from "../chunk-MHC4UN53.mjs";
17
+ } from "../chunk-SKJKFUXV.mjs";
18
18
  import {
19
19
  entries
20
- } from "../chunk-L3RHZQZ5.mjs";
20
+ } from "../chunk-REO5NOOT.mjs";
21
21
  import {
22
22
  toList
23
- } from "../chunk-I2FML25X.mjs";
23
+ } from "../chunk-H5JZZPYG.mjs";
24
24
  import "../chunk-JSON7A4X.mjs";
25
25
  import {
26
26
  toArray
@@ -2,14 +2,14 @@ import {
2
2
  Mapper,
3
3
  isMapping,
4
4
  mappings
5
- } from "../chunk-2SHFYZBU.mjs";
5
+ } from "../chunk-O7BOSGH7.mjs";
6
6
  import "../chunk-WJZFE5NE.mjs";
7
7
  import "../chunk-QQRGOHU6.mjs";
8
8
  import "../chunk-APYISY5K.mjs";
9
- import "../chunk-QKVXEIND.mjs";
10
- import "../chunk-MHC4UN53.mjs";
11
- import "../chunk-L3RHZQZ5.mjs";
12
- import "../chunk-I2FML25X.mjs";
9
+ import "../chunk-NMNXMRF4.mjs";
10
+ import "../chunk-SKJKFUXV.mjs";
11
+ import "../chunk-REO5NOOT.mjs";
12
+ import "../chunk-H5JZZPYG.mjs";
13
13
  import "../chunk-JSON7A4X.mjs";
14
14
  import "../chunk-X7FZPY3P.mjs";
15
15
  import "../chunk-45GNHDKA.mjs";
@@ -7,8 +7,8 @@ import {
7
7
  tuple3,
8
8
  tuple4,
9
9
  tuple5
10
- } from "../chunk-I7VONUMP.mjs";
11
- import "../chunk-I2FML25X.mjs";
10
+ } from "../chunk-5UMUYU5D.mjs";
11
+ import "../chunk-H5JZZPYG.mjs";
12
12
  import "../chunk-JSON7A4X.mjs";
13
13
  import "../chunk-X7FZPY3P.mjs";
14
14
  import "../chunk-45GNHDKA.mjs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  seconds
3
- } from "../chunk-ZGXNQ4YF.mjs";
4
- import "../chunk-I2FML25X.mjs";
3
+ } from "../chunk-NUWTRBRC.mjs";
4
+ import "../chunk-H5JZZPYG.mjs";
5
5
  import "../chunk-JSON7A4X.mjs";
6
6
  import "../chunk-X7FZPY3P.mjs";
7
7
  import "../chunk-45GNHDKA.mjs";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  text
3
- } from "../chunk-DTBQDKGY.mjs";
4
- import "../chunk-L3RHZQZ5.mjs";
5
- import "../chunk-I2FML25X.mjs";
3
+ } from "../chunk-3ZWOAEBK.mjs";
4
+ import "../chunk-REO5NOOT.mjs";
5
+ import "../chunk-H5JZZPYG.mjs";
6
6
  import "../chunk-JSON7A4X.mjs";
7
7
  import "../chunk-X7FZPY3P.mjs";
8
8
  import "../chunk-45GNHDKA.mjs";
@@ -1,6 +1,5 @@
1
1
  import { Primitive } from '../types/Primitive';
2
2
  import { Constructor } from '../types/Constructor';
3
- import { Json } from '../types/Json';
4
3
  import { PageList } from '../types/PageList';
5
4
  import { List } from '../types/List';
6
5
  import { DontInfer } from '../types/Types';
@@ -9,10 +8,12 @@ type Viewer = {
9
8
  key: string;
10
9
  f: Func;
11
10
  };
12
- type ViewType = Primitive | Constructor | Func | View | undefined;
13
- type ViewRecord<V = Json> = Partial<Record<keyof V, ViewType>>;
11
+ type ViewType<V = any> = Primitive | Constructor | Func | View<V> | undefined;
12
+ type ViewRecord<V = any> = Partial<{
13
+ [P in keyof V]: ViewType<V[P]>;
14
+ }>;
14
15
  export declare const toViewer: (key: string, value: ViewType) => Viewer;
15
- export declare class View<V = Json> {
16
+ export declare class View<V = any> {
16
17
  private views;
17
18
  readonly startsFrom: 'scratch' | 'source';
18
19
  readonly viewers: Viewer[];
@@ -26,7 +27,7 @@ export declare class View<V = Json> {
26
27
  private reduce;
27
28
  }
28
29
  export declare const isSimpleView: (a: unknown) => a is View;
29
- export declare const view: <V = Json>(views: ViewRecord<DontInfer<V>>) => View<V>;
30
+ export declare const view: <V = any>(views: ViewRecord<DontInfer<V>>) => View<V>;
30
31
  export declare const views: {
31
32
  ignore: symbol;
32
33
  keep: symbol;
@@ -4,24 +4,24 @@ import {
4
4
  toViewer,
5
5
  view,
6
6
  views
7
- } from "../chunk-R5I63QRB.mjs";
7
+ } from "../chunk-T54MQFMU.mjs";
8
8
  import "../chunk-SSROJBD5.mjs";
9
- import "../chunk-YLKBONED.mjs";
10
- import "../chunk-T72JRDSF.mjs";
11
- import "../chunk-QKVXEIND.mjs";
12
- import "../chunk-3OMZMZ2X.mjs";
9
+ import "../chunk-EZU7VKYW.mjs";
10
+ import "../chunk-NMNXMRF4.mjs";
11
+ import "../chunk-D4IM66AI.mjs";
12
+ import "../chunk-K5QAWUWF.mjs";
13
13
  import "../chunk-OFGI5FLG.mjs";
14
- import "../chunk-63E35OAQ.mjs";
15
- import "../chunk-DTINSZE3.mjs";
16
- import "../chunk-I7VONUMP.mjs";
17
- import "../chunk-S6Q5OF24.mjs";
14
+ import "../chunk-M4JWZQNE.mjs";
15
+ import "../chunk-M5TFQK5Z.mjs";
16
+ import "../chunk-5UMUYU5D.mjs";
17
+ import "../chunk-DLAM3KDM.mjs";
18
18
  import "../chunk-CAHTK3AT.mjs";
19
- import "../chunk-RUCZFEER.mjs";
20
- import "../chunk-DTBQDKGY.mjs";
21
- import "../chunk-4ERH25J4.mjs";
22
- import "../chunk-MHC4UN53.mjs";
23
- import "../chunk-L3RHZQZ5.mjs";
24
- import "../chunk-I2FML25X.mjs";
19
+ import "../chunk-7OU7RKLW.mjs";
20
+ import "../chunk-3ZWOAEBK.mjs";
21
+ import "../chunk-C2FM7WJJ.mjs";
22
+ import "../chunk-SKJKFUXV.mjs";
23
+ import "../chunk-REO5NOOT.mjs";
24
+ import "../chunk-H5JZZPYG.mjs";
25
25
  import "../chunk-JSON7A4X.mjs";
26
26
  import "../chunk-X7FZPY3P.mjs";
27
27
  import "../chunk-45GNHDKA.mjs";
@@ -17,21 +17,21 @@ import {
17
17
  required,
18
18
  rule,
19
19
  valid
20
- } from "../chunk-HAQHMQR7.mjs";
20
+ } from "../chunk-475VR7PB.mjs";
21
21
  import "../chunk-ADJAEGCT.mjs";
22
- import "../chunk-3OMZMZ2X.mjs";
22
+ import "../chunk-K5QAWUWF.mjs";
23
23
  import "../chunk-OFGI5FLG.mjs";
24
- import "../chunk-63E35OAQ.mjs";
25
- import "../chunk-DTINSZE3.mjs";
26
- import "../chunk-I7VONUMP.mjs";
27
- import "../chunk-S6Q5OF24.mjs";
24
+ import "../chunk-M4JWZQNE.mjs";
25
+ import "../chunk-M5TFQK5Z.mjs";
26
+ import "../chunk-5UMUYU5D.mjs";
27
+ import "../chunk-DLAM3KDM.mjs";
28
28
  import "../chunk-CAHTK3AT.mjs";
29
- import "../chunk-RUCZFEER.mjs";
30
- import "../chunk-DTBQDKGY.mjs";
31
- import "../chunk-4ERH25J4.mjs";
32
- import "../chunk-MHC4UN53.mjs";
33
- import "../chunk-L3RHZQZ5.mjs";
34
- import "../chunk-I2FML25X.mjs";
29
+ import "../chunk-7OU7RKLW.mjs";
30
+ import "../chunk-3ZWOAEBK.mjs";
31
+ import "../chunk-C2FM7WJJ.mjs";
32
+ import "../chunk-SKJKFUXV.mjs";
33
+ import "../chunk-REO5NOOT.mjs";
34
+ import "../chunk-H5JZZPYG.mjs";
35
35
  import "../chunk-JSON7A4X.mjs";
36
36
  import "../chunk-X7FZPY3P.mjs";
37
37
  import "../chunk-45GNHDKA.mjs";
@@ -3,19 +3,19 @@ import {
3
3
  isValid,
4
4
  validate,
5
5
  validateReject
6
- } from "../chunk-3OMZMZ2X.mjs";
6
+ } from "../chunk-K5QAWUWF.mjs";
7
7
  import "../chunk-OFGI5FLG.mjs";
8
- import "../chunk-63E35OAQ.mjs";
9
- import "../chunk-DTINSZE3.mjs";
10
- import "../chunk-I7VONUMP.mjs";
11
- import "../chunk-S6Q5OF24.mjs";
8
+ import "../chunk-M4JWZQNE.mjs";
9
+ import "../chunk-M5TFQK5Z.mjs";
10
+ import "../chunk-5UMUYU5D.mjs";
11
+ import "../chunk-DLAM3KDM.mjs";
12
12
  import "../chunk-CAHTK3AT.mjs";
13
- import "../chunk-RUCZFEER.mjs";
14
- import "../chunk-DTBQDKGY.mjs";
15
- import "../chunk-4ERH25J4.mjs";
16
- import "../chunk-MHC4UN53.mjs";
17
- import "../chunk-L3RHZQZ5.mjs";
18
- import "../chunk-I2FML25X.mjs";
13
+ import "../chunk-7OU7RKLW.mjs";
14
+ import "../chunk-3ZWOAEBK.mjs";
15
+ import "../chunk-C2FM7WJJ.mjs";
16
+ import "../chunk-SKJKFUXV.mjs";
17
+ import "../chunk-REO5NOOT.mjs";
18
+ import "../chunk-H5JZZPYG.mjs";
19
19
  import "../chunk-JSON7A4X.mjs";
20
20
  import "../chunk-X7FZPY3P.mjs";
21
21
  import "../chunk-45GNHDKA.mjs";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  When,
3
3
  when
4
- } from "../chunk-3OMZMZ2X.mjs";
4
+ } from "../chunk-K5QAWUWF.mjs";
5
5
  import "../chunk-OFGI5FLG.mjs";
6
- import "../chunk-63E35OAQ.mjs";
7
- import "../chunk-DTINSZE3.mjs";
8
- import "../chunk-I7VONUMP.mjs";
9
- import "../chunk-S6Q5OF24.mjs";
6
+ import "../chunk-M4JWZQNE.mjs";
7
+ import "../chunk-M5TFQK5Z.mjs";
8
+ import "../chunk-5UMUYU5D.mjs";
9
+ import "../chunk-DLAM3KDM.mjs";
10
10
  import "../chunk-CAHTK3AT.mjs";
11
- import "../chunk-RUCZFEER.mjs";
12
- import "../chunk-DTBQDKGY.mjs";
13
- import "../chunk-4ERH25J4.mjs";
14
- import "../chunk-MHC4UN53.mjs";
15
- import "../chunk-L3RHZQZ5.mjs";
16
- import "../chunk-I2FML25X.mjs";
11
+ import "../chunk-7OU7RKLW.mjs";
12
+ import "../chunk-3ZWOAEBK.mjs";
13
+ import "../chunk-C2FM7WJJ.mjs";
14
+ import "../chunk-SKJKFUXV.mjs";
15
+ import "../chunk-REO5NOOT.mjs";
16
+ import "../chunk-H5JZZPYG.mjs";
17
17
  import "../chunk-JSON7A4X.mjs";
18
18
  import "../chunk-X7FZPY3P.mjs";
19
19
  import "../chunk-45GNHDKA.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "17.7.0",
3
+ "version": "17.9.0",
4
4
  "description": "Straightforward library for building domain-driven microservice architectures",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
@@ -34,7 +34,7 @@
34
34
  "access": "public"
35
35
  },
36
36
  "devDependencies": {
37
- "@thisisagile/easy-test": "17.7.0",
37
+ "@thisisagile/easy-test": "17.9.0",
38
38
  "@types/form-urlencoded": "^4.4.2",
39
39
  "@types/luxon": "3.4.2",
40
40
  "@types/validator": "^13.12.2"
package/src/types/List.ts CHANGED
@@ -255,6 +255,23 @@ export class List<T = unknown> extends Array<T> {
255
255
  chunk(chunkSize: number): List<List<T>> {
256
256
  return this.reduce((acc, _, index) => (index % chunkSize === 0 ? on(acc, a => a.push(this.slice(index, index + chunkSize))) : acc), toList<List<T>>());
257
257
  }
258
+
259
+ update(p: (value: T, index: number, array: T[]) => unknown, val: T | ((v: T) => T)): List<T> {
260
+ return this.map((v, i, a) => (p(v, i, a) ? ofGet<T>(val, v, i, a) : v));
261
+ }
262
+
263
+ updateFirst(p: (value: T, index: number, array: T[]) => unknown, val: T | ((v: T) => T)) {
264
+ const index = this.findIndex(p);
265
+ return this.update((t, i) => p(t, i, this) && i == index, val);
266
+ }
267
+
268
+ updateFirstById(id: Id, val: T | ((v: T) => T)) {
269
+ return this.updateFirst(i => asString((i as any)?.id) === asString(id), val);
270
+ }
271
+
272
+ updateById(id: Id, val: T | ((v: T) => T)) {
273
+ return this.update(i => asString((i as any)?.id) === asString(id), val);
274
+ }
258
275
  }
259
276
 
260
277
  export const toList = <T = unknown>(...items: ArrayLike<T>): List<T> => new List<T>().add(...items);
@@ -7,6 +7,7 @@ import { ArrayLike } from './Array';
7
7
  import { Optional } from './Types';
8
8
  import { isNumber } from './Is';
9
9
  import { choose } from './Case';
10
+ import type { Id } from './Id';
10
11
 
11
12
  export type FilterValue = { label?: string; value: any };
12
13
  export type Filter = { label?: string; field: string; shortField?: string; values: FilterValue[] };
@@ -171,6 +172,22 @@ export class PageList<T> extends List<T> {
171
172
  return toPageList(super.slice(start, end), this);
172
173
  }
173
174
 
175
+ update(p: (value: T, index: number, array: T[]) => unknown, val: T | ((v: T) => T) ): PageList<T> {
176
+ return toPageList(super.update(p, val), this);
177
+ }
178
+
179
+ updateFirst(p: (value: T, index: number, array: T[]) => unknown, val: T | ((v: T) => T)): PageList<T> {
180
+ return toPageList(super.updateFirst(p, val), this);
181
+ }
182
+
183
+ updateFirstById(id: Id, val: T | ((v: T) => T)): PageList<T> {
184
+ return toPageList(super.updateFirstById(id, val), this);
185
+ }
186
+
187
+ updateById(id: Id, val: T | ((v: T) => T)): PageList<T> {
188
+ return toPageList(super.updateById(id, val), this);
189
+ }
190
+
174
191
  private setPageOptions(options?: PageListOptions): this {
175
192
  this._options = options;
176
193
  return this;
package/src/utils/View.ts CHANGED
@@ -2,7 +2,7 @@ import { traverse } from './Traverse';
2
2
  import { ifDefined } from './If';
3
3
  import { Primitive } from '../types/Primitive';
4
4
  import { Constructor, isConstructor, use } from '../types/Constructor';
5
- import { asJson, json, Json } from '../types/Json';
5
+ import { asJson, json } from '../types/Json';
6
6
  import { choose } from '../types/Case';
7
7
  import { isArray, isBoolean, isFunction, isString } from '../types/Is';
8
8
  import { meta } from '../types/Meta';
@@ -14,8 +14,9 @@ import { DontInfer } from '../types/Types';
14
14
  type Func<T = unknown> = (a: any, key?: string) => T;
15
15
  type Viewer = { key: string; f: Func };
16
16
 
17
- type ViewType = Primitive | Constructor | Func | View | undefined;
18
- type ViewRecord<V = Json> = Partial<Record<keyof V, ViewType>>;
17
+ type ViewType<V = any> = Primitive | Constructor | Func | View<V> | undefined;
18
+ // type ViewRecord<V = Json> = Partial<Record<keyof V, ViewType>>;
19
+ type ViewRecord<V = any> = Partial<{ [P in keyof V]: ViewType<V[P]> }>;
19
20
 
20
21
  const ignore = Symbol('view.ignore');
21
22
  const keep = Symbol('view.keep');
@@ -47,7 +48,7 @@ const toViewers = (views: ViewRecord): Viewer[] =>
47
48
  .entries<ViewType>()
48
49
  .map(([k, v]) => toViewer(k, v));
49
50
 
50
- export class View<V = Json> {
51
+ export class View<V = any> {
51
52
  constructor(
52
53
  private views = {} as ViewRecord<V>,
53
54
  readonly startsFrom: 'scratch' | 'source' = 'scratch',
@@ -80,7 +81,7 @@ export class View<V = Json> {
80
81
 
81
82
  export const isSimpleView = (a: unknown): a is View => a instanceof View;
82
83
 
83
- export const view = <V = Json>(views: ViewRecord<DontInfer<V>>): View<V> => new View<V>(views);
84
+ export const view = <V = any>(views: ViewRecord<DontInfer<V>>): View<V> => new View<V>(views);
84
85
 
85
86
  export const views = {
86
87
  ignore,
@@ -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, 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 = Primitive | Constructor | Func | View | undefined;\ntype ViewRecord<V = Json> = 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 = Json> {\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 = Json>(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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/PageList.ts"],"sourcesContent":["import { isList, List } from './List';\nimport { Construct, ofConstruct } from './Constructor';\nimport { isA } from './IsA';\nimport { PlainSort, Sort } from './Sort';\nimport { GetProperty } from './Get';\nimport { ArrayLike } from './Array';\nimport { Optional } from './Types';\nimport { isNumber } from './Is';\nimport { choose } from './Case';\n\nexport type FilterValue = { label?: string; value: any };\nexport type Filter = { label?: string; field: string; shortField?: string; values: FilterValue[] };\n\nexport const toFilter = (field: string, value: any): Filter => toShortFilter(field, field, value);\nexport const toShortFilter = (field: string, shortField: string, value: any): Filter => ({\n field,\n shortField,\n values: [{ value }],\n});\n\nexport type PageOptions = { take?: number; skip?: number; sort?: Sort[]; sorts?: PlainSort; filters?: Filter[] };\nexport type PageListOptions = Exclude<PageOptions, 'sort'> & { total?: number };\n\nexport class PageList<T> extends List<T> {\n private _options?: PageListOptions;\n\n get options(): Optional<PageListOptions> {\n return this._options;\n }\n\n get take(): number {\n return this._options?.take ?? 250;\n }\n\n get skip(): number {\n return this._options?.skip ?? 0;\n }\n\n get total(): Optional<number> {\n return this._options?.total;\n }\n\n get sorts(): Optional<PlainSort> {\n return this._options?.sorts;\n }\n\n get filters(): Optional<Filter[]> {\n return this._options?.filters;\n }\n\n get meta(): PageListOptions {\n return {\n take: this.take,\n skip: this.skip,\n total: this.total,\n sorts: this.sorts,\n filters: this.filters,\n };\n }\n\n asc(p: GetProperty<T, any>): PageList<T> {\n return toPageList(super.asc(p), this);\n }\n\n desc(p: GetProperty<T, any>): PageList<T> {\n return toPageList(super.desc(p), this);\n }\n\n diff(others: ArrayLike<T>): PageList<T> {\n return toPageList(super.diff(others), this);\n }\n\n diffByKey(others: ArrayLike<T>, key: keyof T): PageList<T> {\n return toPageList(super.diffByKey(others, key), this);\n }\n\n symmetricDiff(others: ArrayLike<T>): PageList<T> {\n return toPageList(super.symmetricDiff(others), this);\n }\n\n symmetricDiffByKey(others: ArrayLike<T>, key: keyof T): PageList<T> {\n return toPageList(super.symmetricDiffByKey(others, key), this);\n }\n\n intersect(others: ArrayLike<T>): PageList<T> {\n return toPageList(super.intersect(others), this);\n }\n\n intersectByKey<U>(others: ArrayLike<U>, key: keyof T & keyof U): PageList<T> {\n return toPageList(super.intersectByKey(others, key), this);\n }\n\n map<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): PageList<U> {\n const items = super.map(f, params);\n return toPageList(items, this);\n }\n\n flatMap<U, This = unknown>(f: (this: This, value: T, index: number, array: T[]) => ReadonlyArray<U> | U, params?: This): PageList<U> {\n return toPageList(super.flatMap(f, params), this);\n }\n\n mapDefined<U>(f: (value: T, index: number, array: T[]) => U, params?: unknown): PageList<NonNullable<U>> {\n return toPageList(super.mapDefined(f, params), this);\n }\n\n mapAsync(f: (i: T) => Promise<T>): Promise<PageList<T>> {\n return super.mapAsync(f).then(r => toPageList(r, this));\n }\n\n distinct(): PageList<T> {\n return toPageList(super.distinct(), this);\n }\n\n distinctByKey(key: keyof T): PageList<T> {\n return toPageList(super.distinctByKey(key), this);\n }\n\n distinctByValue(): PageList<T> {\n return toPageList(super.distinctByValue(), this);\n }\n\n filter(p: (value: T, index: number, array: T[]) => unknown, params?: unknown): PageList<T> {\n return toPageList(super.filter(p, params), this);\n }\n\n accumulate(...keys: (keyof T)[]): PageList<T> {\n return toPageList(super.accumulate(...keys), this);\n }\n\n concat(...items: ConcatArray<T>[]): PageList<T>;\n\n concat(...items: (T | ConcatArray<T>)[]): PageList<T>;\n\n concat(...items: (T | ConcatArray<T>)[]): PageList<T> {\n return toPageList(super.concat(...items), this);\n }\n\n reverse(): PageList<T> {\n return toPageList(super.reverse(), this);\n }\n\n splice(start: number, deleteCount?: number): PageList<T>;\n\n splice(start: number, deleteCount: number, ...items: T[]): PageList<T>;\n\n splice(start: number, deleteCount: number, ...items: T[]): PageList<T> {\n return toPageList(super.splice(start, deleteCount, ...items), this);\n }\n\n remove(item: T): PageList<T> {\n return toPageList(super.remove(item), this);\n }\n\n replace(key: keyof T, item: T): PageList<T> {\n return toPageList(super.replace(key, item), this);\n }\n\n switch(item: T): PageList<T> {\n return toPageList(super.switch(item), this);\n }\n\n defined(): PageList<NonNullable<T>> {\n return toPageList(super.defined(), this);\n }\n\n orElse(...alt: ArrayLike<T>): Optional<PageList<T>> {\n return toPageList(super.orElse(...alt), this);\n }\n\n slice(start?: number, end?: number): PageList<T> {\n return toPageList(super.slice(start, end), this);\n }\n\n private setPageOptions(options?: PageListOptions): this {\n this._options = options;\n return this;\n }\n}\n\nexport const isPageList = <T>(l?: unknown): l is PageList<T> => isList<T>(l) && isA(l, 'total');\n\nexport const toPageList = <T>(items: T[] = [], options?: Omit<PageOptions, 'sort'> & { total?: number }): PageList<T> =>\n (\n choose(items)\n .case(\n i => i.length === 1 && isNumber(i[0]),\n i => new PageList<T>().add(...i)\n )\n .else(i => new PageList<T>(...i)) as any\n ).setPageOptions(options);\n\n/* @deprecated No longer needed as the PageList is now a class that extends from List, use the map function */\nexport const asPageList = <T, U>(c: Construct<T>, items = toPageList<U>()): PageList<T> => items.map(i => ofConstruct(c, i));\n"],"mappings":";;;;;;;;;;;;;;;;;;AAaO,IAAM,WAAW,CAAC,OAAe,UAAuB,cAAc,OAAO,OAAO,KAAK;AACzF,IAAM,gBAAgB,CAAC,OAAe,YAAoB,WAAwB;AAAA,EACvF;AAAA,EACA;AAAA,EACA,QAAQ,CAAC,EAAE,MAAM,CAAC;AACpB;AAKO,IAAM,WAAN,cAA0B,KAAQ;AAAA,EAC/B;AAAA,EAER,IAAI,UAAqC;AACvC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,OAAe;AACjB,WAAO,KAAK,UAAU,QAAQ;AAAA,EAChC;AAAA,EAEA,IAAI,OAAe;AACjB,WAAO,KAAK,UAAU,QAAQ;AAAA,EAChC;AAAA,EAEA,IAAI,QAA0B;AAC5B,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEA,IAAI,QAA6B;AAC/B,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEA,IAAI,UAA8B;AAChC,WAAO,KAAK,UAAU;AAAA,EACxB;AAAA,EAEA,IAAI,OAAwB;AAC1B,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MACZ,SAAS,KAAK;AAAA,IAChB;AAAA,EACF;AAAA,EAEA,IAAI,GAAqC;AACvC,WAAO,WAAW,MAAM,IAAI,CAAC,GAAG,IAAI;AAAA,EACtC;AAAA,EAEA,KAAK,GAAqC;AACxC,WAAO,WAAW,MAAM,KAAK,CAAC,GAAG,IAAI;AAAA,EACvC;AAAA,EAEA,KAAK,QAAmC;AACtC,WAAO,WAAW,MAAM,KAAK,MAAM,GAAG,IAAI;AAAA,EAC5C;AAAA,EAEA,UAAU,QAAsB,KAA2B;AACzD,WAAO,WAAW,MAAM,UAAU,QAAQ,GAAG,GAAG,IAAI;AAAA,EACtD;AAAA,EAEA,cAAc,QAAmC;AAC/C,WAAO,WAAW,MAAM,cAAc,MAAM,GAAG,IAAI;AAAA,EACrD;AAAA,EAEA,mBAAmB,QAAsB,KAA2B;AAClE,WAAO,WAAW,MAAM,mBAAmB,QAAQ,GAAG,GAAG,IAAI;AAAA,EAC/D;AAAA,EAEA,UAAU,QAAmC;AAC3C,WAAO,WAAW,MAAM,UAAU,MAAM,GAAG,IAAI;AAAA,EACjD;AAAA,EAEA,eAAkB,QAAsB,KAAqC;AAC3E,WAAO,WAAW,MAAM,eAAe,QAAQ,GAAG,GAAG,IAAI;AAAA,EAC3D;AAAA,EAEA,IAAO,GAA+C,QAA+B;AACnF,UAAM,QAAQ,MAAM,IAAI,GAAG,MAAM;AACjC,WAAO,WAAW,OAAO,IAAI;AAAA,EAC/B;AAAA,EAEA,QAA2B,GAA8E,QAA4B;AACnI,WAAO,WAAW,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI;AAAA,EAClD;AAAA,EAEA,WAAc,GAA+C,QAA4C;AACvG,WAAO,WAAW,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI;AAAA,EACrD;AAAA,EAEA,SAAS,GAA+C;AACtD,WAAO,MAAM,SAAS,CAAC,EAAE,KAAK,OAAK,WAAW,GAAG,IAAI,CAAC;AAAA,EACxD;AAAA,EAEA,WAAwB;AACtB,WAAO,WAAW,MAAM,SAAS,GAAG,IAAI;AAAA,EAC1C;AAAA,EAEA,cAAc,KAA2B;AACvC,WAAO,WAAW,MAAM,cAAc,GAAG,GAAG,IAAI;AAAA,EAClD;AAAA,EAEA,kBAA+B;AAC7B,WAAO,WAAW,MAAM,gBAAgB,GAAG,IAAI;AAAA,EACjD;AAAA,EAEA,OAAO,GAAqD,QAA+B;AACzF,WAAO,WAAW,MAAM,OAAO,GAAG,MAAM,GAAG,IAAI;AAAA,EACjD;AAAA,EAEA,cAAc,MAAgC;AAC5C,WAAO,WAAW,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI;AAAA,EACnD;AAAA,EAMA,UAAU,OAA4C;AACpD,WAAO,WAAW,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI;AAAA,EAChD;AAAA,EAEA,UAAuB;AACrB,WAAO,WAAW,MAAM,QAAQ,GAAG,IAAI;AAAA,EACzC;AAAA,EAMA,OAAO,OAAe,gBAAwB,OAAyB;AACrE,WAAO,WAAW,MAAM,OAAO,OAAO,aAAa,GAAG,KAAK,GAAG,IAAI;AAAA,EACpE;AAAA,EAEA,OAAO,MAAsB;AAC3B,WAAO,WAAW,MAAM,OAAO,IAAI,GAAG,IAAI;AAAA,EAC5C;AAAA,EAEA,QAAQ,KAAc,MAAsB;AAC1C,WAAO,WAAW,MAAM,QAAQ,KAAK,IAAI,GAAG,IAAI;AAAA,EAClD;AAAA,EAEA,OAAO,MAAsB;AAC3B,WAAO,WAAW,MAAM,OAAO,IAAI,GAAG,IAAI;AAAA,EAC5C;AAAA,EAEA,UAAoC;AAClC,WAAO,WAAW,MAAM,QAAQ,GAAG,IAAI;AAAA,EACzC;AAAA,EAEA,UAAU,KAA0C;AAClD,WAAO,WAAW,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI;AAAA,EAC9C;AAAA,EAEA,MAAM,OAAgB,KAA2B;AAC/C,WAAO,WAAW,MAAM,MAAM,OAAO,GAAG,GAAG,IAAI;AAAA,EACjD;AAAA,EAEQ,eAAe,SAAiC;AACtD,SAAK,WAAW;AAChB,WAAO;AAAA,EACT;AACF;AAEO,IAAM,aAAa,CAAI,MAAkC,OAAU,CAAC,KAAK,IAAI,GAAG,OAAO;AAEvF,IAAM,aAAa,CAAI,QAAa,CAAC,GAAG,YAE3C,OAAO,KAAK,EACT;AAAA,EACC,OAAK,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC,CAAC;AAAA,EACpC,OAAK,IAAI,SAAY,EAAE,IAAI,GAAG,CAAC;AACjC,EACC,KAAK,OAAK,IAAI,SAAY,GAAG,CAAC,CAAC,EAClC,eAAe,OAAO;AAGnB,IAAM,aAAa,CAAO,GAAiB,QAAQ,WAAc,MAAmB,MAAM,IAAI,OAAK,YAAY,GAAG,CAAC,CAAC;","names":[]}