@thisisagile/easy 18.7.0 → 18.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 (157) hide show
  1. package/dist/{chunk-LHDTOERW.mjs → chunk-2TAVHLMQ.mjs} +2 -2
  2. package/dist/{chunk-JM6NAJQ3.mjs → chunk-2YE6JUAJ.mjs} +3 -3
  3. package/dist/{chunk-6PMTGQVO.mjs → chunk-4IQG5XVF.mjs} +3 -3
  4. package/dist/{chunk-ZBOGLMG2.mjs → chunk-5W5W5URV.mjs} +4 -4
  5. package/dist/{chunk-6YTIRHPN.mjs → chunk-A6NWP64I.mjs} +3 -3
  6. package/dist/{chunk-WOUH6UVC.mjs → chunk-B5AAGATA.mjs} +2 -2
  7. package/dist/{chunk-ZZ73Z5CU.mjs → chunk-BEP7JFNG.mjs} +2 -2
  8. package/dist/{chunk-QZPBFVZL.mjs → chunk-CKXCHDTJ.mjs} +2 -2
  9. package/dist/{chunk-IYUYA5OX.mjs → chunk-D5L6SKEY.mjs} +5 -5
  10. package/dist/{chunk-M2S4OLVZ.mjs → chunk-DIFN7V7I.mjs} +2 -2
  11. package/dist/{chunk-XQJ5LQEQ.mjs → chunk-EPTPZEGQ.mjs} +2 -2
  12. package/dist/{chunk-FF3BNZ4H.mjs → chunk-F7MXGRLW.mjs} +2 -2
  13. package/dist/{chunk-GKQMIKIY.mjs → chunk-FH3UDJ3J.mjs} +2 -2
  14. package/dist/{chunk-JNZUGKMO.mjs → chunk-GDRTFSFI.mjs} +2 -2
  15. package/dist/{chunk-IESVFCB3.mjs → chunk-HJSFO3XG.mjs} +3 -3
  16. package/dist/{chunk-QLEGIYVU.mjs → chunk-HXMARER2.mjs} +2 -2
  17. package/dist/{chunk-KPXOQFEB.mjs → chunk-I3KZQ25B.mjs} +3 -3
  18. package/dist/{chunk-5N6Q7OXJ.mjs → chunk-IBDMI7CE.mjs} +3 -3
  19. package/dist/{chunk-AYR4US3Z.mjs → chunk-IESUSDTL.mjs} +2 -2
  20. package/dist/{chunk-FFD2T6YV.mjs → chunk-JCJ3LYZF.mjs} +2 -2
  21. package/dist/{chunk-RW4AKBCN.mjs → chunk-JHVJNTHQ.mjs} +3 -3
  22. package/dist/{chunk-QBPSI5NM.mjs → chunk-KNGW4ESR.mjs} +4 -4
  23. package/dist/{chunk-J5PB7ZVO.mjs → chunk-N4U5AO3F.mjs} +3 -3
  24. package/dist/{chunk-O4RWZGFC.mjs → chunk-NL3TQUX2.mjs} +3 -3
  25. package/dist/{chunk-B37NZCNW.mjs → chunk-PAVASJXB.mjs} +2 -2
  26. package/dist/{chunk-JI7MC5EA.mjs → chunk-RNAPUKU2.mjs} +2 -2
  27. package/dist/{chunk-7TW4TBFN.mjs → chunk-THJAYPSV.mjs} +18 -4
  28. package/dist/{chunk-7TW4TBFN.mjs.map → chunk-THJAYPSV.mjs.map} +1 -1
  29. package/dist/{chunk-TUO7ZPSP.mjs → chunk-TJDABHKW.mjs} +4 -4
  30. package/dist/{chunk-TNIG6FU2.mjs → chunk-U7RZO2JM.mjs} +2 -2
  31. package/dist/{chunk-RBJBAJOK.mjs → chunk-UBQO5YAO.mjs} +2 -2
  32. package/dist/{chunk-GF7JYGJU.mjs → chunk-UPATKDHG.mjs} +2 -2
  33. package/dist/{chunk-FSWASMJZ.mjs → chunk-V4HSHLV4.mjs} +2 -2
  34. package/dist/{chunk-63DTRTSC.mjs → chunk-X6FCMCKZ.mjs} +2 -2
  35. package/dist/{chunk-SBT3WGBP.mjs → chunk-Y662GAGB.mjs} +7 -7
  36. package/dist/{chunk-ZRH6FGUK.mjs → chunk-ZUHWZMUH.mjs} +4 -4
  37. package/dist/data/Condition.mjs +4 -4
  38. package/dist/data/Database.mjs +3 -3
  39. package/dist/data/Field.mjs +4 -4
  40. package/dist/data/InMemoryGateway.mjs +4 -4
  41. package/dist/domain/Audit.mjs +8 -8
  42. package/dist/domain/Child.mjs +5 -5
  43. package/dist/domain/DateTime.mjs +4 -4
  44. package/dist/domain/Entity.mjs +8 -8
  45. package/dist/domain/Repo.mjs +4 -4
  46. package/dist/domain/Struct.mjs +4 -4
  47. package/dist/domain/Typo.mjs +4 -4
  48. package/dist/http/CacheControl.mjs +4 -4
  49. package/dist/http/ContentType.mjs +3 -3
  50. package/dist/http/HttpStatus.mjs +3 -3
  51. package/dist/http/HttpVerb.mjs +3 -3
  52. package/dist/http/LocalRequestStore.mjs +2 -2
  53. package/dist/http/RequestOptions.mjs +4 -4
  54. package/dist/http/RestResult.mjs +4 -4
  55. package/dist/http/toResponse.mjs +5 -5
  56. package/dist/index.d.ts +1 -0
  57. package/dist/index.js +46 -0
  58. package/dist/index.js.map +1 -1
  59. package/dist/index.mjs +1 -0
  60. package/dist/index.mjs.map +1 -1
  61. package/dist/process/App.mjs +3 -3
  62. package/dist/process/Manage.mjs +4 -4
  63. package/dist/process/Scope.mjs +3 -3
  64. package/dist/process/Search.mjs +4 -4
  65. package/dist/process/UseCase.mjs +2 -2
  66. package/dist/resources/Req.mjs +3 -3
  67. package/dist/services/Api.mjs +12 -12
  68. package/dist/services/ApiGateway.mjs +15 -15
  69. package/dist/services/AxiosProvider.mjs +10 -10
  70. package/dist/services/MappedRouteGateway.mjs +18 -18
  71. package/dist/services/RouteGateway.mjs +16 -16
  72. package/dist/services/ViewRouteGateway.mjs +18 -18
  73. package/dist/sql/Column.mjs +3 -3
  74. package/dist/sql/Count.mjs +5 -5
  75. package/dist/sql/Delete.mjs +4 -4
  76. package/dist/sql/Insert.mjs +4 -4
  77. package/dist/sql/Select.mjs +4 -4
  78. package/dist/sql/SqlQuery.mjs +3 -3
  79. package/dist/sql/Table.mjs +12 -12
  80. package/dist/sql/TableGateway.mjs +4 -4
  81. package/dist/sql/Update.mjs +4 -4
  82. package/dist/types/Cache.mjs +2 -2
  83. package/dist/types/CacheAge.mjs +4 -4
  84. package/dist/types/Case.mjs +2 -2
  85. package/dist/types/Context.mjs +2 -2
  86. package/dist/types/Enum.mjs +2 -2
  87. package/dist/types/Environment.mjs +2 -2
  88. package/dist/types/Exception.mjs +2 -2
  89. package/dist/types/Gateway.mjs +3 -3
  90. package/dist/types/IsEqual.mjs +2 -2
  91. package/dist/types/Json.mjs +3 -3
  92. package/dist/types/List.mjs +2 -2
  93. package/dist/types/Meta.mjs +2 -2
  94. package/dist/types/Number.mjs +3 -3
  95. package/dist/types/Object.mjs +2 -2
  96. package/dist/types/PageList.mjs +3 -3
  97. package/dist/types/Parser.mjs +2 -2
  98. package/dist/types/Repository.mjs +3 -3
  99. package/dist/types/Result.mjs +2 -2
  100. package/dist/types/Results.mjs +2 -2
  101. package/dist/types/Tag.mjs +2 -2
  102. package/dist/types/Template.mjs +2 -2
  103. package/dist/types/ToText.mjs +2 -2
  104. package/dist/types/Try.mjs +2 -2
  105. package/dist/types/Uri.mjs +2 -2
  106. package/dist/utils/If.mjs +2 -2
  107. package/dist/utils/IfType.d.ts +14 -0
  108. package/dist/utils/IfType.mjs +42 -0
  109. package/dist/utils/IfType.mjs.map +1 -0
  110. package/dist/utils/Mapper.mjs +4 -4
  111. package/dist/utils/Period.mjs +4 -4
  112. package/dist/utils/Promise.mjs +2 -2
  113. package/dist/utils/Seconds.mjs +3 -3
  114. package/dist/utils/Sentence.mjs +2 -2
  115. package/dist/utils/View.d.ts +7 -0
  116. package/dist/utils/View.mjs +5 -5
  117. package/dist/validation/Contraints.mjs +3 -3
  118. package/dist/validation/Validate.mjs +2 -2
  119. package/dist/validation/When.mjs +2 -2
  120. package/package.json +1 -1
  121. package/src/index.ts +1 -0
  122. package/src/utils/IfType.ts +39 -0
  123. package/src/utils/View.ts +14 -0
  124. /package/dist/{chunk-LHDTOERW.mjs.map → chunk-2TAVHLMQ.mjs.map} +0 -0
  125. /package/dist/{chunk-JM6NAJQ3.mjs.map → chunk-2YE6JUAJ.mjs.map} +0 -0
  126. /package/dist/{chunk-6PMTGQVO.mjs.map → chunk-4IQG5XVF.mjs.map} +0 -0
  127. /package/dist/{chunk-ZBOGLMG2.mjs.map → chunk-5W5W5URV.mjs.map} +0 -0
  128. /package/dist/{chunk-6YTIRHPN.mjs.map → chunk-A6NWP64I.mjs.map} +0 -0
  129. /package/dist/{chunk-WOUH6UVC.mjs.map → chunk-B5AAGATA.mjs.map} +0 -0
  130. /package/dist/{chunk-ZZ73Z5CU.mjs.map → chunk-BEP7JFNG.mjs.map} +0 -0
  131. /package/dist/{chunk-QZPBFVZL.mjs.map → chunk-CKXCHDTJ.mjs.map} +0 -0
  132. /package/dist/{chunk-IYUYA5OX.mjs.map → chunk-D5L6SKEY.mjs.map} +0 -0
  133. /package/dist/{chunk-M2S4OLVZ.mjs.map → chunk-DIFN7V7I.mjs.map} +0 -0
  134. /package/dist/{chunk-XQJ5LQEQ.mjs.map → chunk-EPTPZEGQ.mjs.map} +0 -0
  135. /package/dist/{chunk-FF3BNZ4H.mjs.map → chunk-F7MXGRLW.mjs.map} +0 -0
  136. /package/dist/{chunk-GKQMIKIY.mjs.map → chunk-FH3UDJ3J.mjs.map} +0 -0
  137. /package/dist/{chunk-JNZUGKMO.mjs.map → chunk-GDRTFSFI.mjs.map} +0 -0
  138. /package/dist/{chunk-IESVFCB3.mjs.map → chunk-HJSFO3XG.mjs.map} +0 -0
  139. /package/dist/{chunk-QLEGIYVU.mjs.map → chunk-HXMARER2.mjs.map} +0 -0
  140. /package/dist/{chunk-KPXOQFEB.mjs.map → chunk-I3KZQ25B.mjs.map} +0 -0
  141. /package/dist/{chunk-5N6Q7OXJ.mjs.map → chunk-IBDMI7CE.mjs.map} +0 -0
  142. /package/dist/{chunk-AYR4US3Z.mjs.map → chunk-IESUSDTL.mjs.map} +0 -0
  143. /package/dist/{chunk-FFD2T6YV.mjs.map → chunk-JCJ3LYZF.mjs.map} +0 -0
  144. /package/dist/{chunk-RW4AKBCN.mjs.map → chunk-JHVJNTHQ.mjs.map} +0 -0
  145. /package/dist/{chunk-QBPSI5NM.mjs.map → chunk-KNGW4ESR.mjs.map} +0 -0
  146. /package/dist/{chunk-J5PB7ZVO.mjs.map → chunk-N4U5AO3F.mjs.map} +0 -0
  147. /package/dist/{chunk-O4RWZGFC.mjs.map → chunk-NL3TQUX2.mjs.map} +0 -0
  148. /package/dist/{chunk-B37NZCNW.mjs.map → chunk-PAVASJXB.mjs.map} +0 -0
  149. /package/dist/{chunk-JI7MC5EA.mjs.map → chunk-RNAPUKU2.mjs.map} +0 -0
  150. /package/dist/{chunk-TUO7ZPSP.mjs.map → chunk-TJDABHKW.mjs.map} +0 -0
  151. /package/dist/{chunk-TNIG6FU2.mjs.map → chunk-U7RZO2JM.mjs.map} +0 -0
  152. /package/dist/{chunk-RBJBAJOK.mjs.map → chunk-UBQO5YAO.mjs.map} +0 -0
  153. /package/dist/{chunk-GF7JYGJU.mjs.map → chunk-UPATKDHG.mjs.map} +0 -0
  154. /package/dist/{chunk-FSWASMJZ.mjs.map → chunk-V4HSHLV4.mjs.map} +0 -0
  155. /package/dist/{chunk-63DTRTSC.mjs.map → chunk-X6FCMCKZ.mjs.map} +0 -0
  156. /package/dist/{chunk-SBT3WGBP.mjs.map → chunk-Y662GAGB.mjs.map} +0 -0
  157. /package/dist/{chunk-ZRH6FGUK.mjs.map → chunk-ZUHWZMUH.mjs.map} +0 -0
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  choose
3
- } from "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-TJDABHKW.mjs";
4
+ import "../chunk-SSROJBD5.mjs";
4
5
  import "../chunk-GPNPXSOF.mjs";
