@thisisagile/easy 15.27.0 → 15.27.2

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 (236) hide show
  1. package/dist/{chunk-SGSU4KYT.mjs → chunk-2BXKHPA2.mjs} +3 -3
  2. package/dist/{chunk-G7QSW2EB.mjs → chunk-3P7J7XPW.mjs} +3 -3
  3. package/dist/{chunk-SS3C77DP.mjs → chunk-44GVWK5Q.mjs} +4 -6
  4. package/dist/{chunk-SS3C77DP.mjs.map → chunk-44GVWK5Q.mjs.map} +1 -1
  5. package/dist/{chunk-GDD652NR.mjs → chunk-4OQNWUOH.mjs} +2 -2
  6. package/dist/{chunk-GVX6S54O.mjs → chunk-5FFXP2S2.mjs} +3 -3
  7. package/dist/{chunk-4EVQZKMK.mjs → chunk-AJMFM4WW.mjs} +2 -2
  8. package/dist/{chunk-V62IOKST.mjs → chunk-AQ7VCOZV.mjs} +2 -2
  9. package/dist/{chunk-QOGUHAMC.mjs → chunk-CN756KJF.mjs} +3 -5
  10. package/dist/{chunk-QOGUHAMC.mjs.map → chunk-CN756KJF.mjs.map} +1 -1
  11. package/dist/{chunk-PLIJ2CRV.mjs → chunk-CQFW65RV.mjs} +2 -2
  12. package/dist/{chunk-7EP6VCI3.mjs → chunk-DO2JKVJC.mjs} +3 -3
  13. package/dist/{chunk-SJGDB24D.mjs → chunk-EDT4SIWF.mjs} +2 -2
  14. package/dist/{chunk-WEXSGVXZ.mjs → chunk-FZ3RGBVB.mjs} +3 -3
  15. package/dist/{chunk-7RIXMU5L.mjs → chunk-GWPYA4FN.mjs} +6 -6
  16. package/dist/{chunk-LV7HNQ3N.mjs → chunk-GY5U2EMP.mjs} +4 -4
  17. package/dist/{chunk-YTWFWQNB.mjs → chunk-GZ4W5NPB.mjs} +39 -3
  18. package/dist/chunk-GZ4W5NPB.mjs.map +1 -0
  19. package/dist/{chunk-H6GKGVYF.mjs → chunk-HWJY57VM.mjs} +2 -2
  20. package/dist/{chunk-LB7OMB5S.mjs → chunk-IDVKM57Y.mjs} +4 -4
  21. package/dist/{chunk-H22IHXDC.mjs → chunk-IDYINFVS.mjs} +2 -2
  22. package/dist/{chunk-4AP5H3OQ.mjs → chunk-IOLGWNHS.mjs} +4 -4
  23. package/dist/{chunk-GGC4TWMF.mjs → chunk-IOSZQN37.mjs} +4 -4
  24. package/dist/{chunk-FSK4W6I2.mjs → chunk-LPPJKRX6.mjs} +2 -2
  25. package/dist/{chunk-O62PGEQ7.mjs → chunk-MDBZV377.mjs} +2 -2
  26. package/dist/{chunk-M4UUIOW6.mjs → chunk-MHEEKAJP.mjs} +3 -3
  27. package/dist/{chunk-3WOYFN2Q.mjs → chunk-MXVK2OXS.mjs} +2 -2
  28. package/dist/{chunk-LD64IICE.mjs → chunk-OLZQGTHX.mjs} +2 -2
  29. package/dist/{chunk-IJFQ7PRU.mjs → chunk-OPRP2CJ4.mjs} +2 -2
  30. package/dist/{chunk-CLKUH5JA.mjs → chunk-P6WU6SWZ.mjs} +5 -5
  31. package/dist/{chunk-7NYZAGM3.mjs → chunk-P76FDCQK.mjs} +2 -2
  32. package/dist/{chunk-ZHAJLP7P.mjs → chunk-PLDACKJ3.mjs} +2 -2
  33. package/dist/{chunk-EZC3HAYN.mjs → chunk-QCRJIUXC.mjs} +2 -2
  34. package/dist/{chunk-3HTSHJPL.mjs → chunk-QXQDFZ7B.mjs} +3 -3
  35. package/dist/{chunk-NF7FTEE7.mjs → chunk-S232OWAN.mjs} +3 -3
  36. package/dist/{chunk-UDLMLGTS.mjs → chunk-S3VRHUDC.mjs} +2 -2
  37. package/dist/{chunk-SP4KAT3N.mjs → chunk-SIEX4MPW.mjs} +2 -2
  38. package/dist/{chunk-D54TPU6G.mjs → chunk-TGX44YE7.mjs} +2 -2
  39. package/dist/{chunk-74AOBBOZ.mjs → chunk-TMH4PWZS.mjs} +2 -2
  40. package/dist/{chunk-LCDQWW2Y.mjs → chunk-U5XK45SM.mjs} +2 -2
  41. package/dist/{chunk-6OW7KEN5.mjs → chunk-U7RLT5MZ.mjs} +2 -2
  42. package/dist/{chunk-NYTGMBLK.mjs → chunk-W36ZTL43.mjs} +2 -2
  43. package/dist/{chunk-JER7KLEK.mjs → chunk-W4LMCXTM.mjs} +4 -4
  44. package/dist/{chunk-I3VZW3XF.mjs → chunk-XBACKQ4V.mjs} +6 -6
  45. package/dist/{chunk-L2BMMXCX.mjs → chunk-XDCE35QQ.mjs} +4 -4
  46. package/dist/{chunk-HNB4RM5S.mjs → chunk-XLB3EVKK.mjs} +6 -8
  47. package/dist/{chunk-HNB4RM5S.mjs.map → chunk-XLB3EVKK.mjs.map} +1 -1
  48. package/dist/{chunk-6NOTDYUE.mjs → chunk-YD2WQWXL.mjs} +2 -2
  49. package/dist/{chunk-ZNWOAXMK.mjs → chunk-YNQ6HDJA.mjs} +3 -3
  50. package/dist/{chunk-A7OYYR2S.mjs → chunk-ZBIJKCDP.mjs} +3 -3
  51. package/dist/{chunk-WUFQM7VZ.mjs → chunk-ZVTPK2NJ.mjs} +2 -2
  52. package/dist/data/Condition.mjs +3 -4
  53. package/dist/data/Database.mjs +2 -3
  54. package/dist/data/Field.mjs +4 -5
  55. package/dist/data/Field.mjs.map +1 -1
  56. package/dist/data/InMemoryGateway.mjs +3 -4
  57. package/dist/data/InMemoryGateway.mjs.map +1 -1
  58. package/dist/domain/Audit.mjs +5 -6
  59. package/dist/domain/Child.mjs +4 -5
  60. package/dist/domain/Child.mjs.map +1 -1
  61. package/dist/domain/Entity.mjs +8 -9
  62. package/dist/domain/Entity.mjs.map +1 -1
  63. package/dist/domain/Repo.mjs +3 -5
  64. package/dist/domain/Repo.mjs.map +1 -1
  65. package/dist/domain/Struct.mjs +2 -3
  66. package/dist/domain/Typo.mjs +2 -3
  67. package/dist/domain/Typo.mjs.map +1 -1
  68. package/dist/domain/enums/Country.mjs +2 -3
  69. package/dist/domain/enums/Currency.mjs +4 -5
  70. package/dist/domain/enums/Environment.mjs +1 -2
  71. package/dist/domain/enums/Environment.mjs.map +1 -1
  72. package/dist/domain/enums/Locale.mjs +1 -2
  73. package/dist/domain/enums/Locale.mjs.map +1 -1
  74. package/dist/domain/enums/UnitOfMeasurement.mjs +2 -3
  75. package/dist/domain/enums/UnitOfWeight.mjs +2 -3
  76. package/dist/domain/structs/Address.mjs +5 -6
  77. package/dist/domain/structs/Address.mjs.map +1 -1
  78. package/dist/domain/structs/Box.mjs +5 -6
  79. package/dist/domain/structs/Box.mjs.map +1 -1
  80. package/dist/domain/structs/Dimension.mjs +5 -6
  81. package/dist/domain/structs/Money.mjs +4 -5
  82. package/dist/domain/structs/Name.mjs +3 -4
  83. package/dist/domain/structs/Name.mjs.map +1 -1
  84. package/dist/domain/structs/Weight.mjs +4 -5
  85. package/dist/domain/structs/Weight.mjs.map +1 -1
  86. package/dist/domain/values/DateTime.mjs +2 -3
  87. package/dist/domain/values/EAN.mjs +1 -2
  88. package/dist/domain/values/EAN.mjs.map +1 -1
  89. package/dist/domain/values/Email.mjs +1 -2
  90. package/dist/domain/values/Email.mjs.map +1 -1
  91. package/dist/domain/values/IBAN.mjs +1 -2
  92. package/dist/domain/values/IBAN.mjs.map +1 -1
  93. package/dist/domain/values/PostalCode.mjs +3 -4
  94. package/dist/domain/values/Slug.mjs +1 -2
  95. package/dist/domain/values/Slug.mjs.map +1 -1
  96. package/dist/domain/values/Url.mjs +1 -2
  97. package/dist/domain/values/Url.mjs.map +1 -1
  98. package/dist/health/HealthResource.mjs +11 -12
  99. package/dist/health/HealthResource.mjs.map +1 -1
  100. package/dist/health/HealthUri.mjs +3 -4
  101. package/dist/http/CacheControl.mjs +4 -5
  102. package/dist/http/ContentType.mjs +2 -3
  103. package/dist/http/HttpStatus.mjs +2 -3
  104. package/dist/http/HttpVerb.mjs +2 -3
  105. package/dist/http/LocalRequestStore.mjs +1 -2
  106. package/dist/http/LocalRequestStore.mjs.map +1 -1
  107. package/dist/http/RequestOptions.mjs +3 -4
  108. package/dist/http/Response.mjs +3 -4
  109. package/dist/http/RestResult.mjs +3 -4
  110. package/dist/http/Verb.mjs +8 -9
  111. package/dist/index.js +2 -1
  112. package/dist/index.js.map +1 -1
  113. package/dist/process/App.mjs +2 -3
  114. package/dist/process/App.mjs.map +1 -1
  115. package/dist/process/Manage.mjs +3 -4
  116. package/dist/process/Manage.mjs.map +1 -1
  117. package/dist/process/Scope.mjs +2 -3
  118. package/dist/process/Search.mjs +3 -4
  119. package/dist/process/UseCase.mjs +1 -2
  120. package/dist/process/UseCase.mjs.map +1 -1
  121. package/dist/resources/Req.mjs +2 -3
  122. package/dist/resources/Req.mjs.map +1 -1
  123. package/dist/resources/Requires.mjs +1 -2
  124. package/dist/resources/Requires.mjs.map +1 -1
  125. package/dist/resources/Route.mjs +2 -3
  126. package/dist/resources/Service.mjs +1 -2
  127. package/dist/resources/Service.mjs.map +1 -1
  128. package/dist/security/Jwt.mjs +1 -2
  129. package/dist/security/Jwt.mjs.map +1 -1
  130. package/dist/services/Api.mjs +10 -11
  131. package/dist/services/ApiGateway.mjs +13 -14
  132. package/dist/services/AxiosProvider.mjs +8 -9
  133. package/dist/services/MappedRouteGateway.mjs +17 -18
  134. package/dist/services/MappedRouteGateway.mjs.map +1 -1
  135. package/dist/services/RouteGateway.mjs +14 -15
  136. package/dist/services/ViewRouteGateway.mjs +16 -17
  137. package/dist/services/ViewRouteGateway.mjs.map +1 -1
  138. package/dist/sql/Clause.mjs +3 -4
  139. package/dist/sql/Column.mjs +5 -6
  140. package/dist/sql/Count.mjs +4 -5
  141. package/dist/sql/Delete.mjs +3 -4
  142. package/dist/sql/Insert.mjs +5 -6
  143. package/dist/sql/Select.mjs +3 -4
  144. package/dist/sql/SqlQuery.mjs +2 -3
  145. package/dist/sql/Table.mjs +13 -14
  146. package/dist/sql/Table.mjs.map +1 -1
  147. package/dist/sql/TableGateway.mjs +3 -4
  148. package/dist/sql/TableGateway.mjs.map +1 -1
  149. package/dist/sql/Update.mjs +5 -6
  150. package/dist/types/Builder.mjs +1 -2
  151. package/dist/types/Builder.mjs.map +1 -1
  152. package/dist/types/Cache.mjs +1 -2
  153. package/dist/types/Cache.mjs.map +1 -1
  154. package/dist/types/CacheAge.mjs +3 -4
  155. package/dist/types/Case.mjs +1 -2
  156. package/dist/types/Context.mjs +1 -2
  157. package/dist/types/Enum.mjs +1 -2
  158. package/dist/types/Exception.mjs +1 -2
  159. package/dist/types/Gateway.mjs +2 -3
  160. package/dist/types/IsEqual.mjs +2 -3
  161. package/dist/types/Json.d.ts +1 -0
  162. package/dist/types/Json.mjs +3 -1
  163. package/dist/types/List.mjs +1 -2
  164. package/dist/types/Meta.mjs +1 -2
  165. package/dist/types/Number.mjs +2 -3
  166. package/dist/types/PageList.mjs +2 -3
  167. package/dist/types/Parser.mjs +1 -2
  168. package/dist/types/Parser.mjs.map +1 -1
  169. package/dist/types/Repository.mjs +2 -3
  170. package/dist/types/Result.mjs +1 -2
  171. package/dist/types/Results.mjs +1 -2
  172. package/dist/types/Tag.mjs +1 -2
  173. package/dist/types/Tag.mjs.map +1 -1
  174. package/dist/types/Template.mjs +1 -2
  175. package/dist/types/Text.mjs +1 -2
  176. package/dist/types/Try.mjs +1 -2
  177. package/dist/types/Uri.mjs +2 -3
  178. package/dist/types/Value.mjs +1 -2
  179. package/dist/utils/Convert.mjs +2 -3
  180. package/dist/utils/Mapper.mjs +4 -5
  181. package/dist/utils/Promise.mjs +1 -2
  182. package/dist/utils/Property.mjs +3 -4
  183. package/dist/utils/Sentence.mjs +1 -2
  184. package/dist/utils/Sentence.mjs.map +1 -1
  185. package/dist/utils/View.mjs +4 -5
  186. package/dist/validation/Contraints.mjs +2 -3
  187. package/dist/validation/Validate.mjs +1 -2
  188. package/dist/validation/When.mjs +1 -2
  189. package/package.json +2 -2
  190. package/src/types/Json.ts +2 -0
  191. package/dist/chunk-5AF55QCJ.mjs +0 -51
  192. package/dist/chunk-5AF55QCJ.mjs.map +0 -1
  193. package/dist/chunk-YTWFWQNB.mjs.map +0 -1
  194. /package/dist/{chunk-SGSU4KYT.mjs.map → chunk-2BXKHPA2.mjs.map} +0 -0
  195. /package/dist/{chunk-G7QSW2EB.mjs.map → chunk-3P7J7XPW.mjs.map} +0 -0
  196. /package/dist/{chunk-GDD652NR.mjs.map → chunk-4OQNWUOH.mjs.map} +0 -0
  197. /package/dist/{chunk-GVX6S54O.mjs.map → chunk-5FFXP2S2.mjs.map} +0 -0
  198. /package/dist/{chunk-4EVQZKMK.mjs.map → chunk-AJMFM4WW.mjs.map} +0 -0
  199. /package/dist/{chunk-V62IOKST.mjs.map → chunk-AQ7VCOZV.mjs.map} +0 -0
  200. /package/dist/{chunk-PLIJ2CRV.mjs.map → chunk-CQFW65RV.mjs.map} +0 -0
  201. /package/dist/{chunk-7EP6VCI3.mjs.map → chunk-DO2JKVJC.mjs.map} +0 -0
  202. /package/dist/{chunk-SJGDB24D.mjs.map → chunk-EDT4SIWF.mjs.map} +0 -0
  203. /package/dist/{chunk-WEXSGVXZ.mjs.map → chunk-FZ3RGBVB.mjs.map} +0 -0
  204. /package/dist/{chunk-7RIXMU5L.mjs.map → chunk-GWPYA4FN.mjs.map} +0 -0
  205. /package/dist/{chunk-LV7HNQ3N.mjs.map → chunk-GY5U2EMP.mjs.map} +0 -0
  206. /package/dist/{chunk-H6GKGVYF.mjs.map → chunk-HWJY57VM.mjs.map} +0 -0
  207. /package/dist/{chunk-LB7OMB5S.mjs.map → chunk-IDVKM57Y.mjs.map} +0 -0
  208. /package/dist/{chunk-H22IHXDC.mjs.map → chunk-IDYINFVS.mjs.map} +0 -0
  209. /package/dist/{chunk-4AP5H3OQ.mjs.map → chunk-IOLGWNHS.mjs.map} +0 -0
  210. /package/dist/{chunk-GGC4TWMF.mjs.map → chunk-IOSZQN37.mjs.map} +0 -0
  211. /package/dist/{chunk-FSK4W6I2.mjs.map → chunk-LPPJKRX6.mjs.map} +0 -0
  212. /package/dist/{chunk-O62PGEQ7.mjs.map → chunk-MDBZV377.mjs.map} +0 -0
  213. /package/dist/{chunk-M4UUIOW6.mjs.map → chunk-MHEEKAJP.mjs.map} +0 -0
  214. /package/dist/{chunk-3WOYFN2Q.mjs.map → chunk-MXVK2OXS.mjs.map} +0 -0
  215. /package/dist/{chunk-LD64IICE.mjs.map → chunk-OLZQGTHX.mjs.map} +0 -0
  216. /package/dist/{chunk-IJFQ7PRU.mjs.map → chunk-OPRP2CJ4.mjs.map} +0 -0
  217. /package/dist/{chunk-CLKUH5JA.mjs.map → chunk-P6WU6SWZ.mjs.map} +0 -0
  218. /package/dist/{chunk-7NYZAGM3.mjs.map → chunk-P76FDCQK.mjs.map} +0 -0
  219. /package/dist/{chunk-ZHAJLP7P.mjs.map → chunk-PLDACKJ3.mjs.map} +0 -0
  220. /package/dist/{chunk-EZC3HAYN.mjs.map → chunk-QCRJIUXC.mjs.map} +0 -0
  221. /package/dist/{chunk-3HTSHJPL.mjs.map → chunk-QXQDFZ7B.mjs.map} +0 -0
  222. /package/dist/{chunk-NF7FTEE7.mjs.map → chunk-S232OWAN.mjs.map} +0 -0
  223. /package/dist/{chunk-UDLMLGTS.mjs.map → chunk-S3VRHUDC.mjs.map} +0 -0
  224. /package/dist/{chunk-SP4KAT3N.mjs.map → chunk-SIEX4MPW.mjs.map} +0 -0
  225. /package/dist/{chunk-D54TPU6G.mjs.map → chunk-TGX44YE7.mjs.map} +0 -0
  226. /package/dist/{chunk-74AOBBOZ.mjs.map → chunk-TMH4PWZS.mjs.map} +0 -0
  227. /package/dist/{chunk-LCDQWW2Y.mjs.map → chunk-U5XK45SM.mjs.map} +0 -0
  228. /package/dist/{chunk-6OW7KEN5.mjs.map → chunk-U7RLT5MZ.mjs.map} +0 -0
  229. /package/dist/{chunk-NYTGMBLK.mjs.map → chunk-W36ZTL43.mjs.map} +0 -0
  230. /package/dist/{chunk-JER7KLEK.mjs.map → chunk-W4LMCXTM.mjs.map} +0 -0
  231. /package/dist/{chunk-I3VZW3XF.mjs.map → chunk-XBACKQ4V.mjs.map} +0 -0
  232. /package/dist/{chunk-L2BMMXCX.mjs.map → chunk-XDCE35QQ.mjs.map} +0 -0
  233. /package/dist/{chunk-6NOTDYUE.mjs.map → chunk-YD2WQWXL.mjs.map} +0 -0
  234. /package/dist/{chunk-ZNWOAXMK.mjs.map → chunk-YNQ6HDJA.mjs.map} +0 -0
  235. /package/dist/{chunk-A7OYYR2S.mjs.map → chunk-ZBIJKCDP.mjs.map} +0 -0
  236. /package/dist/{chunk-WUFQM7VZ.mjs.map → chunk-ZVTPK2NJ.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/data/InMemoryGateway.ts"],"sourcesContent":["import { Exception, FetchOptions, Gateway, Id, isDefined, Json, JsonValue, Optional, PageList, toPageList } from '../types';\nimport { when } from '../validation';\n\nexport class InMemoryGateway extends Gateway {\n constructor(private readonly data: Promise<PageList<Json>>) {\n super();\n }\n\n all(options?: FetchOptions): Promise<PageList<Json>> {\n return this.data.then(d => toPageList(d, d));\n }\n\n byId(id: Id): Promise<Optional<Json>> {\n return this.data.then(d => d.byId(id)).then(d => (d ? { ...d } : undefined));\n }\n\n by = (key: string, value: JsonValue): Promise<PageList<Json>> => {\n return this.data.then(d => d.filter(i => i[key] === value));\n };\n\n exists(id: Id): Promise<boolean> {\n return this.byId(id).then(d => isDefined(d));\n }\n\n add(item: Json): Promise<Json> {\n return when(item)\n .not.contains(i => i.id)\n .reject(Exception.IsMissingId)\n .then(i => this.exists(i.id as Id))\n .then(ex => when(ex).isTrue.reject(Exception.AlreadyExists))\n .then(() => this.data.then(d => d.add(item)))\n .then(() => ({ ...item }));\n }\n\n remove(id: Id): Promise<true> {\n return this.data\n .then(d =>\n when(d.findIndex(i => i.id === id))\n .with(i => i < 0)\n .reject(Exception.DoesNotExist)\n .then(i => d.splice(i, 1))\n )\n .then(() => true);\n }\n\n update(item: Json): Promise<Json> {\n return when(item)\n .not.contains(i => i.id)\n .reject(Exception.IsMissingId)\n .then(i => this.remove(i.id as Id).then(() => this.add(i)));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAM,kBAAN,cAA8B,QAAQ;AAAA,EAC3C,YAA6B,MAA+B;AAC1D,UAAM;AADqB;AAAA,EAE7B;AAAA,EAEA,IAAI,SAAiD;AACnD,WAAO,KAAK,KAAK,KAAK,OAAK,WAAW,GAAG,CAAC,CAAC;AAAA,EAC7C;AAAA,EAEA,KAAK,IAAiC;AACpC,WAAO,KAAK,KAAK,KAAK,OAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAM,IAAI,EAAE,GAAG,EAAE,IAAI,MAAU;AAAA,EAC7E;AAAA,EAEA,KAAK,CAAC,KAAa,UAA8C;AAC/D,WAAO,KAAK,KAAK,KAAK,OAAK,EAAE,OAAO,OAAK,EAAE,GAAG,MAAM,KAAK,CAAC;AAAA,EAC5D;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,KAAK,KAAK,EAAE,EAAE,KAAK,OAAK,UAAU,CAAC,CAAC;AAAA,EAC7C;AAAA,EAEA,IAAI,MAA2B;AAC7B,WAAO,KAAK,IAAI,EACb,IAAI,SAAS,OAAK,EAAE,EAAE,EACtB,OAAO,UAAU,WAAW,EAC5B,KAAK,OAAK,KAAK,OAAO,EAAE,EAAQ,CAAC,EACjC,KAAK,QAAM,KAAK,EAAE,EAAE,OAAO,OAAO,UAAU,aAAa,CAAC,EAC1D,KAAK,MAAM,KAAK,KAAK,KAAK,OAAK,EAAE,IAAI,IAAI,CAAC,CAAC,EAC3C,KAAK,OAAO,EAAE,GAAG,KAAK,EAAE;AAAA,EAC7B;AAAA,EAEA,OAAO,IAAuB;AAC5B,WAAO,KAAK,KACT;AAAA,MAAK,OACJ,KAAK,EAAE,UAAU,OAAK,EAAE,OAAO,EAAE,CAAC,EAC/B,KAAK,OAAK,IAAI,CAAC,EACf,OAAO,UAAU,YAAY,EAC7B,KAAK,OAAK,EAAE,OAAO,GAAG,CAAC,CAAC;AAAA,IAC7B,EACC,KAAK,MAAM,IAAI;AAAA,EACpB;AAAA,EAEA,OAAO,MAA2B;AAChC,WAAO,KAAK,IAAI,EACb,IAAI,SAAS,OAAK,EAAE,EAAE,EACtB,OAAO,UAAU,WAAW,EAC5B,KAAK,OAAK,KAAK,OAAO,EAAE,EAAQ,EAAE,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC;AAAA,EAC9D;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/data/InMemoryGateway.ts"],"sourcesContent":["import { Exception, FetchOptions, Gateway, Id, isDefined, Json, JsonValue, Optional, PageList, toPageList } from '../types';\nimport { when } from '../validation';\n\nexport class InMemoryGateway extends Gateway {\n constructor(private readonly data: Promise<PageList<Json>>) {\n super();\n }\n\n all(options?: FetchOptions): Promise<PageList<Json>> {\n return this.data.then(d => toPageList(d, d));\n }\n\n byId(id: Id): Promise<Optional<Json>> {\n return this.data.then(d => d.byId(id)).then(d => (d ? { ...d } : undefined));\n }\n\n by = (key: string, value: JsonValue): Promise<PageList<Json>> => {\n return this.data.then(d => d.filter(i => i[key] === value));\n };\n\n exists(id: Id): Promise<boolean> {\n return this.byId(id).then(d => isDefined(d));\n }\n\n add(item: Json): Promise<Json> {\n return when(item)\n .not.contains(i => i.id)\n .reject(Exception.IsMissingId)\n .then(i => this.exists(i.id as Id))\n .then(ex => when(ex).isTrue.reject(Exception.AlreadyExists))\n .then(() => this.data.then(d => d.add(item)))\n .then(() => ({ ...item }));\n }\n\n remove(id: Id): Promise<true> {\n return this.data\n .then(d =>\n when(d.findIndex(i => i.id === id))\n .with(i => i < 0)\n .reject(Exception.DoesNotExist)\n .then(i => d.splice(i, 1))\n )\n .then(() => true);\n }\n\n update(item: Json): Promise<Json> {\n return when(item)\n .not.contains(i => i.id)\n .reject(Exception.IsMissingId)\n .then(i => this.remove(i.id as Id).then(() => this.add(i)));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGO,IAAM,kBAAN,cAA8B,QAAQ;AAAA,EAC3C,YAA6B,MAA+B;AAC1D,UAAM;AADqB;AAAA,EAE7B;AAAA,EAEA,IAAI,SAAiD;AACnD,WAAO,KAAK,KAAK,KAAK,OAAK,WAAW,GAAG,CAAC,CAAC;AAAA,EAC7C;AAAA,EAEA,KAAK,IAAiC;AACpC,WAAO,KAAK,KAAK,KAAK,OAAK,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,OAAM,IAAI,EAAE,GAAG,EAAE,IAAI,MAAU;AAAA,EAC7E;AAAA,EAEA,KAAK,CAAC,KAAa,UAA8C;AAC/D,WAAO,KAAK,KAAK,KAAK,OAAK,EAAE,OAAO,OAAK,EAAE,GAAG,MAAM,KAAK,CAAC;AAAA,EAC5D;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,KAAK,KAAK,EAAE,EAAE,KAAK,OAAK,UAAU,CAAC,CAAC;AAAA,EAC7C;AAAA,EAEA,IAAI,MAA2B;AAC7B,WAAO,KAAK,IAAI,EACb,IAAI,SAAS,OAAK,EAAE,EAAE,EACtB,OAAO,UAAU,WAAW,EAC5B,KAAK,OAAK,KAAK,OAAO,EAAE,EAAQ,CAAC,EACjC,KAAK,QAAM,KAAK,EAAE,EAAE,OAAO,OAAO,UAAU,aAAa,CAAC,EAC1D,KAAK,MAAM,KAAK,KAAK,KAAK,OAAK,EAAE,IAAI,IAAI,CAAC,CAAC,EAC3C,KAAK,OAAO,EAAE,GAAG,KAAK,EAAE;AAAA,EAC7B;AAAA,EAEA,OAAO,IAAuB;AAC5B,WAAO,KAAK,KACT;AAAA,MAAK,OACJ,KAAK,EAAE,UAAU,OAAK,EAAE,OAAO,EAAE,CAAC,EAC/B,KAAK,OAAK,IAAI,CAAC,EACf,OAAO,UAAU,YAAY,EAC7B,KAAK,OAAK,EAAE,OAAO,GAAG,CAAC,CAAC;AAAA,IAC7B,EACC,KAAK,MAAM,IAAI;AAAA,EACpB;AAAA,EAEA,OAAO,MAA2B;AAChC,WAAO,KAAK,IAAI,EACb,IAAI,SAAS,OAAK,EAAE,EAAE,EACtB,OAAO,UAAU,WAAW,EAC5B,KAAK,OAAK,KAAK,OAAO,EAAE,EAAQ,EAAE,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC;AAAA,EAC9D;AACF;","names":[]}
@@ -1,13 +1,12 @@
1
1
  import {
2
2
  Audit
3
- } from "../chunk-CLKUH5JA.mjs";
4
- import "../chunk-74AOBBOZ.mjs";
5
- import "../chunk-EZC3HAYN.mjs";
3
+ } from "../chunk-P6WU6SWZ.mjs";
4
+ import "../chunk-TMH4PWZS.mjs";
5
+ import "../chunk-QCRJIUXC.mjs";
6
6
  import "../chunk-ADJAEGCT.mjs";
7
- import "../chunk-QOGUHAMC.mjs";
8
- import "../chunk-YTWFWQNB.mjs";
7
+ import "../chunk-CN756KJF.mjs";
8
+ import "../chunk-GZ4W5NPB.mjs";
9
9
  import "../chunk-CMRS457E.mjs";
10
- import "../chunk-5AF55QCJ.mjs";
11
10
  import "../chunk-JXJ5LRH3.mjs";
12
11
  import "../chunk-4QX4EMLL.mjs";
13
12
  import "../chunk-SJGQU3OG.mjs";
@@ -4,16 +4,15 @@ import {
4
4
  import "../chunk-AKYA7FHU.mjs";
5
5
  import {
6
6
  required
7
- } from "../chunk-EZC3HAYN.mjs";
7
+ } from "../chunk-QCRJIUXC.mjs";
8
8
  import "../chunk-ADJAEGCT.mjs";
9
9
  import {
10
10
  Struct
11
- } from "../chunk-QOGUHAMC.mjs";
12
- import "../chunk-YTWFWQNB.mjs";
13
- import "../chunk-CMRS457E.mjs";
11
+ } from "../chunk-CN756KJF.mjs";
14
12
  import {
15
13
  json
16
- } from "../chunk-5AF55QCJ.mjs";
14
+ } from "../chunk-GZ4W5NPB.mjs";
15
+ import "../chunk-CMRS457E.mjs";
17
16
  import "../chunk-JXJ5LRH3.mjs";
18
17
  import "../chunk-4QX4EMLL.mjs";
19
18
  import "../chunk-SJGQU3OG.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/domain/Child.ts"],"sourcesContent":["import { Struct } from './Struct';\nimport { Id, json, Json, toId } from '../types';\nimport { required } from '../validation';\n\nexport abstract class Child extends Struct {\n @required() readonly id: Id = this.state.id ?? toId();\n\n protected merge(a: unknown): Json {\n return json.merge(this, a, { id: this.id });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAe,QAAf,cAA6B,OAAO;AAAA,EACpB,KAAS,KAAK,MAAM,MAAM,KAAK;AAAA,EAE1C,MAAM,GAAkB;AAChC,WAAO,KAAK,MAAM,MAAM,GAAG,EAAE,IAAI,KAAK,GAAG,CAAC;AAAA,EAC5C;AACF;AALuB;AAAA,EAApB,SAAS;AAAA,GADU,MACC;","names":[]}
1
+ {"version":3,"sources":["../../src/domain/Child.ts"],"sourcesContent":["import { Struct } from './Struct';\nimport { Id, json, Json, toId } from '../types';\nimport { required } from '../validation';\n\nexport abstract class Child extends Struct {\n @required() readonly id: Id = this.state.id ?? toId();\n\n protected merge(a: unknown): Json {\n return json.merge(this, a, { id: this.id });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,IAAe,QAAf,cAA6B,OAAO;AAAA,EACpB,KAAS,KAAK,MAAM,MAAM,KAAK;AAAA,EAE1C,MAAM,GAAkB;AAChC,WAAO,KAAK,MAAM,MAAM,GAAG,EAAE,IAAI,KAAK,GAAG,CAAC;AAAA,EAC5C;AACF;AALuB;AAAA,EAApB,SAAS;AAAA,GADU,MACC;","names":[]}
@@ -1,23 +1,22 @@
1
- import {
2
- Audit
3
- } from "../chunk-CLKUH5JA.mjs";
4
- import "../chunk-74AOBBOZ.mjs";
5
1
  import {
6
2
  toId
7
3
  } from "../chunk-MDLVDMKY.mjs";
8
4
  import "../chunk-AKYA7FHU.mjs";
5
+ import {
6
+ Audit
7
+ } from "../chunk-P6WU6SWZ.mjs";
8
+ import "../chunk-TMH4PWZS.mjs";
9
9
  import {
10
10
  required
11
- } from "../chunk-EZC3HAYN.mjs";
11
+ } from "../chunk-QCRJIUXC.mjs";
12
12
  import "../chunk-ADJAEGCT.mjs";
13
13
  import {
14
14
  Struct
15
- } from "../chunk-QOGUHAMC.mjs";
16
- import "../chunk-YTWFWQNB.mjs";
17
- import "../chunk-CMRS457E.mjs";
15
+ } from "../chunk-CN756KJF.mjs";
18
16
  import {
19
17
  json
20
- } from "../chunk-5AF55QCJ.mjs";
18
+ } from "../chunk-GZ4W5NPB.mjs";
19
+ import "../chunk-CMRS457E.mjs";
21
20
  import "../chunk-JXJ5LRH3.mjs";
