@thisisagile/easy 17.11.8 → 17.11.11

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 (189) hide show
  1. package/dist/{chunk-EBNH7ITU.mjs → chunk-2734OB7A.mjs} +5 -5
  2. package/dist/{chunk-NUAMTN4G.mjs → chunk-2CALV6UK.mjs} +6 -6
  3. package/dist/{chunk-P42TWW2J.mjs → chunk-4D2N6DTR.mjs} +3 -3
  4. package/dist/{chunk-CGLAXRYO.mjs → chunk-4XR4FJ2Q.mjs} +3 -3
  5. package/dist/{chunk-LPJPZ35Q.mjs → chunk-5DHYS6UT.mjs} +3 -3
  6. package/dist/{chunk-DGYTVB55.mjs → chunk-6BR4RG4X.mjs} +3 -3
  7. package/dist/{chunk-FMCWOYNP.mjs → chunk-6WEUF3WU.mjs} +3 -3
  8. package/dist/{chunk-GABEXRTN.mjs → chunk-73V5LPS2.mjs} +2 -2
  9. package/dist/{chunk-6UYLTNFQ.mjs → chunk-7N4GV2LS.mjs} +4 -4
  10. package/dist/{chunk-CVHT2WVR.mjs → chunk-7VIXZ3N2.mjs} +2 -2
  11. package/dist/{chunk-JF7P4TQZ.mjs → chunk-ABA7RSDB.mjs} +2 -2
  12. package/dist/{chunk-FVAJRNAU.mjs → chunk-AXFWKH2A.mjs} +7 -6
  13. package/dist/chunk-AXFWKH2A.mjs.map +1 -0
  14. package/dist/{chunk-HPRF4YF3.mjs → chunk-B5X2HQFY.mjs} +4 -4
  15. package/dist/{chunk-45GNHDKA.mjs → chunk-BDA5LB4S.mjs} +4 -2
  16. package/dist/{chunk-45GNHDKA.mjs.map → chunk-BDA5LB4S.mjs.map} +1 -1
  17. package/dist/{chunk-DGFJ4F6B.mjs → chunk-BXS3DMX4.mjs} +3 -3
  18. package/dist/{chunk-GQKVDZJU.mjs → chunk-DZAJ4MTM.mjs} +6 -6
  19. package/dist/{chunk-GQTUCX2K.mjs → chunk-EO44ADHK.mjs} +4 -4
  20. package/dist/{chunk-SVNUKDCY.mjs → chunk-FPRYUEFH.mjs} +2 -2
  21. package/dist/{chunk-QQRGOHU6.mjs → chunk-GCY5A63A.mjs} +2 -2
  22. package/dist/{chunk-K4RKCHSN.mjs → chunk-HYIHPHGJ.mjs} +2 -2
  23. package/dist/{chunk-A4SEQQO7.mjs → chunk-J762GOVN.mjs} +2 -2
  24. package/dist/{chunk-AQKM3DLK.mjs → chunk-M3AJCXS5.mjs} +3 -3
  25. package/dist/{chunk-APYISY5K.mjs → chunk-MDXL65W4.mjs} +2 -2
  26. package/dist/{chunk-PWBJTDIY.mjs → chunk-MRLM5ZUA.mjs} +6 -6
  27. package/dist/{chunk-KGQJHTTE.mjs → chunk-NFHCX4VL.mjs} +2 -2
  28. package/dist/{chunk-JX2WXONP.mjs → chunk-NPA4NL6F.mjs} +5 -5
  29. package/dist/{chunk-6YYW37ON.mjs → chunk-OJU2XPL6.mjs} +4 -4
  30. package/dist/{chunk-U53FLD4J.mjs → chunk-OKPGJD64.mjs} +2 -2
  31. package/dist/{chunk-CZ4T5NKA.mjs → chunk-OLOAFOQC.mjs} +5 -5
  32. package/dist/{chunk-KNI7JV5E.mjs → chunk-ONX65DCP.mjs} +9 -9
  33. package/dist/{chunk-E5WNIH5V.mjs → chunk-OQ4W76PD.mjs} +11 -11
  34. package/dist/{chunk-5KFAKRYQ.mjs → chunk-OSMTZTEO.mjs} +2 -2
  35. package/dist/{chunk-5F3WZOEV.mjs → chunk-OVKDKQKI.mjs} +2 -2
  36. package/dist/{chunk-M2XCPVAG.mjs → chunk-P3IR2KG5.mjs} +5 -5
  37. package/dist/{chunk-LUUIELYN.mjs → chunk-Q3GB6R3I.mjs} +3 -3
  38. package/dist/{chunk-4AS2I5E5.mjs → chunk-R32GJNFQ.mjs} +4 -4
  39. package/dist/{chunk-FG5KYRSU.mjs → chunk-RB5BKEZR.mjs} +2 -2
  40. package/dist/{chunk-IUIZ3POO.mjs → chunk-RBTB5C4B.mjs} +3 -3
  41. package/dist/{chunk-FJJYEZC4.mjs → chunk-SGSBQTUR.mjs} +3 -3
  42. package/dist/{chunk-KNO2JV2V.mjs → chunk-SPMBBLP2.mjs} +2 -2
  43. package/dist/{chunk-SRA54XNC.mjs → chunk-TCICYSL6.mjs} +2 -2
  44. package/dist/{chunk-ZWDRBHN4.mjs → chunk-UUB27VX2.mjs} +3 -3
  45. package/dist/{chunk-64DAB7MV.mjs → chunk-VHM2MIIJ.mjs} +4 -4
  46. package/dist/{chunk-IRVESJ6R.mjs → chunk-W4SWU2TX.mjs} +2 -2
  47. package/dist/{chunk-URUTQJAA.mjs → chunk-WPQSYMUU.mjs} +3 -3
  48. package/dist/{chunk-CAHTK3AT.mjs → chunk-WSBULPUZ.mjs} +2 -2
  49. package/dist/{chunk-PNOYRJOG.mjs → chunk-XYQWMDTR.mjs} +2 -2
  50. package/dist/{chunk-4QQAO4ET.mjs → chunk-Z6J3LKHF.mjs} +4 -4
  51. package/dist/{chunk-SDC6F3EC.mjs → chunk-ZDRNZPWZ.mjs} +3 -3
  52. package/dist/{chunk-V4XN7H4L.mjs → chunk-ZM3BAMCJ.mjs} +4 -4
  53. package/dist/{chunk-LE6YY6FV.mjs → chunk-ZYP5UGM7.mjs} +3 -3
  54. package/dist/data/Condition.mjs +6 -6
  55. package/dist/data/Database.mjs +6 -6
  56. package/dist/data/Field.mjs +7 -7
  57. package/dist/data/InMemoryGateway.mjs +15 -15
  58. package/dist/domain/Audit.mjs +19 -19
  59. package/dist/domain/Child.mjs +16 -16
  60. package/dist/domain/DateTime.mjs +15 -15
  61. package/dist/domain/Entity.mjs +19 -19
  62. package/dist/domain/Repo.mjs +15 -15
  63. package/dist/domain/Struct.mjs +15 -15
  64. package/dist/domain/Typo.mjs +14 -14
  65. package/dist/http/CacheControl.mjs +15 -15
  66. package/dist/http/ContentType.mjs +6 -6
  67. package/dist/http/HttpStatus.mjs +6 -6
  68. package/dist/http/HttpVerb.mjs +6 -6
  69. package/dist/http/LocalRequestStore.mjs +5 -5
  70. package/dist/http/RequestOptions.mjs +9 -9
  71. package/dist/http/RestResult.mjs +15 -15
  72. package/dist/http/toResponse.mjs +16 -16
  73. package/dist/index.js +5 -2
  74. package/dist/index.js.map +1 -1
  75. package/dist/process/App.mjs +7 -7
  76. package/dist/process/Manage.mjs +15 -15
  77. package/dist/process/Scope.mjs +7 -7
  78. package/dist/process/Search.mjs +15 -15
  79. package/dist/process/UseCase.mjs +6 -6
  80. package/dist/resources/Req.mjs +14 -14
  81. package/dist/security/Jwt.mjs +2 -2
  82. package/dist/services/Api.mjs +23 -23
  83. package/dist/services/ApiGateway.mjs +26 -26
  84. package/dist/services/AxiosProvider.mjs +21 -21
  85. package/dist/services/MappedRouteGateway.mjs +31 -31
  86. package/dist/services/RouteGateway.mjs +27 -27
  87. package/dist/services/ViewRouteGateway.mjs +30 -30
  88. package/dist/sql/Clause.mjs +3 -3
  89. package/dist/sql/Column.mjs +17 -17
  90. package/dist/sql/Count.mjs +5 -5
  91. package/dist/sql/Delete.mjs +4 -4
  92. package/dist/sql/Insert.mjs +6 -6
  93. package/dist/sql/Select.mjs +4 -4
  94. package/dist/sql/SqlQuery.mjs +3 -3
  95. package/dist/sql/Table.mjs +26 -26
  96. package/dist/sql/TableGateway.mjs +15 -15
  97. package/dist/sql/Update.mjs +6 -6
  98. package/dist/types/Builder.mjs +1 -1
  99. package/dist/types/Cache.mjs +4 -4
  100. package/dist/types/CacheAge.mjs +15 -15
  101. package/dist/types/Case.mjs +13 -13
  102. package/dist/types/Context.mjs +5 -5
  103. package/dist/types/Enum.mjs +5 -5
  104. package/dist/types/Environment.mjs +5 -5
  105. package/dist/types/Exception.mjs +7 -7
  106. package/dist/types/Gateway.mjs +9 -9
  107. package/dist/types/IsEqual.mjs +14 -14
  108. package/dist/types/Json.mjs +4 -4
  109. package/dist/types/List.mjs +2 -2
  110. package/dist/types/Meta.mjs +4 -4
  111. package/dist/types/Number.mjs +14 -14
  112. package/dist/types/Object.mjs +3 -3
  113. package/dist/types/PageList.mjs +14 -14
  114. package/dist/types/Parser.mjs +13 -13
  115. package/dist/types/Repository.mjs +9 -9
  116. package/dist/types/Result.mjs +6 -6
  117. package/dist/types/Results.mjs +7 -7
  118. package/dist/types/Tag.mjs +4 -4
  119. package/dist/types/Template.mjs +4 -4
  120. package/dist/types/Text.d.ts +1 -0
  121. package/dist/types/Text.mjs +3 -1
  122. package/dist/types/Try.mjs +13 -13
  123. package/dist/types/Types.d.ts +3 -2
  124. package/dist/types/Uri.mjs +13 -13
  125. package/dist/types/Value.mjs +2 -2
  126. package/dist/utils/Convert.mjs +2 -2
  127. package/dist/utils/Mapper.mjs +8 -8
  128. package/dist/utils/Promise.mjs +3 -3
  129. package/dist/utils/Property.mjs +3 -3
  130. package/dist/utils/Seconds.mjs +3 -3
  131. package/dist/utils/Sentence.mjs +4 -4
  132. package/dist/utils/View.mjs +17 -17
  133. package/dist/validation/Contraints.mjs +14 -14
  134. package/dist/validation/Validate.mjs +13 -13
  135. package/dist/validation/When.mjs +13 -13
  136. package/package.json +2 -2
  137. package/src/types/Template.ts +3 -3
  138. package/src/types/Text.ts +2 -0
  139. package/src/types/Types.ts +3 -3
  140. package/dist/chunk-FVAJRNAU.mjs.map +0 -1
  141. /package/dist/{chunk-EBNH7ITU.mjs.map → chunk-2734OB7A.mjs.map} +0 -0
  142. /package/dist/{chunk-NUAMTN4G.mjs.map → chunk-2CALV6UK.mjs.map} +0 -0
  143. /package/dist/{chunk-P42TWW2J.mjs.map → chunk-4D2N6DTR.mjs.map} +0 -0
  144. /package/dist/{chunk-CGLAXRYO.mjs.map → chunk-4XR4FJ2Q.mjs.map} +0 -0
  145. /package/dist/{chunk-LPJPZ35Q.mjs.map → chunk-5DHYS6UT.mjs.map} +0 -0
  146. /package/dist/{chunk-DGYTVB55.mjs.map → chunk-6BR4RG4X.mjs.map} +0 -0
  147. /package/dist/{chunk-FMCWOYNP.mjs.map → chunk-6WEUF3WU.mjs.map} +0 -0
  148. /package/dist/{chunk-GABEXRTN.mjs.map → chunk-73V5LPS2.mjs.map} +0 -0
  149. /package/dist/{chunk-6UYLTNFQ.mjs.map → chunk-7N4GV2LS.mjs.map} +0 -0
  150. /package/dist/{chunk-CVHT2WVR.mjs.map → chunk-7VIXZ3N2.mjs.map} +0 -0
  151. /package/dist/{chunk-JF7P4TQZ.mjs.map → chunk-ABA7RSDB.mjs.map} +0 -0
  152. /package/dist/{chunk-HPRF4YF3.mjs.map → chunk-B5X2HQFY.mjs.map} +0 -0
  153. /package/dist/{chunk-DGFJ4F6B.mjs.map → chunk-BXS3DMX4.mjs.map} +0 -0
  154. /package/dist/{chunk-GQKVDZJU.mjs.map → chunk-DZAJ4MTM.mjs.map} +0 -0
  155. /package/dist/{chunk-GQTUCX2K.mjs.map → chunk-EO44ADHK.mjs.map} +0 -0
  156. /package/dist/{chunk-SVNUKDCY.mjs.map → chunk-FPRYUEFH.mjs.map} +0 -0
  157. /package/dist/{chunk-QQRGOHU6.mjs.map → chunk-GCY5A63A.mjs.map} +0 -0
  158. /package/dist/{chunk-K4RKCHSN.mjs.map → chunk-HYIHPHGJ.mjs.map} +0 -0
  159. /package/dist/{chunk-A4SEQQO7.mjs.map → chunk-J762GOVN.mjs.map} +0 -0
  160. /package/dist/{chunk-AQKM3DLK.mjs.map → chunk-M3AJCXS5.mjs.map} +0 -0
  161. /package/dist/{chunk-APYISY5K.mjs.map → chunk-MDXL65W4.mjs.map} +0 -0
  162. /package/dist/{chunk-PWBJTDIY.mjs.map → chunk-MRLM5ZUA.mjs.map} +0 -0
  163. /package/dist/{chunk-KGQJHTTE.mjs.map → chunk-NFHCX4VL.mjs.map} +0 -0
  164. /package/dist/{chunk-JX2WXONP.mjs.map → chunk-NPA4NL6F.mjs.map} +0 -0
  165. /package/dist/{chunk-6YYW37ON.mjs.map → chunk-OJU2XPL6.mjs.map} +0 -0
  166. /package/dist/{chunk-U53FLD4J.mjs.map → chunk-OKPGJD64.mjs.map} +0 -0
  167. /package/dist/{chunk-CZ4T5NKA.mjs.map → chunk-OLOAFOQC.mjs.map} +0 -0
  168. /package/dist/{chunk-KNI7JV5E.mjs.map → chunk-ONX65DCP.mjs.map} +0 -0
  169. /package/dist/{chunk-E5WNIH5V.mjs.map → chunk-OQ4W76PD.mjs.map} +0 -0
  170. /package/dist/{chunk-5KFAKRYQ.mjs.map → chunk-OSMTZTEO.mjs.map} +0 -0
  171. /package/dist/{chunk-5F3WZOEV.mjs.map → chunk-OVKDKQKI.mjs.map} +0 -0
  172. /package/dist/{chunk-M2XCPVAG.mjs.map → chunk-P3IR2KG5.mjs.map} +0 -0
  173. /package/dist/{chunk-LUUIELYN.mjs.map → chunk-Q3GB6R3I.mjs.map} +0 -0
  174. /package/dist/{chunk-4AS2I5E5.mjs.map → chunk-R32GJNFQ.mjs.map} +0 -0
  175. /package/dist/{chunk-FG5KYRSU.mjs.map → chunk-RB5BKEZR.mjs.map} +0 -0
  176. /package/dist/{chunk-IUIZ3POO.mjs.map → chunk-RBTB5C4B.mjs.map} +0 -0
  177. /package/dist/{chunk-FJJYEZC4.mjs.map → chunk-SGSBQTUR.mjs.map} +0 -0
  178. /package/dist/{chunk-KNO2JV2V.mjs.map → chunk-SPMBBLP2.mjs.map} +0 -0
  179. /package/dist/{chunk-SRA54XNC.mjs.map → chunk-TCICYSL6.mjs.map} +0 -0
  180. /package/dist/{chunk-ZWDRBHN4.mjs.map → chunk-UUB27VX2.mjs.map} +0 -0
  181. /package/dist/{chunk-64DAB7MV.mjs.map → chunk-VHM2MIIJ.mjs.map} +0 -0
  182. /package/dist/{chunk-IRVESJ6R.mjs.map → chunk-W4SWU2TX.mjs.map} +0 -0
  183. /package/dist/{chunk-URUTQJAA.mjs.map → chunk-WPQSYMUU.mjs.map} +0 -0
  184. /package/dist/{chunk-CAHTK3AT.mjs.map → chunk-WSBULPUZ.mjs.map} +0 -0
  185. /package/dist/{chunk-PNOYRJOG.mjs.map → chunk-XYQWMDTR.mjs.map} +0 -0
  186. /package/dist/{chunk-4QQAO4ET.mjs.map → chunk-Z6J3LKHF.mjs.map} +0 -0
  187. /package/dist/{chunk-SDC6F3EC.mjs.map → chunk-ZDRNZPWZ.mjs.map} +0 -0
  188. /package/dist/{chunk-V4XN7H4L.mjs.map → chunk-ZM3BAMCJ.mjs.map} +0 -0
  189. /package/dist/{chunk-LE6YY6FV.mjs.map → chunk-ZYP5UGM7.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Template.ts"],"sourcesContent":["import { List, toList } from './List';\nimport { asString, replaceAll, Text } from './Text';\nimport { toName } from './Constructor';\nimport { Optional } from './Types';\nimport { Get, ofGet } from './Get';\nimport { isEmpty, isNotEmpty } from './Is';\nimport { JsonValue } from './Json';\nimport { entries } from './Object';\n\nexport type TemplateOptions = { type?: Text; property?: Text; actual?: Text; subject?: Text };\n\nexport class Template implements Text {\n constructor(\n private readonly template: string,\n private readonly subject: unknown = {},\n private readonly options: TemplateOptions = {}\n ) {}\n\n toString = (): string => {\n return entries(this.options)\n .reduce((t, [k]) => this.option(t, k), this.object())\n .replace(' ', ' ');\n };\n\n private readonly props = (tmpl: string, key: string, result: List<string> = toList()): string[] => {\n const i1 = tmpl.indexOf(`{${key}`);\n if (i1 < 0) {\n return result;\n }\n const i2 = tmpl.indexOf('}', i1);\n return this.props(tmpl.slice(i2 + 1), key, result.add(tmpl.substring(i1 + 1, i2)));\n };\n\n private readonly object = (): string => {\n return this.props(this.template, 'this').reduce((t: string, p) => t.replace(`{${p}}`, textValue(this.subject, p.replace('this.', ''))), this.template);\n };\n\n private readonly option = (tmpl: string, prop: string): string => {\n return this.props(tmpl, prop).reduce((t: string, p) => t.replace(`{${p}}`, textValue(this.options, p)), tmpl);\n };\n}\n\nexport function template(tmpl: Text, subject: unknown, options: TemplateOptions = {}): Text {\n return new Template(asString(tmpl), subject, {\n type: toName(subject),\n subject: text(JSON.stringify(subject)),\n ...options,\n });\n}\n\nexport class ToText implements Text {\n constructor(readonly subject: string) {}\n\n get cap(): ToText {\n return this.map(s => s.charAt(0).toUpperCase() + s.slice(1).toLowerCase());\n }\n\n get capFirst(): ToText {\n return this.map(s => s.charAt(0).toUpperCase() + s.slice(1));\n }\n\n get title(): ToText {\n return this.map(s =>\n s\n .split(' ')\n .map(w => text(w).cap)\n .join(' ')\n );\n }\n\n get pascal(): ToText {\n return this.title.replace(' ', '');\n }\n\n get lower(): ToText {\n return this.map(s => s.toLowerCase());\n }\n\n get upper(): ToText {\n return this.map(s => s.toUpperCase());\n }\n\n get camel(): ToText {\n return this.title.trim.map(s => `${s.charAt(0).toLowerCase()}${s.slice(1)}`);\n }\n\n get kebab(): ToText {\n return this.lower.replace(' ', '-');\n }\n\n get strictKebab(): ToText {\n return this.map(s => s.replace(/[^a-z\\d]+/gi, ' ').trim()).kebab;\n }\n\n get slug(): ToText {\n return this.map(s =>\n s\n .replace(/ß/g, 'ss')\n .normalize('NFKD')\n .replace(/[\\u0300-\\u036F]/g, '')\n .toLowerCase()\n .replace(/[^a-z\\d]+/g, '-')\n .replace(/(^-)|(-$)/g, '')\n );\n }\n\n get snake(): ToText {\n return this.upper.replace(' ', '_');\n }\n\n get plural(): ToText {\n return this.ifLike('') ?? this.add('s');\n }\n\n get space(): ToText {\n return this.map(s => s.replace(/([a-z0-9])([A-Z])/g, '$1 $2').replace(/[_-]/g, ' '));\n }\n\n get sentence(): ToText {\n return this.isEmpty ? this : this.map(s => `${s.charAt(0).toUpperCase()}${s.slice(1)}.`);\n }\n\n get initials(): ToText {\n return this.map(s =>\n s\n .split(' ')\n .map(w => w[0])\n .join('')\n );\n }\n\n get trim(): ToText {\n return this.map(s => s.replace(/[- ,_#]/g, ''));\n }\n\n get isEmpty(): boolean {\n return isEmpty(this.toString());\n }\n\n parse = (subject: unknown, options = {}): ToText => text(template(this.subject, subject, { type: toName(subject), ...options }));\n\n is = (...others: unknown[]): boolean => others.some(o => this.toString() === text(o).toString());\n\n equals = this.is;\n\n isLike = (...others: unknown[]): boolean => others.some(o => this.trim.lower.is(text(o).trim.lower));\n\n ifLike = (...others: unknown[]): Optional<this> => (this.isLike(...others) ? this : undefined);\n\n endsWith = (end?: unknown): boolean => this.subject.endsWith(asString(end));\n\n startsWith = (end?: unknown): boolean => this.subject.startsWith(asString(end));\n\n first = (n: number): ToText => this.map(s => s.substring(0, n));\n\n last = (n: number): ToText => this.map(s => s.substring(s.length - n));\n\n map = (func: Get<string, string>): ToText => text(ofGet(func, this.subject));\n\n replace = (search: Text, replace: Text): ToText => this.map(s => replaceAll(s, search, replace));\n\n add = (add?: unknown, separator = ''): ToText => this.map(s => (isNotEmpty(add) ? `${s}${separator}${text(add)}` : s));\n\n with = (separator: string, ...other: unknown[]): ToText =>\n this.map(s =>\n toList(s)\n .add(...other.map(u => text(u).toString()))\n .filter(s => isNotEmpty(s))\n .join(separator)\n );\n\n toString(): string {\n return this.subject;\n }\n\n toJSON(): JsonValue {\n return this.subject;\n }\n}\n\nexport function text(subject?: unknown, alt = ''): ToText {\n const sub = subject ? asString(subject) : alt;\n return new ToText(sub !== '[object Object]' ? sub : '');\n}\n\nexport function textValue(subject: any, prop: string): string {\n const p = prop.split('.');\n const root = subject?.[p[0]];\n const initial = typeof root === 'object' && root !== null ? root : text(root);\n return p\n .splice(1)\n .reduce((t, s) => t[s], initial)\n .toString();\n}\n"],"mappings":"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","names":["template","s"]}