@thisisagile/easy 17.22.1 → 17.22.3
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.
- package/dist/{chunk-TAR4F7WP.mjs → chunk-27J67KZN.mjs} +2 -2
- package/dist/{chunk-DXOU5VHJ.mjs → chunk-5QTARNGR.mjs} +13 -2
- package/dist/chunk-5QTARNGR.mjs.map +1 -0
- package/dist/{chunk-WG3IUAYI.mjs → chunk-BZXYXP6E.mjs} +5 -3
- package/dist/chunk-BZXYXP6E.mjs.map +1 -0
- package/dist/{chunk-H7X4TDBJ.mjs → chunk-CI6M6BOL.mjs} +2 -2
- package/dist/{chunk-R2PGI7M3.mjs → chunk-KKJA4X4R.mjs} +2 -2
- package/dist/{chunk-O6T2ETUB.mjs → chunk-VU7IZYRT.mjs} +2 -2
- package/dist/data/Condition.mjs +2 -2
- package/dist/data/Field.mjs +2 -2
- package/dist/domain/Audit.mjs +3 -3
- package/dist/domain/Child.mjs +2 -2
- package/dist/domain/Entity.mjs +3 -3
- package/dist/domain/Repo.mjs +1 -1
- package/dist/domain/Struct.mjs +2 -2
- package/dist/domain/Typo.mjs +1 -1
- package/dist/index.js +26 -13
- package/dist/index.js.map +1 -1
- package/dist/services/MappedRouteGateway.mjs +2 -2
- package/dist/services/ViewRouteGateway.mjs +2 -2
- package/dist/sql/Table.mjs +2 -2
- package/dist/types/Json.d.ts +1 -0
- package/dist/types/Json.mjs +1 -1
- package/dist/utils/Mapper.mjs +2 -2
- package/dist/utils/View.d.ts +1 -0
- package/dist/utils/View.mjs +2 -2
- package/package.json +1 -1
- package/src/types/Json.ts +17 -0
- package/src/utils/View.ts +5 -2
- package/dist/chunk-DXOU5VHJ.mjs.map +0 -1
- package/dist/chunk-WG3IUAYI.mjs.map +0 -1
- /package/dist/{chunk-TAR4F7WP.mjs.map → chunk-27J67KZN.mjs.map} +0 -0
- /package/dist/{chunk-H7X4TDBJ.mjs.map → chunk-CI6M6BOL.mjs.map} +0 -0
- /package/dist/{chunk-R2PGI7M3.mjs.map → chunk-KKJA4X4R.mjs.map} +0 -0
- /package/dist/{chunk-O6T2ETUB.mjs.map → chunk-VU7IZYRT.mjs.map} +0 -0
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-MDXL65W4.mjs";
|
|
4
4
|
import {
|
|
5
5
|
json
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5QTARNGR.mjs";
|
|
7
7
|
import {
|
|
8
8
|
isDefined
|
|
9
9
|
} from "./chunk-DEJ7A5PY.mjs";
|
|
@@ -50,4 +50,4 @@ export {
|
|
|
50
50
|
toCondition,
|
|
51
51
|
isSortCondition
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=chunk-
|
|
53
|
+
//# sourceMappingURL=chunk-27J67KZN.mjs.map
|
|
@@ -29,7 +29,18 @@ var json = {
|
|
|
29
29
|
omit: (subject, ...keys) => keys.reduce((js, k) => json.delete(js, k), json.parse(subject)),
|
|
30
30
|
pick: (subject, ...keys) => keys.reduce((js, k) => json.set(js, k, subject[k]), {}),
|
|
31
31
|
defaults: (options = {}, defaults = {}) => json.merge(defaults, options),
|
|
32
|
-
isSubset: (subject, subset) => !entries(subset).some(([k, v]) => subject[k] !== v)
|
|
32
|
+
isSubset: (subject, subset) => !entries(subset).some(([k, v]) => subject[k] !== v),
|
|
33
|
+
split: (t, keys, prop = "extracted") => {
|
|
34
|
+
const extracted = {};
|
|
35
|
+
const rest = { ...t };
|
|
36
|
+
keys.forEach((key) => {
|
|
37
|
+
if (key in t) {
|
|
38
|
+
ifDefined(t[key], (v) => extracted[key] = v);
|
|
39
|
+
delete rest[key];
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return { [prop]: extracted, ...rest };
|
|
43
|
+
}
|
|
33
44
|
};
|
|
34
45
|
var toJson = json.merge;
|
|
35
46
|
var asJson = (j, alt = {}) => isJson(j) ? j.toJSON() : isObject(j) ? j : ofGet(alt, j);
|
|
@@ -56,4 +67,4 @@ export {
|
|
|
56
67
|
takeFirstKey,
|
|
57
68
|
any
|
|
58
69
|
};
|
|
59
|
-
//# sourceMappingURL=chunk-
|
|
70
|
+
//# sourceMappingURL=chunk-5QTARNGR.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types/Json.ts"],"sourcesContent":["import { isA } from './IsA';\nimport { isDefined, isEmpty, isObject } from './Is';\nimport { Get, ofGet } from './Get';\nimport { ifDefined } from '../utils/If';\nimport { TypeGuard } from './TypeGuard';\nimport { entries } from './Object';\n\nexport type JsonValue = string | number | boolean | null | Json | JsonValue[];\nexport type Json = { [key: string]: JsonValue };\n\nexport const isJson: TypeGuard<{ toJSON: () => Json }> = (subject?: unknown): subject is { toJSON: () => Json } =>\n isA<{ toJSON: () => Json }>(subject, 'toJSON');\n\nexport const json = {\n parse: <T extends Json = Json>(subject: unknown): T => JSON.parse(JSON.stringify(subject ?? {})),\n merge: (...subjects: unknown[]): Json => json.parse(subjects.map(s => asJson(s, s => json.parse(s))).reduce((js, j) => ({ ...js, ...j }), {})),\n delete: <T extends Json = Json>(subject: T, key: string): T => {\n ifDefined(subject, () => delete (subject as any)[key]);\n return subject;\n },\n set: <T extends Json = Json>(subject: T, key = '', value?: unknown): T =>\n isEmpty(key) ? subject : value !== undefined ? { ...(subject as any), ...{ [key]: value as JsonValue } } : json.delete(subject, key),\n omit: <T extends Json = Json>(subject: T, ...keys: string[]): T => keys.reduce((js, k) => json.delete(js, k), json.parse<T>(subject)),\n pick: <T extends Json = Json>(subject: T, ...keys: string[]): T => keys.reduce((js, k) => json.set(js, k, (subject as any)[k]), {} as T),\n defaults: <T extends Json = Json>(options: Partial<T> = {}, defaults: Partial<T> = {}): T => json.merge(defaults, options) as T,\n isSubset: (subject: Json, subset: Json): boolean => !entries(subset).some(([k, v]) => subject[k] !== v),\n split: <T extends Record<string, unknown>, K extends string = 'extracted'>(\n t: T,\n keys: readonly (keyof T)[],\n prop: K = 'extracted' as K\n ): {\n [P in K]: Partial<T>;\n } => {\n const extracted = {} as Partial<T>;\n const rest = { ...t };\n keys.forEach(key => {\n if (key in t) {\n ifDefined(t[key], v => (extracted[key] = v));\n delete rest[key as string];\n }\n });\n return { [prop]: extracted, ...rest };\n },\n};\n\nexport const toJson = json.merge;\n\nexport const asJson = (j?: unknown, alt: Get<Json> = {}): Json => (isJson(j) ? j.toJSON() : isObject(j) ? (j as Json) : ofGet(alt, j));\n\nclass Any<T extends Json> {\n constructor(readonly value: T) {}\n\n merge = (...subjects: T[]): Any<T> => any<T>(json.merge(this.value, ...subjects) as T);\n delete = (key: keyof T): Any<T> => any<T>(json.delete<T>(this.value, key as string));\n omit = (...keys: (keyof T)[]): Any<T> => any<T>(json.omit<T>(this.value, ...(keys as string[])));\n set = (key: keyof T, value?: unknown): Any<T> => any<T>(json.set(this.value, key as string, value));\n\n toJSON(): Json {\n return this.value;\n }\n}\n\nexport const takeFirstKey = (j: unknown, alt: string = ''): string => entries(asJson(j)).first(([, v]) => isDefined(v))?.[0] ?? alt;\n\nexport const any = <T extends Json = Json>(value: T): Any<T> => new Any<T>(value);\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAUO,IAAM,SAA4C,CAAC,YACxD,IAA4B,SAAS,QAAQ;AAExC,IAAM,OAAO;AAAA,EAClB,OAAO,CAAwB,YAAwB,KAAK,MAAM,KAAK,UAAU,WAAW,CAAC,CAAC,CAAC;AAAA,EAC/F,OAAO,IAAI,aAA8B,KAAK,MAAM,SAAS,IAAI,OAAK,OAAO,GAAG,CAAAA,OAAK,KAAK,MAAMA,EAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAAA,EAC7I,QAAQ,CAAwB,SAAY,QAAmB;AAC7D,cAAU,SAAS,MAAM,OAAQ,QAAgB,GAAG,CAAC;AACrD,WAAO;AAAA,EACT;AAAA,EACA,KAAK,CAAwB,SAAY,MAAM,IAAI,UACjD,QAAQ,GAAG,IAAI,UAAU,UAAU,SAAY,EAAE,GAAI,SAAiB,GAAG,EAAE,CAAC,GAAG,GAAG,MAAmB,EAAE,IAAI,KAAK,OAAO,SAAS,GAAG;AAAA,EACrI,MAAM,CAAwB,YAAe,SAAsB,KAAK,OAAO,CAAC,IAAI,MAAM,KAAK,OAAO,IAAI,CAAC,GAAG,KAAK,MAAS,OAAO,CAAC;AAAA,EACpI,MAAM,CAAwB,YAAe,SAAsB,KAAK,OAAO,CAAC,IAAI,MAAM,KAAK,IAAI,IAAI,GAAI,QAAgB,CAAC,CAAC,GAAG,CAAC,CAAM;AAAA,EACvI,UAAU,CAAwB,UAAsB,CAAC,GAAG,WAAuB,CAAC,MAAS,KAAK,MAAM,UAAU,OAAO;AAAA,EACzH,UAAU,CAAC,SAAe,WAA0B,CAAC,QAAQ,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC;AAAA,EACtG,OAAO,CACL,GACA,MACA,OAAU,gBAGP;AACH,UAAM,YAAY,CAAC;AACnB,UAAM,OAAO,EAAE,GAAG,EAAE;AACpB,SAAK,QAAQ,SAAO;AAClB,UAAI,OAAO,GAAG;AACZ,kBAAU,EAAE,GAAG,GAAG,OAAM,UAAU,GAAG,IAAI,CAAE;AAC3C,eAAO,KAAK,GAAa;AAAA,MAC3B;AAAA,IACF,CAAC;AACD,WAAO,EAAE,CAAC,IAAI,GAAG,WAAW,GAAG,KAAK;AAAA,EACtC;AACF;AAEO,IAAM,SAAS,KAAK;AAEpB,IAAM,SAAS,CAAC,GAAa,MAAiB,CAAC,MAAa,OAAO,CAAC,IAAI,EAAE,OAAO,IAAI,SAAS,CAAC,IAAK,IAAa,MAAM,KAAK,CAAC;AAEpI,IAAM,MAAN,MAA0B;AAAA,EACxB,YAAqB,OAAU;AAAV;AAAA,EAAW;AAAA,EAEhC,QAAQ,IAAI,aAA0B,IAAO,KAAK,MAAM,KAAK,OAAO,GAAG,QAAQ,CAAM;AAAA,EACrF,SAAS,CAAC,QAAyB,IAAO,KAAK,OAAU,KAAK,OAAO,GAAa,CAAC;AAAA,EACnF,OAAO,IAAI,SAA8B,IAAO,KAAK,KAAQ,KAAK,OAAO,GAAI,IAAiB,CAAC;AAAA,EAC/F,MAAM,CAAC,KAAc,UAA4B,IAAO,KAAK,IAAI,KAAK,OAAO,KAAe,KAAK,CAAC;AAAA,EAElG,SAAe;AACb,WAAO,KAAK;AAAA,EACd;AACF;AAEO,IAAM,eAAe,CAAC,GAAY,MAAc,OAAe,QAAQ,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK;AAEzH,IAAM,MAAM,CAAwB,UAAqB,IAAI,IAAO,KAAK;","names":["s"]}
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
asJson,
|
|
13
13
|
json
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-5QTARNGR.mjs";
|
|
15
15
|
import {
|
|
16
16
|
choose
|
|
17
17
|
} from "./chunk-7ZZDLHN4.mjs";
|
|
@@ -38,8 +38,9 @@ import {
|
|
|
38
38
|
// src/utils/View.ts
|
|
39
39
|
var ignore = Symbol("view.ignore");
|
|
40
40
|
var keep = Symbol("view.keep");
|
|
41
|
+
var json2 = Symbol("view.json");
|
|
41
42
|
var spread = "view.spread";
|
|
42
|
-
var toViewer = (key, value) => choose(value).is.not.defined((v) => v, { key, f: () => void 0 }).type(isBoolean, (b) => ({ key, f: () => b })).equals(ignore, { key, f: () => void 0 }).equals(keep, { key, f: (a) => traverse(a, key) }).type(isString, (s) => ({ key, f: (a) => traverse(a, s) })).type(isEnumConstructor, (c) => ({
|
|
43
|
+
var toViewer = (key, value) => choose(value).is.not.defined((v) => v, { key, f: () => void 0 }).type(isBoolean, (b) => ({ key, f: () => b })).equals(ignore, { key, f: () => void 0 }).equals(keep, { key, f: (a) => traverse(a, key) }).equals(json2, { key, f: (a) => asJson(traverse(a, key)) }).type(isString, (s) => ({ key, f: (a) => traverse(a, s) })).type(isEnumConstructor, (c) => ({
|
|
43
44
|
key,
|
|
44
45
|
f: (a, key2) => use(traverse(a, key2), (v) => isArray(v) ? c.byIds(v) : c.byId(v))
|
|
45
46
|
})).type(isConstructor, (c) => ({
|
|
@@ -85,6 +86,7 @@ var view = (views2) => new View(views2);
|
|
|
85
86
|
var views = {
|
|
86
87
|
ignore,
|
|
87
88
|
keep,
|
|
89
|
+
json: json2,
|
|
88
90
|
spread,
|
|
89
91
|
skip: ignore,
|
|
90
92
|
value: (value) => () => value,
|
|
@@ -102,4 +104,4 @@ export {
|
|
|
102
104
|
view,
|
|
103
105
|
views
|
|
104
106
|
};
|
|
105
|
-
//# sourceMappingURL=chunk-
|
|
107
|
+
//# sourceMappingURL=chunk-BZXYXP6E.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/View.ts"],"sourcesContent":["import { traverse } from './Traverse';\nimport { ifDefined } from './If';\nimport { Primitive } from '../types/Primitive';\nimport { Constructor, isConstructor, use } from '../types/Constructor';\nimport { asJson, json as typesJson } from '../types/Json';\nimport { choose } from '../types/Case';\nimport { isArray, isBoolean, isFunction, isString } from '../types/Is';\nimport { meta } from '../types/Meta';\nimport { isPageList, PageList, toPageList } from '../types/PageList';\nimport { List } from '../types/List';\nimport { isEqual } from '../types/IsEqual';\nimport { DontInfer } from '../types/Types';\nimport { EnumConstructor, isEnumConstructor } from '../types/Enum';\nimport { Id } from '../types/Id';\n\ntype Func<T = unknown> = (a: any, key?: string) => T;\ntype Viewer = { key: string; f: Func };\n\ntype ViewType<V = any> = Primitive | EnumConstructor | Constructor | Func | View<V> | undefined;\ntype ViewRecord<V = any> = Partial<Record<keyof V, ViewType>>;\n\nconst ignore = Symbol('view.ignore');\nconst keep = Symbol('view.keep');\nconst json = Symbol('view.json');\nconst spread = 'view.spread';\n\nexport const toViewer = (key: string, value: ViewType): Viewer =>\n choose(value)\n .is.not.defined(v => v, { key, f: () => undefined } as Viewer)\n .type(isBoolean, b => ({ key, f: () => b }))\n .equals(ignore, { key, f: () => undefined })\n .equals(keep, { key, f: (a: any) => traverse(a, key) })\n .equals(json, { key, f: (a: any) => asJson(traverse(a, key)) })\n .type(isString, s => ({ key, f: (a: any) => traverse(a, s) }))\n .type(isEnumConstructor, c => ({\n key,\n f: (a, key) => use(traverse(a, key), v => (isArray(v) ? c.byIds(v) : c.byId(v as Id))),\n }))\n .type(isConstructor, c => ({\n key,\n f: (a, key) => use(traverse(a, key), v => (isArray(v) ? v.map(i => optional(c, i)) : optional(c, v))),\n }))\n .type(isSimpleView, f => ({ key, f: (a: any) => ifDefined(traverse(a, key), v => f.from(v)) }))\n .type(isFunction, f => ({ key, f }))\n .else(v => ({ key, f: () => v }));\n\nconst optional = (c: Constructor, v: any) =>\n ifDefined(\n v,\n i => new c(i),\n () => v\n );\n\nconst toViewers = (views: ViewRecord): Viewer[] =>\n meta(views)\n .entries<ViewType>()\n .map(([k, v]) => toViewer(k, v));\n\nexport class View<V = any> {\n constructor(\n private views = {} as ViewRecord<V>,\n readonly startsFrom: 'scratch' | 'source' = 'scratch',\n readonly viewers: Viewer[] = toViewers(views)\n ) {}\n\n get fromSource(): View<V> {\n return new View(this.views, 'source', this.viewers);\n }\n\n from<T = unknown>(source: PageList<T>): PageList<V>;\n from<T = unknown>(source: List<T>): List<V>;\n from<T = unknown>(source: T[]): V[];\n from<T = unknown>(source: T): V;\n from<T = unknown>(source: PageList<T> | List<T> | T[] | T): PageList<V> | List<V> | V[] | V {\n if (isPageList(source))\n return toPageList(\n source.map(s => this.reduce(s)),\n source.options\n );\n if (isArray(source)) return source.map(s => this.reduce(s));\n return this.reduce(source);\n }\n\n same = (one?: unknown, another?: unknown): boolean => isEqual(this.from(one), this.from(another));\n\n private reduce = (source: any): any =>\n use(asJson(source), src =>\n this.viewers.reduce(\n (acc, v) => (v.key === spread ? { ...acc, ...asJson(v.f(src, v.key)) } : typesJson.set(acc, v.key, v.f(src, v.key))),\n this.startsFrom === 'scratch' ? {} : src\n )\n );\n}\n\nexport const isSimpleView = (a: unknown): a is View => a instanceof View;\n\nexport const view = <V = any>(views: ViewRecord<DontInfer<V>>): View<V> => new View<V>(views);\n\nexport const views = {\n ignore,\n keep,\n json,\n spread,\n skip: ignore,\n value: (value: unknown) => () => value,\n or: {\n key: (altKey: string) => (a: unknown, key?: string) => traverse(a, key) ?? traverse(a, altKey),\n value: (altValue: unknown) => (a: unknown, key?: string) => traverse(a, key) ?? altValue,\n func: (altFunc: Func) => (a: unknown, key?: string) => traverse(a, key) ?? altFunc(a, key),\n },\n};\n\n// spread: (a: any, key: string) => ({...a, ...(use(traverse(a, key), v => isObject(v) ? v : ({[key]: v})))}),\n"],"mappings":"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","names":["json","key","views"]}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-GCY5A63A.mjs";
|
|
7
7
|
import {
|
|
8
8
|
json
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-5QTARNGR.mjs";
|
|
10
10
|
import {
|
|
11
11
|
meta
|
|
12
12
|
} from "./chunk-UY6RVBBM.mjs";
|
|
@@ -131,4 +131,4 @@ export {
|
|
|
131
131
|
Mapper,
|
|
132
132
|
mappings
|
|
133
133
|
};
|
|
134
|
-
//# sourceMappingURL=chunk-
|
|
134
|
+
//# sourceMappingURL=chunk-CI6M6BOL.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
json
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5QTARNGR.mjs";
|
|
4
4
|
import {
|
|
5
5
|
validate
|
|
6
6
|
} from "./chunk-7ZZDLHN4.mjs";
|
|
@@ -37,4 +37,4 @@ export {
|
|
|
37
37
|
Struct,
|
|
38
38
|
isStruct
|
|
39
39
|
};
|
|
40
|
-
//# sourceMappingURL=chunk-
|
|
40
|
+
//# sourceMappingURL=chunk-KKJA4X4R.mjs.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
} from "./chunk-AZZRYKCI.mjs";
|
|
8
8
|
import {
|
|
9
9
|
Struct
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KKJA4X4R.mjs";
|
|
11
11
|
import {
|
|
12
12
|
choose
|
|
13
13
|
} from "./chunk-7ZZDLHN4.mjs";
|
|
@@ -47,4 +47,4 @@ __decorateClass([
|
|
|
47
47
|
export {
|
|
48
48
|
Audit
|
|
49
49
|
};
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-VU7IZYRT.mjs.map
|
package/dist/data/Condition.mjs
CHANGED
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
SortCondition,
|
|
5
5
|
isSortCondition,
|
|
6
6
|
toCondition
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-27J67KZN.mjs";
|
|
8
8
|
import "../chunk-MDXL65W4.mjs";
|
|
9
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-5QTARNGR.mjs";
|
|
10
10
|
import "../chunk-2KE4PKDO.mjs";
|
|
11
11
|
import "../chunk-MEV33JDQ.mjs";
|
|
12
12
|
import "../chunk-CO2AFYVD.mjs";
|
package/dist/data/Field.mjs
CHANGED
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
SortCondition,
|
|
6
6
|
toCondition
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-27J67KZN.mjs";
|
|
8
8
|
import "../chunk-MDXL65W4.mjs";
|
|
9
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-5QTARNGR.mjs";
|
|
10
10
|
import "../chunk-2KE4PKDO.mjs";
|
|
11
11
|
import "../chunk-MEV33JDQ.mjs";
|
|
12
12
|
import {
|
package/dist/domain/Audit.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Audit
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-VU7IZYRT.mjs";
|
|
4
4
|
import "../chunk-T7AXBVW5.mjs";
|
|
5
5
|
import "../chunk-AZZRYKCI.mjs";
|
|
6
6
|
import "../chunk-AX6TRH4S.mjs";
|
|
7
7
|
import "../chunk-ADJAEGCT.mjs";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-KKJA4X4R.mjs";
|
|
9
|
+
import "../chunk-5QTARNGR.mjs";
|
|
10
10
|
import "../chunk-7ZZDLHN4.mjs";
|
|
11
11
|
import "../chunk-OFGI5FLG.mjs";
|
|
12
12
|
import "../chunk-GAEU5FXE.mjs";
|
package/dist/domain/Child.mjs
CHANGED
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
import "../chunk-ADJAEGCT.mjs";
|
|
9
9
|
import {
|
|
10
10
|
Struct
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-KKJA4X4R.mjs";
|
|
12
12
|
import {
|
|
13
13
|
json
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-5QTARNGR.mjs";
|
|
15
15
|
import "../chunk-7ZZDLHN4.mjs";
|
|
16
16
|
import "../chunk-OFGI5FLG.mjs";
|
|
17
17
|
import "../chunk-GAEU5FXE.mjs";
|
package/dist/domain/Entity.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import "../chunk-SJ4YFZKO.mjs";
|
|
5
5
|
import {
|
|
6
6
|
Audit
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-VU7IZYRT.mjs";
|
|
8
8
|
import {
|
|
9
9
|
required
|
|
10
10
|
} from "../chunk-T7AXBVW5.mjs";
|
|
@@ -13,10 +13,10 @@ import "../chunk-AX6TRH4S.mjs";
|
|
|
13
13
|
import "../chunk-ADJAEGCT.mjs";
|
|
14
14
|
import {
|
|
15
15
|
Struct
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-KKJA4X4R.mjs";
|
|
17
17
|
import {
|
|
18
18
|
json
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-5QTARNGR.mjs";
|
|
20
20
|
import "../chunk-7ZZDLHN4.mjs";
|
|
21
21
|
import "../chunk-OFGI5FLG.mjs";
|
|
22
22
|
import "../chunk-GAEU5FXE.mjs";
|
package/dist/domain/Repo.mjs
CHANGED
package/dist/domain/Struct.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Struct,
|
|
3
3
|
isStruct
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-KKJA4X4R.mjs";
|
|
5
|
+
import "../chunk-5QTARNGR.mjs";
|
|
6
6
|
import "../chunk-7ZZDLHN4.mjs";
|
|
7
7
|
import "../chunk-OFGI5FLG.mjs";
|
|
8
8
|
import "../chunk-GAEU5FXE.mjs";
|
package/dist/domain/Typo.mjs
CHANGED
package/dist/index.js
CHANGED
|
@@ -669,7 +669,18 @@ var json = {
|
|
|
669
669
|
omit: (subject, ...keys2) => keys2.reduce((js, k) => json.delete(js, k), json.parse(subject)),
|
|
670
670
|
pick: (subject, ...keys2) => keys2.reduce((js, k) => json.set(js, k, subject[k]), {}),
|
|
671
671
|
defaults: (options = {}, defaults = {}) => json.merge(defaults, options),
|
|
672
|
-
isSubset: (subject, subset) => !entries(subset).some(([k, v]) => subject[k] !== v)
|
|
672
|
+
isSubset: (subject, subset) => !entries(subset).some(([k, v]) => subject[k] !== v),
|
|
673
|
+
split: (t, keys2, prop = "extracted") => {
|
|
674
|
+
const extracted = {};
|
|
675
|
+
const rest2 = { ...t };
|
|
676
|
+
keys2.forEach((key) => {
|
|
677
|
+
if (key in t) {
|
|
678
|
+
ifDefined(t[key], (v) => extracted[key] = v);
|
|
679
|
+
delete rest2[key];
|
|
680
|
+
}
|
|
681
|
+
});
|
|
682
|
+
return { [prop]: extracted, ...rest2 };
|
|
683
|
+
}
|
|
673
684
|
};
|
|
674
685
|
var toJson = json.merge;
|
|
675
686
|
var asJson = (j, alt = {}) => isJson(j) ? j.toJSON() : isObject(j) ? j : ofGet(alt, j);
|
|
@@ -1853,9 +1864,9 @@ var rule = (message) => constraint((v) => isFunction(v) ? v() : isBoolean(v) ? v
|
|
|
1853
1864
|
var Audit = class extends Struct {
|
|
1854
1865
|
by = { id: this.state.by?.id, user: this.state.by?.user };
|
|
1855
1866
|
when = new DateTime(this.state.when);
|
|
1856
|
-
constructor(
|
|
1867
|
+
constructor(json3) {
|
|
1857
1868
|
super(
|
|
1858
|
-
choose(
|
|
1869
|
+
choose(json3).is.defined(
|
|
1859
1870
|
(j) => j,
|
|
1860
1871
|
(j) => j
|
|
1861
1872
|
).else({
|
|
@@ -1946,7 +1957,7 @@ var Repository = class {
|
|
|
1946
1957
|
add(t) {
|
|
1947
1958
|
return reject(Exception.IsNotImplemented);
|
|
1948
1959
|
}
|
|
1949
|
-
update(id,
|
|
1960
|
+
update(id, json3) {
|
|
1950
1961
|
return reject(Exception.IsNotImplemented);
|
|
1951
1962
|
}
|
|
1952
1963
|
remove(id) {
|
|
@@ -1992,8 +2003,8 @@ var Repo = class extends Repository {
|
|
|
1992
2003
|
add(t) {
|
|
1993
2004
|
return this.extend(this.create(t), "add").then((i) => when(i).not.isValid.reject()).then((i) => this.validate(i, "add")).then((i) => this.gateway.add(toJson(i))).then((j) => new this.ctor(j));
|
|
1994
2005
|
}
|
|
1995
|
-
update(id,
|
|
1996
|
-
return this.gateway.byId(id).then((j) => when(j).not.isDefined.reject(Exception.DoesNotExist)).then((j) => new this.ctor(j).update(
|
|
2006
|
+
update(id, json3) {
|
|
2007
|
+
return this.gateway.byId(id).then((j) => when(j).not.isDefined.reject(Exception.DoesNotExist)).then((j) => new this.ctor(j).update(json3)).then((i) => this.extend(i, "update")).then((i) => when(i).not.isValid.reject()).then((i) => this.validate(i, "update")).then((i) => this.gateway.update(toJson(i))).then((j) => new this.ctor(j));
|
|
1997
2008
|
}
|
|
1998
2009
|
remove(id) {
|
|
1999
2010
|
return this.gateway.remove(id);
|
|
@@ -2428,14 +2439,14 @@ var Search = class {
|
|
|
2428
2439
|
|
|
2429
2440
|
// src/process/Manage.ts
|
|
2430
2441
|
var Manage = class extends Search {
|
|
2431
|
-
add(
|
|
2432
|
-
return this.repo.add(
|
|
2442
|
+
add(json3) {
|
|
2443
|
+
return this.repo.add(json3);
|
|
2433
2444
|
}
|
|
2434
|
-
update(id,
|
|
2435
|
-
return this.repo.update(id,
|
|
2445
|
+
update(id, json3) {
|
|
2446
|
+
return this.repo.update(id, json3);
|
|
2436
2447
|
}
|
|
2437
|
-
upsert(id,
|
|
2438
|
-
return this.repo.upsert(id,
|
|
2448
|
+
upsert(id, json3) {
|
|
2449
|
+
return this.repo.upsert(id, json3);
|
|
2439
2450
|
}
|
|
2440
2451
|
remove(id) {
|
|
2441
2452
|
return this.repo.remove(id);
|
|
@@ -2878,8 +2889,9 @@ var isEqual = (one, another) => choose([one, another]).case(([o, a]) => o === a,
|
|
|
2878
2889
|
// src/utils/View.ts
|
|
2879
2890
|
var ignore = Symbol("view.ignore");
|
|
2880
2891
|
var keep = Symbol("view.keep");
|
|
2892
|
+
var json2 = Symbol("view.json");
|
|
2881
2893
|
var spread = "view.spread";
|
|
2882
|
-
var toViewer = (key, value) => choose(value).is.not.defined((v) => v, { key, f: () => void 0 }).type(isBoolean, (b) => ({ key, f: () => b })).equals(ignore, { key, f: () => void 0 }).equals(keep, { key, f: (a) => traverse(a, key) }).type(isString, (s) => ({ key, f: (a) => traverse(a, s) })).type(isEnumConstructor, (c) => ({
|
|
2894
|
+
var toViewer = (key, value) => choose(value).is.not.defined((v) => v, { key, f: () => void 0 }).type(isBoolean, (b) => ({ key, f: () => b })).equals(ignore, { key, f: () => void 0 }).equals(keep, { key, f: (a) => traverse(a, key) }).equals(json2, { key, f: (a) => asJson(traverse(a, key)) }).type(isString, (s) => ({ key, f: (a) => traverse(a, s) })).type(isEnumConstructor, (c) => ({
|
|
2883
2895
|
key,
|
|
2884
2896
|
f: (a, key2) => use(traverse(a, key2), (v) => isArray(v) ? c.byIds(v) : c.byId(v))
|
|
2885
2897
|
})).type(isConstructor, (c) => ({
|
|
@@ -2925,6 +2937,7 @@ var view = (views2) => new View(views2);
|
|
|
2925
2937
|
var views = {
|
|
2926
2938
|
ignore,
|
|
2927
2939
|
keep,
|
|
2940
|
+
json: json2,
|
|
2928
2941
|
spread,
|
|
2929
2942
|
skip: ignore,
|
|
2930
2943
|
value: (value) => () => value,
|