22
21
  import "../chunk-4QX4EMLL.mjs";
23
22
  import "../chunk-SJGQU3OG.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/domain/Entity.ts"],"sourcesContent":["import { Struct } from './Struct';\nimport { Id, json, Json, toId } from '../types';\nimport { required } from '../validation';\nimport { Audit } from './Audit';\n\nexport abstract class Entity extends Struct {\n @required() readonly id: Id = this.state.id ?? toId();\n @required() readonly created: Audit = new Audit(this.state.created);\n @required() readonly lastModified: Audit = new Audit(this.state.lastModified);\n\n protected merge(a: unknown): Json {\n return json.merge(this, a, {\n id: this.id,\n created: this.created,\n lastModified: new Audit(),\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAe,SAAf,cAA8B,OAAO;AAAA,EACrB,KAAS,KAAK,MAAM,MAAM,KAAK;AAAA,EAC/B,UAAiB,IAAI,MAAM,KAAK,MAAM,OAAO;AAAA,EAC7C,eAAsB,IAAI,MAAM,KAAK,MAAM,YAAY;AAAA,EAElE,MAAM,GAAkB;AAChC,WAAO,KAAK,MAAM,MAAM,GAAG;AAAA,MACzB,IAAI,KAAK;AAAA,MACT,SAAS,KAAK;AAAA,MACd,cAAc,IAAI,MAAM;AAAA,IAC1B,CAAC;AAAA,EACH;AACF;AAXuB;AAAA,EAApB,SAAS;AAAA,GADU,OACC;AACA;AAAA,EAApB,SAAS;AAAA,GAFU,OAEC;AACA;AAAA,EAApB,SAAS;AAAA,GAHU,OAGC;","names":[]}
