@thisisagile/easy 12.22.3 → 12.22.5
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/domain/values/DateTime.d.ts +3 -3
- package/dist/domain/values/DateTime.js.map +1 -1
- package/dist/resources/Route.js.map +1 -1
- package/dist/security/Jwt.d.ts +3 -3
- package/dist/security/Jwt.js.map +1 -1
- package/dist/services/ApiGateway.d.ts +2 -2
- package/dist/services/ApiGateway.js.map +1 -1
- package/dist/services/MappedRouteGateway.d.ts +2 -2
- package/dist/services/RouteGateway.d.ts +2 -2
- package/dist/types/List.d.ts +3 -2
- package/dist/types/List.js.map +1 -1
- package/package.json +3 -3
- package/src/domain/values/DateTime.ts +4 -4
- package/src/resources/Route.ts +2 -2
- package/src/security/Jwt.ts +3 -3
- package/src/services/ApiGateway.ts +2 -2
- package/src/services/MappedRouteGateway.ts +2 -2
- package/src/services/RouteGateway.ts +2 -2
- package/src/types/List.ts +3 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { JsonValue, Value } from '../../types';
|
|
1
|
+
import { JsonValue, Optional, Value } from '../../types';
|
|
2
2
|
import { DateTime as LuxonDateTime, DateTimeUnit as LuxonDateTimeUnit } from 'luxon';
|
|
3
3
|
export type DateTimeUnit = LuxonDateTimeUnit;
|
|
4
4
|
export type DiffOptions = {
|
|
5
5
|
rounding: 'floor' | 'ceil' | 'round';
|
|
6
6
|
};
|
|
7
|
-
export declare class DateTime extends Value<string
|
|
7
|
+
export declare class DateTime extends Value<Optional<string>> {
|
|
8
8
|
constructor(value?: string | number | Date, format?: string);
|
|
9
9
|
static get now(): DateTime;
|
|
10
10
|
get isValid(): boolean;
|
|
@@ -28,6 +28,6 @@ export declare class DateTime extends Value<string | undefined> {
|
|
|
28
28
|
toFormat: (format: string) => string;
|
|
29
29
|
toLocale: (locale?: string, format?: string) => string;
|
|
30
30
|
toFull: (locale?: string) => string;
|
|
31
|
-
toDate(): Date
|
|
31
|
+
toDate(): Optional<Date>;
|
|
32
32
|
}
|
|
33
33
|
export declare const isDateTime: (dt?: unknown) => dt is DateTime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../../../src/domain/values/DateTime.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../../../src/domain/values/DateTime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../src/resources/Route.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../src/resources/Route.ts"],"names":[],"mappings":";;;AAAA,oCAA4D;AAOrD,MAAM,KAAK,GAChB,CAAC,GAAQ,EAAkB,EAAE,CAC7B,CAAC,OAAgB,EAAQ,EAAE;IACzB,IAAA,YAAI,EAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC,CAAC;AAJS,QAAA,KAAK,SAId;AAOJ,MAAM,OAAO,GAAG,CAAC,QAAkB,EAAE,QAAuB,EAAE,IAAW,EAAE,UAA6B,EAAmB,EAAE,CAC3H,IAAA,aAAK,EAAC,IAAI,CAAC;KACR,EAAE,CAAC,OAAO,EAAE;KACZ,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,IAAI,EAAE,EAAY,CAAA,CAAC;KAClF,MAAM,EAAE,CAAC;AAEd,MAAM,MAAM;IACV,YAAqB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAE3C,IAAI,KAAK;QACP,OAAO,IAAA,YAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAA,YAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAmB,YAAY,CAAC,IAAI,EAAE,CAAC;IACvE,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAA,YAAI,EAAC,IAAI,CAAC,QAAQ,CAAC;aACvB,UAAU,CAAC,MAAM,CAAC;aAClB,UAAU,CAAC,CAAC,CAAC,EAAE,CACd,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EACzB;YACE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAU,SAAS,CAAC,IAAI,KAAK;YAC3C,KAAK,EAAE,CAAC,CAAC,GAAG,CAAU,OAAO,CAAC,IAAI,KAAK;YACvC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAQ,OAAO,CAAC;YAC5B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAU,IAAI,CAAC;SACzB,EACD,CAAC,CAAC,GAAG,CAAO,MAAM,CAAC,EACnB,CAAC,CAAC,GAAG,CAAmB,YAAY,CAAC,CACtC,CACF,CAAC;IACN,CAAC;CACF;AAEM,MAAM,MAAM,GAAG,CAAC,QAAkB,EAAU,EAAE,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;AAA9D,QAAA,MAAM,UAAwD"}
|
package/dist/security/Jwt.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Json, Validatable, Value } from '../types';
|
|
1
|
+
import { Json, OneOrMore, Optional, Validatable, Value } from '../types';
|
|
2
2
|
interface SignOptions {
|
|
3
|
-
audience?: string
|
|
4
|
-
issuer?: string
|
|
3
|
+
audience?: Optional<OneOrMore<string>>;
|
|
4
|
+
issuer?: Optional<string>;
|
|
5
5
|
}
|
|
6
6
|
export declare class Jwt extends Value implements Validatable {
|
|
7
7
|
get isValid(): boolean;
|
package/dist/security/Jwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Jwt.js","sourceRoot":"","sources":["../../src/security/Jwt.ts"],"names":[],"mappings":";;;AAAA,+CAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"Jwt.js","sourceRoot":"","sources":["../../src/security/Jwt.ts"],"names":[],"mappings":";;;AAAA,+CAA+D;AAC/D,oCAAqF;AAMrF,MAAa,GAAI,SAAQ,aAAK;IAA9B;;QAyBE,WAAM,GAAG,GAAS,EAAE,CAAC,IAAA,qBAAM,EAAC,IAAI,CAAC,KAAK,CAAS,CAAC;IAKlD,CAAC;IA7BC,IAAI,OAAO;QACT,OAAO,CACL,IAAA,aAAK,EAAC,GAAG,EAAE,CAAC,WAAG,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;aAC7C,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,qBAAM,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aACnC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aACf,MAAM,EAAE,IAAI,KAAK,CACrB,CAAC;IACJ,CAAC;IAmBD,MAAM;QACJ,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;;AA7BH,kBA8BC;AApBQ,QAAI,GAAG,CAAC,KAAW,EAAE,OAAqB,EAAO,EAAE,CACxD,IAAA,aAAK,EAAC,GAAG,EAAE,CAAC,WAAG,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;KAC9C,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE;KACd,GAAG,CAAC,GAAG,CAAC,EAAE,CACT,IAAA,mBAAI,EAAC,KAAK,EAAE,GAAG,EAAE;IACf,GAAG,OAAO;IACV,SAAS,EAAE,WAAG,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,IAAI;IAChD,KAAK,EAAE,WAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,MAAM;IAC1C,SAAS,EAAE,WAAG,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAc;CAC/D,CAAC,CACH;KACA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAEzB,MAAE,GAAG,CAAC,CAAkB,EAAO,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Api, RouteOptions } from './Api';
|
|
2
|
-
import { FetchOptions, Gateway, Json, PageList, Uri } from '../types';
|
|
2
|
+
import { FetchOptions, Gateway, Json, Optional, PageList, Uri } from '../types';
|
|
3
3
|
import { RequestOptions } from '../http';
|
|
4
4
|
export declare class ApiGateway extends Gateway<RouteOptions> {
|
|
5
5
|
readonly api: Api;
|
|
6
6
|
constructor(api?: Api);
|
|
7
7
|
get(uri: Uri, options?: RouteOptions): Promise<PageList<Json>>;
|
|
8
|
-
getOne(uri: Uri, options?: RouteOptions): Promise<Json
|
|
8
|
+
getOne(uri: Uri, options?: RouteOptions): Promise<Optional<Json>>;
|
|
9
9
|
post(uri: Uri, item?: Json, options?: RouteOptions): Promise<Json>;
|
|
10
10
|
postSearch(uri: Uri, options?: RequestOptions | FetchOptions): Promise<PageList<Json>>;
|
|
11
11
|
patch(uri: Uri, item: Json, options?: RouteOptions): Promise<Json>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiGateway.js","sourceRoot":"","sources":["../../src/services/ApiGateway.ts"],"names":[],"mappings":";;;AAAA,+BAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"ApiGateway.js","sourceRoot":"","sources":["../../src/services/ApiGateway.ts"],"names":[],"mappings":";;;AAAA,+BAA0C;AAC1C,oCAAoG;AACpG,kCAAwD;AAExD,MAAa,UAAW,SAAQ,eAAqB;IACnD,YAAqB,MAAW,IAAI,SAAG,EAAE;QACvC,KAAK,EAAE,CAAC;QADW,QAAG,GAAH,GAAG,CAAiB;IAEzC,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,OAAsB;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACzC,IAAA,kBAAU,EACR,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAClB,IAAA,oBAAa,EAAC,OAAO,CAAC,IAAI;YACxB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU;YAC9B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAmB;SAChD,CACF,CACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAQ,EAAE,OAAsB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,IAAW,EAAE,OAAsB;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,UAAU,CAAC,GAAQ,EAAE,OAAuC;QAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC1C,IAAA,kBAAU,EACR,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAClB,IAAA,oBAAa,EAAC,OAAO,CAAC,IAAI;YACxB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU;YAC9B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAmB;SAChD,CACF,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAQ,EAAE,IAAU,EAAE,OAAsB;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,IAAU,EAAE,OAAsB;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,CAAC,GAAQ,EAAE,OAAsB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;CACF;AAhDD,gCAgDC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Api } from './Api';
|
|
2
|
-
import { Func, Json, List, Uri } from '../types';
|
|
2
|
+
import { Func, Json, List, Optional, Uri } from '../types';
|
|
3
3
|
import { Mapper } from '../utils';
|
|
4
4
|
import { RouteGateway } from './RouteGateway';
|
|
5
5
|
import { RequestOptions } from '../http';
|
|
@@ -10,7 +10,7 @@ export declare class MappedRouteGateway extends RouteGateway {
|
|
|
10
10
|
readonly api: Api;
|
|
11
11
|
constructor(route: Func<Uri>, routeId: Func<Uri>, map?: Mapper, api?: Api);
|
|
12
12
|
get(uri: Uri, options?: RequestOptions): Promise<List<Json>>;
|
|
13
|
-
getOne(uri: Uri, options?: RequestOptions): Promise<Json
|
|
13
|
+
getOne(uri: Uri, options?: RequestOptions): Promise<Optional<Json>>;
|
|
14
14
|
add(item: Json): Promise<Json>;
|
|
15
15
|
update(item: Json): Promise<Json>;
|
|
16
16
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Api, RouteOptions } from './Api';
|
|
2
|
-
import { Func, Id, Json, JsonValue, PageList, Uri } from '../types';
|
|
2
|
+
import { Func, Id, Json, JsonValue, Optional, PageList, Uri } from '../types';
|
|
3
3
|
import { ApiGateway } from './ApiGateway';
|
|
4
4
|
export declare class RouteGateway extends ApiGateway {
|
|
5
5
|
readonly route: Func<Uri>;
|
|
@@ -7,7 +7,7 @@ export declare class RouteGateway extends ApiGateway {
|
|
|
7
7
|
readonly api: Api;
|
|
8
8
|
constructor(route: Func<Uri>, routeId: Func<Uri>, api?: Api);
|
|
9
9
|
all(options?: RouteOptions): Promise<PageList<Json>>;
|
|
10
|
-
byId(id: Id, options?: RouteOptions): Promise<Json
|
|
10
|
+
byId(id: Id, options?: RouteOptions): Promise<Optional<Json>>;
|
|
11
11
|
search(q: JsonValue, options?: RouteOptions): Promise<PageList<Json>>;
|
|
12
12
|
exists(id: Id, options?: RouteOptions): Promise<boolean>;
|
|
13
13
|
add(item: Json, options?: RouteOptions): Promise<Json>;
|
package/dist/types/List.d.ts
CHANGED
|
@@ -3,11 +3,12 @@ import { Constructor } from './Constructor';
|
|
|
3
3
|
import { Json } from './Json';
|
|
4
4
|
import { Get, GetProperty } from './Get';
|
|
5
5
|
import { Id } from './Id';
|
|
6
|
+
import { Optional } from './Types';
|
|
6
7
|
export declare class List<T = unknown> extends Array<T> {
|
|
7
8
|
asc: (p: GetProperty<T, any>) => List<T>;
|
|
8
9
|
desc: (p: GetProperty<T, any>) => List<T>;
|
|
9
10
|
first: (p?: ((value: T, index: number, array: T[]) => unknown) | undefined, params?: unknown) => T;
|
|
10
|
-
firstValue: <V>(f: (t: T) => V, alt?: Get<V, T> | undefined) => V
|
|
11
|
+
firstValue: <V>(f: (t: T) => V, alt?: Get<V, T> | undefined) => Optional<V>;
|
|
11
12
|
isFirst: (value: T) => boolean;
|
|
12
13
|
next: (p?: ((value: T, index: number, array: T[]) => unknown) | undefined, params?: unknown) => T;
|
|
13
14
|
prev: (p?: ((value: T, index: number, array: T[]) => unknown) | undefined, params?: unknown) => T;
|
|
@@ -35,7 +36,7 @@ export declare class List<T = unknown> extends Array<T> {
|
|
|
35
36
|
defined: () => List<NonNullable<T>>;
|
|
36
37
|
toObject: (key: keyof T) => Record<string | number | symbol, T>;
|
|
37
38
|
toObjectList: (key: keyof T) => Record<string | number | symbol, List<T>>;
|
|
38
|
-
orElse: (...alt: ArrayLike<T>) => List<T
|
|
39
|
+
orElse: (...alt: ArrayLike<T>) => Optional<List<T>>;
|
|
39
40
|
weave: (insertFrom: T[], interval: number) => this;
|
|
40
41
|
slice(start?: number, end?: number): List<T>;
|
|
41
42
|
}
|
package/dist/types/List.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/types/List.ts"],"names":[],"mappings":";;;AAAA,mCAAwE;AAExE,iCAAoC;AACpC,6BAAmD;AACnD,+BAA4B;AAC5B,+BAA4D;AAE5D,iCAAkC;AAClC,+BAA8B;AAC9B,iCAA8B;
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/types/List.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thisisagile/easy",
|
|
3
|
-
"version": "12.22.
|
|
3
|
+
"version": "12.22.5",
|
|
4
4
|
"description": "Straightforward library for building domain-driven microservice architectures",
|
|
5
5
|
"author": "Sander Hoogendoorn",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@thisisagile/easy-test": "12.22.
|
|
34
|
+
"@thisisagile/easy-test": "12.22.5",
|
|
35
35
|
"@types/form-urlencoded": "^4.4.0",
|
|
36
36
|
"@types/jsonwebtoken": "^8.5.9",
|
|
37
37
|
"@types/luxon": "3.1.0",
|
|
38
|
-
"@types/validator": "^13.7.
|
|
38
|
+
"@types/validator": "^13.7.11"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@types/uuid": "^8.3.4",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { choose, isA, isDate, isDefined, isNumber, isString, JsonValue, Value } from '../../types';
|
|
1
|
+
import { choose, isA, isDate, isDefined, isNumber, isString, JsonValue, Optional, Value } from '../../types';
|
|
2
2
|
import { DateTime as LuxonDateTime, DateTimeUnit as LuxonDateTimeUnit, Settings } from 'luxon';
|
|
3
3
|
|
|
4
4
|
Settings.defaultZone = 'utc';
|
|
@@ -8,7 +8,7 @@ export type DiffOptions = {
|
|
|
8
8
|
rounding: 'floor' | 'ceil' | 'round';
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
export class DateTime extends Value<string
|
|
11
|
+
export class DateTime extends Value<Optional<string>> {
|
|
12
12
|
constructor(value?: string | number | Date, format?: string) {
|
|
13
13
|
super(
|
|
14
14
|
choose(value)
|
|
@@ -38,7 +38,7 @@ export class DateTime extends Value<string | undefined> {
|
|
|
38
38
|
from(locale?: string): string;
|
|
39
39
|
from(date?: DateTime, locale?: string): string;
|
|
40
40
|
from(param?: string | DateTime, other?: string): string {
|
|
41
|
-
const date: DateTime
|
|
41
|
+
const date: Optional<DateTime> = isA<DateTime>(param) ? param : undefined;
|
|
42
42
|
const locale: string = isString(param) ? param : undefined ?? other ?? 'en';
|
|
43
43
|
return isDefined(date) ? (this.utc.setLocale(locale).toRelative({ base: date.utc }) as string) : (this.utc.setLocale(locale).toRelative() as string);
|
|
44
44
|
}
|
|
@@ -89,7 +89,7 @@ export class DateTime extends Value<string | undefined> {
|
|
|
89
89
|
|
|
90
90
|
toFull = (locale?: string): string => this.toLocale(locale, 'DDD');
|
|
91
91
|
|
|
92
|
-
toDate(): Date
|
|
92
|
+
toDate(): Optional<Date> {
|
|
93
93
|
return this.isValid ? this.utc.toJSDate() : undefined;
|
|
94
94
|
}
|
|
95
95
|
}
|
package/src/resources/Route.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { List, meta, tryTo, Uri } from '../types';
|
|
1
|
+
import { List, meta, Optional, tryTo, Uri } from '../types';
|
|
2
2
|
import { Verb } from '../http';
|
|
3
3
|
import { Req } from './Req';
|
|
4
4
|
import { Resource } from './Resource';
|
|
@@ -16,7 +16,7 @@ export type RouteRequires = { token: boolean; labCoat: boolean; scope?: Scope; u
|
|
|
16
16
|
export type Route = { verb: Verb; endpoint: Endpoint; requires: RouteRequires; middleware: RequestHandler[] };
|
|
17
17
|
export type Routes = { route: Uri; middleware: RequestHandler[]; endpoints: List<Route> };
|
|
18
18
|
|
|
19
|
-
const toRoute = (endpoint: Endpoint, requires: RouteRequires, verb?: Verb, middleware?: RequestHandler[]): Route
|
|
19
|
+
const toRoute = (endpoint: Endpoint, requires: RouteRequires, verb?: Verb, middleware?: RequestHandler[]): Optional<Route> =>
|
|
20
20
|
tryTo(verb)
|
|
21
21
|
.is.defined()
|
|
22
22
|
.map(verb => ({ verb, endpoint, requires, middleware: middleware ?? [] } as Route))
|
package/src/security/Jwt.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Algorithm, decode, sign, verify } from 'jsonwebtoken';
|
|
2
|
-
import { ctx, Json, tryTo, Validatable, Value } from '../types';
|
|
2
|
+
import { ctx, Json, OneOrMore, Optional, tryTo, Validatable, Value } from '../types';
|
|
3
3
|
|
|
4
4
|
interface SignOptions {
|
|
5
|
-
audience?: string
|
|
6
|
-
issuer?: string
|
|
5
|
+
audience?: Optional<OneOrMore<string>>;
|
|
6
|
+
issuer?: Optional<string>;
|
|
7
7
|
}
|
|
8
8
|
export class Jwt extends Value implements Validatable {
|
|
9
9
|
get isValid(): boolean {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Api, RouteOptions } from './Api';
|
|
2
|
-
import { FetchOptions, Filter, Gateway, Json, PageList, toPageList, Uri } from '../types';
|
|
2
|
+
import { FetchOptions, Filter, Gateway, Json, Optional, PageList, toPageList, Uri } from '../types';
|
|
3
3
|
import { RequestOptions, toPageOptions } from '../http';
|
|
4
4
|
|
|
5
5
|
export class ApiGateway extends Gateway<RouteOptions> {
|
|
@@ -19,7 +19,7 @@ export class ApiGateway extends Gateway<RouteOptions> {
|
|
|
19
19
|
);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
getOne(uri: Uri, options?: RouteOptions): Promise<Json
|
|
22
|
+
getOne(uri: Uri, options?: RouteOptions): Promise<Optional<Json>> {
|
|
23
23
|
return this.get(uri, options).then(r => r.first());
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Api } from './Api';
|
|
2
|
-
import { Func, Json, List, Uri } from '../types';
|
|
2
|
+
import { Func, Json, List, Optional, Uri } from '../types';
|
|
3
3
|
import { Mapper } from '../utils';
|
|
4
4
|
import { RouteGateway } from './RouteGateway';
|
|
5
5
|
import { RequestOptions } from '../http';
|
|
@@ -13,7 +13,7 @@ export class MappedRouteGateway extends RouteGateway {
|
|
|
13
13
|
return super.get(uri, options).then(is => is.map(i => this.map.in(i)));
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
getOne(uri: Uri, options?: RequestOptions): Promise<Json
|
|
16
|
+
getOne(uri: Uri, options?: RequestOptions): Promise<Optional<Json>> {
|
|
17
17
|
return super
|
|
18
18
|
.get(uri, options)
|
|
19
19
|
.then(is => is.first())
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Api, RouteOptions } from './Api';
|
|
2
|
-
import { Func, Id, Json, JsonValue, PageList, Uri } from '../types';
|
|
2
|
+
import { Func, Id, Json, JsonValue, Optional, PageList, Uri } from '../types';
|
|
3
3
|
import { HttpStatus } from '../http';
|
|
4
4
|
import { ApiGateway } from './ApiGateway';
|
|
5
5
|
|
|
@@ -12,7 +12,7 @@ export class RouteGateway extends ApiGateway {
|
|
|
12
12
|
return this.get(this.route(), options);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
byId(id: Id, options?: RouteOptions): Promise<Json
|
|
15
|
+
byId(id: Id, options?: RouteOptions): Promise<Optional<Json>> {
|
|
16
16
|
return this.getOne(this.routeId().id(id));
|
|
17
17
|
}
|
|
18
18
|
|
package/src/types/List.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { Id } from './Id';
|
|
|
8
8
|
import { asString } from './Text';
|
|
9
9
|
import { tryTo } from './Try';
|
|
10
10
|
import { meta } from './Meta';
|
|
11
|
+
import { Optional } from './Types';
|
|
11
12
|
|
|
12
13
|
export class List<T = unknown> extends Array<T> {
|
|
13
14
|
asc = (p: GetProperty<T, any>): List<T> => this.sort((e1, e2) => (ofProperty(e1, p) > ofProperty(e2, p) ? 1 : -1));
|
|
@@ -16,7 +17,7 @@ export class List<T = unknown> extends Array<T> {
|
|
|
16
17
|
|
|
17
18
|
first = (p?: (value: T, index: number, array: T[]) => unknown, params?: unknown): T => (p ? this.find(p, params) : this[0]) as T;
|
|
18
19
|
|
|
19
|
-
firstValue = <V>(f: (t: T) => V, alt?: Get<V, T>): V
|
|
20
|
+
firstValue = <V>(f: (t: T) => V, alt?: Get<V, T>): Optional<V> => tryTo(() => this.first(t => !!f(t))).map(i => (i ? f(i) : ofGet(alt, i))).value;
|
|
20
21
|
|
|
21
22
|
isFirst = (value: T): boolean => value === this.first();
|
|
22
23
|
|
|
@@ -98,7 +99,7 @@ export class List<T = unknown> extends Array<T> {
|
|
|
98
99
|
return a;
|
|
99
100
|
}, {} as Record<string | number | symbol, List<T>>);
|
|
100
101
|
|
|
101
|
-
orElse = (...alt: ArrayLike<T>): List<T
|
|
102
|
+
orElse = (...alt: ArrayLike<T>): Optional<List<T>> => (!isEmpty(this) ? this : !isEmpty(...alt) ? toList<T>(...alt) : undefined);
|
|
102
103
|
|
|
103
104
|
weave = (insertFrom: T[], interval: number): this => {
|
|
104
105
|
for (let i = interval, n = 0; i <= this.length && n < insertFrom.length; i += interval + 1) {
|