5
6
  import "../chunk-QCPWEAAJ.mjs";
6
- import "../chunk-SSROJBD5.mjs";
7
7
  import "../chunk-AMS2ELWR.mjs";
8
8
  import "../chunk-4Q6IHSAU.mjs";
9
9
  import "../chunk-SJGQU3OG.mjs";
@@ -4,10 +4,10 @@ import {
4
4
  Context,
5
5
  DotEnvContext,
6
6
  ctx
7
- } from "../chunk-TUO7ZPSP.mjs";
7
+ } from "../chunk-TJDABHKW.mjs";
8
+ import "../chunk-SSROJBD5.mjs";
8
9
  import "../chunk-GPNPXSOF.mjs";
9
10
  import "../chunk-QCPWEAAJ.mjs";
10
- import "../chunk-SSROJBD5.mjs";
11
11
  import "../chunk-AMS2ELWR.mjs";
12
12
  import "../chunk-4Q6IHSAU.mjs";
13
13
  import "../chunk-SJGQU3OG.mjs";
@@ -2,10 +2,10 @@ import {
2
2
  Enum,
3
3
  isEnum,
4
4
  isEnumConstructor
5
- } from "../chunk-TUO7ZPSP.mjs";
5
+ } from "../chunk-TJDABHKW.mjs";
6
+ import "../chunk-SSROJBD5.mjs";
6
7
  import "../chunk-GPNPXSOF.mjs";