1
+ {"version":3,"sources":["../../src/domain/Entity.ts"],"sourcesContent":["import { Struct } from './Struct';\nimport { Id, json, Json, toId } from '../types';\nimport { required } from '../validation';\nimport { Audit } from './Audit';\n\nexport abstract class Entity extends Struct {\n @required() readonly id: Id = this.state.id ?? toId();\n @required() readonly created: Audit = new Audit(this.state.created);\n @required() readonly lastModified: Audit = new Audit(this.state.lastModified);\n\n protected merge(a: unknown): Json {\n return json.merge(this, a, {\n id: this.id,\n created: this.created,\n lastModified: new Audit(),\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,IAAe,SAAf,cAA8B,OAAO;AAAA,EACrB,KAAS,KAAK,MAAM,MAAM,KAAK;AAAA,EAC/B,UAAiB,IAAI,MAAM,KAAK,MAAM,OAAO;AAAA,EAC7C,eAAsB,IAAI,MAAM,KAAK,MAAM,YAAY;AAAA,EAElE,MAAM,GAAkB;AAChC,WAAO,KAAK,MAAM,MAAM,GAAG;AAAA,MACzB,IAAI,KAAK;AAAA,MACT,SAAS,KAAK;AAAA,MACd,cAAc,IAAI,MAAM;AAAA,IAC1B,CAAC;AAAA,EACH;AACF;AAXuB;AAAA,EAApB,SAAS;AAAA,GADU,OACC;AACA;AAAA,EAApB,SAAS;AAAA,GAFU,OAEC;AACA;AAAA,EAApB,SAAS;AAAA,GAHU,OAGC;","names":[]}
@@ -1,19 +1,17 @@
1
1
  import {
2
2
  Repository
3
- } from "../chunk-ZHAJLP7P.mjs";
3
+ } from "../chunk-PLDACKJ3.mjs";
4
4
  import {
5
5
  Exception,
6
6
  asList,
7
7
  reject,
8
8
  resolve,
9
+ toJson,
9
10
  when
10
- } from "../chunk-YTWFWQNB.mjs";
11
+ } from "../chunk-GZ4W5NPB.mjs";
11
12
  import {
12
13
  isValidatable
13
14
  } from "../chunk-CMRS457E.mjs";
