@thisisagile/easy 17.20.0 → 17.20.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 (81) hide show
  1. package/dist/{chunk-RTTVCEWR.mjs → chunk-6TYRLB3J.mjs} +2 -2
  2. package/dist/{chunk-XH47BBYI.mjs → chunk-CTT5SSW3.mjs} +5 -5
  3. package/dist/{chunk-BQ2N2Y7O.mjs → chunk-EGAAKXA6.mjs} +3 -3
  4. package/dist/{chunk-5RL5STCD.mjs → chunk-HSYWHVT7.mjs} +2 -2
  5. package/dist/{chunk-TRIKRGDF.mjs → chunk-K24YHQ7U.mjs} +37 -31
  6. package/dist/chunk-K24YHQ7U.mjs.map +1 -0
  7. package/dist/{chunk-M456CJK4.mjs → chunk-MUSLGT5M.mjs} +2 -2
  8. package/dist/{chunk-3B4UXDOZ.mjs → chunk-N4FD5JGA.mjs} +2 -2
  9. package/dist/{chunk-PVWD7L7K.mjs → chunk-NFJSPW4Y.mjs} +2 -2
  10. package/dist/{chunk-VZYOBAK7.mjs → chunk-O77POE7P.mjs} +3 -3
  11. package/dist/{chunk-S5I6XCJK.mjs → chunk-OFIISFKK.mjs} +3 -3
  12. package/dist/{chunk-AYPE2G3T.mjs → chunk-OHS6WING.mjs} +2 -2
  13. package/dist/{chunk-FI3X2XXY.mjs → chunk-PMOPLLF5.mjs} +4 -4
  14. package/dist/{chunk-DXXBPAXT.mjs → chunk-QUSOY27E.mjs} +2 -2
  15. package/dist/{chunk-K7NZINEX.mjs → chunk-SU34QIFX.mjs} +2 -2
  16. package/dist/{chunk-Q5LRJWPK.mjs → chunk-V6UGBTR3.mjs} +2 -2
  17. package/dist/{chunk-3MDXTFJG.mjs → chunk-VP7W24JN.mjs} +3 -3
  18. package/dist/{chunk-4U4PPZWS.mjs → chunk-XEBYVLOL.mjs} +2 -2
  19. package/dist/{chunk-LXJTNB3X.mjs → chunk-YNDCPRJ3.mjs} +5 -5
  20. package/dist/data/InMemoryGateway.mjs +2 -2
  21. package/dist/domain/Audit.mjs +5 -5
  22. package/dist/domain/Child.mjs +3 -3
  23. package/dist/domain/DateTime.mjs +2 -2
  24. package/dist/domain/Entity.mjs +5 -5
  25. package/dist/domain/Repo.mjs +1 -1
  26. package/dist/domain/Struct.mjs +2 -2
  27. package/dist/domain/Typo.mjs +1 -1
  28. package/dist/http/CacheControl.mjs +3 -3
  29. package/dist/http/RestResult.mjs +2 -2
  30. package/dist/http/toResponse.mjs +3 -3
  31. package/dist/index.d.ts +0 -1
  32. package/dist/index.js +36 -30
  33. package/dist/index.js.map +1 -1
  34. package/dist/index.mjs +0 -4
  35. package/dist/index.mjs.map +1 -1
  36. package/dist/process/Manage.mjs +3 -3
  37. package/dist/process/Search.mjs +3 -3
  38. package/dist/resources/Req.mjs +2 -2
  39. package/dist/services/Api.mjs +7 -7
  40. package/dist/services/ApiGateway.mjs +9 -9
  41. package/dist/services/AxiosProvider.mjs +6 -6
  42. package/dist/services/MappedRouteGateway.mjs +10 -10
  43. package/dist/services/RouteGateway.mjs +10 -10
  44. package/dist/services/ViewRouteGateway.mjs +12 -12
  45. package/dist/sql/Column.mjs +2 -2
  46. package/dist/sql/Table.mjs +2 -2
  47. package/dist/sql/TableGateway.mjs +2 -2
  48. package/dist/types/CacheAge.mjs +3 -3
  49. package/dist/types/Case.d.ts +16 -8
  50. package/dist/types/Case.mjs +1 -1
  51. package/dist/types/IsEqual.mjs +2 -2
  52. package/dist/types/Number.mjs +2 -2
  53. package/dist/types/PageList.mjs +2 -2
  54. package/dist/types/Parser.mjs +1 -1
  55. package/dist/types/Try.mjs +1 -1
  56. package/dist/types/Uri.mjs +1 -1
  57. package/dist/utils/View.mjs +4 -4
  58. package/dist/validation/Contraints.mjs +2 -2
  59. package/dist/validation/Validate.mjs +1 -1
  60. package/dist/validation/When.mjs +1 -1
  61. package/package.json +1 -1
  62. package/src/index.ts +0 -1
  63. package/src/types/Case.ts +38 -35
  64. package/dist/chunk-TRIKRGDF.mjs.map +0 -1
  65. /package/dist/{chunk-RTTVCEWR.mjs.map → chunk-6TYRLB3J.mjs.map} +0 -0
  66. /package/dist/{chunk-XH47BBYI.mjs.map → chunk-CTT5SSW3.mjs.map} +0 -0
  67. /package/dist/{chunk-BQ2N2Y7O.mjs.map → chunk-EGAAKXA6.mjs.map} +0 -0
  68. /package/dist/{chunk-5RL5STCD.mjs.map → chunk-HSYWHVT7.mjs.map} +0 -0
  69. /package/dist/{chunk-M456CJK4.mjs.map → chunk-MUSLGT5M.mjs.map} +0 -0
  70. /package/dist/{chunk-3B4UXDOZ.mjs.map → chunk-N4FD5JGA.mjs.map} +0 -0
  71. /package/dist/{chunk-PVWD7L7K.mjs.map → chunk-NFJSPW4Y.mjs.map} +0 -0
  72. /package/dist/{chunk-VZYOBAK7.mjs.map → chunk-O77POE7P.mjs.map} +0 -0
  73. /package/dist/{chunk-S5I6XCJK.mjs.map → chunk-OFIISFKK.mjs.map} +0 -0
  74. /package/dist/{chunk-AYPE2G3T.mjs.map → chunk-OHS6WING.mjs.map} +0 -0
  75. /package/dist/{chunk-FI3X2XXY.mjs.map → chunk-PMOPLLF5.mjs.map} +0 -0
  76. /package/dist/{chunk-DXXBPAXT.mjs.map → chunk-QUSOY27E.mjs.map} +0 -0
  77. /package/dist/{chunk-K7NZINEX.mjs.map → chunk-SU34QIFX.mjs.map} +0 -0
  78. /package/dist/{chunk-Q5LRJWPK.mjs.map → chunk-V6UGBTR3.mjs.map} +0 -0
  79. /package/dist/{chunk-3MDXTFJG.mjs.map → chunk-VP7W24JN.mjs.map} +0 -0
  80. /package/dist/{chunk-4U4PPZWS.mjs.map → chunk-XEBYVLOL.mjs.map} +0 -0
  81. /package/dist/{chunk-LXJTNB3X.mjs.map → chunk-YNDCPRJ3.mjs.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AxiosProvider
3
- } from "./chunk-XH47BBYI.mjs";
3
+ } from "./chunk-CTT5SSW3.mjs";
4
4
  import {
5
5
  HttpVerb
6
6
  } from "./chunk-KFSHBLFI.mjs";
@@ -76,4 +76,4 @@ export {
76
76
  Api,
77
77
  api
78
78
  };