7
8
  import "../chunk-QCPWEAAJ.mjs";
8
- import "../chunk-SSROJBD5.mjs";
9
9
  import "../chunk-AMS2ELWR.mjs";
10
10
  import "../chunk-4Q6IHSAU.mjs";
11
11
  import "../chunk-SJGQU3OG.mjs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Enum
3
- } from "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-TJDABHKW.mjs";
4
+ import "../chunk-SSROJBD5.mjs";
4
5
  import "../chunk-GPNPXSOF.mjs";
5
6
  import "../chunk-QCPWEAAJ.mjs";
6
- import "../chunk-SSROJBD5.mjs";
7
7
  import "../chunk-AMS2ELWR.mjs";
8
8
  import "../chunk-4Q6IHSAU.mjs";
9
9
  import "../chunk-SJGQU3OG.mjs";
@@ -2,10 +2,10 @@ import {
2
2
  Exception,
3
3
  isDoesNotExist,
4
4
  isException
5
- } from "../chunk-TUO7ZPSP.mjs";
5
+ } from "../chunk-TJDABHKW.mjs";
6
+ import "../chunk-SSROJBD5.mjs";
6
7
  import "../chunk-GPNPXSOF.mjs";
7
8
  import "../chunk-QCPWEAAJ.mjs";
8
- import "../chunk-SSROJBD5.mjs";
9
9
  import "../chunk-AMS2ELWR.mjs";
10
10
  import "../chunk-4Q6IHSAU.mjs";
11
11
  import "../chunk-SJGQU3OG.mjs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Gateway
3
- } from "../chunk-FF3BNZ4H.mjs";
4
- import "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-F7MXGRLW.mjs";
4
+ import "../chunk-TJDABHKW.mjs";
5
+ import "../chunk-SSROJBD5.mjs";
5
6
  import "../chunk-GPNPXSOF.mjs";
6
7
  import "../chunk-QCPWEAAJ.mjs";
7
- import "../chunk-SSROJBD5.mjs";
8
8
  import "../chunk-AMS2ELWR.mjs";
9
9
  import "../chunk-4Q6IHSAU.mjs";
10
10
  import "../chunk-SJGQU3OG.mjs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  isEqual
3
- } from "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-TJDABHKW.mjs";
4
+ import "../chunk-SSROJBD5.mjs";
4
5
  import "../chunk-GPNPXSOF.mjs";
5
6
  import "../chunk-QCPWEAAJ.mjs";
6
- import "../chunk-SSROJBD5.mjs";
7
7
  import "../chunk-AMS2ELWR.mjs";
8
8
  import "../chunk-4Q6IHSAU.mjs";
9
9
  import "../chunk-SJGQU3OG.mjs";
@@ -6,11 +6,11 @@ import {
6
6
  takeFirst,
7
7
  takeFirstKey,
8
8
  toJson
9
- } from "../chunk-WOUH6UVC.mjs";
10
- import "../chunk-TUO7ZPSP.mjs";
9
+ } from "../chunk-B5AAGATA.mjs";
10
+ import "../chunk-TJDABHKW.mjs";
11
+ import "../chunk-SSROJBD5.mjs";
11
12
  import "../chunk-GPNPXSOF.mjs";