14
- import {
15
- toJson
16
- } from "../chunk-5AF55QCJ.mjs";
17
15
  import "../chunk-JXJ5LRH3.mjs";
18
16
  import "../chunk-4QX4EMLL.mjs";
19
17
  import "../chunk-SJGQU3OG.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/domain/Repo.ts"],"sourcesContent":["import { asList, Constructor, Exception, FetchOptions, Gateway, Id, isValidatable, Json, JsonValue, Key, List, PageList, Repository, toJson } from '../types';\nimport { when } from '../validation';\nimport { reject, resolve } from '../utils';\nimport { Struct } from './Struct';\n\nexport type RepoAction = 'add' | 'update' | 'remove';\n\nexport class Repo<T extends Struct, Options = FetchOptions> extends Repository<T, Options> {\n constructor(protected ctor: Constructor<T>, private readonly gateway: Gateway<Options>) {\n super();\n }\n\n create = (item: T | Json): T => (isValidatable(item) ? item : new this.ctor(item));\n\n all(options?: Options): Promise<PageList<T>> {\n return this.gateway.all(options).then(js => js.map(i => new this.ctor(i)));\n }\n\n byId(id: Id): Promise<T> {\n return this.gateway\n .byId(id)\n .then(j => when(j).not.isDefined.reject(Exception.DoesNotExist))\n .then(j => new this.ctor(j));\n }\n\n byIds(...ids: Id[]): Promise<List<T>> {\n return this.gateway.byIds(...ids).then(j => asList(this.ctor, j));\n }\n\n byKey(key: Key, options?: Options): Promise<PageList<T>> {\n return this.gateway.by('key', key, options).then(js => js.map(i => new this.ctor(i)));\n }\n\n by(key: keyof T, value: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.by(key.toString(), value, options).then(js => js.map(i => new this.ctor(i)));\n }\n\n search(q: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.search(q, options).then(js => js.map(i => new this.ctor(i)));\n }\n\n filter(options?: Options): Promise<PageList<T>> {\n return this.gateway.filter(options).then(js => js.map(i => new this.ctor(i)));\n }\n\n exists(id: Id): Promise<boolean> {\n return this.gateway.exists(id);\n }\n\n add(t: T | Json): Promise<T> {\n return this.extend(this.create(t), 'add')\n .then(i => when(i).not.isValid.reject())\n .then(i => this.validate(i, 'add'))\n .then(i => this.gateway.add(toJson(i)))\n .then(j => new this.ctor(j));\n }\n\n update(id: Id, json: Json): Promise<T> {\n return this.gateway\n .byId(id)\n .then(j => when(j).not.isDefined.reject(Exception.DoesNotExist))\n .then(j => new this.ctor(j).update(json) as T)\n .then(i => this.extend(i, 'update'))\n .then(i => when(i).not.isValid.reject())\n .then(i => this.validate(i, 'update'))\n .then(i => this.gateway.update(toJson(i)))\n .then(j => new this.ctor(j));\n }\n\n remove(id: Id): Promise<boolean> {\n return this.gateway.remove(id);\n }\n\n extend(item: T, _action?: RepoAction): Promise<T> {\n return resolve(item);\n }\n\n validate(item: T, _action?: RepoAction): Promise<T> {\n return resolve(item);\n }\n\n upsert(id: Id, item: Json): Promise<T> {\n return this.update(id, item).catch(e => (Exception.DoesNotExist.equals(e) ? this.add(item) : reject(e)));\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/domain/Repo.ts"],"sourcesContent":["import { asList, Constructor, Exception, FetchOptions, Gateway, Id, isValidatable, Json, JsonValue, Key, List, PageList, Repository, toJson } from '../types';\nimport { when } from '../validation';\nimport { reject, resolve } from '../utils';\nimport { Struct } from './Struct';\n\nexport type RepoAction = 'add' | 'update' | 'remove';\n\nexport class Repo<T extends Struct, Options = FetchOptions> extends Repository<T, Options> {\n constructor(protected ctor: Constructor<T>, private readonly gateway: Gateway<Options>) {\n super();\n }\n\n create = (item: T | Json): T => (isValidatable(item) ? item : new this.ctor(item));\n\n all(options?: Options): Promise<PageList<T>> {\n return this.gateway.all(options).then(js => js.map(i => new this.ctor(i)));\n }\n\n byId(id: Id): Promise<T> {\n return this.gateway\n .byId(id)\n .then(j => when(j).not.isDefined.reject(Exception.DoesNotExist))\n .then(j => new this.ctor(j));\n }\n\n byIds(...ids: Id[]): Promise<List<T>> {\n return this.gateway.byIds(...ids).then(j => asList(this.ctor, j));\n }\n\n byKey(key: Key, options?: Options): Promise<PageList<T>> {\n return this.gateway.by('key', key, options).then(js => js.map(i => new this.ctor(i)));\n }\n\n by(key: keyof T, value: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.by(key.toString(), value, options).then(js => js.map(i => new this.ctor(i)));\n }\n\n search(q: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.search(q, options).then(js => js.map(i => new this.ctor(i)));\n }\n\n filter(options?: Options): Promise<PageList<T>> {\n return this.gateway.filter(options).then(js => js.map(i => new this.ctor(i)));\n }\n\n exists(id: Id): Promise<boolean> {\n return this.gateway.exists(id);\n }\n\n add(t: T | Json): Promise<T> {\n return this.extend(this.create(t), 'add')\n .then(i => when(i).not.isValid.reject())\n .then(i => this.validate(i, 'add'))\n .then(i => this.gateway.add(toJson(i)))\n .then(j => new this.ctor(j));\n }\n\n update(id: Id, json: Json): Promise<T> {\n return this.gateway\n .byId(id)\n .then(j => when(j).not.isDefined.reject(Exception.DoesNotExist))\n .then(j => new this.ctor(j).update(json) as T)\n .then(i => this.extend(i, 'update'))\n .then(i => when(i).not.isValid.reject())\n .then(i => this.validate(i, 'update'))\n .then(i => this.gateway.update(toJson(i)))\n .then(j => new this.ctor(j));\n }\n\n remove(id: Id): Promise<boolean> {\n return this.gateway.remove(id);\n }\n\n extend(item: T, _action?: RepoAction): Promise<T> {\n return resolve(item);\n }\n\n validate(item: T, _action?: RepoAction): Promise<T> {\n return resolve(item);\n }\n\n upsert(id: Id, item: Json): Promise<T> {\n return this.update(id, item).catch(e => (Exception.DoesNotExist.equals(e) ? this.add(item) : reject(e)));\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,10 +1,9 @@
1
1
  import {
2
2
  Struct,
3
3
  isStruct
4
- } from "../chunk-QOGUHAMC.mjs";
5
- import "../chunk-YTWFWQNB.mjs";
4
+ } from "../chunk-CN756KJF.mjs";
5
+ import "../chunk-GZ4W5NPB.mjs";
6
6
  import "../chunk-CMRS457E.mjs";