79
- //# sourceMappingURL=chunk-RTTVCEWR.mjs.map
79
+ //# sourceMappingURL=chunk-6TYRLB3J.mjs.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  toResponse
3
- } from "./chunk-3B4UXDOZ.mjs";
3
+ } from "./chunk-N4FD5JGA.mjs";
4
4
  import {
5
5
  isRestResult
6
- } from "./chunk-M456CJK4.mjs";
6
+ } from "./chunk-MUSLGT5M.mjs";
7
7
  import {
8
8
  HttpStatus
9
9
  } from "./chunk-H27UMLDT.mjs";
@@ -12,10 +12,10 @@ import {
12
12
  } from "./chunk-DKTEKZ4O.mjs";
13
13
  import {
14
14
  cacheAge
15
- } from "./chunk-BQ2N2Y7O.mjs";
15
+ } from "./chunk-EGAAKXA6.mjs";
16
16
  import {
17
17
  choose
18
- } from "./chunk-TRIKRGDF.mjs";
18
+ } from "./chunk-K24YHQ7U.mjs";
19
19
  import {
20
20
  toResult
21
21
  } from "./chunk-BGSOJQAU.mjs";
@@ -53,4 +53,4 @@ var AxiosProvider = class {
53
53
  export {
54
54
  AxiosProvider
55
55
  };
56
- //# sourceMappingURL=chunk-XH47BBYI.mjs.map
56
+ //# sourceMappingURL=chunk-CTT5SSW3.mjs.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  asNumber
3
- } from "./chunk-AYPE2G3T.mjs";
3
+ } from "./chunk-OHS6WING.mjs";
4
4
  import {
5
5
  choose
6
- } from "./chunk-TRIKRGDF.mjs";
6
+ } from "./chunk-K24YHQ7U.mjs";
7
7
  import {
8
8
  asString
9
9
  } from "./chunk-BDA5LB4S.mjs";
@@ -54,4 +54,4 @@ export {
54
54
  cacheAge,
55
55
  isCacheAge
56
56
  };
57
- //# sourceMappingURL=chunk-BQ2N2Y7O.mjs.map
57
+ //# sourceMappingURL=chunk-EGAAKXA6.mjs.map
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  choose,
9
9
  tryTo
10
- } from "./chunk-TRIKRGDF.mjs";
10
+ } from "./chunk-K24YHQ7U.mjs";
11
11
  import {
12
12
  Value
13
13
  } from "./chunk-WSBULPUZ.mjs";
@@ -139,4 +139,4 @@ export {
139
139
  isDateTime,
140
140
  dt
141
141
  };