12
13
  import "../chunk-QCPWEAAJ.mjs";
13
- import "../chunk-SSROJBD5.mjs";
14
14
  import "../chunk-AMS2ELWR.mjs";
15
15
  import "../chunk-4Q6IHSAU.mjs";
16
16
  import "../chunk-SJGQU3OG.mjs";
@@ -5,10 +5,10 @@ import {
5
5
  maxValue,
6
6
  minValue,
7
7
  toList
8
- } from "../chunk-TUO7ZPSP.mjs";
8
+ } from "../chunk-TJDABHKW.mjs";
9
+ import "../chunk-SSROJBD5.mjs";
9
10
  import "../chunk-GPNPXSOF.mjs";
10
11
  import "../chunk-QCPWEAAJ.mjs";
11
- import "../chunk-SSROJBD5.mjs";
12
12
  import "../chunk-AMS2ELWR.mjs";
13
13
  import "../chunk-4Q6IHSAU.mjs";
14
14
  import "../chunk-SJGQU3OG.mjs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  meta
3
- } from "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-TJDABHKW.mjs";
4
+ import "../chunk-SSROJBD5.mjs";
4
5
  import "../chunk-GPNPXSOF.mjs";
5
6
  import "../chunk-QCPWEAAJ.mjs";
6
- import "../chunk-SSROJBD5.mjs";
7
7
  import "../chunk-AMS2ELWR.mjs";
8
8
  import "../chunk-4Q6IHSAU.mjs";
9
9
  import "../chunk-SJGQU3OG.mjs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  asNumber
3
- } from "../chunk-XQJ5LQEQ.mjs";
4
- import "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-EPTPZEGQ.mjs";
4
+ import "../chunk-TJDABHKW.mjs";
5
+ import "../chunk-SSROJBD5.mjs";
5
6
  import "../chunk-GPNPXSOF.mjs";
6
7
  import "../chunk-QCPWEAAJ.mjs";
7
- import "../chunk-SSROJBD5.mjs";
8
8
  import "../chunk-AMS2ELWR.mjs";
9
9
  import "../chunk-4Q6IHSAU.mjs";
10
10
  import "../chunk-SJGQU3OG.mjs";
@@ -3,10 +3,10 @@ import {
3
3
  extractKeys,
4
4
  keys,
5
5
  values
6
- } from "../chunk-TUO7ZPSP.mjs";
6
+ } from "../chunk-TJDABHKW.mjs";
7
+ import "../chunk-SSROJBD5.mjs";
7
8
  import "../chunk-GPNPXSOF.mjs";
8
9
  import "../chunk-QCPWEAAJ.mjs";
9
- import "../chunk-SSROJBD5.mjs";
10
10
  import "../chunk-AMS2ELWR.mjs";
11
11
  import "../chunk-4Q6IHSAU.mjs";
12
12
  import "../chunk-SJGQU3OG.mjs";
@@ -5,11 +5,11 @@ import {
5
5
  toFilter,
6
6
  toPageList,
7
7
  toShortFilter
8
- } from "../chunk-QLEGIYVU.mjs";
9
- import "../chunk-TUO7ZPSP.mjs";
8
+ } from "../chunk-HXMARER2.mjs";
9
+ import "../chunk-TJDABHKW.mjs";
10
+ import "../chunk-SSROJBD5.mjs";
10
11
  import "../chunk-GPNPXSOF.mjs";
11
12
  import "../chunk-QCPWEAAJ.mjs";
12
- import "../chunk-SSROJBD5.mjs";
13
13
  import "../chunk-AMS2ELWR.mjs";
14
14
  import "../chunk-4Q6IHSAU.mjs";
15
15
  import "../chunk-SJGQU3OG.mjs";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  isValid
3
- } from "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-TJDABHKW.mjs";
4
+ import "../chunk-SSROJBD5.mjs";
4
5
  import "../chunk-GPNPXSOF.mjs";
5
6
  import {
6
7
  toArray
7
8
  } from "../chunk-QCPWEAAJ.mjs";
8
- import "../chunk-SSROJBD5.mjs";
9
9
  import "../chunk-AMS2ELWR.mjs";
10
10
  import "../chunk-4Q6IHSAU.mjs";
11
11
  import {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Repository
3
- } from "../chunk-LHDTOERW.mjs";
4
- import "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-2TAVHLMQ.mjs";
4
+ import "../chunk-TJDABHKW.mjs";
5
+ import "../chunk-SSROJBD5.mjs";
5
6
  import "../chunk-GPNPXSOF.mjs";
6
7
  import "../chunk-QCPWEAAJ.mjs";
7
- import "../chunk-SSROJBD5.mjs";
8
8
  import "../chunk-AMS2ELWR.mjs";
9
9
  import "../chunk-4Q6IHSAU.mjs";
10
10
  import "../chunk-SJGQU3OG.mjs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  isResult,
3
3
  toResult
4
- } from "../chunk-TUO7ZPSP.mjs";
4
+ } from "../chunk-TJDABHKW.mjs";
5
+ import "../chunk-SSROJBD5.mjs";
5
6
  import "../chunk-GPNPXSOF.mjs";
6
7
  import "../chunk-QCPWEAAJ.mjs";
7
- import "../chunk-SSROJBD5.mjs";
8
8
  import "../chunk-AMS2ELWR.mjs";
9
9
  import "../chunk-4Q6IHSAU.mjs";
10
10
  import "../chunk-SJGQU3OG.mjs";
@@ -2,10 +2,10 @@ import {
2
2
  Results,
3
3
  isResults,
4
4
  toResults
5
- } from "../chunk-TUO7ZPSP.mjs";
5
+ } from "../chunk-TJDABHKW.mjs";
6
+ import "../chunk-SSROJBD5.mjs";
6
7
  import "../chunk-GPNPXSOF.mjs";
7
8
  import "../chunk-QCPWEAAJ.mjs";
8
- import "../chunk-SSROJBD5.mjs";
9
9
  import "../chunk-AMS2ELWR.mjs";