7
- import "../chunk-5AF55QCJ.mjs";
8
7
  import "../chunk-JXJ5LRH3.mjs";
9
8
  import "../chunk-4QX4EMLL.mjs";
10
9
  import "../chunk-SJGQU3OG.mjs";
@@ -1,12 +1,11 @@
1
1
  import {
2
2
  Repository
3
- } from "../chunk-ZHAJLP7P.mjs";
3
+ } from "../chunk-PLDACKJ3.mjs";
4
4
  import {
5
5
  Exception,
6
6
  when
7
- } from "../chunk-YTWFWQNB.mjs";
7
+ } from "../chunk-GZ4W5NPB.mjs";
8
8
  import "../chunk-CMRS457E.mjs";
9
- import "../chunk-5AF55QCJ.mjs";
10
9
  import "../chunk-JXJ5LRH3.mjs";
11
10
  import "../chunk-4QX4EMLL.mjs";
12
11
  import "../chunk-SJGQU3OG.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/domain/Typo.ts"],"sourcesContent":["import { Exception, FetchOptions, Gateway, Id, Json, JsonValue, Key, List, PageList, Repository } from '../types';\nimport { when } from '../validation';\nimport { View } from '../utils';\n\nexport class Typo<T, Options = FetchOptions> extends Repository<T, Options> {\n constructor(protected view: View<T>, private readonly gateway: Gateway<Options>) {\n super();\n }\n\n create = (j: Json): T => this.view.from(j);\n\n all(options?: Options): Promise<PageList<T>> {\n return this.gateway.all(options).then(js => js.map(this.create));\n }\n\n byId(id: Id): Promise<T> {\n return this.gateway\n .byId(id)\n .then(j => when(j).not.isDefined.reject(Exception.DoesNotExist))\n .then(j => this.create(j));\n }\n\n byIds(...ids: Id[]): Promise<List<T>> {\n return this.gateway.byIds(...ids).then(js => js.map(this.create));\n }\n\n byKey(key: Key, options?: Options): Promise<PageList<T>> {\n return this.gateway.by('key', key, options).then(js => js.map(this.create));\n }\n\n by(key: keyof T, value: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.by(key.toString(), value, options).then(js => js.map(this.create));\n }\n\n search(q: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.search(q, options).then(js => js.map(this.create));\n }\n\n filter(options?: Options): Promise<PageList<T>> {\n return this.gateway.filter(options).then(js => js.map(j => this.create(j)));\n }\n\n exists(id: Id): Promise<boolean> {\n return this.gateway.exists(id);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAIO,IAAM,OAAN,cAA8C,WAAuB;AAAA,EAC1E,YAAsB,MAAgC,SAA2B;AAC/E,UAAM;AADc;AAAgC;AAAA,EAEtD;AAAA,EAEA,SAAS,CAAC,MAAe,KAAK,KAAK,KAAK,CAAC;AAAA,EAEzC,IAAI,SAAyC;AAC3C,WAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAAA,EACjE;AAAA,EAEA,KAAK,IAAoB;AACvB,WAAO,KAAK,QACT,KAAK,EAAE,EACP,KAAK,OAAK,KAAK,CAAC,EAAE,IAAI,UAAU,OAAO,UAAU,YAAY,CAAC,EAC9D,KAAK,OAAK,KAAK,OAAO,CAAC,CAAC;AAAA,EAC7B;AAAA,EAEA,SAAS,KAA6B;AACpC,WAAO,KAAK,QAAQ,MAAM,GAAG,GAAG,EAAE,KAAK,QAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAAA,EAClE;AAAA,EAEA,MAAM,KAAU,SAAyC;AACvD,WAAO,KAAK,QAAQ,GAAG,OAAO,KAAK,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAAA,EAC5E;AAAA,EAEA,GAAG,KAAc,OAAkB,SAAyC;AAC1E,WAAO,KAAK,QAAQ,GAAG,IAAI,SAAS,GAAG,OAAO,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAAA,EACvF;AAAA,EAEA,OAAO,GAAc,SAAyC;AAC5D,WAAO,KAAK,QAAQ,OAAO,GAAG,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAAA,EACvE;AAAA,EAEA,OAAO,SAAyC;AAC9C,WAAO,KAAK,QAAQ,OAAO,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,OAAK,KAAK,OAAO,CAAC,CAAC,CAAC;AAAA,EAC5E;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,KAAK,QAAQ,OAAO,EAAE;AAAA,EAC/B;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/domain/Typo.ts"],"sourcesContent":["import { Exception, FetchOptions, Gateway, Id, Json, JsonValue, Key, List, PageList, Repository } from '../types';\nimport { when } from '../validation';\nimport { View } from '../utils';\n\nexport class Typo<T, Options = FetchOptions> extends Repository<T, Options> {\n constructor(protected view: View<T>, private readonly gateway: Gateway<Options>) {\n super();\n }\n\n create = (j: Json): T => this.view.from(j);\n\n all(options?: Options): Promise<PageList<T>> {\n return this.gateway.all(options).then(js => js.map(this.create));\n }\n\n byId(id: Id): Promise<T> {\n return this.gateway\n .byId(id)\n .then(j => when(j).not.isDefined.reject(Exception.DoesNotExist))\n .then(j => this.create(j));\n }\n\n byIds(...ids: Id[]): Promise<List<T>> {\n return this.gateway.byIds(...ids).then(js => js.map(this.create));\n }\n\n byKey(key: Key, options?: Options): Promise<PageList<T>> {\n return this.gateway.by('key', key, options).then(js => js.map(this.create));\n }\n\n by(key: keyof T, value: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.by(key.toString(), value, options).then(js => js.map(this.create));\n }\n\n search(q: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.search(q, options).then(js => js.map(this.create));\n }\n\n filter(options?: Options): Promise<PageList<T>> {\n return this.gateway.filter(options).then(js => js.map(j => this.create(j)));\n }\n\n exists(id: Id): Promise<boolean> {\n return this.gateway.exists(id);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAIO,IAAM,OAAN,cAA8C,WAAuB;AAAA,EAC1E,YAAsB,MAAgC,SAA2B;AAC/E,UAAM;AADc;AAAgC;AAAA,EAEtD;AAAA,EAEA,SAAS,CAAC,MAAe,KAAK,KAAK,KAAK,CAAC;AAAA,EAEzC,IAAI,SAAyC;AAC3C,WAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAAA,EACjE;AAAA,EAEA,KAAK,IAAoB;AACvB,WAAO,KAAK,QACT,KAAK,EAAE,EACP,KAAK,OAAK,KAAK,CAAC,EAAE,IAAI,UAAU,OAAO,UAAU,YAAY,CAAC,EAC9D,KAAK,OAAK,KAAK,OAAO,CAAC,CAAC;AAAA,EAC7B;AAAA,EAEA,SAAS,KAA6B;AACpC,WAAO,KAAK,QAAQ,MAAM,GAAG,GAAG,EAAE,KAAK,QAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAAA,EAClE;AAAA,EAEA,MAAM,KAAU,SAAyC;AACvD,WAAO,KAAK,QAAQ,GAAG,OAAO,KAAK,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAAA,EAC5E;AAAA,EAEA,GAAG,KAAc,OAAkB,SAAyC;AAC1E,WAAO,KAAK,QAAQ,GAAG,IAAI,SAAS,GAAG,OAAO,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAAA,EACvF;AAAA,EAEA,OAAO,GAAc,SAAyC;AAC5D,WAAO,KAAK,QAAQ,OAAO,GAAG,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,KAAK,MAAM,CAAC;AAAA,EACvE;AAAA,EAEA,OAAO,SAAyC;AAC9C,WAAO,KAAK,QAAQ,OAAO,OAAO,EAAE,KAAK,QAAM,GAAG,IAAI,OAAK,KAAK,OAAO,CAAC,CAAC,CAAC;AAAA,EAC5E;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,KAAK,QAAQ,OAAO,EAAE;AAAA,EAC/B;AACF;","names":[]}
