@thisisagile/easy 17.19.0 → 17.20.1
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-S5I6XCJK.mjs +60 -0
- package/dist/chunk-S5I6XCJK.mjs.map +1 -0
- package/dist/{chunk-ZEZBMEWP.mjs → chunk-WVYZIPWC.mjs} +1 -1
- package/dist/chunk-WVYZIPWC.mjs.map +1 -0
- package/dist/domain/Repo.mjs +1 -1
- package/dist/domain/Typo.d.ts +19 -1
- package/dist/domain/Typo.mjs +47 -1
- package/dist/domain/Typo.mjs.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +58 -14
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +0 -4
- package/dist/index.mjs.map +1 -1
- package/dist/services/MappedRouteGateway.mjs +1 -1
- package/dist/services/RouteGateway.d.ts +15 -15
- package/dist/services/RouteGateway.mjs +1 -1
- package/dist/services/ViewRouteGateway.mjs +1 -1
- package/dist/types/Repository.d.ts +3 -3
- package/dist/types/Repository.mjs +1 -1
- package/dist/types/Uri.d.ts +14 -11
- package/dist/types/Uri.mjs.map +1 -1
- package/package.json +1 -1
- package/src/domain/Typo.ts +58 -2
- package/src/index.ts +0 -1
- package/src/services/RouteGateway.ts +26 -25
- package/src/types/Repository.ts +3 -3
- package/src/types/Uri.ts +12 -11
- package/dist/chunk-3XD77BIN.mjs +0 -57
- package/dist/chunk-3XD77BIN.mjs.map +0 -1
- package/dist/chunk-ZEZBMEWP.mjs.map +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ApiGateway
|
|
3
|
+
} from "./chunk-3MDXTFJG.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Api
|
|
6
|
+
} from "./chunk-RTTVCEWR.mjs";
|
|
7
|
+
import {
|
|
8
|
+
HttpStatus
|
|
9
|
+
} from "./chunk-H27UMLDT.mjs";
|
|
10
|
+
import {
|
|
11
|
+
toArray
|
|
12
|
+
} from "./chunk-CO2AFYVD.mjs";
|
|
13
|
+
import {
|
|
14
|
+
isDefined
|
|
15
|
+
} from "./chunk-DEJ7A5PY.mjs";
|
|
16
|
+
|
|
17
|
+
// src/services/RouteGateway.ts
|
|
18
|
+
var RouteGateway = class extends ApiGateway {
|
|
19
|
+
constructor(route, routeId, api = new Api()) {
|
|
20
|
+
super(api);
|
|
21
|
+
this.route = route;
|
|
22
|
+
this.routeId = routeId;
|
|
23
|
+
this.api = api;
|
|
24
|
+
}
|
|
25
|
+
all(options) {
|
|
26
|
+
return this.get(this.route().expand(options ?? {}), options);
|
|
27
|
+
}
|
|
28
|
+
byId(id) {
|
|
29
|
+
return this.getOne(this.routeId().id(id));
|
|
30
|
+
}
|
|
31
|
+
byIds(...ids) {
|
|
32
|
+
return this.get(this.route().ids(toArray(...ids)));
|
|
33
|
+
}
|
|
34
|
+
search(q, options) {
|
|
35
|
+
return this.get(this.route().expand({ ...options, q }));
|
|
36
|
+
}
|
|
37
|
+
exists(id) {
|
|
38
|
+
return this.byId(id).then((r) => isDefined(r)).catch((r) => HttpStatus.NotFound.equals(r.status) ? false : Promise.reject(r));
|
|
39
|
+
}
|
|
40
|
+
add(item) {
|
|
41
|
+
return this.post(this.route(), item);
|
|
42
|
+
}
|
|
43
|
+
filter(options) {
|
|
44
|
+
return this.postSearch(this.route().expand(options ?? {}));
|
|
45
|
+
}
|
|
46
|
+
update(item) {
|
|
47
|
+
return this.patch(this.routeId().id(item.id), item);
|
|
48
|
+
}
|
|
49
|
+
upsert(item) {
|
|
50
|
+
return this.put(this.routeId().id(item.id), item);
|
|
51
|
+
}
|
|
52
|
+
remove(id) {
|
|
53
|
+
return this.delete(this.routeId().id(id));
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export {
|
|
58
|
+
RouteGateway
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=chunk-S5I6XCJK.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/services/RouteGateway.ts"],"sourcesContent":["import { Api } from './Api';\nimport { ApiGateway } from './ApiGateway';\nimport { Func } from '../types/Func';\nimport { Uri, UriExpandProps } from '../types/Uri';\nimport { PageList } from '../types/PageList';\nimport { Json, JsonValue } from '../types/Json';\nimport { Id } from '../types/Id';\nimport { Optional } from '../types/Types';\nimport { List } from '../types/List';\nimport { toArray } from '../types/Array';\nimport { HttpStatus } from '../http/HttpStatus';\nimport { isDefined } from '../types/Is';\n\nexport class RouteGateway<Props extends UriExpandProps = UriExpandProps> extends ApiGateway {\n constructor(\n readonly route: Func<Uri<Props>>,\n readonly routeId: Func<Uri<Props>>,\n readonly api: Api = new Api()\n ) {\n super(api);\n }\n\n all(options?: Props): Promise<PageList<Json>> {\n return this.get(this.route().expand(options ?? {}) as Uri, options);\n }\n\n byId(id: Id): Promise<Optional<Json>> {\n return this.getOne(this.routeId().id(id) as Uri);\n }\n\n byIds(...ids: Id[]): Promise<List<Json>> {\n return this.get(this.route().ids(toArray(...ids)) as Uri);\n }\n\n search(q: JsonValue, options?: Props): Promise<PageList<Json>> {\n return this.get(this.route().expand({ ...options, q } as Props) as Uri);\n }\n\n exists(id: Id): Promise<boolean> {\n return this.byId(id)\n .then(r => isDefined(r))\n .catch(r => (HttpStatus.NotFound.equals(r.status) ? false : Promise.reject(r)));\n }\n\n add(item: Json): Promise<Json> {\n return this.post(this.route() as Uri, item);\n }\n\n filter(options?: Props): Promise<PageList<Json>> {\n return this.postSearch(this.route().expand(options ?? {}) as Uri);\n }\n\n update(item: Json): Promise<Json> {\n return this.patch(this.routeId().id(item.id) as Uri, item);\n }\n\n upsert(item: Json): Promise<Json> {\n return this.put(this.routeId().id(item.id) as Uri, item);\n }\n\n remove(id: Id): Promise<boolean> {\n return this.delete(this.routeId().id(id) as Uri);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAaO,IAAM,eAAN,cAA0E,WAAW;AAAA,EAC1F,YACW,OACA,SACA,MAAW,IAAI,IAAI,GAC5B;AACA,UAAM,GAAG;AAJA;AACA;AACA;AAAA,EAGX;AAAA,EAEA,IAAI,SAA0C;AAC5C,WAAO,KAAK,IAAI,KAAK,MAAM,EAAE,OAAO,WAAW,CAAC,CAAC,GAAU,OAAO;AAAA,EACpE;AAAA,EAEA,KAAK,IAAiC;AACpC,WAAO,KAAK,OAAO,KAAK,QAAQ,EAAE,GAAG,EAAE,CAAQ;AAAA,EACjD;AAAA,EAEA,SAAS,KAAgC;AACvC,WAAO,KAAK,IAAI,KAAK,MAAM,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,CAAQ;AAAA,EAC1D;AAAA,EAEA,OAAO,GAAc,SAA0C;AAC7D,WAAO,KAAK,IAAI,KAAK,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,CAAU,CAAQ;AAAA,EACxE;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,KAAK,KAAK,EAAE,EAChB,KAAK,OAAK,UAAU,CAAC,CAAC,EACtB,MAAM,OAAM,WAAW,SAAS,OAAO,EAAE,MAAM,IAAI,QAAQ,QAAQ,OAAO,CAAC,CAAE;AAAA,EAClF;AAAA,EAEA,IAAI,MAA2B;AAC7B,WAAO,KAAK,KAAK,KAAK,MAAM,GAAU,IAAI;AAAA,EAC5C;AAAA,EAEA,OAAO,SAA0C;AAC/C,WAAO,KAAK,WAAW,KAAK,MAAM,EAAE,OAAO,WAAW,CAAC,CAAC,CAAQ;AAAA,EAClE;AAAA,EAEA,OAAO,MAA2B;AAChC,WAAO,KAAK,MAAM,KAAK,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAU,IAAI;AAAA,EAC3D;AAAA,EAEA,OAAO,MAA2B;AAChC,WAAO,KAAK,IAAI,KAAK,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAU,IAAI;AAAA,EACzD;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,KAAK,OAAO,KAAK,QAAQ,EAAE,GAAG,EAAE,CAAQ;AAAA,EACjD;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types/Repository.ts"],"sourcesContent":["import { FetchOptions } from './Gateway';\nimport { PageList } from './PageList';\nimport { Exception } from './Exception';\nimport { reject } from '../utils/Promise';\nimport { Id, Key } from './Id';\nimport { List } from './List';\nimport { Json, JsonValue } from './Json';\n\nexport class Repository<T, Options = FetchOptions> {\n all(options?: Options): Promise<PageList<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n byId(id: Id): Promise<T> {\n return reject(Exception.IsNotImplemented);\n }\n\n byIds(...ids: Id[]): Promise<List<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n byKey(key: Key, options?: Options): Promise<PageList<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n by(key: keyof T, value: JsonValue, options?: Options): Promise<PageList<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n search(q: JsonValue, options?: Options): Promise<PageList<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n filter(options?: Options): Promise<PageList<T>> {\n return reject(Exception.IsNotImplemented);\n }\n\n exists(id: Id): Promise<boolean> {\n return reject(Exception.IsNotImplemented);\n }\n\n add(t: Partial<T> | Json): Promise<T> {\n return reject(Exception.IsNotImplemented);\n }\n\n update(id: Id, json: Partial<T> | Json): Promise<T> {\n return reject(Exception.IsNotImplemented);\n }\n\n remove(id: Id): Promise<boolean> {\n return reject(Exception.IsNotImplemented);\n }\n\n upsert(id: Id, item: Partial<T> | Json): Promise<T> {\n return reject(Exception.IsNotImplemented);\n }\n}\n"],"mappings":";;;;;;;;AAQO,IAAM,aAAN,MAA4C;AAAA,EACjD,IAAI,SAAyC;AAC3C,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,KAAK,IAAoB;AACvB,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,SAAS,KAA6B;AACpC,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,MAAM,KAAU,SAAyC;AACvD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,GAAG,KAAc,OAAkB,SAAyC;AAC1E,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,GAAc,SAAyC;AAC5D,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,SAAyC;AAC9C,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,IAAI,GAAkC;AACpC,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAAQ,MAAqC;AAClD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAA0B;AAC/B,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AAAA,EAEA,OAAO,IAAQ,MAAqC;AAClD,WAAO,OAAO,UAAU,gBAAgB;AAAA,EAC1C;AACF;","names":[]}
|
package/dist/domain/Repo.mjs
CHANGED
package/dist/domain/Typo.d.ts
CHANGED
|
@@ -5,7 +5,9 @@ import { Json, JsonValue } from '../types/Json';
|
|
|
5
5
|
import { PageList } from '../types/PageList';
|
|
6
6
|
import { Id, Key } from '../types/Id';
|
|
7
7
|
import { List } from '../types/List';
|
|
8
|
-
|
|
8
|
+
import { RouteGateway } from '../services/RouteGateway';
|
|
9
|
+
import { RouteOptions } from '../services/Api';
|
|
10
|
+
export declare class Typo<T, Options extends RouteOptions = RouteOptions> extends Repository<T, Options> {
|
|
9
11
|
protected view: View<T>;
|
|
10
12
|
private readonly gateway;
|
|
11
13
|
constructor(view: View<T>, gateway: Gateway<Options>);
|
|
@@ -19,3 +21,19 @@ export declare class Typo<T, Options = FetchOptions> extends Repository<T, Optio
|
|
|
19
21
|
filter(options?: Options): Promise<PageList<T>>;
|
|
20
22
|
exists(id: Id): Promise<boolean>;
|
|
21
23
|
}
|
|
24
|
+
export declare class Agent<T, Options extends FetchOptions = FetchOptions> extends Repository<T, Options> {
|
|
25
|
+
private gateway;
|
|
26
|
+
constructor(gateway: RouteGateway);
|
|
27
|
+
all(options?: Options): Promise<PageList<T>>;
|
|
28
|
+
byId(id: Id): Promise<T>;
|
|
29
|
+
byIds(...ids: Id[]): Promise<List<T>>;
|
|
30
|
+
byKey(key: Key, options?: Options): Promise<PageList<T>>;
|
|
31
|
+
by(key: keyof T, value: JsonValue, options?: Options): Promise<PageList<T>>;
|
|
32
|
+
search(q: JsonValue, options?: Options): Promise<PageList<T>>;
|
|
33
|
+
filter(options?: Options): Promise<PageList<T>>;
|
|
34
|
+
exists(id: Id): Promise<boolean>;
|
|
35
|
+
add(t: Partial<T>): Promise<T>;
|
|
36
|
+
update(id: Id, t: Partial<T>): Promise<T>;
|
|
37
|
+
upsert(id: Id, t: Partial<T>): Promise<T>;
|
|
38
|
+
remove(id: Id): Promise<boolean>;
|
|
39
|
+
}
|
package/dist/domain/Typo.mjs
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Repository
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-WVYZIPWC.mjs";
|
|
4
|
+
import {
|
|
5
|
+
toJson
|
|
6
|
+
} from "../chunk-IANSP3JJ.mjs";
|
|
4
7
|
import {
|
|
5
8
|
when
|
|
6
9
|
} from "../chunk-TRIKRGDF.mjs";
|
|
@@ -61,7 +64,50 @@ var Typo = class extends Repository {
|
|
|
61
64
|
return this.gateway.exists(id);
|
|
62
65
|
}
|
|
63
66
|
};
|
|
67
|
+
var Agent = class extends Repository {
|
|
68
|
+
constructor(gateway) {
|
|
69
|
+
super();
|
|
70
|
+
this.gateway = gateway;
|
|
71
|
+
}
|
|
72
|
+
all(options) {
|
|
73
|
+
return this.gateway.all(options);
|
|
74
|
+
}
|
|
75
|
+
byId(id) {
|
|
76
|
+
return this.gateway.byId(id);
|
|
77
|
+
}
|
|
78
|
+
byIds(...ids) {
|
|
79
|
+
return this.gateway.byIds(...ids);
|
|
80
|
+
}
|
|
81
|
+
byKey(key, options) {
|
|
82
|
+
return this.gateway.by("key", key, options);
|
|
83
|
+
}
|
|
84
|
+
by(key, value, options) {
|
|
85
|
+
return this.gateway.by(key.toString(), value, options);
|
|
86
|
+
}
|
|
87
|
+
search(q, options) {
|
|
88
|
+
return this.gateway.search(q, options);
|
|
89
|
+
}
|
|
90
|
+
filter(options) {
|
|
91
|
+
return this.gateway.filter(options);
|
|
92
|
+
}
|
|
93
|
+
exists(id) {
|
|
94
|
+
return this.gateway.exists(id);
|
|
95
|
+
}
|
|
96
|
+
add(t) {
|
|
97
|
+
return this.gateway.add(toJson(t));
|
|
98
|
+
}
|
|
99
|
+
update(id, t) {
|
|
100
|
+
return this.gateway.update({ ...toJson(t), id });
|
|
101
|
+
}
|
|
102
|
+
upsert(id, t) {
|
|
103
|
+
return this.gateway.upsert({ ...toJson(t), id });
|
|
104
|
+
}
|
|
105
|
+
remove(id) {
|
|
106
|
+
return this.gateway.remove(id);
|
|
107
|
+
}
|
|
108
|
+
};
|
|
64
109
|
export {
|
|
110
|
+
Agent,
|
|
65
111
|
Typo
|
|
66
112
|
};
|
|
67
113
|
//# sourceMappingURL=Typo.mjs.map
|
package/dist/domain/Typo.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/domain/Typo.ts"],"sourcesContent":["import { View } from '../utils/View';\nimport { FetchOptions, Gateway } from '../types/Gateway';\nimport { Repository } from '../types/Repository';\nimport { Json, JsonValue } from '../types/Json';\nimport { PageList } from '../types/PageList';\nimport { Id, Key } from '../types/Id';\nimport { when } from '../validation/When';\nimport { Exception } from '../types/Exception';\nimport { List } from '../types/List';\n\nexport class Typo<T, Options =
|
|
1
|
+
{"version":3,"sources":["../../src/domain/Typo.ts"],"sourcesContent":["import { View } from '../utils/View';\nimport { FetchOptions, Gateway } from '../types/Gateway';\nimport { Repository } from '../types/Repository';\nimport { Json, JsonValue, toJson } from '../types/Json';\nimport { PageList } from '../types/PageList';\nimport { Id, Key } from '../types/Id';\nimport { when } from '../validation/When';\nimport { Exception } from '../types/Exception';\nimport { List } from '../types/List';\nimport { RouteGateway } from '../services/RouteGateway';\nimport { RouteOptions } from '../services/Api';\n\nexport class Typo<T, Options extends RouteOptions = RouteOptions> extends Repository<T, Options> {\n constructor(\n protected view: View<T>,\n private readonly gateway: Gateway<Options>\n ) {\n super();\n }\n\n create = (j: Json): T => this.view.from(j);\n\n all(options?: Options): Promise<PageList<T>> {\n return this.gateway.all(options).then(js => js.map(this.create));\n }\n\n byId(id: Id): Promise<T> {\n return this.gateway\n .byId(id)\n .then(j => when(j).not.isDefined.reject(Exception.DoesNotExist))\n .then(j => this.create(j));\n }\n\n byIds(...ids: Id[]): Promise<List<T>> {\n return this.gateway.byIds(...ids).then(js => js.map(this.create));\n }\n\n byKey(key: Key, options?: Options): Promise<PageList<T>> {\n return this.gateway.by('key', key, options).then(js => js.map(this.create));\n }\n\n by(key: keyof T, value: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.by(key.toString(), value, options).then(js => js.map(this.create));\n }\n\n search(q: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.search(q, options).then(js => js.map(this.create));\n }\n\n filter(options?: Options): Promise<PageList<T>> {\n return this.gateway.filter(options).then(js => js.map(j => this.create(j)));\n }\n\n exists(id: Id): Promise<boolean> {\n return this.gateway.exists(id);\n }\n}\n\nexport class Agent<T, Options extends FetchOptions = FetchOptions> extends Repository<T, Options> {\n constructor(private gateway: RouteGateway) {\n super();\n }\n\n all(options?: Options): Promise<PageList<T>> {\n return this.gateway.all(options) as Promise<PageList<T>>;\n }\n\n byId(id: Id): Promise<T> {\n return this.gateway.byId(id) as Promise<T>;\n }\n\n byIds(...ids: Id[]): Promise<List<T>> {\n return this.gateway.byIds(...ids) as Promise<List<T>>;\n }\n\n byKey(key: Key, options?: Options): Promise<PageList<T>> {\n return this.gateway.by('key', key, options) as Promise<PageList<T>>;\n }\n\n by(key: keyof T, value: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.by(key.toString(), value, options) as Promise<PageList<T>>;\n }\n\n search(q: JsonValue, options?: Options): Promise<PageList<T>> {\n return this.gateway.search(q, options) as Promise<PageList<T>>;\n }\n\n filter(options?: Options): Promise<PageList<T>> {\n return this.gateway.filter(options) as Promise<PageList<T>>;\n }\n\n exists(id: Id): Promise<boolean> {\n return this.gateway.exists(id);\n }\n\n add(t: Partial<T>): Promise<T> {\n return this.gateway.add(toJson(t)) as Promise<T>;\n }\n\n update(id: Id, t: Partial<T>): Promise<T> {\n return this.gateway.update({ ...toJson(t), id }) as Promise<T>;\n }\n\n upsert(id: Id, t: Partial<T>): Promise<T> {\n return this.gateway.upsert({ ...toJson(t), id }) as Promise<T>;\n }\n\n remove(id: Id): Promise<boolean> {\n return this.gateway.remove(id);\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -39,6 +39,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
39
39
|
// src/index.ts
|
|
40
40
|
var src_exports = {};
|
|
41
41
|
__export(src_exports, {
|
|
42
|
+
Agent: () => Agent,
|
|
42
43
|
Api: () => Api,
|
|
43
44
|
ApiGateway: () => ApiGateway,
|
|
44
45
|
App: () => App,
|
|
@@ -2032,6 +2033,48 @@ var Typo = class extends Repository {
|
|
|
2032
2033
|
return this.gateway.exists(id);
|
|
2033
2034
|
}
|
|
2034
2035
|
};
|
|
2036
|
+
var Agent = class extends Repository {
|
|
2037
|
+
constructor(gateway) {
|
|
2038
|
+
super();
|
|
2039
|
+
this.gateway = gateway;
|
|
2040
|
+
}
|
|
2041
|
+
all(options) {
|
|
2042
|
+
return this.gateway.all(options);
|
|
2043
|
+
}
|
|
2044
|
+
byId(id) {
|
|
2045
|
+
return this.gateway.byId(id);
|
|
2046
|
+
}
|
|
2047
|
+
byIds(...ids) {
|
|
2048
|
+
return this.gateway.byIds(...ids);
|
|
2049
|
+
}
|
|
2050
|
+
byKey(key, options) {
|
|
2051
|
+
return this.gateway.by("key", key, options);
|
|
2052
|
+
}
|
|
2053
|
+
by(key, value, options) {
|
|
2054
|
+
return this.gateway.by(key.toString(), value, options);
|
|
2055
|
+
}
|
|
2056
|
+
search(q, options) {
|
|
2057
|
+
return this.gateway.search(q, options);
|
|
2058
|
+
}
|
|
2059
|
+
filter(options) {
|
|
2060
|
+
return this.gateway.filter(options);
|
|
2061
|
+
}
|
|
2062
|
+
exists(id) {
|
|
2063
|
+
return this.gateway.exists(id);
|
|
2064
|
+
}
|
|
2065
|
+
add(t) {
|
|
2066
|
+
return this.gateway.add(toJson(t));
|
|
2067
|
+
}
|
|
2068
|
+
update(id, t) {
|
|
2069
|
+
return this.gateway.update({ ...toJson(t), id });
|
|
2070
|
+
}
|
|
2071
|
+
upsert(id, t) {
|
|
2072
|
+
return this.gateway.upsert({ ...toJson(t), id });
|
|
2073
|
+
}
|
|
2074
|
+
remove(id) {
|
|
2075
|
+
return this.gateway.remove(id);
|
|
2076
|
+
}
|
|
2077
|
+
};
|
|
2035
2078
|
|
|
2036
2079
|
// src/types/Number.ts
|
|
2037
2080
|
var asNumber = (n, alt) => tryTo(() => asString(n)).map((s) => parseInt(s)).filter((n2) => isNumber(n2)).or(ofGet(alt) ?? NaN);
|
|
@@ -2626,34 +2669,34 @@ var RouteGateway = class extends ApiGateway {
|
|
|
2626
2669
|
this.api = api2;
|
|
2627
2670
|
}
|
|
2628
2671
|
all(options) {
|
|
2629
|
-
return this.get(this.route(), options);
|
|
2672
|
+
return this.get(this.route().expand(options ?? {}), options);
|
|
2630
2673
|
}
|
|
2631
|
-
byId(id
|
|
2674
|
+
byId(id) {
|
|
2632
2675
|
return this.getOne(this.routeId().id(id));
|
|
2633
2676
|
}
|
|
2634
2677
|
byIds(...ids) {
|
|
2635
2678
|
return this.get(this.route().ids(toArray(...ids)));
|
|
2636
2679
|
}
|
|
2637
2680
|
search(q, options) {
|
|
2638
|
-
return this.get(this.route().
|
|
2681
|
+
return this.get(this.route().expand({ ...options, q }));
|
|
2639
2682
|
}
|
|
2640
|
-
exists(id
|
|
2641
|
-
return this.
|
|
2683
|
+
exists(id) {
|
|
2684
|
+
return this.byId(id).then((r) => isDefined(r)).catch((r) => HttpStatus.NotFound.equals(r.status) ? false : Promise.reject(r));
|
|
2642
2685
|
}
|
|
2643
|
-
add(item
|
|
2644
|
-
return this.post(this.route(), item
|
|
2686
|
+
add(item) {
|
|
2687
|
+
return this.post(this.route(), item);
|
|
2645
2688
|
}
|
|
2646
2689
|
filter(options) {
|
|
2647
|
-
return this.postSearch(this.route()
|
|
2690
|
+
return this.postSearch(this.route().expand(options ?? {}));
|
|
2648
2691
|
}
|
|
2649
|
-
update(item
|
|
2650
|
-
return this.patch(this.routeId().id(item.id), item
|
|
2692
|
+
update(item) {
|
|
2693
|
+
return this.patch(this.routeId().id(item.id), item);
|
|
2651
2694
|
}
|
|
2652
|
-
upsert(item
|
|
2653
|
-
return this.put(this.routeId().id(item.id), item
|
|
2695
|
+
upsert(item) {
|
|
2696
|
+
return this.put(this.routeId().id(item.id), item);
|
|
2654
2697
|
}
|
|
2655
|
-
remove(id
|
|
2656
|
-
return this.delete(this.routeId().id(id)
|
|
2698
|
+
remove(id) {
|
|
2699
|
+
return this.delete(this.routeId().id(id));
|
|
2657
2700
|
}
|
|
2658
2701
|
};
|
|
2659
2702
|
|
|
@@ -3413,6 +3456,7 @@ var Wait = class {
|
|
|
3413
3456
|
var wait = (millis) => Wait.wait(millis);
|
|
3414
3457
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3415
3458
|
0 && (module.exports = {
|
|
3459
|
+
Agent,
|
|
3416
3460
|
Api,
|
|
3417
3461
|
ApiGateway,
|
|
3418
3462
|
App,
|