@thisisagile/easy 17.31.0 → 17.32.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 (131) hide show
  1. package/dist/{chunk-NIWK2A5T.mjs → chunk-2RHBJLH7.mjs} +8 -12
  2. package/dist/{chunk-NIWK2A5T.mjs.map → chunk-2RHBJLH7.mjs.map} +1 -1
  3. package/dist/{chunk-OOWOFPDC.mjs → chunk-4TGUPVQN.mjs} +2 -2
  4. package/dist/{chunk-GQ7XGATB.mjs → chunk-AMBSWR6J.mjs} +7 -9
  5. package/dist/{chunk-GQ7XGATB.mjs.map → chunk-AMBSWR6J.mjs.map} +1 -1
  6. package/dist/{chunk-DY33LKDP.mjs → chunk-BZNMKX6O.mjs} +2 -2
  7. package/dist/{chunk-6RSZTLCP.mjs → chunk-ESECEXXM.mjs} +4 -4
  8. package/dist/{chunk-PZFHPGDR.mjs → chunk-FCJ4TDW7.mjs} +2 -2
  9. package/dist/{chunk-6PR3OZQP.mjs → chunk-H7NA23T6.mjs} +3 -3
  10. package/dist/{chunk-UNU355PL.mjs → chunk-I5VS3NUO.mjs} +5 -5
  11. package/dist/{chunk-DV7PHOM6.mjs → chunk-JSALAKCR.mjs} +3 -3
  12. package/dist/{chunk-QSB4QYYE.mjs → chunk-KTK2V5FC.mjs} +2 -2
  13. package/dist/{chunk-LKBFD66J.mjs → chunk-KX7RRPEZ.mjs} +3 -5
  14. package/dist/{chunk-LKBFD66J.mjs.map → chunk-KX7RRPEZ.mjs.map} +1 -1
  15. package/dist/{chunk-5O2BGB5V.mjs → chunk-LAY4XDIL.mjs} +3 -3
  16. package/dist/{chunk-PIZ7IORV.mjs → chunk-LP2MEIWU.mjs} +2 -2
  17. package/dist/{chunk-X24AKSPO.mjs → chunk-PCKGK5AF.mjs} +2 -2
  18. package/dist/{chunk-3BJH75JQ.mjs → chunk-PQTYEEZC.mjs} +2 -2
  19. package/dist/{chunk-PKA5XEUC.mjs → chunk-R6UXMGTJ.mjs} +3 -3
  20. package/dist/{chunk-TYH6CVJL.mjs → chunk-RBGF26S7.mjs} +4 -4
  21. package/dist/{chunk-IYFZMJYO.mjs → chunk-TNPMWL7Y.mjs} +7 -11
  22. package/dist/{chunk-IYFZMJYO.mjs.map → chunk-TNPMWL7Y.mjs.map} +1 -1
  23. package/dist/{chunk-GJL7E2EJ.mjs → chunk-TPGAM536.mjs} +4 -4
  24. package/dist/{chunk-2MNT7B4T.mjs → chunk-UYBPL7PM.mjs} +7 -7
  25. package/dist/{chunk-HI2JE5PJ.mjs → chunk-XAIZBTVQ.mjs} +2 -2
  26. package/dist/chunk-ZBS4A3QI.mjs +614 -0
  27. package/dist/chunk-ZBS4A3QI.mjs.map +1 -0
  28. package/dist/data/InMemoryGateway.mjs +5 -11
  29. package/dist/data/InMemoryGateway.mjs.map +1 -1
  30. package/dist/domain/Audit.mjs +6 -11
  31. package/dist/domain/Child.mjs +6 -11
  32. package/dist/domain/Child.mjs.map +1 -1
  33. package/dist/domain/DateTime.mjs +3 -8
  34. package/dist/domain/Entity.mjs +11 -16
  35. package/dist/domain/Entity.mjs.map +1 -1
  36. package/dist/domain/Repo.mjs +5 -11
  37. package/dist/domain/Repo.mjs.map +1 -1
  38. package/dist/domain/Struct.mjs +3 -8
  39. package/dist/domain/Typo.mjs +4 -10
  40. package/dist/domain/Typo.mjs.map +1 -1
  41. package/dist/http/CacheControl.mjs +4 -9
  42. package/dist/http/CacheControl.mjs.map +1 -1
  43. package/dist/http/LocalRequestStore.mjs +6 -2
  44. package/dist/http/LocalRequestStore.mjs.map +1 -1
  45. package/dist/http/RequestOptions.mjs +6 -4
  46. package/dist/http/RestResult.mjs +4 -9
  47. package/dist/http/toResponse.mjs +5 -10
  48. package/dist/index.js +317 -306
  49. package/dist/index.js.map +1 -1
  50. package/dist/process/App.mjs +5 -2
  51. package/dist/process/App.mjs.map +1 -1
  52. package/dist/process/Manage.mjs +4 -9
  53. package/dist/process/Manage.mjs.map +1 -1
  54. package/dist/process/Scope.mjs +5 -2
  55. package/dist/process/Search.mjs +4 -9
  56. package/dist/process/UseCase.mjs +4 -1
  57. package/dist/process/UseCase.mjs.map +1 -1
  58. package/dist/resources/Req.mjs +3 -8
  59. package/dist/resources/Req.mjs.map +1 -1
  60. package/dist/services/Api.mjs +11 -16
  61. package/dist/services/ApiGateway.mjs +14 -19
  62. package/dist/services/AxiosProvider.mjs +10 -15
  63. package/dist/services/MappedRouteGateway.mjs +15 -20
  64. package/dist/services/MappedRouteGateway.mjs.map +1 -1
  65. package/dist/services/RouteGateway.mjs +15 -20
  66. package/dist/services/ViewRouteGateway.mjs +17 -22
  67. package/dist/services/ViewRouteGateway.mjs.map +1 -1
  68. package/dist/sql/Column.mjs +3 -8
  69. package/dist/sql/Table.mjs +3 -8
  70. package/dist/sql/Table.mjs.map +1 -1
  71. package/dist/sql/TableGateway.mjs +4 -9
  72. package/dist/sql/TableGateway.mjs.map +1 -1
  73. package/dist/types/CacheAge.mjs +4 -9
  74. package/dist/types/Case.d.ts +16 -0
  75. package/dist/types/Case.mjs +2 -7
  76. package/dist/types/Context.mjs +6 -2
  77. package/dist/types/Exception.mjs +4 -2
  78. package/dist/types/Gateway.mjs +4 -3
  79. package/dist/types/IsEqual.mjs +3 -8
  80. package/dist/types/Number.mjs +3 -8
  81. package/dist/types/PageList.mjs +3 -8
  82. package/dist/types/Parser.mjs +2 -7
  83. package/dist/types/Parser.mjs.map +1 -1
  84. package/dist/types/Repository.mjs +4 -3
  85. package/dist/types/Result.mjs +6 -3
  86. package/dist/types/Results.mjs +6 -4
  87. package/dist/types/Template.d.ts +1 -0
  88. package/dist/types/Template.mjs +6 -1
  89. package/dist/types/ToText.mjs +6 -1
  90. package/dist/types/Try.mjs +2 -7
  91. package/dist/types/Uri.mjs +3 -9
  92. package/dist/types/Uri.mjs.map +1 -1
  93. package/dist/utils/Sentence.mjs +6 -1
  94. package/dist/utils/Sentence.mjs.map +1 -1
  95. package/dist/utils/View.mjs +5 -10
  96. package/dist/validation/Contraints.mjs +3 -8
  97. package/dist/validation/Validate.mjs +2 -7
  98. package/dist/validation/When.mjs +2 -7
  99. package/package.json +1 -1
  100. package/src/types/Case.ts +12 -0
  101. package/src/types/Template.ts +7 -3
  102. package/src/types/ToText.ts +1 -1
  103. package/dist/chunk-6JA2EI2T.mjs +0 -20
  104. package/dist/chunk-6JA2EI2T.mjs.map +0 -1
  105. package/dist/chunk-HTHNHACU.mjs +0 -94
  106. package/dist/chunk-HTHNHACU.mjs.map +0 -1
  107. package/dist/chunk-MIYBZDW6.mjs +0 -35
  108. package/dist/chunk-MIYBZDW6.mjs.map +0 -1
  109. package/dist/chunk-SOUOSMQ6.mjs +0 -165
  110. package/dist/chunk-SOUOSMQ6.mjs.map +0 -1
  111. package/dist/chunk-VTEGCABM.mjs +0 -40
  112. package/dist/chunk-VTEGCABM.mjs.map +0 -1
  113. package/dist/chunk-WIQKEALP.mjs +0 -324
  114. package/dist/chunk-WIQKEALP.mjs.map +0 -1
  115. /package/dist/{chunk-OOWOFPDC.mjs.map → chunk-4TGUPVQN.mjs.map} +0 -0
  116. /package/dist/{chunk-DY33LKDP.mjs.map → chunk-BZNMKX6O.mjs.map} +0 -0
  117. /package/dist/{chunk-6RSZTLCP.mjs.map → chunk-ESECEXXM.mjs.map} +0 -0
  118. /package/dist/{chunk-PZFHPGDR.mjs.map → chunk-FCJ4TDW7.mjs.map} +0 -0
  119. /package/dist/{chunk-6PR3OZQP.mjs.map → chunk-H7NA23T6.mjs.map} +0 -0
  120. /package/dist/{chunk-UNU355PL.mjs.map → chunk-I5VS3NUO.mjs.map} +0 -0
  121. /package/dist/{chunk-DV7PHOM6.mjs.map → chunk-JSALAKCR.mjs.map} +0 -0
  122. /package/dist/{chunk-QSB4QYYE.mjs.map → chunk-KTK2V5FC.mjs.map} +0 -0
  123. /package/dist/{chunk-5O2BGB5V.mjs.map → chunk-LAY4XDIL.mjs.map} +0 -0
  124. /package/dist/{chunk-PIZ7IORV.mjs.map → chunk-LP2MEIWU.mjs.map} +0 -0
  125. /package/dist/{chunk-X24AKSPO.mjs.map → chunk-PCKGK5AF.mjs.map} +0 -0
  126. /package/dist/{chunk-3BJH75JQ.mjs.map → chunk-PQTYEEZC.mjs.map} +0 -0
  127. /package/dist/{chunk-PKA5XEUC.mjs.map → chunk-R6UXMGTJ.mjs.map} +0 -0
  128. /package/dist/{chunk-TYH6CVJL.mjs.map → chunk-RBGF26S7.mjs.map} +0 -0
  129. /package/dist/{chunk-GJL7E2EJ.mjs.map → chunk-TPGAM536.mjs.map} +0 -0
  130. /package/dist/{chunk-2MNT7B4T.mjs.map → chunk-UYBPL7PM.mjs.map} +0 -0
  131. /package/dist/{chunk-HI2JE5PJ.mjs.map → chunk-XAIZBTVQ.mjs.map} +0 -0