142
- //# sourceMappingURL=chunk-5RL5STCD.mjs.map
142
+ //# sourceMappingURL=chunk-HSYWHVT7.mjs.map
@@ -162,52 +162,56 @@ var CaseBuilder = class {
162
162
  constructor(v) {
163
163
  this.v = v;
164
164
  }
165
- case(pred, out) {
166
- return new Case(this.v).case(pred, out);
167
- }
168
- type(guard, out) {
169
- return new Case(this.v).type(guard, out);
170
- }
171
- equals(value, out) {
172
- return new Case(this.v).equals(value, out);
173
- }
174
165
  is = {
175
166
  defined: (prop, out) => new Case(this.v).case(isDefined(prop(this.v)), out),
176
167
  empty: (prop, out) => new Case(this.v).case(isEmpty(prop(this.v)), out),
177
168
  valid: (prop, out) => new Case(this.v).case(validate(prop(this.v)).isValid, out),
169
+ in: (prop, out) => new Case(this.v).case(ofGet(prop, this.v).includes(this.v), out),
178
170
  not: {
179
171
  defined: (prop, out) => new Case(this.v).case(!isDefined(prop(this.v)), out),
180
172
  empty: (prop, out) => new Case(this.v).case(!isEmpty(prop(this.v)), out),
181
- valid: (prop, out) => new Case(this.v).case(!validate(prop(this.v)).isValid, out)
173
+ valid: (prop, out) => new Case(this.v).case(!validate(prop(this.v)).isValid, out),
174
+ in: (prop, out) => new Case(this.v).case(!ofGet(prop, this.v).includes(this.v), out)
182
175
  }
183
176
  };
184
177
  if = this.is;
185
- };
186
- var Case = class _Case {
187
- constructor(value, outcome) {
188
- this.value = value;
189
- this.outcome = outcome;
190
- }
191
178
  case(pred, out) {
192
- return tryTo(pred, this.value).is.true().map(() => ofGet(out, this.value)).map((res) => new Found(this.value, res)).or(this);
179
+ return new Case(this.v).case(pred, out);
193
180
  }
194
181
  type(guard, out) {
195
- return tryTo(guard, this.value).is.true().map(() => out(this.value)).map((res) => new Found(this.value, res)).or(this);
182
+ return new Case(this.v).type(guard, out);
196
183
  }
197
184
  equals(value, out) {
198
- return this.case(this.value === value, out);
185
+ return new Case(this.v).equals(value, out);
186
+ }
187
+ };
188
+ var Case = class _Case {
189
+ constructor(value, outcome) {
190
+ this.value = value;
191
+ this.outcome = outcome;
199
192
  }
200
193
  is = {
201
194
  defined: (prop, out) => new _Case(this.value).case(isDefined(prop(this.value)), out),
202
195
  empty: (prop, out) => new _Case(this.value).case(isEmpty(prop(this.value)), out),
203
196
  valid: (prop, out) => new _Case(this.value).case(validate(prop(this.value)).isValid, out),
197
+ in: (prop, out) => new _Case(this.value).case(ofGet(prop, this.value).includes(this.value), out),
204
198
  not: {
205
199
  defined: (prop, out) => new _Case(this.value).case(!isDefined(prop(this.value)), out),
206
200
  empty: (prop, out) => new _Case(this.value).case(!isEmpty(prop(this.value)), out),
207
- valid: (prop, out) => new _Case(this.value).case(!validate(prop(this.value)).isValid, out)
201
+ valid: (prop, out) => new _Case(this.value).case(!validate(prop(this.value)).isValid, out),
202
+ in: (prop, out) => new _Case(this.value).case(!ofGet(prop, this.value).includes(this.value), out)
208
203
  }
209
204
  };
210
205
  if = this.is;
206
+ case(pred, out) {
207
+ return tryTo(pred, this.value).is.true().map(() => ofGet(out, this.value)).map((res) => new Found(this.value, res)).or(this);
208
+ }
209
+ type(guard, out) {
210
+ return tryTo(guard, this.value).is.true().map(() => out(this.value)).map((res) => new Found(this.value, res)).or(this);
211
+ }
212
+ equals(value, out) {
213
+ return this.case(this.value === value, out);
214
+ }
211
215
  else(alt) {
212
216
  return ofGet(alt, this.value);
213
217
  }
@@ -218,26 +222,28 @@ var Found = class extends Case {
218
222
  this.value = value;
219
223
  this.outcome = outcome;
220
224
  }
221
- case(pred, out) {
222
- return this;
223
- }
224
- type(guard, out) {
225
- return this;
226
- }
227
- equals(value, out) {
228
- return this;
229
- }
230
225
  is = {
231
226
  defined: (_prop, _out) => this,
232
227
  empty: (_prop, _out) => this,
233
228
  valid: (_prop, _out) => this,
229
+ in: (_prop, _out) => this,
234
230
  not: {
235
231
  defined: (_prop, _out) => this,
236
232
  empty: (_prop, _out) => this,
237
- valid: (_prop, _out) => this
233
+ valid: (_prop, _out) => this,
234
+ in: (_prop, _out) => this
238
235
  }
239
236
  };
240
237
  if = this.is;
238
+ case(pred, out) {
239
+ return this;
240
+ }
241
+ type(guard, out) {
242
+ return this;
243
+ }
244
+ equals(value, out) {
245
+ return this;
246
+ }
241
247
  else(alt) {
242
248
  return this.outcome;
243
249
  }
@@ -312,4 +318,4 @@ export {
312
318
  tryTo,
313
319
  choose
314
320
  };
315
- //# sourceMappingURL=chunk-TRIKRGDF.mjs.map
321
+ //# sourceMappingURL=chunk-K24YHQ7U.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types/Try.ts","../src/types/Case.ts","../src/validation/Validate.ts","../src/validation/When.ts"],"sourcesContent":["import { isDefined, isEmpty, isTrue } from './Is';\nimport { validate } from '../validation/Validate';\nimport { Construct, Constructor, ofConstruct } from './Constructor';\nimport { Validatable } from './Validatable';\nimport { Get, ofGet } from './Get';\nimport { Func } from './Func';\nimport { Optional } from './Types';\n\nexport abstract class Try<T = unknown> implements Validatable {\n is = {\n defined: (prop?: Func<unknown, T>): Try<T> => this.filter(v => isDefined(prop ? prop(v) : v)),\n empty: (prop?: Func<unknown, T>): Try<T> => this.filter(v => isEmpty(prop ? prop(v) : v)),\n valid: (prop?: Func<unknown, T>): Try<T> => this.filter(v => validate(prop ? prop(v) : v).isValid),\n true: (prop?: Func<unknown, T>): Try<T> => this.filter(v => isTrue(prop ? prop(v) : v)),\n false: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !isTrue(prop ? prop(v) : v)),\n not: {\n defined: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !isDefined(prop ? prop(v) : v)),\n empty: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !isEmpty(prop ? prop(v) : v)),\n valid: (prop?: Func<unknown, T>): Try<T> => this.filter(v => !validate(prop ? prop(v) : v).isValid),\n },\n };\n\n if = this.is;\n\n abstract get value(): T;\n\n abstract get error(): Error;\n\n abstract get isValid(): boolean;\n\n static of = <T>(c: Get<T | Try<T>>, ...args: unknown[]): Try<T> => {\n try {\n const out = ofGet(c, ...args);\n return new Success(out instanceof Try ? out.value : out);\n } catch (e) {\n return new Failure(e as Error);\n }\n };\n\n abstract map<U>(f: Func<U | Try<U>, T>): Try<U>;\n\n abstract recover(f: Func<T | Try<T>, Error>): Try<T>;\n\n abstract recoverFrom(type: Constructor<Error>, f: Func<T | Try<T>, Error>): Try<T>;\n\n abstract accept(f: Func<void, T>): Try<T>;\n\n abstract filter(predicate: Func<boolean, T>): Try<T>;\n\n abstract or(value: Get<T>): T;\n\n abstract orElse(value?: Get<T>): Optional<T>;\n\n abstract orThrow(error: Construct<Error>): T;\n}\n\nclass Success<T> extends Try<T> {\n constructor(readonly value: T) {\n super();\n }\n\n get error(): Error {\n throw new Error('No error found');\n }\n\n get isValid(): boolean {\n return true;\n }\n\n map<U>(f: Func<U | Try<U>, T>): Try<U> {\n return tryTo<U>(f, this.value);\n }\n\n recover(f: Func<T | Try<T>, Error>): Try<T> {\n return this;\n }\n\n recoverFrom(type: Constructor<Error>, f: Func<T | Try<T>, Error>): Try<T> {\n return this;\n }\n\n accept(f: Func<void, T>): Try<T> {\n return tryTo(() => {\n f(this.value);\n return this;\n });\n }\n\n filter(predicate: Func<boolean, T>): Try<T> {\n return tryTo(() => {\n if (predicate(this.value)) return this;\n throw new Error(`Applying filter(${predicate.toString()}) failed.`);\n });\n }\n\n or(value: Get<T>): T {\n return this.value;\n }\n\n orElse(value?: Get<T>): Optional<T> {\n return this.value;\n }\n\n orThrow(_error: Construct<Error>): T {\n return this.value;\n }\n}\n\nclass Failure<T> extends Try<T> {\n constructor(readonly error: Error) {\n super();\n }\n\n get value(): T {\n throw this.error;\n }\n\n get isValid(): boolean {\n return false;\n }\n\n map<U>(f: Func<U | Try<U>, T>): Try<U> {\n return new Failure<U>(this.error);\n }\n\n recover<U>(f: Func<U | Try<U>, Error>): Try<U> {\n return tryTo<U>(f, this.error);\n }\n\n recoverFrom<U>(type: Constructor<Error>, f: Func<T | Try<T>, Error>): Try<T> {\n return tryTo(() => (this.error instanceof type ? this.recover(f) : this));\n }\n\n accept(f: Func<void, T>): Try<T> {\n return this;\n }\n\n filter(predicate: Func<boolean, T>): Try<T> {\n return this;\n }\n\n or(value: Get<T>): T {\n return ofGet(value);\n }\n\n orElse(value?: Get<T>): Optional<T> {\n return ofGet(value);\n }\n\n orThrow(error: Construct<Error>): T {\n throw ofConstruct(error);\n }\n}\n\nexport const tryTo = <T>(c: Get<T | Try<T>>, ...args: unknown[]) => Try.of<T>(c, ...args);\n","import { Get, ofGet, Predicate } from './Get';\nimport { TypeGuard } from './TypeGuard';\nimport { Func } from './Func';\nimport { isDefined, isEmpty } from './Is';\nimport { validate } from '../validation/Validate';\nimport { tryTo } from './Try';\n\nclass CaseBuilder<V> {\n is = {\n defined: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(isDefined(prop(this.v)), out),\n empty: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(isEmpty(prop(this.v)), out),\n valid: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(validate(prop(this.v)).isValid, out),\n in: <T>(prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(ofGet(prop, this.v).includes(this.v), out),\n not: {\n defined: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!isDefined(prop(this.v)), out),\n empty: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!isEmpty(prop(this.v)), out),\n valid: <T>(prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!validate(prop(this.v)).isValid, out),\n in: <T>(prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.v).case(!ofGet(prop, this.v).includes(this.v), out),\n },\n };\n if = this.is;\n\n constructor(readonly v: V) {}\n\n case<T>(pred: Predicate<V>, out: Get<T, V>): Case<T, V> {\n return new Case<T, V>(this.v).case(pred, out);\n }\n\n type<T, U = unknown>(guard: TypeGuard<U>, out: Func<T, U>): Case<T, V> {\n return new Case<T, V>(this.v).type<U>(guard, out);\n }\n\n equals<T>(value: V, out: Get<T, V>): Case<T, V> {\n return new Case<T, V>(this.v).equals(value, out);\n }\n}\n\nclass Case<T, V = unknown> {\n is = {\n defined: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(isDefined(prop(this.value)), out),\n empty: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(isEmpty(prop(this.value)), out),\n valid: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(validate(prop(this.value)).isValid, out),\n in: (prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(ofGet(prop, this.value).includes(this.value), out),\n not: {\n defined: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!isDefined(prop(this.value)), out),\n empty: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!isEmpty(prop(this.value)), out),\n valid: (prop: Func<unknown, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!validate(prop(this.value)).isValid, out),\n in: (prop: Get<Array<V>, V>, out: Get<T, V>): Case<T, V> => new Case<T, V>(this.value).case(!ofGet(prop, this.value).includes(this.value), out),\n },\n };\n if = this.is;\n\n constructor(\n protected value: V,\n protected outcome?: T\n ) {}\n\n case(pred: Predicate<V>, out: Get<T, V>): Case<T, V> {\n return tryTo(pred, this.value)\n .is.true()\n .map(() => ofGet(out, this.value))\n .map(res => new Found(this.value, res) as Case<T, V>)\n .or(this);\n }\n\n type<U>(guard: TypeGuard<U>, out: Func<T, U>): Case<T, V> {\n return tryTo(guard, this.value)\n .is.true()\n .map(() => out(this.value as unknown as U))\n .map(res => new Found(this.value, res) as Case<T, V>)\n .or(this);\n }\n\n equals(value: V, out: Get<T, V>): Case<T, V> {\n return this.case(this.value === value, out);\n }\n\n else(alt: Get<T, V>): T {\n return ofGet<T, V>(alt, this.value);\n }\n}\n\nclass Found<T, V> extends Case<T, V> {\n is = {\n defined: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n empty: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n valid: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n in: (_prop: Get<Array<V>, V>, _out: Get<T, V>): Case<T, V> => this,\n not: {\n defined: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n empty: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n valid: (_prop: Func<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n in: (_prop: Get<unknown, V>, _out: Get<T, V>): Case<T, V> => this,\n },\n };\n if = this.is;\n\n constructor(\n protected value: V,\n protected outcome: T\n ) {\n super(value, outcome);\n }\n\n case(pred: Predicate<V>, out: Get<T, V>): this {\n return this;\n }\n\n type<U>(guard: TypeGuard<U>, out: Func<T, U>): Case<T, V> {\n return this;\n }\n\n equals(value: V, out: Get<T, V>): Case<T, V> {\n return this;\n }\n\n else(alt: Get<T, V>): T {\n return this.outcome;\n }\n}\n\nexport const choose = <V>(value: V) => new CaseBuilder<V>(value);\n","import { Constraint } from './Contraints';\nimport { when } from './When';\nimport { text } from '../types/Template';\nimport type { TemplateOptions } from '../types/Template';\nimport { isResults, Results, toResults } from '../types/Results';\nimport { toName } from '../types/Constructor';\nimport { toResult } from '../types/Result';\nimport { List, toList } from '../types/List';\nimport { meta } from '../types/Meta';\nimport { isArray, isFunction } from '../types/Is';\nimport { asString } from '../types/Text';\nimport { choose } from '../types/Case';\nimport { isEnum } from '../types/Enum';\nimport { isValue } from '../types/Value';\nimport { isValidatable } from '../types/Validatable';\nimport type { Text } from '../types/Text';\n\nexport type Validator = { property: string | symbol; constraint: Constraint; text: Text; actual?: Text };\n\nexport const asResults = (subject: unknown, template: Text, options: TemplateOptions = {}): Results =>\n toResults(toResult(text(template).parse(subject, options), toName(subject)));\n\nconst validators = (subject: unknown): List<Validator> =>\n meta(subject)\n .keys<List<Validator>>('constraint')\n .reduce((list, vs) => list.add(vs), toList<Validator>());\n\nconst runValidator = (v: Validator, subject?: unknown): Results => {\n try {\n const actual = isFunction((subject as any)[v.property]) ? (subject as any)[v.property]() : (subject as any)[v.property];\n const constraint = v.constraint(actual);\n return isResults(constraint) ? constraint : !constraint ? asResults(subject, v.text, { ...v, actual }) : toResults();\n } catch (e) {\n return asResults(subject, asString(e));\n }\n};\n\nconst constraints = (subject?: unknown): Results =>\n validators(subject)\n .map(vs => runValidator(vs, subject))\n .reduce((rs, r) => rs.add(...r.results), toResults());\n\nexport const validate = (subject?: unknown): Results =>\n choose(subject)\n .is.not.defined(\n s => s,\n () => toResults('Subject is not defined.')\n )\n .type(isEnum, e => (e.isValid ? toResults() : asResults(e, 'This is not a valid {type}.')))\n .type(isValue, v => (v.isValid ? toResults() : asResults(v, 'This is not a valid {type}.')))\n .type(isArray, a => a.map(i => validate(i)).reduce((rs, r) => rs.add(...r.results), toResults()))\n .type(isValidatable, v => constraints(v))\n .else(toResults());\n\nexport const validateReject = <T>(subject: T): Promise<T> => when(subject).not.isValid.reject();\n\nexport const isValid = <T>(t: T): boolean => validate(t).isValid;\n","import { validate } from './Validate';\nimport { Results } from '../types/Results';\nimport { Constructor } from '../types/Constructor';\nimport { Get, ofGet, Predicate } from '../types/Get';\nimport { isDefined, isEmpty, isIn } from '../types/Is';\nimport { toArray } from '../types/Array';\nimport { ErrorOrigin } from '../types/ErrorOrigin';\nimport { reject, resolve } from '../utils/Promise';\nimport { Exception } from '../types/Exception';\n\nexport class When<W> {\n constructor(\n readonly subject: W,\n readonly valid = true,\n private results?: Results\n ) {}\n\n get not(): When<W> {\n return this.clone(!this.valid);\n }\n\n get and(): When<W> {\n return this.clone(this.valid);\n }\n\n get isDefined(): When<W> {\n return this.clone(this.valid === isDefined(this.subject));\n }\n\n get isEmpty(): When<W> {\n return this.clone(this.valid === isEmpty(this.subject));\n }\n\n get isTrue(): When<W> {\n return this.clone(this.valid === !!this.subject);\n }\n\n get isValid(): When<W> {\n this.results = validate(this.subject);\n return this.clone(this.valid === this.results.isValid);\n }\n\n isInstance = <U>(c: Constructor<U>): When<W> => this.clone(this.valid === this.subject instanceof c);\n\n with = (pred: Predicate<W>): When<W> => this.clone(this.valid === ofGet(pred, this.subject));\n\n contains = (property: (w: W) => unknown): When<W> => this.clone(this.valid === isDefined(ofGet(property, this.subject)));\n\n in = (...items: W[]): When<W> => this.clone(this.valid === isIn(this.subject, toArray(...items)));\n\n is = (item: W): When<W> => this.clone(this.valid === (this.subject === item));\n\n reject = (error?: Get<ErrorOrigin, W>): Promise<NonNullable<W>> =>\n !this.valid ? resolve(this.subject as NonNullable<W>) : reject(ofGet(error, this.subject) ?? this.results ?? Exception.Unknown);\n\n recover = (f: (item: W) => W | Promise<W>): Promise<W> => resolve(!this.valid ? this.subject : f(this.subject));\n\n protected clone = (result = true): When<W> => new When(this.subject, result, this.results);\n}\n\nexport const when = <T>(subject: T): When<T> => new When<T>(subject);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,IAAe,MAAf,MAAe,KAAwC;AAAA,EAC5D,KAAK;AAAA,IACH,SAAS,CAAC,SAAoC,KAAK,OAAO,OAAK,UAAU,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,IAC5F,OAAO,CAAC,SAAoC,KAAK,OAAO,OAAK,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,IACxF,OAAO,CAAC,SAAoC,KAAK,OAAO,OAAK,SAAS,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO;AAAA,IACjG,MAAM,CAAC,SAAoC,KAAK,OAAO,OAAK,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,IACtF,OAAO,CAAC,SAAoC,KAAK,OAAO,OAAK,CAAC,OAAO,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,IACxF,KAAK;AAAA,MACH,SAAS,CAAC,SAAoC,KAAK,OAAO,OAAK,CAAC,UAAU,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,MAC7F,OAAO,CAAC,SAAoC,KAAK,OAAO,OAAK,CAAC,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AAAA,MACzF,OAAO,CAAC,SAAoC,KAAK,OAAO,OAAK,CAAC,SAAS,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO;AAAA,IACpG;AAAA,EACF;AAAA,EAEA,KAAK,KAAK;AAAA,EAQV,OAAO,KAAK,CAAI,MAAuB,SAA4B;AACjE,QAAI;AACF,YAAM,MAAM,MAAM,GAAG,GAAG,IAAI;AAC5B,aAAO,IAAI,QAAQ,eAAe,OAAM,IAAI,QAAQ,GAAG;AAAA,IACzD,SAAS,GAAG;AACV,aAAO,IAAI,QAAQ,CAAU;AAAA,IAC/B;AAAA,EACF;AAiBF;AAEA,IAAM,UAAN,cAAyB,IAAO;AAAA,EAC9B,YAAqB,OAAU;AAC7B,UAAM;AADa;AAAA,EAErB;AAAA,EAEA,IAAI,QAAe;AACjB,UAAM,IAAI,MAAM,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,UAAmB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,IAAO,GAAgC;AACrC,WAAO,MAAS,GAAG,KAAK,KAAK;AAAA,EAC/B;AAAA,EAEA,QAAQ,GAAoC;AAC1C,WAAO;AAAA,EACT;AAAA,EAEA,YAAY,MAA0B,GAAoC;AACxE,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,GAA0B;AAC/B,WAAO,MAAM,MAAM;AACjB,QAAE,KAAK,KAAK;AACZ,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EAEA,OAAO,WAAqC;AAC1C,WAAO,MAAM,MAAM;AACjB,UAAI,UAAU,KAAK,KAAK;AAAG,eAAO;AAClC,YAAM,IAAI,MAAM,mBAAmB,UAAU,SAAS,CAAC,WAAW;AAAA,IACpE,CAAC;AAAA,EACH;AAAA,EAEA,GAAG,OAAkB;AACnB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,OAAO,OAA6B;AAClC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,QAAQ,QAA6B;AACnC,WAAO,KAAK;AAAA,EACd;AACF;AAEA,IAAM,UAAN,MAAM,iBAAmB,IAAO;AAAA,EAC9B,YAAqB,OAAc;AACjC,UAAM;AADa;AAAA,EAErB;AAAA,EAEA,IAAI,QAAW;AACb,UAAM,KAAK;AAAA,EACb;AAAA,EAEA,IAAI,UAAmB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,IAAO,GAAgC;AACrC,WAAO,IAAI,SAAW,KAAK,KAAK;AAAA,EAClC;AAAA,EAEA,QAAW,GAAoC;AAC7C,WAAO,MAAS,GAAG,KAAK,KAAK;AAAA,EAC/B;AAAA,EAEA,YAAe,MAA0B,GAAoC;AAC3E,WAAO,MAAM,MAAO,KAAK,iBAAiB,OAAO,KAAK,QAAQ,CAAC,IAAI,IAAK;AAAA,EAC1E;AAAA,EAEA,OAAO,GAA0B;AAC/B,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,WAAqC;AAC1C,WAAO;AAAA,EACT;AAAA,EAEA,GAAG,OAAkB;AACnB,WAAO,MAAM,KAAK;AAAA,EACpB;AAAA,EAEA,OAAO,OAA6B;AAClC,WAAO,MAAM,KAAK;AAAA,EACpB;AAAA,EAEA,QAAQ,OAA4B;AAClC,UAAM,YAAY,KAAK;AAAA,EACzB;AACF;AAEO,IAAM,QAAQ,CAAI,MAAuB,SAAoB,IAAI,GAAM,GAAG,GAAG,IAAI;;;ACnJxF,IAAM,cAAN,MAAqB;AAAA,EAenB,YAAqB,GAAM;AAAN;AAAA,EAAO;AAAA,EAd5B,KAAK;AAAA,IACH,SAAS,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,UAAU,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG;AAAA,IAC5H,OAAO,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG;AAAA,IACxH,OAAO,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG;AAAA,IACjI,IAAI,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,MAAM,MAAM,KAAK,CAAC,EAAE,SAAS,KAAK,CAAC,GAAG,GAAG;AAAA,IACpI,KAAK;AAAA,MACH,SAAS,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG;AAAA,MAC7H,OAAO,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,GAAG,GAAG;AAAA,MACzH,OAAO,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG;AAAA,MAClI,IAAI,CAAI,MAAwB,QAA+B,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,EAAE,SAAS,KAAK,CAAC,GAAG,GAAG;AAAA,IACvI;AAAA,EACF;AAAA,EACA,KAAK,KAAK;AAAA,EAIV,KAAQ,MAAoB,KAA4B;AACtD,WAAO,IAAI,KAAW,KAAK,CAAC,EAAE,KAAK,MAAM,GAAG;AAAA,EAC9C;AAAA,EAEA,KAAqB,OAAqB,KAA6B;AACrE,WAAO,IAAI,KAAW,KAAK,CAAC,EAAE,KAAQ,OAAO,GAAG;AAAA,EAClD;AAAA,EAEA,OAAU,OAAU,KAA4B;AAC9C,WAAO,IAAI,KAAW,KAAK,CAAC,EAAE,OAAO,OAAO,GAAG;AAAA,EACjD;AACF;AAEA,IAAM,OAAN,MAAM,MAAqB;AAAA,EAezB,YACY,OACA,SACV;AAFU;AACA;AAAA,EACT;AAAA,EAjBH,KAAK;AAAA,IACH,SAAS,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,UAAU,KAAK,KAAK,KAAK,CAAC,GAAG,GAAG;AAAA,IACjI,OAAO,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,QAAQ,KAAK,KAAK,KAAK,CAAC,GAAG,GAAG;AAAA,IAC7H,OAAO,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,SAAS,KAAK,KAAK,KAAK,CAAC,EAAE,SAAS,GAAG;AAAA,IACtI,IAAI,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,MAAM,MAAM,KAAK,KAAK,EAAE,SAAS,KAAK,KAAK,GAAG,GAAG;AAAA,IAC7I,KAAK;AAAA,MACH,SAAS,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,KAAK,KAAK,CAAC,GAAG,GAAG;AAAA,MAClI,OAAO,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,CAAC,QAAQ,KAAK,KAAK,KAAK,CAAC,GAAG,GAAG;AAAA,MAC9H,OAAO,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,KAAK,CAAC,EAAE,SAAS,GAAG;AAAA,MACvI,IAAI,CAAC,MAAwB,QAA+B,IAAI,MAAW,KAAK,KAAK,EAAE,KAAK,CAAC,MAAM,MAAM,KAAK,KAAK,EAAE,SAAS,KAAK,KAAK,GAAG,GAAG;AAAA,IAChJ;AAAA,EACF;AAAA,EACA,KAAK,KAAK;AAAA,EAOV,KAAK,MAAoB,KAA4B;AACnD,WAAO,MAAM,MAAM,KAAK,KAAK,EAC1B,GAAG,KAAK,EACR,IAAI,MAAM,MAAM,KAAK,KAAK,KAAK,CAAC,EAChC,IAAI,SAAO,IAAI,MAAM,KAAK,OAAO,GAAG,CAAe,EACnD,GAAG,IAAI;AAAA,EACZ;AAAA,EAEA,KAAQ,OAAqB,KAA6B;AACxD,WAAO,MAAM,OAAO,KAAK,KAAK,EAC3B,GAAG,KAAK,EACR,IAAI,MAAM,IAAI,KAAK,KAAqB,CAAC,EACzC,IAAI,SAAO,IAAI,MAAM,KAAK,OAAO,GAAG,CAAe,EACnD,GAAG,IAAI;AAAA,EACZ;AAAA,EAEA,OAAO,OAAU,KAA4B;AAC3C,WAAO,KAAK,KAAK,KAAK,UAAU,OAAO,GAAG;AAAA,EAC5C;AAAA,EAEA,KAAK,KAAmB;AACtB,WAAO,MAAY,KAAK,KAAK,KAAK;AAAA,EACpC;AACF;AAEA,IAAM,QAAN,cAA0B,KAAW;AAAA,EAenC,YACY,OACA,SACV;AACA,UAAM,OAAO,OAAO;AAHV;AACA;AAAA,EAGZ;AAAA,EAnBA,KAAK;AAAA,IACH,SAAS,CAAC,OAAyB,SAAgC;AAAA,IACnE,OAAO,CAAC,OAAyB,SAAgC;AAAA,IACjE,OAAO,CAAC,OAAyB,SAAgC;AAAA,IACjE,IAAI,CAAC,OAAyB,SAAgC;AAAA,IAC9D,KAAK;AAAA,MACH,SAAS,CAAC,OAAyB,SAAgC;AAAA,MACnE,OAAO,CAAC,OAAyB,SAAgC;AAAA,MACjE,OAAO,CAAC,OAAyB,SAAgC;AAAA,MACjE,IAAI,CAAC,OAAwB,SAAgC;AAAA,IAC/D;AAAA,EACF;AAAA,EACA,KAAK,KAAK;AAAA,EASV,KAAK,MAAoB,KAAsB;AAC7C,WAAO;AAAA,EACT;AAAA,EAEA,KAAQ,OAAqB,KAA6B;AACxD,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,OAAU,KAA4B;AAC3C,WAAO;AAAA,EACT;AAAA,EAEA,KAAK,KAAmB;AACtB,WAAO,KAAK;AAAA,EACd;AACF;AAEO,IAAM,SAAS,CAAI,UAAa,IAAI,YAAe,KAAK;;;ACtGxD,IAAM,YAAY,CAAC,SAAkB,UAAgB,UAA2B,CAAC,MACtF,UAAU,SAAS,KAAK,QAAQ,EAAE,MAAM,SAAS,OAAO,GAAG,OAAO,OAAO,CAAC,CAAC;AAE7E,IAAM,aAAa,CAAC,YAClB,KAAK,OAAO,EACT,KAAsB,YAAY,EAClC,OAAO,CAAC,MAAM,OAAO,KAAK,IAAI,EAAE,GAAG,OAAkB,CAAC;AAE3D,IAAM,eAAe,CAAC,GAAc,YAA+B;AACjE,MAAI;AACF,UAAM,SAAS,WAAY,QAAgB,EAAE,QAAQ,CAAC,IAAK,QAAgB,EAAE,QAAQ,EAAE,IAAK,QAAgB,EAAE,QAAQ;AACtH,UAAM,aAAa,EAAE,WAAW,MAAM;AACtC,WAAO,UAAU,UAAU,IAAI,aAAa,CAAC,aAAa,UAAU,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,UAAU;AAAA,EACrH,SAAS,GAAG;AACV,WAAO,UAAU,SAAS,SAAS,CAAC,CAAC;AAAA,EACvC;AACF;AAEA,IAAM,cAAc,CAAC,YACnB,WAAW,OAAO,EACf,IAAI,QAAM,aAAa,IAAI,OAAO,CAAC,EACnC,OAAO,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,OAAO,GAAG,UAAU,CAAC;AAEjD,IAAM,WAAW,CAAC,YACvB,OAAO,OAAO,EACX,GAAG,IAAI;AAAA,EACN,OAAK;AAAA,EACL,MAAM,UAAU,yBAAyB;AAC3C,EACC,KAAK,QAAQ,OAAM,EAAE,UAAU,UAAU,IAAI,UAAU,GAAG,6BAA6B,CAAE,EACzF,KAAK,SAAS,OAAM,EAAE,UAAU,UAAU,IAAI,UAAU,GAAG,6BAA6B,CAAE,EAC1F,KAAK,SAAS,OAAK,EAAE,IAAI,OAAK,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,MAAM,GAAG,IAAI,GAAG,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC,EAC/F,KAAK,eAAe,OAAK,YAAY,CAAC,CAAC,EACvC,KAAK,UAAU,CAAC;AAEd,IAAM,iBAAiB,CAAI,YAA2B,KAAK,OAAO,EAAE,IAAI,QAAQ,OAAO;AAEvF,IAAM,UAAU,CAAI,MAAkB,SAAS,CAAC,EAAE;;;AC9ClD,IAAM,OAAN,MAAM,MAAQ;AAAA,EACnB,YACW,SACA,QAAQ,MACT,SACR;AAHS;AACA;AACD;AAAA,EACP;AAAA,EAEH,IAAI,MAAe;AACjB,WAAO,KAAK,MAAM,CAAC,KAAK,KAAK;AAAA,EAC/B;AAAA,EAEA,IAAI,MAAe;AACjB,WAAO,KAAK,MAAM,KAAK,KAAK;AAAA,EAC9B;AAAA,EAEA,IAAI,YAAqB;AACvB,WAAO,KAAK,MAAM,KAAK,UAAU,UAAU,KAAK,OAAO,CAAC;AAAA,EAC1D;AAAA,EAEA,IAAI,UAAmB;AACrB,WAAO,KAAK,MAAM,KAAK,UAAU,QAAQ,KAAK,OAAO,CAAC;AAAA,EACxD;AAAA,EAEA,IAAI,SAAkB;AACpB,WAAO,KAAK,MAAM,KAAK,UAAU,CAAC,CAAC,KAAK,OAAO;AAAA,EACjD;AAAA,EAEA,IAAI,UAAmB;AACrB,SAAK,UAAU,SAAS,KAAK,OAAO;AACpC,WAAO,KAAK,MAAM,KAAK,UAAU,KAAK,QAAQ,OAAO;AAAA,EACvD;AAAA,EAEA,aAAa,CAAI,MAA+B,KAAK,MAAM,KAAK,UAAU,KAAK,mBAAmB,CAAC;AAAA,EAEnG,OAAO,CAAC,SAAgC,KAAK,MAAM,KAAK,UAAU,MAAM,MAAM,KAAK,OAAO,CAAC;AAAA,EAE3F,WAAW,CAAC,aAAyC,KAAK,MAAM,KAAK,UAAU,UAAU,MAAM,UAAU,KAAK,OAAO,CAAC,CAAC;AAAA,EAEvH,KAAK,IAAI,UAAwB,KAAK,MAAM,KAAK,UAAU,KAAK,KAAK,SAAS,QAAQ,GAAG,KAAK,CAAC,CAAC;AAAA,EAEhG,KAAK,CAAC,SAAqB,KAAK,MAAM,KAAK,WAAW,KAAK,YAAY,KAAK;AAAA,EAE5E,SAAS,CAAC,UACR,CAAC,KAAK,QAAQ,QAAQ,KAAK,OAAyB,IAAI,OAAO,MAAM,OAAO,KAAK,OAAO,KAAK,KAAK,WAAW,UAAU,OAAO;AAAA,EAEhI,UAAU,CAAC,MAA+C,QAAQ,CAAC,KAAK,QAAQ,KAAK,UAAU,EAAE,KAAK,OAAO,CAAC;AAAA,EAEpG,QAAQ,CAAC,SAAS,SAAkB,IAAI,MAAK,KAAK,SAAS,QAAQ,KAAK,OAAO;AAC3F;AAEO,IAAM,OAAO,CAAI,YAAwB,IAAI,KAAQ,OAAO;","names":[]}
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-UYDZZAEK.mjs";
8
8
  import {
9
9
  choose
10
- } from "./chunk-TRIKRGDF.mjs";
10
+ } from "./chunk-K24YHQ7U.mjs";
11
11
  import {
12
12
  isResults
13
13
  } from "./chunk-KYQULNU4.mjs";