10
10
  import "../chunk-4Q6IHSAU.mjs";
11
11
  import "../chunk-SJGQU3OG.mjs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  meta
3
- } from "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-TJDABHKW.mjs";
4
+ import "../chunk-SSROJBD5.mjs";
4
5
  import "../chunk-GPNPXSOF.mjs";
5
6
  import "../chunk-QCPWEAAJ.mjs";
6
- import "../chunk-SSROJBD5.mjs";
7
7
  import "../chunk-AMS2ELWR.mjs";
8
8
  import "../chunk-4Q6IHSAU.mjs";
9
9
  import "../chunk-SJGQU3OG.mjs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Template,
3
3
  template
4
- } from "../chunk-TUO7ZPSP.mjs";
4
+ } from "../chunk-TJDABHKW.mjs";
5
+ import "../chunk-SSROJBD5.mjs";
5
6
  import "../chunk-GPNPXSOF.mjs";
6
7
  import "../chunk-QCPWEAAJ.mjs";
7
- import "../chunk-SSROJBD5.mjs";
8
8
  import "../chunk-AMS2ELWR.mjs";
9
9
  import "../chunk-4Q6IHSAU.mjs";
10
10
  import "../chunk-SJGQU3OG.mjs";
@@ -2,10 +2,10 @@ import {
2
2
  ToText,
3
3
  text,
4
4
  textValue
5
- } from "../chunk-TUO7ZPSP.mjs";
5
+ } from "../chunk-TJDABHKW.mjs";
6
+ import "../chunk-SSROJBD5.mjs";
6
7
  import "../chunk-GPNPXSOF.mjs";
7
8
  import "../chunk-QCPWEAAJ.mjs";
8
- import "../chunk-SSROJBD5.mjs";
9
9
  import "../chunk-AMS2ELWR.mjs";
10
10
  import "../chunk-4Q6IHSAU.mjs";
11
11
  import "../chunk-SJGQU3OG.mjs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  Try,
3
3
  tryTo
4
- } from "../chunk-TUO7ZPSP.mjs";
4
+ } from "../chunk-TJDABHKW.mjs";
5
+ import "../chunk-SSROJBD5.mjs";
5
6
  import "../chunk-GPNPXSOF.mjs";
6
7
  import "../chunk-QCPWEAAJ.mjs";
7
- import "../chunk-SSROJBD5.mjs";
8
8
  import "../chunk-AMS2ELWR.mjs";
9
9
  import "../chunk-4Q6IHSAU.mjs";
10
10
  import "../chunk-SJGQU3OG.mjs";
@@ -4,12 +4,12 @@ import {
4
4
  meta,
5
5
  toList,
6
6
  tryTo
7
- } from "../chunk-TUO7ZPSP.mjs";
7
+ } from "../chunk-TJDABHKW.mjs";
8
+ import "../chunk-SSROJBD5.mjs";
8
9
  import "../chunk-GPNPXSOF.mjs";
9
10
  import {
10
11
  toArray
11
12
  } from "../chunk-QCPWEAAJ.mjs";
12
- import "../chunk-SSROJBD5.mjs";
13
13
  import "../chunk-AMS2ELWR.mjs";
14
14
  import {
15
15
  asString
package/dist/utils/If.mjs CHANGED
@@ -5,10 +5,10 @@ import {
5
5
  ifFalse,
6
6
  ifNotEmpty,
7
7
  ifTrue
8
- } from "../chunk-TUO7ZPSP.mjs";
8
+ } from "../chunk-TJDABHKW.mjs";
9
+ import "../chunk-SSROJBD5.mjs";
9
10
  import "../chunk-GPNPXSOF.mjs";
10
11
  import "../chunk-QCPWEAAJ.mjs";
11
- import "../chunk-SSROJBD5.mjs";
12
12
  import "../chunk-AMS2ELWR.mjs";
13
13
  import "../chunk-4Q6IHSAU.mjs";
14
14
  import "../chunk-SJGQU3OG.mjs";
