@outfoxx/sunday 1.0.8 → 1.1.0-alpha.10
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/README.md +35 -2
- package/dist/any-type.d.ts +2 -0
- package/dist/class-type.d.ts +2 -2
- package/dist/date-time-types.d.ts +2 -7
- package/dist/date-time-types.js +2 -4
- package/dist/date-time-types.js.map +1 -1
- package/dist/event-parser.d.ts +17 -0
- package/dist/event-parser.js +140 -0
- package/dist/event-parser.js.map +1 -0
- package/dist/fetch-event-source.d.ts +12 -10
- package/dist/fetch-event-source.js +141 -138
- package/dist/fetch-event-source.js.map +1 -1
- package/dist/fetch-request-factory.d.ts +10 -5
- package/dist/fetch-request-factory.js +87 -71
- package/dist/fetch-request-factory.js.map +1 -1
- package/dist/fetch.d.ts +7 -1
- package/dist/fetch.js +61 -8
- package/dist/fetch.js.map +1 -1
- package/dist/header-parameters.d.ts +3 -0
- package/dist/header-parameters.js +40 -0
- package/dist/header-parameters.js.map +1 -0
- package/dist/index.d.ts +12 -12
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/{binary-decoder.d.ts → media-type-codecs/binary-decoder.d.ts} +2 -2
- package/dist/{binary-decoder.js → media-type-codecs/binary-decoder.js} +0 -0
- package/dist/media-type-codecs/binary-decoder.js.map +1 -0
- package/dist/{binary-encoder.d.ts → media-type-codecs/binary-encoder.d.ts} +0 -0
- package/dist/{binary-encoder.js → media-type-codecs/binary-encoder.js} +0 -0
- package/dist/media-type-codecs/binary-encoder.js.map +1 -0
- package/dist/media-type-codecs/cbor-decoder.d.ts +39 -0
- package/dist/media-type-codecs/cbor-decoder.js +413 -0
- package/dist/media-type-codecs/cbor-decoder.js.map +1 -0
- package/dist/media-type-codecs/cbor-encoder.d.ts +43 -0
- package/dist/media-type-codecs/cbor-encoder.js +226 -0
- package/dist/media-type-codecs/cbor-encoder.js.map +1 -0
- package/dist/media-type-codecs/cbor-tags.d.ts +4 -0
- package/dist/media-type-codecs/cbor-tags.js +5 -0
- package/dist/media-type-codecs/cbor-tags.js.map +1 -0
- package/dist/media-type-codecs/json-decoder.d.ts +39 -0
- package/dist/media-type-codecs/json-decoder.js +367 -0
- package/dist/media-type-codecs/json-decoder.js.map +1 -0
- package/dist/media-type-codecs/json-encoder.d.ts +44 -0
- package/dist/media-type-codecs/json-encoder.js +263 -0
- package/dist/media-type-codecs/json-encoder.js.map +1 -0
- package/dist/media-type-codecs/media-type-decoder.d.ts +11 -0
- package/dist/media-type-codecs/media-type-decoder.js +6 -0
- package/dist/media-type-codecs/media-type-decoder.js.map +1 -0
- package/dist/{media-type-decoders.d.ts → media-type-codecs/media-type-decoders.d.ts} +5 -4
- package/dist/{media-type-decoders.js → media-type-codecs/media-type-decoders.js} +6 -6
- package/dist/media-type-codecs/media-type-decoders.js.map +1 -0
- package/dist/{media-type-encoder.d.ts → media-type-codecs/media-type-encoder.d.ts} +5 -1
- package/dist/media-type-codecs/media-type-encoder.js +11 -0
- package/dist/media-type-codecs/media-type-encoder.js.map +1 -0
- package/dist/{media-type-encoders.d.ts → media-type-codecs/media-type-encoders.d.ts} +5 -4
- package/dist/{media-type-encoders.js → media-type-codecs/media-type-encoders.js} +8 -8
- package/dist/media-type-codecs/media-type-encoders.js.map +1 -0
- package/dist/{url-encoder.d.ts → media-type-codecs/www-form-url-encoder.d.ts} +8 -8
- package/dist/{url-encoder.js → media-type-codecs/www-form-url-encoder.js} +38 -37
- package/dist/media-type-codecs/www-form-url-encoder.js.map +1 -0
- package/dist/media-type.d.ts +91 -13
- package/dist/media-type.js +273 -15
- package/dist/media-type.js.map +1 -1
- package/dist/problem.d.ts +24 -9
- package/dist/problem.js +140 -6
- package/dist/problem.js.map +1 -1
- package/dist/request-factory.d.ts +10 -10
- package/dist/sunday-error.d.ts +11 -0
- package/dist/sunday-error.js +18 -0
- package/dist/sunday-error.js.map +1 -0
- package/dist/util/any.d.ts +2 -0
- package/dist/util/any.js +11 -0
- package/dist/util/any.js.map +1 -0
- package/dist/util/error.d.ts +2 -0
- package/dist/util/error.js +13 -0
- package/dist/util/error.js.map +1 -0
- package/dist/util/hex.js +3 -2
- package/dist/util/hex.js.map +1 -1
- package/dist/util/rxjs.d.ts +3 -0
- package/dist/util/rxjs.js +9 -5
- package/dist/util/rxjs.js.map +1 -1
- package/dist/util/temporal.d.ts +2 -0
- package/dist/util/temporal.js +18 -0
- package/dist/util/temporal.js.map +1 -0
- package/package.json +27 -21
- package/src/any-type.ts +4 -0
- package/src/class-type.ts +6 -2
- package/src/date-time-types.ts +22 -9
- package/src/event-parser.ts +190 -0
- package/src/fetch-event-source.ts +149 -159
- package/src/fetch-request-factory.ts +129 -101
- package/src/fetch.ts +65 -14
- package/src/header-parameters.ts +52 -0
- package/src/index.ts +12 -12
- package/src/{binary-decoder.ts → media-type-codecs/binary-decoder.ts} +3 -3
- package/src/{binary-encoder.ts → media-type-codecs/binary-encoder.ts} +0 -0
- package/src/media-type-codecs/cbor-decoder.ts +515 -0
- package/src/media-type-codecs/cbor-encoder.ts +307 -0
- package/src/media-type-codecs/cbor-tags.ts +4 -0
- package/src/media-type-codecs/json-decoder.ts +470 -0
- package/src/media-type-codecs/json-encoder.ts +328 -0
- package/src/media-type-codecs/media-type-decoder.ts +20 -0
- package/src/{media-type-decoders.ts → media-type-codecs/media-type-decoders.ts} +21 -13
- package/src/media-type-codecs/media-type-encoder.ts +31 -0
- package/src/{media-type-encoders.ts → media-type-codecs/media-type-encoders.ts} +23 -15
- package/src/{url-encoder.ts → media-type-codecs/www-form-url-encoder.ts} +53 -47
- package/src/media-type.ts +326 -22
- package/src/problem.ts +144 -12
- package/src/request-factory.ts +21 -12
- package/src/sunday-error.ts +37 -0
- package/src/util/any.ts +10 -0
- package/src/util/error.ts +14 -0
- package/src/util/hex.ts +3 -2
- package/src/util/rxjs.ts +16 -5
- package/src/util/temporal.ts +18 -0
- package/dist/binary-decoder.js.map +0 -1
- package/dist/binary-encoder.js.map +0 -1
- package/dist/cbor-decoder.d.ts +0 -15
- package/dist/cbor-decoder.js +0 -126
- package/dist/cbor-decoder.js.map +0 -1
- package/dist/cbor-encoder.d.ts +0 -29
- package/dist/cbor-encoder.js +0 -81
- package/dist/cbor-encoder.js.map +0 -1
- package/dist/cbor-tags.d.ts +0 -3
- package/dist/cbor-tags.js +0 -4
- package/dist/cbor-tags.js.map +0 -1
- package/dist/http-error.d.ts +0 -10
- package/dist/http-error.js +0 -45
- package/dist/http-error.js.map +0 -1
- package/dist/json-decoder.d.ts +0 -31
- package/dist/json-decoder.js +0 -139
- package/dist/json-decoder.js.map +0 -1
- package/dist/json-encoder.d.ts +0 -35
- package/dist/json-encoder.js +0 -116
- package/dist/json-encoder.js.map +0 -1
- package/dist/media-type-decoder.d.ts +0 -4
- package/dist/media-type-decoder.js +0 -2
- package/dist/media-type-decoder.js.map +0 -1
- package/dist/media-type-decoders.js.map +0 -1
- package/dist/media-type-encoder.js +0 -6
- package/dist/media-type-encoder.js.map +0 -1
- package/dist/media-type-encoders.js.map +0 -1
- package/dist/url-encoder.js.map +0 -1
- package/src/cbor-decoder.ts +0 -148
- package/src/cbor-encoder.ts +0 -95
- package/src/cbor-tags.ts +0 -3
- package/src/http-error.ts +0 -55
- package/src/json-decoder.ts +0 -164
- package/src/json-encoder.ts +0 -144
- package/src/media-type-decoder.ts +0 -5
- package/src/media-type-encoder.ts +0 -16
package/dist/problem.js
CHANGED
|
@@ -1,11 +1,145 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var Problem_1;
|
|
11
|
+
import { ResponseExample } from './fetch';
|
|
12
|
+
import { JsonAnyGetter, JsonAnySetter, JsonClassType, JsonCreator, JsonCreatorMode, JsonIgnore, JsonProperty, } from '@outfoxx/jackson-js';
|
|
13
|
+
let Problem = Problem_1 = class Problem extends Error {
|
|
14
|
+
constructor(spec) {
|
|
15
|
+
var _a;
|
|
16
|
+
super(`${spec.status.toString()} ${spec.type} - ${spec.title}`);
|
|
17
|
+
const src = spec;
|
|
18
|
+
const json = Object.assign({}, src);
|
|
19
|
+
this.type = (_a = Problem_1.parseURL(json.type)) !== null && _a !== void 0 ? _a : new URL('about:blank');
|
|
20
|
+
delete json.type;
|
|
5
21
|
this.status = json.status;
|
|
22
|
+
delete json.status;
|
|
6
23
|
this.title = json.title;
|
|
24
|
+
delete json.title;
|
|
7
25
|
this.detail = json.detail;
|
|
8
|
-
|
|
26
|
+
delete json.detail;
|
|
27
|
+
this.instance = Problem_1.parseURL(json.instance);
|
|
28
|
+
delete json.instance;
|
|
29
|
+
if (Object.keys(json).length != 0) {
|
|
30
|
+
this._parameters = json;
|
|
31
|
+
}
|
|
9
32
|
}
|
|
10
|
-
|
|
33
|
+
get parameters() {
|
|
34
|
+
return this._parameters;
|
|
35
|
+
}
|
|
36
|
+
setParameter(key, value) {
|
|
37
|
+
var _a;
|
|
38
|
+
this._parameters = (_a = this._parameters) !== null && _a !== void 0 ? _a : {};
|
|
39
|
+
this._parameters[key] = value;
|
|
40
|
+
}
|
|
41
|
+
toString() {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
|
+
const self = this;
|
|
45
|
+
const url = self.request ? (_a = self.request) === null || _a === void 0 ? void 0 : _a.url : undefined;
|
|
46
|
+
const response = (_b = self.response) === null || _b === void 0 ? void 0 : _b.example;
|
|
47
|
+
return JSON.stringify({
|
|
48
|
+
type: this.type,
|
|
49
|
+
status: this.status,
|
|
50
|
+
title: this.title,
|
|
51
|
+
detail: this.detail,
|
|
52
|
+
instance: this.instance,
|
|
53
|
+
url,
|
|
54
|
+
response,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
static fromStatus(status, title) {
|
|
58
|
+
return new Problem_1({
|
|
59
|
+
type: 'about:blank',
|
|
60
|
+
title,
|
|
61
|
+
status,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
static async fromResponse(response) {
|
|
65
|
+
const [bodyExcerpt, body] = await ResponseExample.bodyExcerpt(response, 256);
|
|
66
|
+
return new Problem_1({
|
|
67
|
+
type: 'about:blank',
|
|
68
|
+
title: response.statusText,
|
|
69
|
+
status: response.status,
|
|
70
|
+
request: {
|
|
71
|
+
url: response.url,
|
|
72
|
+
},
|
|
73
|
+
response: {
|
|
74
|
+
headers: response.headers,
|
|
75
|
+
ok: response.ok,
|
|
76
|
+
redirected: response.redirected,
|
|
77
|
+
status: response.status,
|
|
78
|
+
statusText: response.statusText,
|
|
79
|
+
type: response.type,
|
|
80
|
+
url: response.url,
|
|
81
|
+
body,
|
|
82
|
+
example: ResponseExample.build(response, bodyExcerpt),
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
static parseURL(value) {
|
|
87
|
+
if (value == null) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
if (value instanceof URL) {
|
|
91
|
+
return value;
|
|
92
|
+
}
|
|
93
|
+
if (typeof value == 'string') {
|
|
94
|
+
return new URL(value);
|
|
95
|
+
}
|
|
96
|
+
return new URL(`${value}`);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
__decorate([
|
|
100
|
+
JsonProperty(),
|
|
101
|
+
JsonClassType({ type: () => [URL] }),
|
|
102
|
+
__metadata("design:type", URL)
|
|
103
|
+
], Problem.prototype, "type", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
JsonProperty(),
|
|
106
|
+
JsonClassType({ type: () => [String] }),
|
|
107
|
+
__metadata("design:type", String)
|
|
108
|
+
], Problem.prototype, "title", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
JsonProperty(),
|
|
111
|
+
JsonClassType({ type: () => [Number] }),
|
|
112
|
+
__metadata("design:type", Number)
|
|
113
|
+
], Problem.prototype, "status", void 0);
|
|
114
|
+
__decorate([
|
|
115
|
+
JsonProperty(),
|
|
116
|
+
JsonClassType({ type: () => [String] }),
|
|
117
|
+
__metadata("design:type", String)
|
|
118
|
+
], Problem.prototype, "detail", void 0);
|
|
119
|
+
__decorate([
|
|
120
|
+
JsonProperty(),
|
|
121
|
+
JsonClassType({ type: () => [URL] }),
|
|
122
|
+
__metadata("design:type", URL)
|
|
123
|
+
], Problem.prototype, "instance", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
JsonIgnore(),
|
|
126
|
+
__metadata("design:type", Object)
|
|
127
|
+
], Problem.prototype, "_parameters", void 0);
|
|
128
|
+
__decorate([
|
|
129
|
+
JsonClassType({ type: () => [Object] }),
|
|
130
|
+
JsonAnyGetter(),
|
|
131
|
+
__metadata("design:type", Object),
|
|
132
|
+
__metadata("design:paramtypes", [])
|
|
133
|
+
], Problem.prototype, "parameters", null);
|
|
134
|
+
__decorate([
|
|
135
|
+
JsonAnySetter(),
|
|
136
|
+
__metadata("design:type", Function),
|
|
137
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
138
|
+
__metadata("design:returntype", void 0)
|
|
139
|
+
], Problem.prototype, "setParameter", null);
|
|
140
|
+
Problem = Problem_1 = __decorate([
|
|
141
|
+
JsonCreator({ mode: JsonCreatorMode.DELEGATING }),
|
|
142
|
+
__metadata("design:paramtypes", [Object])
|
|
143
|
+
], Problem);
|
|
144
|
+
export { Problem };
|
|
11
145
|
//# sourceMappingURL=problem.js.map
|
package/dist/problem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"problem.js","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"problem.js","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { ClassList } from '@outfoxx/jackson-js/dist/@types';
|
|
2
1
|
import { Observable } from 'rxjs';
|
|
3
2
|
import { AnyType } from './any-type';
|
|
4
|
-
import { ClassType } from './class-type';
|
|
3
|
+
import { ClassType, ConstructableClassType } from './class-type';
|
|
5
4
|
import { MediaType } from './media-type';
|
|
5
|
+
import { TextMediaTypeDecoder } from './media-type-codecs/media-type-decoder';
|
|
6
|
+
import { Problem } from './problem';
|
|
6
7
|
import { URLTemplate } from './url-template';
|
|
8
|
+
import { Logger } from './logger';
|
|
7
9
|
export interface RequestFactory {
|
|
8
10
|
readonly baseUrl: URLTemplate;
|
|
11
|
+
registerProblem(type: URL | string, problemType: ConstructableClassType<Problem>): void;
|
|
9
12
|
request(requestSpec: RequestSpec<unknown>): Observable<Request>;
|
|
10
13
|
response(request: Request, dataExpected?: boolean): Observable<Response>;
|
|
11
14
|
response<B>(requestSpec: RequestSpec<B>, dataExpected?: boolean): Observable<Response>;
|
|
@@ -14,8 +17,8 @@ export interface RequestFactory {
|
|
|
14
17
|
result<B, R>(requestSpec: RequestSpec<B>, resultType: [ClassType<Set<unknown>>, ClassType<R>]): Observable<Set<R>>;
|
|
15
18
|
result<B, R>(requestSpec: RequestSpec<B>, resultType: AnyType): Observable<R>;
|
|
16
19
|
result<B>(requestSpec: RequestSpec<B>): Observable<void>;
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
eventSource(requestSpec: RequestSpec<void>): ExtEventSource;
|
|
21
|
+
eventStream<E>(requestSpec: RequestSpec<void>, decoder: (decoder: TextMediaTypeDecoder, event: string | undefined, id: string | undefined, data: string, logger?: Logger) => E | undefined): Observable<E>;
|
|
19
22
|
}
|
|
20
23
|
export interface ExtEventSource extends EventSource {
|
|
21
24
|
connect(): void;
|
|
@@ -28,11 +31,8 @@ export interface RequestSpec<B> {
|
|
|
28
31
|
queryParameters?: Record<string, unknown>;
|
|
29
32
|
body?: B;
|
|
30
33
|
bodyType?: AnyType;
|
|
31
|
-
contentTypes?:
|
|
32
|
-
acceptTypes?:
|
|
33
|
-
headers?:
|
|
34
|
-
}
|
|
35
|
-
export interface EventTypes<E> {
|
|
36
|
-
[key: string]: ClassList<ClassType<E>>;
|
|
34
|
+
contentTypes?: MediaType[];
|
|
35
|
+
acceptTypes?: MediaType[];
|
|
36
|
+
headers?: Record<string, unknown>;
|
|
37
37
|
}
|
|
38
38
|
export declare type RequestAdapter = (request: Request) => Observable<Request>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class SundayError extends Error {
|
|
2
|
+
url: string;
|
|
3
|
+
httpVersion: string;
|
|
4
|
+
status: number;
|
|
5
|
+
statusText: string;
|
|
6
|
+
headers: Headers;
|
|
7
|
+
body: unknown | undefined;
|
|
8
|
+
responseExample: string;
|
|
9
|
+
constructor(message: string, url: string, httpVersion: string, status: number, statusText: string, headers: Headers, body: unknown | undefined, responseExample: string);
|
|
10
|
+
static fromResponse(message: string, response: Response): Promise<SundayError>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ResponseExample } from './fetch';
|
|
2
|
+
export class SundayError extends Error {
|
|
3
|
+
constructor(message, url, httpVersion, status, statusText, headers, body, responseExample) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.url = url;
|
|
6
|
+
this.httpVersion = httpVersion;
|
|
7
|
+
this.status = status;
|
|
8
|
+
this.statusText = statusText;
|
|
9
|
+
this.headers = headers;
|
|
10
|
+
this.body = body;
|
|
11
|
+
this.responseExample = responseExample;
|
|
12
|
+
}
|
|
13
|
+
static async fromResponse(message, response) {
|
|
14
|
+
const [bodyExcerpt, body] = await ResponseExample.bodyExcerpt(response, 256);
|
|
15
|
+
return new SundayError(message, response.url, '?.?', response.status, response.statusText, response.headers, body, ResponseExample.build(response, bodyExcerpt));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=sunday-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sunday-error.js","sourceRoot":"","sources":["../src/sunday-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YACE,OAAe,EACR,GAAW,EACX,WAAmB,EACnB,MAAc,EACd,UAAkB,EAClB,OAAgB,EAChB,IAAyB,EACzB,eAAuB;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QARR,QAAG,GAAH,GAAG,CAAQ;QACX,gBAAW,GAAX,WAAW,CAAQ;QACnB,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAqB;QACzB,oBAAe,GAAf,eAAe,CAAQ;IAGhC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CACvB,OAAe,EACf,QAAkB;QAElB,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,MAAM,eAAe,CAAC,WAAW,CAC3D,QAAQ,EACR,GAAG,CACJ,CAAC;QAEF,OAAO,IAAI,WAAW,CACpB,OAAO,EACP,QAAQ,CAAC,GAAG,EACZ,KAAK,EACL,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,OAAO,EAChB,IAAI,EACJ,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAC7C,CAAC;IACJ,CAAC;CACF"}
|
package/dist/util/any.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function unknownGet(obj, key) {
|
|
2
|
+
var _a;
|
|
3
|
+
return (_a = obj) === null || _a === void 0 ? void 0 : _a[key];
|
|
4
|
+
}
|
|
5
|
+
export function unknownSet(obj, key, value) {
|
|
6
|
+
if (obj == null) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
obj[key] = value;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=any.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"any.js","sourceRoot":"","sources":["../../src/util/any.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAc,GAAY,EAAE,GAAW;;IAC/D,OAAO,MAAC,GAA+B,0CAAG,GAAG,CAAM,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,UAAU,CAAI,GAAY,EAAE,GAAW,EAAE,KAAQ;IAC/D,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,OAAO;KACR;IACA,GAA+B,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function isError(value) {
|
|
2
|
+
return value instanceof Error;
|
|
3
|
+
}
|
|
4
|
+
export function errorToMessage(value, defMsg) {
|
|
5
|
+
return isError(value) ? value.message : defMsg !== null && defMsg !== void 0 ? defMsg : `${fmtMsg(value)}`;
|
|
6
|
+
}
|
|
7
|
+
function fmtMsg(value) {
|
|
8
|
+
if (value instanceof Object) {
|
|
9
|
+
return JSON.stringify(value);
|
|
10
|
+
}
|
|
11
|
+
return `${value}`;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/util/error.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,KAAK,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,MAAe;IAC5D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,KAAK,YAAY,MAAM,EAAE;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAC9B;IACD,OAAO,GAAG,KAAK,EAAE,CAAC;AACpB,CAAC"}
|
package/dist/util/hex.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export var Hex;
|
|
2
2
|
(function (Hex) {
|
|
3
3
|
function decode(hex) {
|
|
4
|
+
hex = hex.replace(/^0x/, '').replace(/\s/g, '');
|
|
4
5
|
const values = hex.match(/[\da-f]{2}/gi);
|
|
5
|
-
if (!values) {
|
|
6
|
-
throw Error(
|
|
6
|
+
if (!values || values.length != hex.length / 2) {
|
|
7
|
+
throw Error(`Invalid hex string`);
|
|
7
8
|
}
|
|
8
9
|
return new Uint8Array(values.map((b) => parseInt(b, 16))).buffer;
|
|
9
10
|
}
|
package/dist/util/hex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/util/hex.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/util/hex.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,GAAG,CAenB;AAfD,WAAiB,GAAG;IAClB,SAAgB,MAAM,CAAC,GAAW;QAChC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9C,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACnC;QACD,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,CAAC;IAPe,UAAM,SAOrB,CAAA;IAED,SAAgB,MAAM,CAAC,MAAmB,EAAE,SAAS,GAAG,EAAE;QACxD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACnD,IAAI,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IAJe,UAAM,SAIrB,CAAA;AACH,CAAC,EAfgB,GAAG,KAAH,GAAG,QAenB"}
|
package/dist/util/rxjs.d.ts
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
+
import { ClassType } from '../class-type';
|
|
3
|
+
import { Problem } from '../problem';
|
|
2
4
|
export declare function nullifyNotFound<T>(): (source: Observable<T>) => Observable<T | null>;
|
|
5
|
+
export declare function nullifyResponse<T>(statuses: number[], problemTypes: ClassType<Problem>[]): (source: Observable<T>) => Observable<T | null>;
|
package/dist/util/rxjs.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { from, throwError } from 'rxjs';
|
|
2
|
-
import { catchError } from 'rxjs/operators';
|
|
1
|
+
import { catchError, from, throwError } from 'rxjs';
|
|
3
2
|
import { Problem } from '../problem';
|
|
4
3
|
export function nullifyNotFound() {
|
|
4
|
+
return nullifyResponse([404], []);
|
|
5
|
+
}
|
|
6
|
+
export function nullifyResponse(statuses, problemTypes) {
|
|
5
7
|
return function (source) {
|
|
6
8
|
return source.pipe(catchError((error) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
const errorType = error.constructor;
|
|
10
|
+
if (error instanceof Problem &&
|
|
11
|
+
(statuses.includes(error.status) || problemTypes.includes(errorType))) {
|
|
12
|
+
return from([null]);
|
|
9
13
|
}
|
|
10
|
-
return
|
|
14
|
+
return throwError(error);
|
|
11
15
|
}));
|
|
12
16
|
};
|
|
13
17
|
}
|
package/dist/util/rxjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rxjs.js","sourceRoot":"","sources":["../../src/util/rxjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"rxjs.js","sourceRoot":"","sources":["../../src/util/rxjs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAc,UAAU,EAAE,MAAM,MAAM,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,UAAU,eAAe;IAG7B,OAAO,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAkB,EAClB,YAAkC;IAElC,OAAO,UAAa,MAAqB;QACvC,OAAO,MAAM,CAAC,IAAI,CAChB,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM,SAAS,GAAG,KAAK,CAAC,WAAiC,CAAC;YAC1D,IACE,KAAK,YAAY,OAAO;gBACxB,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EACrE;gBACA,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACrB;YACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function secondsToNumber(seconds, nanos) {
|
|
2
|
+
if (nanos == 0) {
|
|
3
|
+
return seconds;
|
|
4
|
+
}
|
|
5
|
+
const nanoStr = nanos.toString();
|
|
6
|
+
return parseFloat(`${seconds}.${'0'.repeat(9 - nanoStr.length)}${nanos}`);
|
|
7
|
+
}
|
|
8
|
+
export function encodeSeconds(seconds, fraction) {
|
|
9
|
+
const result = [];
|
|
10
|
+
if (seconds != 0 || fraction != 0) {
|
|
11
|
+
result.push(seconds);
|
|
12
|
+
if (fraction != 0) {
|
|
13
|
+
result.push(fraction);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=temporal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal.js","sourceRoot":"","sources":["../../src/util/temporal.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,KAAa;IAC5D,IAAI,KAAK,IAAI,CAAC,EAAE;QACd,OAAO,OAAO,CAAC;KAChB;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjC,OAAO,UAAU,CAAC,GAAG,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,QAAgB;IAC7D,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,OAAO,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACvB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@outfoxx/sunday",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Sunday
|
|
3
|
+
"version": "1.1.0-alpha.10",
|
|
4
|
+
"description": "Sunday 🙏 The framework of REST for TypeScript/JavaScript",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"type": "module",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"test:watch": "karma start karma.conf.cjs",
|
|
11
11
|
"build": "tsc --build tsconfig.dist.json",
|
|
12
12
|
"clean": "rimraf build dist",
|
|
13
|
-
"prepublishOnly": "npm run clean && npm run
|
|
13
|
+
"prepublishOnly": "npm run clean && npm run lint && npm run build && npm run test",
|
|
14
14
|
"lint": "eslint src test",
|
|
15
15
|
"pretty": "prettier src test"
|
|
16
16
|
},
|
|
@@ -28,37 +28,43 @@
|
|
|
28
28
|
"author": "kdubb",
|
|
29
29
|
"license": "outfox",
|
|
30
30
|
"dependencies": {
|
|
31
|
+
"@js-joda/core": "^5.2.0",
|
|
31
32
|
"@outfoxx/cbor-redux": "^0.3.1",
|
|
32
|
-
"@outfoxx/jackson-js": "^1.2.
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
33
|
+
"@outfoxx/jackson-js": "^1.2.22",
|
|
34
|
+
"@types/jasmine": "^4.0.3",
|
|
35
|
+
"common-tags": "^1.8.2",
|
|
36
|
+
"tslib": "^2.4.0",
|
|
37
|
+
"uri-template-lite": "^22.1.0"
|
|
38
|
+
},
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"rxjs": "^7.5.5"
|
|
36
41
|
},
|
|
37
42
|
"devDependencies": {
|
|
38
|
-
"@types/
|
|
39
|
-
"@types/eslint-plugin-prettier": "^3.1.0",
|
|
40
|
-
"@types/jasmine": "^3.5.14",
|
|
41
|
-
"@types/luxon": "^1.24.4",
|
|
43
|
+
"@types/common-tags": "^1.8.0",
|
|
42
44
|
"@types/uri-template-lite": "^19.12.0",
|
|
43
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
44
|
-
"@typescript-eslint/parser": "^
|
|
45
|
-
"eslint": "^
|
|
46
|
-
"eslint-config-prettier": "^
|
|
47
|
-
"eslint-plugin-prettier": "^
|
|
48
|
-
"fetch-mock": "^9.
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^5.25.0",
|
|
46
|
+
"@typescript-eslint/parser": "^5.25.0",
|
|
47
|
+
"eslint": "^8.15.0",
|
|
48
|
+
"eslint-config-prettier": "^8.5.0",
|
|
49
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
50
|
+
"fetch-mock": "^9.11.0",
|
|
49
51
|
"fsevents": "^2.1.3",
|
|
50
52
|
"husky": "^4.3.0",
|
|
51
|
-
"
|
|
53
|
+
"install": "^0.13.0",
|
|
54
|
+
"karma": "^6.3.2",
|
|
52
55
|
"karma-chrome-launcher": "^3.1.0",
|
|
53
56
|
"karma-cli": "^2.0.0",
|
|
57
|
+
"karma-coverage": "^2.0.3",
|
|
54
58
|
"karma-jasmine": "^4.0.1",
|
|
55
|
-
"karma-
|
|
56
|
-
"karma-
|
|
59
|
+
"karma-source-map-support": "^1.4.0",
|
|
60
|
+
"karma-sourcemap-loader": "^0.3.8",
|
|
61
|
+
"karma-typescript": "^5.5.1",
|
|
62
|
+
"karma-typescript-es6-transform": "^5.5.1",
|
|
57
63
|
"lint-staged": "^10.4.0",
|
|
58
64
|
"prettier": "^2.1.2",
|
|
59
65
|
"pretty-quick": "^3.0.2",
|
|
60
66
|
"rimraf": "^3.0.2",
|
|
61
|
-
"typescript": "
|
|
67
|
+
"typescript": "~4.4",
|
|
62
68
|
"web-streams-polyfill": "^3.0.0"
|
|
63
69
|
},
|
|
64
70
|
"files": [
|
package/src/any-type.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { ClassList, ClassType } from '@outfoxx/jackson-js/dist/@types';
|
|
2
|
+
import { ConstructableClassType } from './class-type';
|
|
2
3
|
|
|
3
4
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4
5
|
export type AnyType = ClassList<ClassType<any>>;
|
|
6
|
+
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
+
export type AnyConstructableType = ClassList<ConstructableClassType<any>>;
|
package/src/class-type.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
export type ClassType<T> =
|
|
2
|
+
| (abstract new () => T) // eslint-disable-line prettier/prettier
|
|
3
|
+
| (abstract new (...args: any[]) => T); // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
2
4
|
|
|
3
|
-
export type
|
|
5
|
+
export declare type ConstructableClassType<T> =
|
|
6
|
+
| (new () => T) // eslint-disable-line prettier/prettier
|
|
7
|
+
| (new (...args: any[]) => T); // eslint-disable-line @typescript-eslint/no-explicit-any
|
package/src/date-time-types.ts
CHANGED
|
@@ -1,10 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Duration,
|
|
3
|
+
Instant,
|
|
4
|
+
LocalDate,
|
|
5
|
+
LocalDateTime,
|
|
6
|
+
LocalTime,
|
|
7
|
+
OffsetDateTime,
|
|
8
|
+
OffsetTime,
|
|
9
|
+
Period,
|
|
10
|
+
ZonedDateTime,
|
|
11
|
+
} from '@js-joda/core';
|
|
2
12
|
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
13
|
+
export {
|
|
14
|
+
Duration,
|
|
15
|
+
Instant,
|
|
16
|
+
LocalDate,
|
|
17
|
+
LocalTime,
|
|
18
|
+
LocalDateTime,
|
|
19
|
+
OffsetDateTime,
|
|
20
|
+
OffsetTime,
|
|
21
|
+
Period,
|
|
22
|
+
ZonedDateTime,
|
|
23
|
+
};
|