@thisisagile/easy 17.11.7 → 17.11.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/dist/{chunk-2B2LWE7H.mjs → chunk-2AO3V6WW.mjs} +3 -3
  2. package/dist/{chunk-CGLAXRYO.mjs → chunk-34OJDBCM.mjs} +3 -3
  3. package/dist/{chunk-CVHT2WVR.mjs → chunk-4PJ2YGDL.mjs} +2 -2
  4. package/dist/{chunk-SRA54XNC.mjs → chunk-4ZIP6ODE.mjs} +2 -2
  5. package/dist/{chunk-3KAS2OUD.mjs → chunk-5JPW7D3L.mjs} +3 -3
  6. package/dist/{chunk-H7UCFICA.mjs → chunk-5ZL5TS4S.mjs} +5 -5
  7. package/dist/{chunk-5OCTJM4I.mjs → chunk-63CWUA3Z.mjs} +4 -4
  8. package/dist/{chunk-45GNHDKA.mjs → chunk-BDA5LB4S.mjs} +4 -2
  9. package/dist/{chunk-45GNHDKA.mjs.map → chunk-BDA5LB4S.mjs.map} +1 -1
  10. package/dist/{chunk-I6PVEVIW.mjs → chunk-CNPPJ6AA.mjs} +3 -3
  11. package/dist/{chunk-PNOYRJOG.mjs → chunk-CPGCLR5V.mjs} +2 -2
  12. package/dist/{chunk-S2EO2NE3.mjs → chunk-D2FWNOU3.mjs} +5 -5
  13. package/dist/{chunk-XZFA5UKO.mjs → chunk-D4INMQV7.mjs} +3 -3
  14. package/dist/{chunk-OYFQAAB3.mjs → chunk-DCAEU37B.mjs} +3 -3
  15. package/dist/{chunk-X53NA4T2.mjs → chunk-ED7EYL67.mjs} +8 -8
  16. package/dist/{chunk-DP5REKS4.mjs → chunk-EIBSI47I.mjs} +2 -2
  17. package/dist/{chunk-7TODJ5AB.mjs → chunk-FYIVQ7EQ.mjs} +4 -4
  18. package/dist/{chunk-QQRGOHU6.mjs → chunk-GCY5A63A.mjs} +2 -2
  19. package/dist/{chunk-CSSGUE74.mjs → chunk-GE2SHIYQ.mjs} +5 -5
  20. package/dist/{chunk-IRVESJ6R.mjs → chunk-HGIUERWI.mjs} +2 -2
  21. package/dist/{chunk-S5GFPPII.mjs → chunk-HSZSYIZY.mjs} +5 -5
  22. package/dist/{chunk-FX7PAZNL.mjs → chunk-IN3EXOVF.mjs} +2 -2
  23. package/dist/{chunk-Q7XCVZG6.mjs → chunk-JBAK7QN6.mjs} +5 -5
  24. package/dist/{chunk-XYF7VWHS.mjs → chunk-JXW7Q5GU.mjs} +6 -6
  25. package/dist/{chunk-AQKM3DLK.mjs → chunk-JXYAPQEA.mjs} +3 -3
  26. package/dist/{chunk-7QIDN7WJ.mjs → chunk-KN67DLGL.mjs} +2 -2
  27. package/dist/{chunk-UBYEWFQE.mjs → chunk-LHDFC27L.mjs} +3 -3
  28. package/dist/{chunk-BPI7S6FS.mjs → chunk-LS4SIQKT.mjs} +4 -4
  29. package/dist/{chunk-5F3WZOEV.mjs → chunk-LULK6CKF.mjs} +5 -5
  30. package/dist/{chunk-IRQLDOQ4.mjs → chunk-LUOO6CWS.mjs} +5 -5
  31. package/dist/{chunk-APYISY5K.mjs → chunk-MDXL65W4.mjs} +2 -2
  32. package/dist/{chunk-WYWVVKLK.mjs → chunk-N3HWNPPY.mjs} +2 -2
  33. package/dist/{chunk-IUIZ3POO.mjs → chunk-NAS4IH4Z.mjs} +3 -3
  34. package/dist/{chunk-DQL4ZCMV.mjs → chunk-OCROEN2T.mjs} +6 -6
  35. package/dist/{chunk-4YVNC3I3.mjs → chunk-OHXXYXUW.mjs} +3 -3
  36. package/dist/{chunk-U53FLD4J.mjs → chunk-OKPGJD64.mjs} +2 -2
  37. package/dist/{chunk-XI33LBCC.mjs → chunk-OW7H62JJ.mjs} +4 -4
  38. package/dist/{chunk-JEUGYAE4.mjs → chunk-PMMDI5DF.mjs} +4 -4
  39. package/dist/{chunk-YEMK2M2J.mjs → chunk-PXJPCQZC.mjs} +2 -2
  40. package/dist/{chunk-FP2QESXV.mjs → chunk-QR3XE5FO.mjs} +3 -3
  41. package/dist/{chunk-LE7F7675.mjs → chunk-RY2QL4CR.mjs} +2 -2
  42. package/dist/chunk-RY2QL4CR.mjs.map +1 -0
  43. package/dist/{chunk-O5BFND5E.mjs → chunk-SK7HYEDJ.mjs} +2 -2
  44. package/dist/{chunk-LE6YY6FV.mjs → chunk-UCN44YYB.mjs} +3 -3
  45. package/dist/{chunk-FWRENESU.mjs → chunk-UK3PBM5X.mjs} +4 -4
  46. package/dist/{chunk-3URSQSW4.mjs → chunk-UMW6A7IL.mjs} +4 -4
  47. package/dist/{chunk-MVCWMNB5.mjs → chunk-UOQFXHJL.mjs} +2 -2
  48. package/dist/{chunk-CHA7WYOG.mjs → chunk-USQVE5EJ.mjs} +7 -6
  49. package/dist/chunk-USQVE5EJ.mjs.map +1 -0
  50. package/dist/{chunk-OL3UCNK5.mjs → chunk-VFMEA3D5.mjs} +9 -9
  51. package/dist/{chunk-WQKXDPCQ.mjs → chunk-VMJWZRJD.mjs} +4 -4
  52. package/dist/{chunk-MMSUSXHO.mjs → chunk-VWFTUMVB.mjs} +13 -13
  53. package/dist/{chunk-CAHTK3AT.mjs → chunk-WSBULPUZ.mjs} +2 -2
  54. package/dist/{chunk-P6XK6L46.mjs → chunk-YMKNXGCI.mjs} +2 -2
  55. package/dist/data/Condition.mjs +7 -7
  56. package/dist/data/Database.mjs +7 -7
  57. package/dist/data/Field.mjs +8 -8
  58. package/dist/data/InMemoryGateway.mjs +16 -16
  59. package/dist/domain/Audit.mjs +20 -20
  60. package/dist/domain/Child.mjs +17 -17
  61. package/dist/domain/DateTime.mjs +16 -16
  62. package/dist/domain/Entity.mjs +20 -20
  63. package/dist/domain/Repo.mjs +18 -18
  64. package/dist/domain/Struct.mjs +16 -16
  65. package/dist/domain/Typo.mjs +15 -15
  66. package/dist/http/CacheControl.mjs +16 -16
  67. package/dist/http/ContentType.mjs +7 -7
  68. package/dist/http/HttpStatus.mjs +7 -7
  69. package/dist/http/HttpVerb.mjs +7 -7
  70. package/dist/http/LocalRequestStore.mjs +6 -6
  71. package/dist/http/RequestOptions.mjs +10 -10
  72. package/dist/http/RestResult.mjs +16 -16
  73. package/dist/http/toResponse.mjs +17 -17
  74. package/dist/index.js +5 -2
  75. package/dist/index.js.map +1 -1
  76. package/dist/process/App.mjs +8 -8
  77. package/dist/process/Manage.mjs +16 -16
  78. package/dist/process/Scope.mjs +8 -8
  79. package/dist/process/Search.mjs +16 -16
  80. package/dist/process/UseCase.mjs +7 -7
  81. package/dist/resources/Req.mjs +15 -15
  82. package/dist/security/Jwt.mjs +2 -2
  83. package/dist/services/Api.mjs +24 -24
  84. package/dist/services/ApiGateway.mjs +27 -27
  85. package/dist/services/AxiosProvider.mjs +22 -22
  86. package/dist/services/MappedRouteGateway.mjs +32 -32
  87. package/dist/services/RouteGateway.mjs +28 -28
  88. package/dist/services/ViewRouteGateway.mjs +31 -31
  89. package/dist/sql/Clause.mjs +3 -3
  90. package/dist/sql/Column.mjs +18 -18
  91. package/dist/sql/Count.mjs +6 -6
  92. package/dist/sql/Delete.mjs +5 -5
  93. package/dist/sql/Insert.mjs +7 -7
  94. package/dist/sql/Select.mjs +5 -5
  95. package/dist/sql/SqlQuery.mjs +4 -4
  96. package/dist/sql/Table.mjs +27 -27
  97. package/dist/sql/TableGateway.mjs +16 -16
  98. package/dist/sql/Update.mjs +7 -7
  99. package/dist/types/Builder.mjs +1 -1
  100. package/dist/types/Cache.mjs +5 -5
  101. package/dist/types/CacheAge.mjs +16 -16
  102. package/dist/types/Case.mjs +14 -14
  103. package/dist/types/Context.mjs +6 -6
  104. package/dist/types/Enum.mjs +6 -6
  105. package/dist/types/Environment.mjs +6 -6
  106. package/dist/types/Exception.mjs +8 -8
  107. package/dist/types/Gateway.mjs +10 -10
  108. package/dist/types/IsEqual.mjs +15 -15
  109. package/dist/types/Json.mjs +5 -5
  110. package/dist/types/List.mjs +3 -3
  111. package/dist/types/Meta.mjs +5 -5
  112. package/dist/types/Number.mjs +15 -15
  113. package/dist/types/Object.d.ts +1 -1
  114. package/dist/types/Object.mjs +4 -4
  115. package/dist/types/PageList.mjs +15 -15
  116. package/dist/types/Parser.mjs +14 -14
  117. package/dist/types/Repository.mjs +10 -10
  118. package/dist/types/Result.mjs +7 -7
  119. package/dist/types/Results.mjs +8 -8
  120. package/dist/types/Tag.mjs +5 -5
  121. package/dist/types/Template.mjs +5 -5
  122. package/dist/types/Text.d.ts +1 -0
  123. package/dist/types/Text.mjs +3 -1
  124. package/dist/types/Try.mjs +14 -14
  125. package/dist/types/Uri.mjs +14 -14
  126. package/dist/types/Value.mjs +2 -2
  127. package/dist/utils/Convert.mjs +2 -2
  128. package/dist/utils/Mapper.mjs +9 -9
  129. package/dist/utils/Promise.mjs +4 -4
  130. package/dist/utils/Property.mjs +3 -3
  131. package/dist/utils/Seconds.mjs +4 -4
  132. package/dist/utils/Sentence.mjs +5 -5
  133. package/dist/utils/View.mjs +18 -18
  134. package/dist/validation/Contraints.mjs +15 -15
  135. package/dist/validation/Validate.mjs +14 -14
  136. package/dist/validation/When.mjs +14 -14
  137. package/package.json +2 -2
  138. package/src/types/Object.ts +1 -1
  139. package/src/types/Template.ts +3 -3
  140. package/src/types/Text.ts +2 -0
  141. package/dist/chunk-CHA7WYOG.mjs.map +0 -1
  142. package/dist/chunk-LE7F7675.mjs.map +0 -1
  143. /package/dist/{chunk-2B2LWE7H.mjs.map → chunk-2AO3V6WW.mjs.map} +0 -0
  144. /package/dist/{chunk-CGLAXRYO.mjs.map → chunk-34OJDBCM.mjs.map} +0 -0
  145. /package/dist/{chunk-CVHT2WVR.mjs.map → chunk-4PJ2YGDL.mjs.map} +0 -0
  146. /package/dist/{chunk-SRA54XNC.mjs.map → chunk-4ZIP6ODE.mjs.map} +0 -0
  147. /package/dist/{chunk-3KAS2OUD.mjs.map → chunk-5JPW7D3L.mjs.map} +0 -0
  148. /package/dist/{chunk-H7UCFICA.mjs.map → chunk-5ZL5TS4S.mjs.map} +0 -0
  149. /package/dist/{chunk-5OCTJM4I.mjs.map → chunk-63CWUA3Z.mjs.map} +0 -0
  150. /package/dist/{chunk-I6PVEVIW.mjs.map → chunk-CNPPJ6AA.mjs.map} +0 -0
  151. /package/dist/{chunk-PNOYRJOG.mjs.map → chunk-CPGCLR5V.mjs.map} +0 -0
  152. /package/dist/{chunk-S2EO2NE3.mjs.map → chunk-D2FWNOU3.mjs.map} +0 -0
  153. /package/dist/{chunk-XZFA5UKO.mjs.map → chunk-D4INMQV7.mjs.map} +0 -0
  154. /package/dist/{chunk-OYFQAAB3.mjs.map → chunk-DCAEU37B.mjs.map} +0 -0
  155. /package/dist/{chunk-X53NA4T2.mjs.map → chunk-ED7EYL67.mjs.map} +0 -0
  156. /package/dist/{chunk-DP5REKS4.mjs.map → chunk-EIBSI47I.mjs.map} +0 -0
  157. /package/dist/{chunk-7TODJ5AB.mjs.map → chunk-FYIVQ7EQ.mjs.map} +0 -0
  158. /package/dist/{chunk-QQRGOHU6.mjs.map → chunk-GCY5A63A.mjs.map} +0 -0
  159. /package/dist/{chunk-CSSGUE74.mjs.map → chunk-GE2SHIYQ.mjs.map} +0 -0
  160. /package/dist/{chunk-IRVESJ6R.mjs.map → chunk-HGIUERWI.mjs.map} +0 -0
  161. /package/dist/{chunk-S5GFPPII.mjs.map → chunk-HSZSYIZY.mjs.map} +0 -0
  162. /package/dist/{chunk-FX7PAZNL.mjs.map → chunk-IN3EXOVF.mjs.map} +0 -0
  163. /package/dist/{chunk-Q7XCVZG6.mjs.map → chunk-JBAK7QN6.mjs.map} +0 -0
  164. /package/dist/{chunk-XYF7VWHS.mjs.map → chunk-JXW7Q5GU.mjs.map} +0 -0
  165. /package/dist/{chunk-AQKM3DLK.mjs.map → chunk-JXYAPQEA.mjs.map} +0 -0
  166. /package/dist/{chunk-7QIDN7WJ.mjs.map → chunk-KN67DLGL.mjs.map} +0 -0
  167. /package/dist/{chunk-UBYEWFQE.mjs.map → chunk-LHDFC27L.mjs.map} +0 -0
  168. /package/dist/{chunk-BPI7S6FS.mjs.map → chunk-LS4SIQKT.mjs.map} +0 -0
  169. /package/dist/{chunk-5F3WZOEV.mjs.map → chunk-LULK6CKF.mjs.map} +0 -0
  170. /package/dist/{chunk-IRQLDOQ4.mjs.map → chunk-LUOO6CWS.mjs.map} +0 -0
  171. /package/dist/{chunk-APYISY5K.mjs.map → chunk-MDXL65W4.mjs.map} +0 -0
  172. /package/dist/{chunk-WYWVVKLK.mjs.map → chunk-N3HWNPPY.mjs.map} +0 -0
  173. /package/dist/{chunk-IUIZ3POO.mjs.map → chunk-NAS4IH4Z.mjs.map} +0 -0
  174. /package/dist/{chunk-DQL4ZCMV.mjs.map → chunk-OCROEN2T.mjs.map} +0 -0
  175. /package/dist/{chunk-4YVNC3I3.mjs.map → chunk-OHXXYXUW.mjs.map} +0 -0
  176. /package/dist/{chunk-U53FLD4J.mjs.map → chunk-OKPGJD64.mjs.map} +0 -0
  177. /package/dist/{chunk-XI33LBCC.mjs.map → chunk-OW7H62JJ.mjs.map} +0 -0
  178. /package/dist/{chunk-JEUGYAE4.mjs.map → chunk-PMMDI5DF.mjs.map} +0 -0
  179. /package/dist/{chunk-YEMK2M2J.mjs.map → chunk-PXJPCQZC.mjs.map} +0 -0
  180. /package/dist/{chunk-FP2QESXV.mjs.map → chunk-QR3XE5FO.mjs.map} +0 -0
  181. /package/dist/{chunk-O5BFND5E.mjs.map → chunk-SK7HYEDJ.mjs.map} +0 -0
  182. /package/dist/{chunk-LE6YY6FV.mjs.map → chunk-UCN44YYB.mjs.map} +0 -0
  183. /package/dist/{chunk-FWRENESU.mjs.map → chunk-UK3PBM5X.mjs.map} +0 -0
  184. /package/dist/{chunk-3URSQSW4.mjs.map → chunk-UMW6A7IL.mjs.map} +0 -0
  185. /package/dist/{chunk-MVCWMNB5.mjs.map → chunk-UOQFXHJL.mjs.map} +0 -0
  186. /package/dist/{chunk-OL3UCNK5.mjs.map → chunk-VFMEA3D5.mjs.map} +0 -0
  187. /package/dist/{chunk-WQKXDPCQ.mjs.map → chunk-VMJWZRJD.mjs.map} +0 -0
  188. /package/dist/{chunk-MMSUSXHO.mjs.map → chunk-VWFTUMVB.mjs.map} +0 -0
  189. /package/dist/{chunk-CAHTK3AT.mjs.map → chunk-WSBULPUZ.mjs.map} +0 -0
  190. /package/dist/{chunk-P6XK6L46.mjs.map → chunk-YMKNXGCI.mjs.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { List, toList } from './List';
2
- import { asString, replaceAll, Text } from './Text';
2
+ import { asString, capitalize, replaceAll, Text } from './Text';
3
3
  import { toName } from './Constructor';
4
4
  import { Optional } from './Types';
5
5
  import { Get, ofGet } from './Get';
@@ -52,11 +52,11 @@ export class ToText implements Text {
52
52
  constructor(readonly subject: string) {}
53
53
 
54
54
  get cap(): ToText {
55
- return this.map(s => s.charAt(0).toUpperCase() + s.slice(1).toLowerCase());
55
+ return this.map(s => capitalize(s?.toLowerCase()));
56
56
  }
57
57
 
58
58
  get capFirst(): ToText {
59
- return this.map(s => s.charAt(0).toUpperCase() + s.slice(1));
59
+ return this.map(s => capitalize(s));
60
60
  }
61
61
 
62
62
  get title(): ToText {
package/src/types/Text.ts CHANGED
@@ -19,3 +19,5 @@ export const toWords = (input: unknown): string[] => {
19
19
  };
20
20
 
21
21
  export const kebab = (s = ''): string => toWords(s).join('-').toLowerCase();
22
+
23
+ export const capitalize = (s = ''): string => s.charAt(0).toUpperCase() + s.slice(1);
@@ -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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Object.ts"],"sourcesContent":["import { List, toList } from './List';\nimport { ifDefined } from '../utils/If';\n\nexport type Entry<T = unknown> = [key: string, value: T];\n\nexport function entries<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>): List<Entry<T>> {\n return ifDefined(\n subject,\n () => toList<Entry<T>>([...Object.entries(subject), ...Object.entries(Object.getPrototypeOf(subject))] as Entry<T>[]),\n () => toList<Entry<T>>()\n );\n}\n\nexport function values<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>): List<T> {\n return toList([...Object.values<T>(subject), ...Object.values<T>(Object.getPrototypeOf(subject))]);\n}\n\nexport function keys<T = unknown>(subject: { [p: string]: T } | ArrayLike<T>): List<string> {\n return toList([...Object.keys(subject), ...Object.keys(Object.getPrototypeOf(subject))]);\n}\n\nexport function extractKeys<T extends object, K extends keyof T>(\n obj: T,\n keys: K[] | readonly (keyof T)[]\n): {\n keys: Pick<T, K>;\n} & Omit<T, K> {\n return keys\n .filter((k): k is K => k in obj)\n .reduce(\n (acc, key) => {\n (acc.keys as T)[key] = obj[key];\n delete acc[key];\n return acc;\n },\n { keys: {} as Pick<T, K>, ...obj }\n );\n}\n"],"mappings":";;;;;;;;AAKO,SAAS,QAAqB,SAA4D;AAC/F,SAAO;AAAA,IACL;AAAA,IACA,MAAM,OAAiB,CAAC,GAAG,OAAO,QAAQ,OAAO,GAAG,GAAG,OAAO,QAAQ,OAAO,eAAe,OAAO,CAAC,CAAC,CAAe;AAAA,IACpH,MAAM,OAAiB;AAAA,EACzB;AACF;AAEO,SAAS,OAAoB,SAAqD;AACvF,SAAO,OAAO,CAAC,GAAG,OAAO,OAAU,OAAO,GAAG,GAAG,OAAO,OAAU,OAAO,eAAe,OAAO,CAAC,CAAC,CAAC;AACnG;AAEO,SAAS,KAAkB,SAA0D;AAC1F,SAAO,OAAO,CAAC,GAAG,OAAO,KAAK,OAAO,GAAG,GAAG,OAAO,KAAK,OAAO,eAAe,OAAO,CAAC,CAAC,CAAC;AACzF;AAEO,SAAS,YACd,KACAA,OAGa;AACb,SAAOA,MACJ,OAAO,CAAC,MAAc,KAAK,GAAG,EAC9B;AAAA,IACC,CAAC,KAAK,QAAQ;AACZ,MAAC,IAAI,KAAW,GAAG,IAAI,IAAI,GAAG;AAC9B,aAAO,IAAI,GAAG;AACd,aAAO;AAAA,IACT;AAAA,IACA,EAAE,MAAM,CAAC,GAAiB,GAAG,IAAI;AAAA,EACnC;AACJ;","names":["keys"]}