@@ -0,0 +1,14 @@
1
+ import { Optional } from '../types/Types';
2
+ import { Construct } from '../types/Constructor';
3
+ export declare function ifType<Out, T>(o: unknown, predicate: (o: unknown) => o is T, f: Construct<Out, T>, alt: Construct<Out>): Out;
4
+ export declare function ifType<Out, T>(o: unknown, predicate: (o: unknown) => o is T, f: Construct<Out, T>, alt?: Construct<Out>): Optional<Out>;
5
+ export declare function ifString<Out>(o: unknown, f: Construct<Out, string>, alt: Construct<Out>): Out;
6
+ export declare function ifString<Out>(o: unknown, f: Construct<Out, string>, alt?: Construct<Out>): Optional<Out>;
7
+ export declare function ifNumber<Out>(o: unknown, f: Construct<Out, number>, alt: Construct<Out>): Out;
8
+ export declare function ifNumber<Out>(o: unknown, f: Construct<Out, number>, alt?: Construct<Out>): Optional<Out>;
9
+ export declare function ifBoolean<Out>(o: unknown, f: Construct<Out, boolean>, alt: Construct<Out>): Out;
10
+ export declare function ifBoolean<Out>(o: unknown, f: Construct<Out, boolean>, alt?: Construct<Out>): Optional<Out>;
11
+ export declare function ifArray<Out, T = unknown>(o: unknown, f: Construct<Out, T[]>, alt: Construct<Out>): Out;
12
+ export declare function ifArray<Out, T = unknown>(o: unknown, f: Construct<Out, T[]>, alt?: Construct<Out>): Optional<Out>;
13
+ export declare function ifObject<Out>(o: unknown, f: Construct<Out, Record<string, unknown>>, alt: Construct<Out>): Out;
14
+ export declare function ifObject<Out>(o: unknown, f: Construct<Out, Record<string, unknown>>, alt?: Construct<Out>): Optional<Out>;
@@ -0,0 +1,42 @@
1
+ import {
2
+ ofConstruct
3
+ } from "../chunk-QK5XGRSM.mjs";
4
+ import "../chunk-M4DWNB7T.mjs";
5
+ import "../chunk-PIRWVOO2.mjs";
6
+ import {
7
+ isArray,
8
+ isBoolean,
9
+ isNumber,
10
+ isObject,
11
+ isString
12
+ } from "../chunk-YYWOQNZQ.mjs";
13
+ import "../chunk-4N72FQFX.mjs";
14
+
15
+ // src/utils/IfType.ts
16
+ function ifType(o, predicate, f, alt) {
17
+ return predicate(o) ? ofConstruct(f, o) : ofConstruct(alt);
18
+ }
19
+ function ifString(o, f, alt) {
20
+ return ifType(o, isString, f, alt);
21
+ }
22
+ function ifNumber(o, f, alt) {
23
+ return ifType(o, isNumber, f, alt);
24
+ }
25
+ function ifBoolean(o, f, alt) {
26
+ return ifType(o, isBoolean, f, alt);
27
+ }
28
+ function ifArray(o, f, alt) {
29
+ return ifType(o, isArray, f, alt);
30
+ }
31
+ function ifObject(o, f, alt) {
32
+ return ifType(o, isObject, f, alt);
33
+ }
34
+ export {
35
+ ifArray,
36
+ ifBoolean,
37
+ ifNumber,
38
+ ifObject,
39
+ ifString,
40
+ ifType
41
+ };
42
+ //# sourceMappingURL=IfType.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/IfType.ts"],"sourcesContent":["import { isArray, isBoolean, isNumber, isObject, isString } from '../types/Is';\nimport { Optional } from '../types/Types';\nimport { Construct, ofConstruct } from '../types/Constructor';\n\nexport function ifType<Out, T>(o: unknown, predicate: (o: unknown) => o is T, f: Construct<Out, T>, alt: Construct<Out>): Out;\nexport function ifType<Out, T>(o: unknown, predicate: (o: unknown) => o is T, f: Construct<Out, T>, alt?: Construct<Out>): Optional<Out>;\nexport function ifType<Out, T>(o: unknown, predicate: (o: unknown) => o is T, f: Construct<Out, T>, alt?: Construct<Out>): Optional<Out> {\n return predicate(o) ? ofConstruct(f, o) : ofConstruct(alt);\n}\n\nexport function ifString<Out>(o: unknown, f: Construct<Out, string>, alt: Construct<Out>): Out;\nexport function ifString<Out>(o: unknown, f: Construct<Out, string>, alt?: Construct<Out>): Optional<Out>;\nexport function ifString<Out>(o: unknown, f: Construct<Out, string>, alt?: Construct<Out>): Optional<Out> {\n return ifType(o, isString, f, alt);\n}\n\nexport function ifNumber<Out>(o: unknown, f: Construct<Out, number>, alt: Construct<Out>): Out;\nexport function ifNumber<Out>(o: unknown, f: Construct<Out, number>, alt?: Construct<Out>): Optional<Out>;\nexport function ifNumber<Out>(o: unknown, f: Construct<Out, number>, alt?: Construct<Out>): Optional<Out> {\n return ifType(o, isNumber, f, alt);\n}\n\nexport function ifBoolean<Out>(o: unknown, f: Construct<Out, boolean>, alt: Construct<Out>): Out;\nexport function ifBoolean<Out>(o: unknown, f: Construct<Out, boolean>, alt?: Construct<Out>): Optional<Out>;\nexport function ifBoolean<Out>(o: unknown, f: Construct<Out, boolean>, alt?: Construct<Out>): Optional<Out> {\n return ifType(o, isBoolean, f, alt);\n}\n\nexport function ifArray<Out, T = unknown>(o: unknown, f: Construct<Out, T[]>, alt: Construct<Out>): Out;\nexport function ifArray<Out, T = unknown>(o: unknown, f: Construct<Out, T[]>, alt?: Construct<Out>): Optional<Out>;\nexport function ifArray<Out, T = unknown>(o: unknown, f: Construct<Out, T[]>, alt?: Construct<Out>): Optional<Out> {\n return ifType(o, isArray, f, alt);\n}\n\nexport function ifObject<Out>(o: unknown, f: Construct<Out, Record<string, unknown>>, alt: Construct<Out>): Out;\nexport function ifObject<Out>(o: unknown, f: Construct<Out, Record<string, unknown>>, alt?: Construct<Out>): Optional<Out>;\nexport function ifObject<Out>(o: unknown, f: Construct<Out, Record<string, unknown>>, alt?: Construct<Out>): Optional<Out> {\n return ifType(o, isObject, f, alt);\n}\n"],"mappings":";;;;;;;;;;;;;;;AAMO,SAAS,OAAe,GAAY,WAAmC,GAAsB,KAAqC;AACvI,SAAO,UAAU,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG;AAC3D;AAIO,SAAS,SAAc,GAAY,GAA2B,KAAqC;AACxG,SAAO,OAAO,GAAG,UAAU,GAAG,GAAG;AACnC;AAIO,SAAS,SAAc,GAAY,GAA2B,KAAqC;AACxG,SAAO,OAAO,GAAG,UAAU,GAAG,GAAG;AACnC;AAIO,SAAS,UAAe,GAAY,GAA4B,KAAqC;AAC1G,SAAO,OAAO,GAAG,WAAW,GAAG,GAAG;AACpC;AAIO,SAAS,QAA0B,GAAY,GAAwB,KAAqC;AACjH,SAAO,OAAO,GAAG,SAAS,GAAG,GAAG;AAClC;AAIO,SAAS,SAAc,GAAY,GAA4C,KAAqC;AACzH,SAAO,OAAO,GAAG,UAAU,GAAG,GAAG;AACnC;","names":[]}
@@ -2,15 +2,15 @@ import {
2
2
  Mapper,
3
3
  isMapping,
4
4
  mappings
5
- } from "../chunk-J5PB7ZVO.mjs";
5
+ } from "../chunk-N4U5AO3F.mjs";
6
6
  import "../chunk-KIC2K3GH.mjs";
7
7
  import "../chunk-RUKHONCR.mjs";
8
8
  import "../chunk-UAYAS3WM.mjs";
9
- import "../chunk-WOUH6UVC.mjs";
10
- import "../chunk-TUO7ZPSP.mjs";
9
+ import "../chunk-B5AAGATA.mjs";
10
+ import "../chunk-TJDABHKW.mjs";
11
+ import "../chunk-SSROJBD5.mjs";
11
12
  import "../chunk-GPNPXSOF.mjs";