@@ -52,4 +52,4 @@ export {
52
52
  rest,
53
53
  isRestResult
54
54
  };
55
- //# sourceMappingURL=chunk-M456CJK4.mjs.map
55
+ //# sourceMappingURL=chunk-MUSLGT5M.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  rest
3
- } from "./chunk-M456CJK4.mjs";
3
+ } from "./chunk-MUSLGT5M.mjs";
4
4
  import {
5
5
  toHttpStatus
6
6
  } from "./chunk-H27UMLDT.mjs";
@@ -17,4 +17,4 @@ function toResponse(status, body, headers) {
17
17
  export {
18
18
  toResponse
19
19
  };
20
- //# sourceMappingURL=chunk-3B4UXDOZ.mjs.map
20
+ //# sourceMappingURL=chunk-N4FD5JGA.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  choose
3
- } from "./chunk-TRIKRGDF.mjs";
3
+ } from "./chunk-K24YHQ7U.mjs";
4
4
  import {
5
5
  isArray,
6
6
  isObject
@@ -20,4 +20,4 @@ var isEqual = (one, another) => choose([one, another]).case(([o, a]) => o === a,
20
20
  export {
21
21
  isEqual
22
22
  };
23
- //# sourceMappingURL=chunk-PVWD7L7K.mjs.map
23
+ //# sourceMappingURL=chunk-NFJSPW4Y.mjs.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  toPageList
3
- } from "./chunk-DXXBPAXT.mjs";
3
+ } from "./chunk-QUSOY27E.mjs";
4
4
  import {
5
5
  choose
6
- } from "./chunk-TRIKRGDF.mjs";
6
+ } from "./chunk-K24YHQ7U.mjs";
7
7
  import {
8
8
  resolve
9
9
  } from "./chunk-PKILDKWU.mjs";