@@ -1,9 +1,8 @@
1
1
  import {
2
2
  Country
3
- } from "../../chunk-6NOTDYUE.mjs";
4
- import "../../chunk-YTWFWQNB.mjs";
3
+ } from "../../chunk-YD2WQWXL.mjs";
4
+ import "../../chunk-GZ4W5NPB.mjs";
5
5
  import "../../chunk-CMRS457E.mjs";
6
- import "../../chunk-5AF55QCJ.mjs";
7
6
  import "../../chunk-JXJ5LRH3.mjs";
8
7
  import "../../chunk-4QX4EMLL.mjs";
9
8
  import "../../chunk-SJGQU3OG.mjs";
@@ -1,12 +1,11 @@
1
1
  import {
2
2
  Currency
3
- } from "../../chunk-LV7HNQ3N.mjs";
4
- import "../../chunk-EZC3HAYN.mjs";
3
+ } from "../../chunk-GY5U2EMP.mjs";
4
+ import "../../chunk-QCRJIUXC.mjs";
5
5
  import "../../chunk-ADJAEGCT.mjs";
6
- import "../../chunk-QOGUHAMC.mjs";
7
- import "../../chunk-YTWFWQNB.mjs";
6
+ import "../../chunk-CN756KJF.mjs";
7
+ import "../../chunk-GZ4W5NPB.mjs";
8
8
  import "../../chunk-CMRS457E.mjs";