12
13
  import "../chunk-QCPWEAAJ.mjs";
13
- import "../chunk-SSROJBD5.mjs";
14
14
  import "../chunk-AMS2ELWR.mjs";
15
15
  import "../chunk-4Q6IHSAU.mjs";
16
16
  import "../chunk-SJGQU3OG.mjs";
@@ -3,15 +3,15 @@ import {
3
3
  } from "../chunk-O3UNRTSC.mjs";
4
4
  import {
5
5
  DateTime
6
- } from "../chunk-KPXOQFEB.mjs";
7
- import "../chunk-M2S4OLVZ.mjs";
6
+ } from "../chunk-I3KZQ25B.mjs";
7
+ import "../chunk-DIFN7V7I.mjs";
8
8
  import "../chunk-ADJAEGCT.mjs";
9
9
  import {
10
10
  choose
11
- } from "../chunk-TUO7ZPSP.mjs";
11
+ } from "../chunk-TJDABHKW.mjs";
12
+ import "../chunk-SSROJBD5.mjs";
12
13
  import "../chunk-GPNPXSOF.mjs";
13
14
  import "../chunk-QCPWEAAJ.mjs";
14
- import "../chunk-SSROJBD5.mjs";
15
15
  import "../chunk-AMS2ELWR.mjs";
16
16
  import "../chunk-4Q6IHSAU.mjs";
17
17
  import "../chunk-SJGQU3OG.mjs";
@@ -8,10 +8,10 @@ import {
8
8
  tuple4,
9
9
  tuple5,
10
10
  tupleO
11
- } from "../chunk-TUO7ZPSP.mjs";
11
+ } from "../chunk-TJDABHKW.mjs";
12
+ import "../chunk-SSROJBD5.mjs";
12
13
  import "../chunk-GPNPXSOF.mjs";
13
14
  import "../chunk-QCPWEAAJ.mjs";
14
- import "../chunk-SSROJBD5.mjs";
15
15
  import "../chunk-AMS2ELWR.mjs";
16
16
  import "../chunk-4Q6IHSAU.mjs";
17
17
  import "../chunk-SJGQU3OG.mjs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  seconds
3
- } from "../chunk-M2S4OLVZ.mjs";
4
- import "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-DIFN7V7I.mjs";
4
+ import "../chunk-TJDABHKW.mjs";
5
+ import "../chunk-SSROJBD5.mjs";
5
6
  import "../chunk-GPNPXSOF.mjs";
6
7
  import "../chunk-QCPWEAAJ.mjs";
7
- import "../chunk-SSROJBD5.mjs";
8
8
  import "../chunk-AMS2ELWR.mjs";
9
9
  import "../chunk-4Q6IHSAU.mjs";
10
10
  import "../chunk-SJGQU3OG.mjs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  text
3
- } from "../chunk-TUO7ZPSP.mjs";
3
+ } from "../chunk-TJDABHKW.mjs";
4
+ import "../chunk-SSROJBD5.mjs";
4
5
  import "../chunk-GPNPXSOF.mjs";
5
6
  import "../chunk-QCPWEAAJ.mjs";
6
- import "../chunk-SSROJBD5.mjs";
7
7
  import "../chunk-AMS2ELWR.mjs";
8
8
  import "../chunk-4Q6IHSAU.mjs";
9
9
  import "../chunk-SJGQU3OG.mjs";
@@ -51,5 +51,12 @@ export declare const views: {
51
51
  readonly value: (altValue: unknown) => (a: unknown, key?: string) => unknown;
52
52
  readonly func: (altFunc: Func) => (a: unknown, key?: string) => unknown;
53
53
  };
54
+ readonly to: <T = unknown>(ctorOrFunc: Constructor<T> | ((v: any) => T)) => ((a: any, key?: string) => T | undefined) & {
55
+ or: {
56
+ key: (altKey: string) => (a: unknown, key?: string) => unknown;
57
+ value: (altValue: T) => (a: unknown, key?: string) => T;
58
+ func: (altFunc: Func) => (a: unknown, key?: string) => unknown;
59
+ };
60
+ };
54
61
  };
55
62
  export {};
@@ -4,13 +4,13 @@ import {
4
4
  toViewer,
5
5
  view,
6
6
  views
7
- } from "../chunk-7TW4TBFN.mjs";
8
- import "../chunk-QLEGIYVU.mjs";
9
- import "../chunk-WOUH6UVC.mjs";
10
- import "../chunk-TUO7ZPSP.mjs";
7
+ } from "../chunk-THJAYPSV.mjs";
8
+ import "../chunk-HXMARER2.mjs";
9
+ import "../chunk-B5AAGATA.mjs";
10
+ import "../chunk-TJDABHKW.mjs";
11
+ import "../chunk-SSROJBD5.mjs";
11
12
  import "../chunk-GPNPXSOF.mjs";
12
13
  import "../chunk-QCPWEAAJ.mjs";
13
- import "../chunk-SSROJBD5.mjs";
14
14
  import "../chunk-AMS2ELWR.mjs";
15
15
  import "../chunk-4Q6IHSAU.mjs";
16
16
  import "../chunk-SJGQU3OG.mjs";
@@ -18,12 +18,12 @@ import {
18
18
  required,
19
19
  rule,
20
20
  valid
21
- } from "../chunk-GF7JYGJU.mjs";
21
+ } from "../chunk-UPATKDHG.mjs";
22
22
  import "../chunk-ADJAEGCT.mjs";
23
- import "../chunk-TUO7ZPSP.mjs";
23
+ import "../chunk-TJDABHKW.mjs";
24
+ import "../chunk-SSROJBD5.mjs";
24
25
  import "../chunk-GPNPXSOF.mjs";
25
26
  import "../chunk-QCPWEAAJ.mjs";
26
- import "../chunk-SSROJBD5.mjs";
27
27
  import "../chunk-AMS2ELWR.mjs";
28
28
  import "../chunk-4Q6IHSAU.mjs";
29
29
  import "../chunk-SJGQU3OG.mjs";
@@ -3,10 +3,10 @@ import {
3
3
  isValid,
4
4
  validate,
5
5
  validateReject
6
- } from "../chunk-TUO7ZPSP.mjs";
6
+ } from "../chunk-TJDABHKW.mjs";
7
+ import "../chunk-SSROJBD5.mjs";
7
8
  import "../chunk-GPNPXSOF.mjs";