@@ -45,4 +45,4 @@ var Search = class {
45
45
  export {
46
46
  Search
47
47
  };
48
- //# sourceMappingURL=chunk-VZYOBAK7.mjs.map
48
+ //# sourceMappingURL=chunk-O77POE7P.mjs.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ApiGateway
3
- } from "./chunk-3MDXTFJG.mjs";
3
+ } from "./chunk-VP7W24JN.mjs";
4
4
  import {
5
5
  Api
6
- } from "./chunk-RTTVCEWR.mjs";
6
+ } from "./chunk-6TYRLB3J.mjs";
7
7
  import {
8
8
  HttpStatus
9
9
  } from "./chunk-H27UMLDT.mjs";
@@ -57,4 +57,4 @@ var RouteGateway = class extends ApiGateway {
57
57
  export {
58
58
  RouteGateway
59
59
  };
60
- //# sourceMappingURL=chunk-S5I6XCJK.mjs.map
60
+ //# sourceMappingURL=chunk-OFIISFKK.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  tryTo
3
- } from "./chunk-TRIKRGDF.mjs";
3
+ } from "./chunk-K24YHQ7U.mjs";
4
4
  import {
5
5
  asString
6
6
  } from "./chunk-BDA5LB4S.mjs";
@@ -17,4 +17,4 @@ var asNumber = (n, alt) => tryTo(() => asString(n)).map((s) => parseInt(s)).filt
17
17
  export {
18
18
  asNumber
19
19
  };