9
- import "../../chunk-5AF55QCJ.mjs";
10
9
  import "../../chunk-JXJ5LRH3.mjs";
11
10
  import "../../chunk-4QX4EMLL.mjs";
12
11
  import "../../chunk-SJGQU3OG.mjs";
@@ -1,8 +1,7 @@
1
1
  import {
2
2
  Enum
3
- } from "../../chunk-YTWFWQNB.mjs";
3
+ } from "../../chunk-GZ4W5NPB.mjs";
4
4
  import "../../chunk-CMRS457E.mjs";
5
- import "../../chunk-5AF55QCJ.mjs";
6
5
  import "../../chunk-JXJ5LRH3.mjs";
7
6
  import "../../chunk-4QX4EMLL.mjs";
8
7
  import "../../chunk-SJGQU3OG.mjs";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/domain/enums/Environment.ts"],"sourcesContent":["import { Enum } from '../../types';\n\nexport class Environment extends Enum {\n static readonly Dev = new Environment('Development', 'dev');\n static readonly Tst = new Environment('Test', 'tst');\n static readonly Acc = new Environment('Acceptance', 'acc');\n static readonly Prd = new Environment('Production', 'prd');\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAEO,IAAM,cAAN,MAAM,qBAAoB,KAAK;AAAA,EACpC,OAAgB,MAAM,IAAI,aAAY,eAAe,KAAK;AAAA,EAC1D,OAAgB,MAAM,IAAI,aAAY,QAAQ,KAAK;AAAA,EACnD,OAAgB,MAAM,IAAI,aAAY,cAAc,KAAK;AAAA,EACzD,OAAgB,MAAM,IAAI,aAAY,cAAc,KAAK;AAC3D;","names":[]}
1
+ {"version":3,"sources":["../../../src/domain/enums/Environment.ts"],"sourcesContent":["import { Enum } from '../../types';\n\nexport class Environment extends Enum {\n static readonly Dev = new Environment('Development', 'dev');\n static readonly Tst = new Environment('Test', 'tst');\n static readonly Acc = new Environment('Acceptance', 'acc');\n static readonly Prd = new Environment('Production', 'prd');\n}\n"],"mappings":";;;;;;;;;;;;;;;AAEO,IAAM,cAAN,MAAM,qBAAoB,KAAK;AAAA,EACpC,OAAgB,MAAM,IAAI,aAAY,eAAe,KAAK;AAAA,EAC1D,OAAgB,MAAM,IAAI,aAAY,QAAQ,KAAK;AAAA,EACnD,OAAgB,MAAM,IAAI,aAAY,cAAc,KAAK;AAAA,EACzD,OAAgB,MAAM,IAAI,aAAY,cAAc,KAAK;AAC3D;","names":[]}
@@ -1,9 +1,8 @@
1
1
  import {
2
2
  Enum,
3
3
  text
4
- } from "../../chunk-YTWFWQNB.mjs";
4
+ } from "../../chunk-GZ4W5NPB.mjs";
5
5
  import "../../chunk-CMRS457E.mjs";
6
- import "../../chunk-5AF55QCJ.mjs";
7
6
  import "../../chunk-JXJ5LRH3.mjs";
8
7
  import "../../chunk-4QX4EMLL.mjs";
9
8
  import "../../chunk-SJGQU3OG.mjs";