8
9
  import "../chunk-QCPWEAAJ.mjs";
9
- import "../chunk-SSROJBD5.mjs";
10
10
  import "../chunk-AMS2ELWR.mjs";
11
11
  import "../chunk-4Q6IHSAU.mjs";
12
12
  import "../chunk-SJGQU3OG.mjs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  When,
3
3
  when
4
- } from "../chunk-TUO7ZPSP.mjs";
4
+ } from "../chunk-TJDABHKW.mjs";
5
+ import "../chunk-SSROJBD5.mjs";
5
6
  import "../chunk-GPNPXSOF.mjs";
6
7
  import "../chunk-QCPWEAAJ.mjs";
7
- import "../chunk-SSROJBD5.mjs";
8
8
  import "../chunk-AMS2ELWR.mjs";
9
9
  import "../chunk-4Q6IHSAU.mjs";
10
10
  import "../chunk-SJGQU3OG.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "18.7.0",
3
+ "version": "18.9.0",
4
4
  "description": "Straightforward library for building domain-driven microservice architectures",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
package/src/index.ts CHANGED
@@ -109,6 +109,7 @@ export * from './types/Value';
109
109
  export * from './utils/Base64';
110
110
  export * from './utils/Convert';
111
111
  export * from './utils/If';
112
+ export * from './utils/IfType';
112
113
  export * from './utils/Loading';
113
114
  export * from './utils/Log';
114
115
  export * from './utils/Mapper';
@@ -0,0 +1,39 @@
1
+ import { isArray, isBoolean, isNumber, isObject, isString } from '../types/Is';
2
+ import { Optional } from '../types/Types';
3
+ import { Construct, ofConstruct } from '../types/Constructor';
4
+
5
+ export function ifType<Out, T>(o: unknown, predicate: (o: unknown) => o is T, f: Construct<Out, T>, alt: Construct<Out>): Out;
6
+ export function ifType<Out, T>(o: unknown, predicate: (o: unknown) => o is T, f: Construct<Out, T>, alt?: Construct<Out>): Optional<Out>;
7
+ export function ifType<Out, T>(o: unknown, predicate: (o: unknown) => o is T, f: Construct<Out, T>, alt?: Construct<Out>): Optional<Out> {
8
+ return predicate(o) ? ofConstruct(f, o) : ofConstruct(alt);
9
+ }
10
+
11
+ export function ifString<Out>(o: unknown, f: Construct<Out, string>, alt: Construct<Out>): Out;
12
+ export function ifString<Out>(o: unknown, f: Construct<Out, string>, alt?: Construct<Out>): Optional<Out>;
13
+ export function ifString<Out>(o: unknown, f: Construct<Out, string>, alt?: Construct<Out>): Optional<Out> {
14
+ return ifType(o, isString, f, alt);
15
+ }
16
+
17
+ export function ifNumber<Out>(o: unknown, f: Construct<Out, number>, alt: Construct<Out>): Out;
18
+ export function ifNumber<Out>(o: unknown, f: Construct<Out, number>, alt?: Construct<Out>): Optional<Out>;
19
+ export function ifNumber<Out>(o: unknown, f: Construct<Out, number>, alt?: Construct<Out>): Optional<Out> {
20
+ return ifType(o, isNumber, f, alt);
21
+ }
22
+
23
+ export function ifBoolean<Out>(o: unknown, f: Construct<Out, boolean>, alt: Construct<Out>): Out;
24
+ export function ifBoolean<Out>(o: unknown, f: Construct<Out, boolean>, alt?: Construct<Out>): Optional<Out>;
25
+ export function ifBoolean<Out>(o: unknown, f: Construct<Out, boolean>, alt?: Construct<Out>): Optional<Out> {
26
+ return ifType(o, isBoolean, f, alt);
27
+ }
28
+
29
+ export function ifArray<Out, T = unknown>(o: unknown, f: Construct<Out, T[]>, alt: Construct<Out>): Out;
30
+ export function ifArray<Out, T = unknown>(o: unknown, f: Construct<Out, T[]>, alt?: Construct<Out>): Optional<Out>;
31
+ export function ifArray<Out, T = unknown>(o: unknown, f: Construct<Out, T[]>, alt?: Construct<Out>): Optional<Out> {
32
+ return ifType(o, isArray, f, alt);
33
+ }
34
+
35
+ export function ifObject<Out>(o: unknown, f: Construct<Out, Record<string, unknown>>, alt: Construct<Out>): Out;
36
+ export function ifObject<Out>(o: unknown, f: Construct<Out, Record<string, unknown>>, alt?: Construct<Out>): Optional<Out>;
37
+ export function ifObject<Out>(o: unknown, f: Construct<Out, Record<string, unknown>>, alt?: Construct<Out>): Optional<Out> {
38
+ return ifType(o, isObject, f, alt);
39
+ }
package/src/utils/View.ts CHANGED
@@ -125,4 +125,18 @@ export const views = {
125
125
  value: (altValue: unknown) => (a: unknown, key?: string) => traverse(a, key) ?? altValue,
126
126
  func: (altFunc: Func) => (a: unknown, key?: string) => traverse(a, key) ?? altFunc(a, key),
127
127
  },
128
+ to: <T = unknown>(ctorOrFunc: Constructor<T> | ((v: any) => T)) => {
129
+ const apply = (v: any): T => (isConstructor(ctorOrFunc) ? new ctorOrFunc(v) : (ctorOrFunc as (v: any) => T)(v));
130
+ const base = (a: any, key?: string): T | undefined => {
131
+ const v = traverse(a, key);
132
+ return v != null ? apply(v) : undefined;
133
+ };
134
+ return Object.assign(base, {
135
+ or: {
136
+ key: (altKey: string) => (a: unknown, key?: string) => base(a, key) ?? traverse(a, altKey),
137
+ value: (altValue: T) => (a: unknown, key?: string) => base(a, key) ?? altValue,
138
+ func: (altFunc: Func) => (a: unknown, key?: string) => base(a, key) ?? altFunc(a, key),
139
+ },
140
+ });
141
+ },
128
142
  } as const;