20
- //# sourceMappingURL=chunk-AYPE2G3T.mjs.map
20
+ //# sourceMappingURL=chunk-OHS6WING.mjs.map
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  isEqual
3
- } from "./chunk-PVWD7L7K.mjs";
3
+ } from "./chunk-NFJSPW4Y.mjs";
4
4
  import {
5
5
  traverse
6
6
  } from "./chunk-SSROJBD5.mjs";
7
7
  import {
8
8
  isPageList,
9
9
  toPageList
10
- } from "./chunk-DXXBPAXT.mjs";
10
+ } from "./chunk-QUSOY27E.mjs";
11
11
  import {
12
12
  asJson,
13
13
  json
14
14
  } from "./chunk-IANSP3JJ.mjs";
15
15
  import {
16
16
  choose
17
- } from "./chunk-TRIKRGDF.mjs";
17
+ } from "./chunk-K24YHQ7U.mjs";
18
18
  import {
19
19
  isEnumConstructor
20
20
  } from "./chunk-HCIL5KUZ.mjs";
@@ -102,4 +102,4 @@ export {
102
102
  view,
103
103
  views
104
104
  };
105
- //# sourceMappingURL=chunk-FI3X2XXY.mjs.map
105
+ //# sourceMappingURL=chunk-PMOPLLF5.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  choose
3
- } from "./chunk-TRIKRGDF.mjs";
3
+ } from "./chunk-K24YHQ7U.mjs";
4
4
  import {
5
5
  List,
6
6
  isList,
@@ -170,4 +170,4 @@ export {
170
170
  toPageList,
171
171
  asPageList
172
172
  };
173
- //# sourceMappingURL=chunk-DXXBPAXT.mjs.map
173
+ //# sourceMappingURL=chunk-QUSOY27E.mjs.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-IANSP3JJ.mjs";
4
4
  import {
5
5
  validate
6
- } from "./chunk-TRIKRGDF.mjs";
6
+ } from "./chunk-K24YHQ7U.mjs";
7
7
  import {
8
8
  isDefined
9
9
  } from "./chunk-DEJ7A5PY.mjs";