@@ -1,20 +0,0 @@
1
- import {
2
- ctx
3
- } from "./chunk-HTHNHACU.mjs";
4
- import {
5
- isA
6
- } from "./chunk-ZHXKBOK2.mjs";
7
-
8
- // src/types/Result.ts
9
- var toResult = (message, location, domain = ctx.env.domain) => ({
10
- message: message.toString(),
11
- location: location?.toString(),
12
- domain: domain?.toString()
13
- });
14
- var isResult = (r) => isA(r, "message");
15
-
16
- export {
17
- toResult,
18
- isResult
19
- };
20
- //# sourceMappingURL=chunk-6JA2EI2T.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Result.ts"],"sourcesContent":["import { isA } from './IsA';\nimport { Text } from './Text';\nimport { ctx } from './Context';\nimport { TypeGuard } from './TypeGuard';\n\nexport type Result = { message: string; location?: string; domain?: string };\n\nexport const toResult = (message: Text, location?: Text, domain: Text = ctx.env.domain): Result => ({\n message: message.toString(),\n location: location?.toString(),\n domain: domain?.toString(),\n});\n\nexport const isResult: TypeGuard<Result> = (r?: unknown): r is Result => isA<Result>(r, 'message');\n"],"mappings":";;;;;;;;AAOO,IAAM,WAAW,CAAC,SAAe,UAAiB,SAAe,IAAI,IAAI,YAAoB;AAAA,EAClG,SAAS,QAAQ,SAAS;AAAA,EAC1B,UAAU,UAAU,SAAS;AAAA,EAC7B,QAAQ,QAAQ,SAAS;AAC3B;AAEO,IAAM,WAA8B,CAAC,MAA6B,IAAY,GAAG,SAAS;","names":[]}
@@ -1,94 +0,0 @@
1
- import {
2
- text
3
- } from "./chunk-SOUOSMQ6.mjs";
4
-
5
- // src/types/Context.ts
6
- var DotEnvContext = class {
7
- domain = process.env.DOMAIN ?? "easy";
8
- name = process.env.ENVIRONMENT_NAME ?? "";
9
- host = process.env.HOST ?? "";
10
- port = Number.parseInt(process.env.PORT ?? "8080");
11
- app = process.env.APP ?? "";
12
- get = (key, alt) => {
13
- const k = text(key).map((k2) => k2.replace(/([a-z])([A-Z])/g, "$1 $2")).snake.toString();
14
- return process.env[k] ?? alt;
15
- };
16
- };
17
- var BaseRequestContext = class {
18
- state = {};
19
- get token() {
20
- return this.get("token");
21
- }
22
- set token(token) {
23
- this.set("token", token);
24
- }
25
- get identity() {
26
- return this.token;
27
- }
28
- get jwt() {
29
- return this.get("jwt");
30
- }
31
- set jwt(jwt) {
32
- this.set("jwt", jwt);
33
- }
34
- get correlationId() {
35
- return this.get("correlationId");
36
- }
37
- set correlationId(id) {
38
- this.set("correlationId", id);
39
- }
40
- get lastError() {
41
- return this.get("lastError");
42
- }
43
- set lastError(error) {
44
- this.set("lastError", error);
45
- }
46
- get(key) {
47
- return this.state[key];
48
- }
49
- set(key, value) {
50
- return this.state[key] = value;
51
- }
52
- create = (f) => f();
53
- wrap = (f) => f();
54
- };
55
- var BaseContext = class extends BaseRequestContext {
56
- };
57
- var Context = class {
58
- constructor(state = {}) {
59
- this.state = state;
60
- this.state = {
61
- ...{
62
- env: new DotEnvContext(),
63
- request: new BaseRequestContext(),
64
- other: {}
65
- },
66
- ...this.state
67
- };
68
- }
69
- get env() {
70
- return this.state.env;
71
- }
72
- set env(env) {
73
- this.state.env = env;
74
- }
75
- get request() {
76
- return this.state.request;
77
- }
78
- set request(request) {
79
- this.state.request = request;
80
- }
81
- get other() {
82
- return this.state.other;
83
- }
84
- };
85
- var ctx = new Context();
86
-
87
- export {
88
- DotEnvContext,
89
- BaseRequestContext,
90
- BaseContext,
91
- Context,
92
- ctx
93
- };
94
- //# sourceMappingURL=chunk-HTHNHACU.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Context.ts"],"sourcesContent":["import { Uuid } from './Uuid';\nimport { Identity } from './Identity';\nimport { Optional } from './Types';\n\nimport { text } from './ToText';\n\nexport interface EnvContext {\n readonly domain: string;\n readonly name: string;\n readonly host: string;\n readonly port: number;\n readonly app: string;\n\n get(key: string, alt?: string): Optional<string>;\n}\n\nexport class DotEnvContext implements EnvContext {\n readonly domain = process.env.DOMAIN ?? 'easy';\n readonly name = process.env.ENVIRONMENT_NAME ?? '';\n readonly host = process.env.HOST ?? '';\n readonly port = Number.parseInt(process.env.PORT ?? '8080');\n readonly app = process.env.APP ?? '';\n\n readonly get = (key: string, alt?: string): Optional<string> => {\n const k = text(key)\n .map(k => k.replace(/([a-z])([A-Z])/g, '$1 $2'))\n .snake.toString();\n return process.env[k] ?? alt;\n };\n}\n\nexport interface RequestContext {\n token?: any;\n identity?: Identity;\n jwt: string;\n correlationId?: Uuid;\n lastError?: string;\n lastErrorStack?: string;\n create: (f: () => void) => void;\n\n get<T>(key: string): T;\n\n set<T>(key: string, value: T): T;\n\n wrap<T>(f: () => Promise<T>): Promise<T>;\n}\n\nexport class BaseRequestContext implements RequestContext {\n private state: any = {};\n\n get token(): any {\n return this.get('token');\n }\n\n set token(token: any) {\n this.set('token', token);\n }\n\n get identity(): Identity {\n return this.token as Identity;\n }\n\n get jwt(): string {\n return this.get('jwt');\n }\n\n set jwt(jwt: string) {\n this.set('jwt', jwt);\n }\n\n get correlationId(): Uuid {\n return this.get('correlationId');\n }\n\n set correlationId(id: Uuid) {\n this.set('correlationId', id);\n }\n\n get lastError(): Optional<string> {\n return this.get('lastError');\n }\n\n set lastError(error: Optional<string>) {\n this.set('lastError', error);\n }\n\n public get<T>(key: string): T {\n return this.state[key] as T;\n }\n\n public set<T>(key: string, value: T): T {\n return (this.state[key] = value);\n }\n\n public readonly create = (f: () => void): void => f();\n\n public readonly wrap = <T>(f: () => Promise<T>): Promise<T> => f();\n}\n\n/**\n * @deprecated Renamed to BaseRequestContext\n */\nexport class BaseContext extends BaseRequestContext {}\n\nexport interface Contexts {\n env?: EnvContext;\n request?: RequestContext;\n other?: any;\n}\n\nexport class Context {\n constructor(protected state: Contexts = {}) {\n this.state = {\n ...{\n env: new DotEnvContext(),\n request: new BaseRequestContext(),\n other: {},\n },\n ...this.state,\n };\n }\n\n get env(): EnvContext {\n return this.state.env as EnvContext;\n }\n\n set env(env: EnvContext) {\n this.state.env = env;\n }\n\n get request(): RequestContext {\n return this.state.request as RequestContext;\n }\n\n set request(request: RequestContext) {\n this.state.request = request;\n }\n\n get other(): any {\n return this.state.other;\n }\n}\n\nexport const ctx = new Context();\n"],"mappings":";;;;;AAgBO,IAAM,gBAAN,MAA0C;AAAA,EACtC,SAAS,QAAQ,IAAI,UAAU;AAAA,EAC/B,OAAO,QAAQ,IAAI,oBAAoB;AAAA,EACvC,OAAO,QAAQ,IAAI,QAAQ;AAAA,EAC3B,OAAO,OAAO,SAAS,QAAQ,IAAI,QAAQ,MAAM;AAAA,EACjD,MAAM,QAAQ,IAAI,OAAO;AAAA,EAEzB,MAAM,CAAC,KAAa,QAAmC;AAC9D,UAAM,IAAI,KAAK,GAAG,EACf,IAAI,CAAAA,OAAKA,GAAE,QAAQ,mBAAmB,OAAO,CAAC,EAC9C,MAAM,SAAS;AAClB,WAAO,QAAQ,IAAI,CAAC,KAAK;AAAA,EAC3B;AACF;AAkBO,IAAM,qBAAN,MAAmD;AAAA,EAChD,QAAa,CAAC;AAAA,EAEtB,IAAI,QAAa;AACf,WAAO,KAAK,IAAI,OAAO;AAAA,EACzB;AAAA,EAEA,IAAI,MAAM,OAAY;AACpB,SAAK,IAAI,SAAS,KAAK;AAAA,EACzB;AAAA,EAEA,IAAI,WAAqB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,MAAc;AAChB,WAAO,KAAK,IAAI,KAAK;AAAA,EACvB;AAAA,EAEA,IAAI,IAAI,KAAa;AACnB,SAAK,IAAI,OAAO,GAAG;AAAA,EACrB;AAAA,EAEA,IAAI,gBAAsB;AACxB,WAAO,KAAK,IAAI,eAAe;AAAA,EACjC;AAAA,EAEA,IAAI,cAAc,IAAU;AAC1B,SAAK,IAAI,iBAAiB,EAAE;AAAA,EAC9B;AAAA,EAEA,IAAI,YAA8B;AAChC,WAAO,KAAK,IAAI,WAAW;AAAA,EAC7B;AAAA,EAEA,IAAI,UAAU,OAAyB;AACrC,SAAK,IAAI,aAAa,KAAK;AAAA,EAC7B;AAAA,EAEO,IAAO,KAAgB;AAC5B,WAAO,KAAK,MAAM,GAAG;AAAA,EACvB;AAAA,EAEO,IAAO,KAAa,OAAa;AACtC,WAAQ,KAAK,MAAM,GAAG,IAAI;AAAA,EAC5B;AAAA,EAEgB,SAAS,CAAC,MAAwB,EAAE;AAAA,EAEpC,OAAO,CAAI,MAAoC,EAAE;AACnE;AAKO,IAAM,cAAN,cAA0B,mBAAmB;AAAC;AAQ9C,IAAM,UAAN,MAAc;AAAA,EACnB,YAAsB,QAAkB,CAAC,GAAG;AAAtB;AACpB,SAAK,QAAQ;AAAA,MACX,GAAG;AAAA,QACD,KAAK,IAAI,cAAc;AAAA,QACvB,SAAS,IAAI,mBAAmB;AAAA,QAChC,OAAO,CAAC;AAAA,MACV;AAAA,MACA,GAAG,KAAK;AAAA,IACV;AAAA,EACF;AAAA,EAEA,IAAI,MAAkB;AACpB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAI,IAAI,KAAiB;AACvB,SAAK,MAAM,MAAM;AAAA,EACnB;AAAA,EAEA,IAAI,UAA0B;AAC5B,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAI,QAAQ,SAAyB;AACnC,SAAK,MAAM,UAAU;AAAA,EACvB;AAAA,EAEA,IAAI,QAAa;AACf,WAAO,KAAK,MAAM;AAAA,EACpB;AACF;AAEO,IAAM,MAAM,IAAI,QAAQ;","names":["k"]}
@@ -1,35 +0,0 @@
1
- import {
2
- isResult,
3
- toResult
4
- } from "./chunk-6JA2EI2T.mjs";
5
- import {
6
- toArray
7
- } from "./chunk-CO2AFYVD.mjs";
8
- import {
9
- isDefined
10
- } from "./chunk-DEJ7A5PY.mjs";
11
-
12
- // src/types/Results.ts
13
- var parse = (...rs) => toArray(...rs).map((r) => isResult(r) ? r : toResult(r));
14
- var Results = class {
15
- results;
16
- constructor(...rs) {
17
- this.results = parse(...rs);
18
- }
19
- get length() {
20
- return this.results.length;
21
- }
22
- get isValid() {
23
- return this.results.length === 0;
24
- }
25
- add = (...rs) => toResults(...this.results, ...parse(...rs));
26
- };
27
- var toResults = (...r) => new Results(...r);
28
- var isResults = (r) => isDefined(r) && r instanceof Results;
29
-
30
- export {
31
- Results,
32
- toResults,
33
- isResults
34
- };
35
- //# sourceMappingURL=chunk-MIYBZDW6.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Results.ts"],"sourcesContent":["import { Text } from './Text';\nimport { isResult, Result, toResult } from './Result';\nimport { Validatable } from './Validatable';\nimport { isDefined } from './Is';\nimport { toArray } from './Array';\n\nconst parse = (...rs: (Text | Result)[]): Result[] => toArray(...rs).map(r => (isResult(r) ? r : toResult(r)));\n\nexport class Results implements Validatable {\n public readonly results: Result[];\n\n constructor(...rs: (Text | Result)[]) {\n this.results = parse(...rs);\n }\n\n get length(): number {\n return this.results.length;\n }\n\n get isValid(): boolean {\n return this.results.length === 0;\n }\n\n add = (...rs: (Text | Result)[]): Results => toResults(...this.results, ...parse(...rs));\n}\n\nexport const toResults = (...r: (Text | Result)[]): Results => new Results(...r);\n\nexport const isResults = (r?: unknown): r is Results => isDefined(r) && r instanceof Results;\n"],"mappings":";;;;;;;;;;;;AAMA,IAAM,QAAQ,IAAI,OAAoC,QAAQ,GAAG,EAAE,EAAE,IAAI,OAAM,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,CAAE;AAEtG,IAAM,UAAN,MAAqC;AAAA,EAC1B;AAAA,EAEhB,eAAe,IAAuB;AACpC,SAAK,UAAU,MAAM,GAAG,EAAE;AAAA,EAC5B;AAAA,EAEA,IAAI,SAAiB;AACnB,WAAO,KAAK,QAAQ;AAAA,EACtB;AAAA,EAEA,IAAI,UAAmB;AACrB,WAAO,KAAK,QAAQ,WAAW;AAAA,EACjC;AAAA,EAEA,MAAM,IAAI,OAAmC,UAAU,GAAG,KAAK,SAAS,GAAG,MAAM,GAAG,EAAE,CAAC;AACzF;AAEO,IAAM,YAAY,IAAI,MAAkC,IAAI,QAAQ,GAAG,CAAC;AAExE,IAAM,YAAY,CAAC,MAA8B,UAAU,CAAC,KAAK,aAAa;","names":[]}
@@ -1,165 +0,0 @@
1
- import {
2
- entries
3
- } from "./chunk-ZKLQJX4N.mjs";
4
- import {
5
- toList
6
- } from "./chunk-HOVTNDHS.mjs";
7
- import {
8
- asString,
9
- capitalize,
10
- replaceAll
11
- } from "./chunk-BDA5LB4S.mjs";
12
- import {
13
- ofGet
14
- } from "./chunk-SJGQU3OG.mjs";
15
- import {
16
- toName
17
- } from "./chunk-ZPNFXK7Y.mjs";
18
- import {
19
- isEmpty,
20
- isNotEmpty
21
- } from "./chunk-DEJ7A5PY.mjs";
22
-
23
- // src/types/ToText.ts
24
- var ToText = class {
25
- constructor(subject) {
26
- this.subject = subject;
27
- }
28
- get cap() {
29
- return this.map((s) => capitalize(s?.toLowerCase()));
30
- }
31
- get capFirst() {
32
- return this.map((s) => capitalize(s));
33
- }
34
- get title() {
35
- return this.map(
36
- (s) => s.split(" ").map((w) => text(w).cap).join(" ")
37
- );
38
- }
39
- get pascal() {
40
- return this.title.replace(" ", "");
41
- }
42
- get lower() {
43
- return this.map((s) => s.toLowerCase());
44
- }
45
- get upper() {
46
- return this.map((s) => s.toUpperCase());
47
- }
48
- get camel() {
49
- return this.title.trim.map((s) => `${s.charAt(0).toLowerCase()}${s.slice(1)}`);
50
- }
51
- get kebab() {
52
- return this.lower.replace(" ", "-");
53
- }
54
- get strictKebab() {
55
- return this.map((s) => s.replace(/[^a-z\d]+/gi, " ").trim()).kebab;
56
- }
57
- get slug() {
58
- return this.map(
59
- (s) => s.replace(/ß/g, "ss").normalize("NFKD").replace(/[\u0300-\u036F]/g, "").toLowerCase().replace(/[^a-z\d]+/g, "-").replace(/(^-)|(-$)/g, "")
60
- );
61
- }
62
- get snake() {
63
- return this.upper.replace(" ", "_");
64
- }
65
- get plural() {
66
- return this.ifLike("") ?? this.add("s");
67
- }
68
- get space() {
69
- return this.map((s) => s.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/[_-]/g, " "));
70
- }
71
- get sentence() {
72
- return this.isEmpty ? this : this.map((s) => `${s.charAt(0).toUpperCase()}${s.slice(1)}.`);
73
- }
74
- get initials() {
75
- return this.map(
76
- (s) => s.split(" ").map((w) => w[0]).join("")
77
- );
78
- }
79
- get trim() {
80
- return this.map((s) => s.replace(/[- ,_#]/g, ""));
81
- }
82
- get trimSentence() {
83
- return this.map(
84
- (s) => s.replace(/[\u200B-\u200D\uFEFF]/g, "").replace(/[\s\u00A0]+/g, " ").replace(/\s+([.,;:!?])/g, "$1").trim()
85
- );
86
- }
87
- get isEmpty() {
88
- return isEmpty(this.toString());
89
- }
90
- parse = (subject, options = {}) => text(template(this.subject, subject, { type: toName(subject), ...options }));
91
- is = (...others) => others.some((o) => this.toString() === text(o).toString());
92
- equals = this.is;
93
- like = (...others) => others.some((o) => this.trim.lower.toString().includes(text(o).trim.lower.toString()));
94
- isLike = (...others) => others.some((o) => this.trim.lower.is(text(o).trim.lower));
95
- ifLike = (...others) => this.isLike(...others) ? this : void 0;
96
- endsWith = (end) => this.subject.endsWith(asString(end));
97
- startsWith = (end) => this.subject.startsWith(asString(end));
98
- first = (n) => this.map((s) => s.substring(0, n));
99
- last = (n) => this.map((s) => s.substring(s.length - n));
100
- map = (func) => text(ofGet(func, this.subject));
101
- replace = (search, replace) => this.map((s) => replaceAll(s, search, replace));
102
- add = (add, separator = "") => this.map((s) => isNotEmpty(add) ? `${s}${separator}${text(add)}` : s);
103
- with = (separator, ...other) => this.map(
104
- (s) => toList(s).add(...other.map((u) => text(u).toString())).filter((s2) => isNotEmpty(s2)).join(separator)
105
- );
106
- split = (separator = " ") => toList(this.subject.split(separator));
107
- toString() {
108
- return this.subject;
109
- }
110
- toJSON() {
111
- return this.subject;
112
- }
113
- };
114
- function text(subject, alt = "") {
115
- const sub = subject ? asString(subject) : alt;
116
- return new ToText(sub !== "[object Object]" ? sub : "");
117
- }
118
- function textValue(subject, prop) {
119
- const p = prop.split(".");
120
- const root = subject?.[p[0]];
121
- const initial = typeof root === "object" && root !== null ? root : text(root);
122
- return p.splice(1).reduce((t, s) => t?.[s], initial)?.toString() ?? "";
123
- }
124
-
125
- // src/types/Template.ts
126
- var Template = class {
127
- constructor(template2, subject = {}, options = {}) {
128
- this.template = template2;
129
- this.subject = subject;
130
- this.options = options;
131
- }
132
- toString = () => {
133
- return entries(this.options).reduce((t, [k]) => this.option(t, k), this.object()).replace(" ", " ");
134
- };
135
- props = (tmpl, key, result = toList()) => {
136
- const i1 = tmpl.indexOf(`{${key}`);
137
- if (i1 < 0) {
138
- return result;
139
- }
140
- const i2 = tmpl.indexOf("}", i1);
141
- return this.props(tmpl.slice(i2 + 1), key, result.add(tmpl.substring(i1 + 1, i2)));
142
- };
143
- object = () => {
144
- return this.props(this.template, "this").reduce((t, p) => t.replace(`{${p}}`, textValue(this.subject, p.replace("this.", ""))), this.template);
145
- };
146
- option = (tmpl, prop) => {
147
- return this.props(tmpl, prop).reduce((t, p) => t.replace(`{${p}}`, textValue(this.options, p)), tmpl);
148
- };
149
- };
150
- function template(tmpl, subject, options = {}) {
151
- return new Template(asString(tmpl), subject, {
152
- type: toName(subject),
153
- subject: text(JSON.stringify(subject)),
154
- ...options
155
- });
156
- }
157
-
158
- export {
159
- Template,
160
- template,
161
- ToText,
162
- text,
163
- textValue
164
- };
165
- //# sourceMappingURL=chunk-SOUOSMQ6.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/ToText.ts","../src/types/Template.ts"],"sourcesContent":["import { asString, capitalize, replaceAll, Text } from './Text';\nimport { toName } from './Constructor';\nimport { Optional } from './Types';\nimport { Get, ofGet } from './Get';\nimport { isEmpty, isNotEmpty } from './Is';\nimport { List, toList } from './List';\nimport { JsonValue } from './Json';\nimport { template } from './Template';\n\nexport class ToText implements Text {\n constructor(readonly subject: string) {}\n\n get cap(): ToText {\n return this.map(s => capitalize(s?.toLowerCase()));\n }\n\n get capFirst(): ToText {\n return this.map(s => capitalize(s));\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 trimSentence(): ToText {\n return this.map(s =>\n s\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '')\n .replace(/[\\s\\u00A0]+/g, ' ')\n .replace(/\\s+([.,;:!?])/g, '$1')\n .trim()\n );\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 like = (...others: unknown[]): boolean => others.some(o => this.trim.lower.toString().includes(text(o).trim.lower.toString()));\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 split = (separator: string = ' '): List<string> => toList(this.subject.split(separator));\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 (\n p\n .splice(1)\n .reduce((t, s) => t?.[s], initial)\n ?.toString() ?? ''\n );\n}\n","import { List, toList } from './List';\nimport { asString, Text } from './Text';\nimport { toName } from './Constructor';\nimport { entries } from './Object';\nimport { text, textValue } from './ToText';\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"],"mappings":"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","names":["s","template"]}
@@ -1,40 +0,0 @@
1
- import {
2
- text
3
- } from "./chunk-SOUOSMQ6.mjs";
4
- import {
5
- Enum
6
- } from "./chunk-AG3P2RCU.mjs";
7
- import {
8
- asString
9
- } from "./chunk-BDA5LB4S.mjs";
10
- import {
11
- isDefined
12
- } from "./chunk-DEJ7A5PY.mjs";
13
-
14
- // src/types/Exception.ts
15
- var Exception = class _Exception extends Enum {
16
- constructor(message, id, reason) {
17
- super(message, id ?? text(message).pascal.toString());
18
- this.message = message;
19
- this.reason = reason;
20
- }
21
- static AlreadyExists = new _Exception("Subject already exists");
22
- static DoesNotExist = new _Exception("Does not exist");
23
- static IsMissingId = new _Exception("Subject is missing an id");
24
- static IsNotImplemented = new _Exception("Is not implemented");
25
- static IsNotValid = new _Exception("Is not valid");
26
- static Unknown = new _Exception("Unknown error");
27
- static CouldNotExecute = (target) => new _Exception(`Could not execute ${target}.`, "CouldNotExecute");
28
- static CouldNotValidate = (target) => new _Exception(`Could not validate ${target}.`, "CouldNotValidate");
29
- static EnvironmentVariableNotFound = (variable) => new _Exception(`Environment variable ${text(variable).upper} could not be found.`, "EnvironmentVariableNotFound");
30
- because = (reason) => new _Exception(this.message, this.id, reason);
31
- };
32
- var isException = (e, t) => e instanceof Exception && (isDefined(t) ? e.equals(asString(t)) : true);
33
- var isDoesNotExist = (e) => e instanceof Exception && Exception.DoesNotExist.equals(e);
34
-
35
- export {
36
- Exception,
37
- isException,
38
- isDoesNotExist
39
- };
40
- //# sourceMappingURL=chunk-VTEGCABM.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types/Exception.ts"],"sourcesContent":["import { asString, Text } from './Text';\nimport { Enum } from './Enum';\nimport { isDefined } from './Is';\nimport { Id } from './Id';\n\nimport { text } from './ToText';\n\nexport class Exception extends Enum {\n static readonly AlreadyExists = new Exception('Subject already exists');\n static readonly DoesNotExist = new Exception('Does not exist');\n static readonly IsMissingId = new Exception('Subject is missing an id');\n static readonly IsNotImplemented = new Exception('Is not implemented');\n static readonly IsNotValid = new Exception('Is not valid');\n static readonly Unknown = new Exception('Unknown error');\n\n constructor(\n readonly message: string,\n id?: Id,\n readonly reason?: Text\n ) {\n super(message, id ?? text(message).pascal.toString());\n }\n\n static readonly CouldNotExecute = (target: Text): Exception => new Exception(`Could not execute ${target}.`, 'CouldNotExecute');\n\n static readonly CouldNotValidate = (target: Text): Exception => new Exception(`Could not validate ${target}.`, 'CouldNotValidate');\n\n static readonly EnvironmentVariableNotFound = (variable: Text): Exception =>\n new Exception(`Environment variable ${text(variable).upper} could not be found.`, 'EnvironmentVariableNotFound');\n\n because = (reason: Text): Exception => new Exception(this.message, this.id, reason);\n}\n\nexport const isException = (e?: unknown, t?: Text): e is Exception => e instanceof Exception && (isDefined(t) ? e.equals(asString(t)) : true);\nexport const isDoesNotExist = (e?: unknown): e is Exception => e instanceof Exception && Exception.DoesNotExist.equals(e);\n"],"mappings":";;;;;;;;;;;;;;AAOO,IAAM,YAAN,MAAM,mBAAkB,KAAK;AAAA,EAQlC,YACW,SACT,IACS,QACT;AACA,UAAM,SAAS,MAAM,KAAK,OAAO,EAAE,OAAO,SAAS,CAAC;AAJ3C;AAEA;AAAA,EAGX;AAAA,EAbA,OAAgB,gBAAgB,IAAI,WAAU,wBAAwB;AAAA,EACtE,OAAgB,eAAe,IAAI,WAAU,gBAAgB;AAAA,EAC7D,OAAgB,cAAc,IAAI,WAAU,0BAA0B;AAAA,EACtE,OAAgB,mBAAmB,IAAI,WAAU,oBAAoB;AAAA,EACrE,OAAgB,aAAa,IAAI,WAAU,cAAc;AAAA,EACzD,OAAgB,UAAU,IAAI,WAAU,eAAe;AAAA,EAUvD,OAAgB,kBAAkB,CAAC,WAA4B,IAAI,WAAU,qBAAqB,MAAM,KAAK,iBAAiB;AAAA,EAE9H,OAAgB,mBAAmB,CAAC,WAA4B,IAAI,WAAU,sBAAsB,MAAM,KAAK,kBAAkB;AAAA,EAEjI,OAAgB,8BAA8B,CAAC,aAC7C,IAAI,WAAU,wBAAwB,KAAK,QAAQ,EAAE,KAAK,wBAAwB,6BAA6B;AAAA,EAEjH,UAAU,CAAC,WAA4B,IAAI,WAAU,KAAK,SAAS,KAAK,IAAI,MAAM;AACpF;AAEO,IAAM,cAAc,CAAC,GAAa,MAA6B,aAAa,cAAc,UAAU,CAAC,IAAI,EAAE,OAAO,SAAS,CAAC,CAAC,IAAI;AACjI,IAAM,iBAAiB,CAAC,MAAgC,aAAa,aAAa,UAAU,aAAa,OAAO,CAAC;","names":[]}