@@ -37,4 +37,4 @@ export {
37
37
  Struct,
38
38
  isStruct
39
39
  };
40
- //# sourceMappingURL=chunk-K7NZINEX.mjs.map
40
+ //# sourceMappingURL=chunk-SU34QIFX.mjs.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-GCY5A63A.mjs";
7
7
  import {
8
8
  tryTo
9
- } from "./chunk-TRIKRGDF.mjs";
9
+ } from "./chunk-K24YHQ7U.mjs";
10
10
  import {
11
11
  ofGet
12
12
  } from "./chunk-SJGQU3OG.mjs";
@@ -79,4 +79,4 @@ export {
79
79
  PatternColumn,
80
80
  OrderColumn
81
81
  };
82
- //# sourceMappingURL=chunk-Q5LRJWPK.mjs.map
82
+ //# sourceMappingURL=chunk-V6UGBTR3.mjs.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  Api
3
- } from "./chunk-RTTVCEWR.mjs";
3
+ } from "./chunk-6TYRLB3J.mjs";
4
4
  import {
5
5
  Gateway
6
6
  } from "./chunk-ZDGQPZ6G.mjs";
7
7
  import {
8
8
  toPageList
9
- } from "./chunk-DXXBPAXT.mjs";
9
+ } from "./chunk-QUSOY27E.mjs";
10
10
  import {
11
11
  use
12
12
  } from "./chunk-ZPNFXK7Y.mjs";
@@ -43,4 +43,4 @@ var ApiGateway = class extends Gateway {
43
43
  export {
44
44
  ApiGateway
45
45
  };
46
- //# sourceMappingURL=chunk-3MDXTFJG.mjs.map
46
+ //# sourceMappingURL=chunk-VP7W24JN.mjs.map
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  tryTo,
7
7
  validate
8
- } from "./chunk-TRIKRGDF.mjs";
8
+ } from "./chunk-K24YHQ7U.mjs";
9
9
  import {
10
10
  text
11
11
  } from "./chunk-3Y7X2UQ6.mjs";
@@ -73,4 +73,4 @@ export {
73
73
  maxLength,
74
74
  rule
75
75
  };
76
- //# sourceMappingURL=chunk-4U4PPZWS.mjs.map
76
+ //# sourceMappingURL=chunk-XEBYVLOL.mjs.map
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  required,
3
3
  valid
4
- } from "./chunk-4U4PPZWS.mjs";
4
+ } from "./chunk-XEBYVLOL.mjs";
5
5
  import {
6
6
  DateTime
7
- } from "./chunk-5RL5STCD.mjs";
7
+ } from "./chunk-HSYWHVT7.mjs";
8
8
  import {
9
9
  Struct
10
- } from "./chunk-K7NZINEX.mjs";
10
+ } from "./chunk-SU34QIFX.mjs";
11
11
  import {
12
12
  choose
13
- } from "./chunk-TRIKRGDF.mjs";
13
+ } from "./chunk-K24YHQ7U.mjs";
14
14
  import {
15
15
  ctx
16
16
  } from "./chunk-YGKMN5UC.mjs";
@@ -47,4 +47,4 @@ __decorateClass([
47
47
  export {
48
48
  Audit
49
49
  };
50
- //# sourceMappingURL=chunk-LXJTNB3X.mjs.map
50
+ //# sourceMappingURL=chunk-YNDCPRJ3.mjs.map
@@ -3,10 +3,10 @@ import {
3
3
  } from "../chunk-ZDGQPZ6G.mjs";
4
4
  import {
5
5
  toPageList
6
- } from "../chunk-DXXBPAXT.mjs";
6
+ } from "../chunk-QUSOY27E.mjs";
7
7
  import {
8
8
  when
9
- } from "../chunk-TRIKRGDF.mjs";
9
+ } from "../chunk-K24YHQ7U.mjs";
10
10
  import "../chunk-OFGI5FLG.mjs";
11
11
  import "../chunk-KYQULNU4.mjs";
12
12
  import "../chunk-BGSOJQAU.mjs";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  Audit
3
- } from "../chunk-LXJTNB3X.mjs";
4
- import "../chunk-4U4PPZWS.mjs";
5
- import "../chunk-5RL5STCD.mjs";
3
+ } from "../chunk-YNDCPRJ3.mjs";
4
+ import "../chunk-XEBYVLOL.mjs";
5
+ import "../chunk-HSYWHVT7.mjs";
6
6
  import "../chunk-YDC3NPU4.mjs";
7
7
  import "../chunk-ADJAEGCT.mjs";
8
- import "../chunk-K7NZINEX.mjs";
8
+ import "../chunk-SU34QIFX.mjs";
9
9
  import "../chunk-IANSP3JJ.mjs";
10
- import "../chunk-TRIKRGDF.mjs";
10
+ import "../chunk-K24YHQ7U.mjs";
11
11
  import "../chunk-OFGI5FLG.mjs";
12
12
  import "../chunk-KYQULNU4.mjs";
13
13
  import "../chunk-BGSOJQAU.mjs";
@@ -4,15 +4,15 @@ import {
4
4
  import "../chunk-LXQQ5N6S.mjs";
5
5
  import {
6
6
  required
7
- } from "../chunk-4U4PPZWS.mjs";
7
+ } from "../chunk-XEBYVLOL.mjs";
8
8
  import "../chunk-ADJAEGCT.mjs";
9
9
  import {
10
10
  Struct
11
- } from "../chunk-K7NZINEX.mjs";
11
+ } from "../chunk-SU34QIFX.mjs";
12
12
  import {
13
13
  json
14
14
  } from "../chunk-IANSP3JJ.mjs";
15
- import "../chunk-TRIKRGDF.mjs";
15
+ import "../chunk-K24YHQ7U.mjs";
16
16
  import "../chunk-OFGI5FLG.mjs";
17
17
  import "../chunk-KYQULNU4.mjs";
18
18
  import "../chunk-BGSOJQAU.mjs";
@@ -2,10 +2,10 @@ import {
2
2
  DateTime,
3
3
  dt,
4
4
  isDateTime
5
- } from "../chunk-5RL5STCD.mjs";
5
+ } from "../chunk-HSYWHVT7.mjs";
6
6
  import "../chunk-YDC3NPU4.mjs";
7
7
  import "../chunk-ADJAEGCT.mjs";
8
- import "../chunk-TRIKRGDF.mjs";
8
+ import "../chunk-K24YHQ7U.mjs";
9
9
  import "../chunk-OFGI5FLG.mjs";
10
10
  import "../chunk-KYQULNU4.mjs";
11
11
  import "../chunk-BGSOJQAU.mjs";
@@ -4,20 +4,20 @@ import {
4
4
  import "../chunk-LXQQ5N6S.mjs";
5
5
  import {
6
6
  Audit
7
- } from "../chunk-LXJTNB3X.mjs";
7
+ } from "../chunk-YNDCPRJ3.mjs";
8
8
  import {
9
9
  required
10
- } from "../chunk-4U4PPZWS.mjs";
11
- import "../chunk-5RL5STCD.mjs";
10
+ } from "../chunk-XEBYVLOL.mjs";
11
+ import "../chunk-HSYWHVT7.mjs";
12
12
  import "../chunk-YDC3NPU4.mjs";
13
13
  import "../chunk-ADJAEGCT.mjs";
14
14
  import {
15
15
  Struct
16
- } from "../chunk-K7NZINEX.mjs";
16
+ } from "../chunk-SU34QIFX.mjs";
17
17
  import {
18
18
  json
19
19
  } from "../chunk-IANSP3JJ.mjs";
20
- import "../chunk-TRIKRGDF.mjs";
20
+ import "../chunk-K24YHQ7U.mjs";
21
21
  import "../chunk-OFGI5FLG.mjs";
22
22
  import "../chunk-KYQULNU4.mjs";
23
23
  import "../chunk-BGSOJQAU.mjs";
@@ -6,7 +6,7 @@ import {
6
6
  } from "../chunk-IANSP3JJ.mjs";
7
7
  import {
8
8
  when
9
- } from "../chunk-TRIKRGDF.mjs";
9
+ } from "../chunk-K24YHQ7U.mjs";
10
10
  import {
11
11
  isValidatable
12
12
  } from "../chunk-OFGI5FLG.mjs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Struct,
3
3
  isStruct
4
- } from "../chunk-K7NZINEX.mjs";
4
+ } from "../chunk-SU34QIFX.mjs";
5
5
  import "../chunk-IANSP3JJ.mjs";
6
- import "../chunk-TRIKRGDF.mjs";
6
+ import "../chunk-K24YHQ7U.mjs";
7
7
  import "../chunk-OFGI5FLG.mjs";
8
8
  import "../chunk-KYQULNU4.mjs";
9
9
  import "../chunk-BGSOJQAU.mjs";
@@ -6,7 +6,7 @@ import {
6
6
  } from "../chunk-IANSP3JJ.mjs";
7
7
  import {
8
8
  when
9
- } from "../chunk-TRIKRGDF.mjs";
9
+ } from "../chunk-K24YHQ7U.mjs";
10
10
  import "../chunk-OFGI5FLG.mjs";
11
11
  import "../chunk-KYQULNU4.mjs";
12
12
  import "../chunk-BGSOJQAU.mjs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  cacheAge,
3
3
  isCacheAge
4
- } from "../chunk-BQ2N2Y7O.mjs";
5
- import "../chunk-AYPE2G3T.mjs";
6
- import "../chunk-TRIKRGDF.mjs";
4
+ } from "../chunk-EGAAKXA6.mjs";
5
+ import "../chunk-OHS6WING.mjs";
6
+ import "../chunk-K24YHQ7U.mjs";
7
7
  import "../chunk-OFGI5FLG.mjs";
8
8
  import "../chunk-KYQULNU4.mjs";
9
9
  import "../chunk-BGSOJQAU.mjs";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  isRestResult,
3
3
  rest
4
- } from "../chunk-M456CJK4.mjs";
4
+ } from "../chunk-MUSLGT5M.mjs";
5
5
  import "../chunk-H27UMLDT.mjs";
6
6
  import "../chunk-UYDZZAEK.mjs";
7
- import "../chunk-TRIKRGDF.mjs";
7
+ import "../chunk-K24YHQ7U.mjs";
8
8
  import "../chunk-OFGI5FLG.mjs";
9
9
  import "../chunk-KYQULNU4.mjs";
10
10
  import "../chunk-BGSOJQAU.mjs";