@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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Instant } from '@js-joda/core';
|
|
2
2
|
import { JsonStringifier } from '@outfoxx/jackson-js';
|
|
3
|
-
export class
|
|
3
|
+
export class WWWFormUrlEncoder {
|
|
4
4
|
constructor(arrayEncoding, boolEncoding, dateEncoding, json = new JsonStringifier(), encoder = new TextEncoder()) {
|
|
5
5
|
this.arrayEncoding = arrayEncoding;
|
|
6
6
|
this.boolEncoding = boolEncoding;
|
|
@@ -9,7 +9,7 @@ export class URLEncoder {
|
|
|
9
9
|
this.encoder = encoder;
|
|
10
10
|
}
|
|
11
11
|
static get default() {
|
|
12
|
-
return new
|
|
12
|
+
return new WWWFormUrlEncoder(WWWFormUrlEncoder.ArrayEncoding.UNBRACKETED, WWWFormUrlEncoder.BoolEncoding.LITERAL, WWWFormUrlEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH);
|
|
13
13
|
}
|
|
14
14
|
encode(value) {
|
|
15
15
|
const parameters = this.json.transform(value);
|
|
@@ -20,77 +20,78 @@ export class URLEncoder {
|
|
|
20
20
|
for (const key of Object.keys(parameters).sort()) {
|
|
21
21
|
components.push(...this.encodeQueryComponent(key, parameters[key]));
|
|
22
22
|
}
|
|
23
|
-
return components.
|
|
23
|
+
return components.join('&');
|
|
24
24
|
}
|
|
25
25
|
encodeQueryComponent(key, value) {
|
|
26
26
|
const components = [];
|
|
27
27
|
if (value === undefined) {
|
|
28
28
|
return components;
|
|
29
29
|
}
|
|
30
|
-
if (value
|
|
30
|
+
if (value == null) {
|
|
31
|
+
//
|
|
32
|
+
components.push(encodeURIComponent(key));
|
|
33
|
+
}
|
|
34
|
+
else if (value instanceof Array) {
|
|
31
35
|
// encode key according to `arrayEncoding`
|
|
32
36
|
for (const item of value) {
|
|
33
37
|
components.push(...this.encodeQueryComponent(encodeArrayKey(key, this.arrayEncoding), item));
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
|
-
else if (
|
|
40
|
+
else if (value instanceof Instant) {
|
|
37
41
|
//
|
|
38
|
-
components.push(
|
|
39
|
-
|
|
40
|
-
encodeURIComponent(encodeDate(value, this.dateEncoding))
|
|
41
|
-
]);
|
|
42
|
+
components.push(encodeURIComponent(key) +
|
|
43
|
+
'=' +
|
|
44
|
+
encodeURIComponent(encodeDate(value, this.dateEncoding)));
|
|
42
45
|
}
|
|
43
46
|
else if (typeof value === 'boolean') {
|
|
44
47
|
//
|
|
45
|
-
components.push(
|
|
46
|
-
|
|
47
|
-
encodeURIComponent(encodeBoolean(value, this.boolEncoding))
|
|
48
|
-
]);
|
|
48
|
+
components.push(encodeURIComponent(key) +
|
|
49
|
+
'=' +
|
|
50
|
+
encodeURIComponent(encodeBoolean(value, this.boolEncoding)));
|
|
49
51
|
}
|
|
50
52
|
else if (typeof value === 'object') {
|
|
51
53
|
//
|
|
52
54
|
const rec = (value !== null && value !== void 0 ? value : {});
|
|
53
|
-
for (const nestedKey of Object.keys(rec)) {
|
|
55
|
+
for (const nestedKey of Object.keys(rec).sort()) {
|
|
54
56
|
components.push(...this.encodeQueryComponent(`${key}[${nestedKey}]`, rec[nestedKey]));
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
59
|
else {
|
|
58
60
|
//
|
|
59
|
-
components.push(
|
|
60
|
-
encodeURIComponent(key),
|
|
61
|
-
encodeURIComponent(`${value}`),
|
|
62
|
-
]);
|
|
61
|
+
components.push(encodeURIComponent(key) + '=' + encodeURIComponent(`${value}`));
|
|
63
62
|
}
|
|
64
63
|
return components;
|
|
65
64
|
}
|
|
66
65
|
}
|
|
67
66
|
function encodeArrayKey(key, encoding) {
|
|
68
|
-
return encoding ===
|
|
67
|
+
return encoding === WWWFormUrlEncoder.ArrayEncoding.BRACKETED
|
|
68
|
+
? `${key}[]`
|
|
69
|
+
: key;
|
|
69
70
|
}
|
|
70
71
|
function encodeBoolean(value, encoding) {
|
|
71
72
|
switch (encoding) {
|
|
72
|
-
case
|
|
73
|
+
case WWWFormUrlEncoder.BoolEncoding.NUMERIC:
|
|
73
74
|
return value ? '1' : '0';
|
|
74
|
-
case
|
|
75
|
+
case WWWFormUrlEncoder.BoolEncoding.LITERAL:
|
|
75
76
|
return value ? 'true' : 'false';
|
|
76
77
|
default:
|
|
77
78
|
throw new Error('unknown boolean encoding');
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
function encodeDate(value, encoding) {
|
|
81
|
-
value = value instanceof Date ?
|
|
82
|
+
value = value instanceof Date ? Instant.ofEpochMilli(value.getTime()) : value;
|
|
82
83
|
switch (encoding) {
|
|
83
|
-
case
|
|
84
|
-
return
|
|
85
|
-
case
|
|
86
|
-
return `${value.
|
|
87
|
-
case
|
|
88
|
-
return value.
|
|
84
|
+
case WWWFormUrlEncoder.DateEncoding.DECIMAL_SECONDS_SINCE_EPOCH:
|
|
85
|
+
return (value.epochSecond() + value.nano() / 1000000000).toFixed(7);
|
|
86
|
+
case WWWFormUrlEncoder.DateEncoding.MILLISECONDS_SINCE_EPOCH:
|
|
87
|
+
return `${value.toEpochMilli()}`;
|
|
88
|
+
case WWWFormUrlEncoder.DateEncoding.ISO8601:
|
|
89
|
+
return value.toString();
|
|
89
90
|
default:
|
|
90
91
|
throw new Error('unknown date encoding');
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
|
-
(function (
|
|
94
|
+
(function (WWWFormUrlEncoder) {
|
|
94
95
|
/**
|
|
95
96
|
* Configures how `Array` parameters are encoded.
|
|
96
97
|
*/
|
|
@@ -104,7 +105,7 @@ function encodeDate(value, encoding) {
|
|
|
104
105
|
* No brackets are appended. The key is encoded as is.
|
|
105
106
|
*/
|
|
106
107
|
ArrayEncoding[ArrayEncoding["UNBRACKETED"] = 1] = "UNBRACKETED";
|
|
107
|
-
})(ArrayEncoding =
|
|
108
|
+
})(ArrayEncoding = WWWFormUrlEncoder.ArrayEncoding || (WWWFormUrlEncoder.ArrayEncoding = {}));
|
|
108
109
|
/**
|
|
109
110
|
* Configures how `Bool` parameters are encoded.
|
|
110
111
|
*/
|
|
@@ -118,16 +119,16 @@ function encodeDate(value, encoding) {
|
|
|
118
119
|
* Encode `true` and `false` as string literals.
|
|
119
120
|
*/
|
|
120
121
|
BoolEncoding[BoolEncoding["LITERAL"] = 1] = "LITERAL";
|
|
121
|
-
})(BoolEncoding =
|
|
122
|
+
})(BoolEncoding = WWWFormUrlEncoder.BoolEncoding || (WWWFormUrlEncoder.BoolEncoding = {}));
|
|
122
123
|
/**
|
|
123
124
|
* Configures how `Date` parameters are encoded.
|
|
124
125
|
*/
|
|
125
126
|
let DateEncoding;
|
|
126
127
|
(function (DateEncoding) {
|
|
127
128
|
/**
|
|
128
|
-
* Encode the `Date` as a UNIX timestamp (
|
|
129
|
+
* Encode the `Date` as a UNIX timestamp (decimal seconds since epoch).
|
|
129
130
|
*/
|
|
130
|
-
DateEncoding[DateEncoding["
|
|
131
|
+
DateEncoding[DateEncoding["DECIMAL_SECONDS_SINCE_EPOCH"] = 0] = "DECIMAL_SECONDS_SINCE_EPOCH";
|
|
131
132
|
/**
|
|
132
133
|
* Encode the `Date` as UNIX millisecond timestamp (integer milliseconds since epoch).
|
|
133
134
|
*/
|
|
@@ -136,6 +137,6 @@ function encodeDate(value, encoding) {
|
|
|
136
137
|
* Encode the `Date` as an ISO-8601-formatted string (in RFC 3339 format). This is the default behavior.
|
|
137
138
|
*/
|
|
138
139
|
DateEncoding[DateEncoding["ISO8601"] = 2] = "ISO8601";
|
|
139
|
-
})(DateEncoding =
|
|
140
|
-
})(
|
|
141
|
-
//# sourceMappingURL=url-encoder.js.map
|
|
140
|
+
})(DateEncoding = WWWFormUrlEncoder.DateEncoding || (WWWFormUrlEncoder.DateEncoding = {}));
|
|
141
|
+
})(WWWFormUrlEncoder || (WWWFormUrlEncoder = {}));
|
|
142
|
+
//# sourceMappingURL=www-form-url-encoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"www-form-url-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/www-form-url-encoder.ts"],"names":[],"mappings":"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"}
|
package/dist/media-type.d.ts
CHANGED
|
@@ -1,14 +1,92 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
export declare class MediaType {
|
|
2
|
+
type: MediaType.Type;
|
|
3
|
+
tree: MediaType.Tree;
|
|
4
|
+
subtype: string;
|
|
5
|
+
suffix?: MediaType.Suffix;
|
|
6
|
+
parameters: Record<string, string>;
|
|
7
|
+
constructor(params: {
|
|
8
|
+
type: MediaType.Type;
|
|
9
|
+
tree?: MediaType.Tree;
|
|
10
|
+
subtype: string;
|
|
11
|
+
suffix?: MediaType.Suffix;
|
|
12
|
+
parameters?: Record<string, string>;
|
|
13
|
+
});
|
|
14
|
+
parameter(name: MediaType.ParameterName | string): string | undefined;
|
|
15
|
+
with(params: {
|
|
16
|
+
type?: MediaType.Type;
|
|
17
|
+
tree?: MediaType.Tree;
|
|
18
|
+
subtype?: string;
|
|
19
|
+
suffix?: MediaType.Suffix;
|
|
20
|
+
parameters?: Record<string, string>;
|
|
21
|
+
}): MediaType;
|
|
22
|
+
withParameter(parameter: MediaType.ParameterName | string, value: string): MediaType;
|
|
23
|
+
get value(): string;
|
|
24
|
+
compatible(other: MediaType): boolean;
|
|
25
|
+
equals(other: MediaType): boolean;
|
|
26
|
+
toString(): string;
|
|
27
|
+
}
|
|
28
|
+
export declare namespace MediaType {
|
|
29
|
+
enum Type {
|
|
30
|
+
Application = "application",
|
|
31
|
+
Audio = "audio",
|
|
32
|
+
Example = "example",
|
|
33
|
+
Font = "font",
|
|
34
|
+
Image = "image",
|
|
35
|
+
Message = "message",
|
|
36
|
+
Model = "model",
|
|
37
|
+
Multipart = "multipart",
|
|
38
|
+
Text = "text",
|
|
39
|
+
Video = "video",
|
|
40
|
+
Any = "*"
|
|
41
|
+
}
|
|
42
|
+
namespace Type {
|
|
43
|
+
function from(value: string): Type | undefined;
|
|
44
|
+
}
|
|
45
|
+
enum Tree {
|
|
46
|
+
Standard = "",
|
|
47
|
+
Vendor = "vnd.",
|
|
48
|
+
Personal = "prs.",
|
|
49
|
+
Unregistered = "x.",
|
|
50
|
+
Obsolete = "x-",
|
|
51
|
+
Any = "*"
|
|
52
|
+
}
|
|
53
|
+
namespace Tree {
|
|
54
|
+
function from(value: string): Tree | undefined;
|
|
55
|
+
}
|
|
56
|
+
enum Suffix {
|
|
57
|
+
XML = "xml",
|
|
58
|
+
JSON = "json",
|
|
59
|
+
BER = "ber",
|
|
60
|
+
DER = "der",
|
|
61
|
+
FastInfoSet = "fastinfoset",
|
|
62
|
+
WBXML = "wbxml",
|
|
63
|
+
Zip = "zip",
|
|
64
|
+
CBOR = "cbor"
|
|
65
|
+
}
|
|
66
|
+
namespace Suffix {
|
|
67
|
+
function from(value: string): Suffix | undefined;
|
|
68
|
+
}
|
|
69
|
+
enum ParameterName {
|
|
70
|
+
CharSet = "charset"
|
|
71
|
+
}
|
|
72
|
+
function from(value?: string | null): MediaType | undefined;
|
|
73
|
+
function from(value: string | null | undefined, def: MediaType): MediaType;
|
|
74
|
+
const Plain: MediaType;
|
|
75
|
+
const HTML: MediaType;
|
|
76
|
+
const JSON: MediaType;
|
|
77
|
+
const YAML: MediaType;
|
|
78
|
+
const CBOR: MediaType;
|
|
79
|
+
const EventStream: MediaType;
|
|
80
|
+
const OctetStream: MediaType;
|
|
81
|
+
const WWWFormUrlEncoded: MediaType;
|
|
82
|
+
const X509CACert: MediaType;
|
|
83
|
+
const X509UserCert: MediaType;
|
|
84
|
+
const Any: MediaType;
|
|
85
|
+
const AnyText: MediaType;
|
|
86
|
+
const AnyImage: MediaType;
|
|
87
|
+
const AnyAudio: MediaType;
|
|
88
|
+
const AnyVideo: MediaType;
|
|
89
|
+
const JSONStructured: MediaType;
|
|
90
|
+
const XMLStructured: MediaType;
|
|
91
|
+
const ProblemJSON: MediaType;
|
|
12
92
|
}
|
|
13
|
-
export declare function mediaType(value: string | null | undefined): string | undefined;
|
|
14
|
-
export declare function mediaType(value: string | null | undefined, def: string): string;
|
package/dist/media-type.js
CHANGED
|
@@ -1,18 +1,276 @@
|
|
|
1
|
-
export
|
|
1
|
+
export class MediaType {
|
|
2
|
+
constructor(params) {
|
|
3
|
+
var _a, _b;
|
|
4
|
+
this.type = params.type;
|
|
5
|
+
this.tree = (_a = params.tree) !== null && _a !== void 0 ? _a : MediaType.Tree.Standard;
|
|
6
|
+
this.subtype = params.subtype.toLowerCase();
|
|
7
|
+
this.suffix = params.suffix;
|
|
8
|
+
this.parameters = Object.entries((_b = params.parameters) !== null && _b !== void 0 ? _b : {}).reduce((obj, [name, value]) => {
|
|
9
|
+
obj[name.toLowerCase()] = value.toLowerCase();
|
|
10
|
+
return obj;
|
|
11
|
+
}, {});
|
|
12
|
+
}
|
|
13
|
+
parameter(name) {
|
|
14
|
+
return this.parameters[name];
|
|
15
|
+
}
|
|
16
|
+
with(params) {
|
|
17
|
+
var _a, _b, _c, _d, _e;
|
|
18
|
+
return new MediaType({
|
|
19
|
+
type: (_a = params.type) !== null && _a !== void 0 ? _a : this.type,
|
|
20
|
+
tree: (_b = params.tree) !== null && _b !== void 0 ? _b : this.tree,
|
|
21
|
+
subtype: (_c = params.subtype) !== null && _c !== void 0 ? _c : this.subtype,
|
|
22
|
+
suffix: (_d = params.suffix) !== null && _d !== void 0 ? _d : this.suffix,
|
|
23
|
+
parameters: (_e = params.parameters) !== null && _e !== void 0 ? _e : this.parameters,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
withParameter(parameter, value) {
|
|
27
|
+
const parameters = Object.assign({}, this.parameters, {
|
|
28
|
+
[parameter]: value,
|
|
29
|
+
});
|
|
30
|
+
return this.with({ parameters });
|
|
31
|
+
}
|
|
32
|
+
get value() {
|
|
33
|
+
const type = this.type;
|
|
34
|
+
const tree = this.tree;
|
|
35
|
+
const suffix = this.suffix ? `+${this.suffix.toLowerCase()}` : '';
|
|
36
|
+
const parameters = Object.keys(this.parameters)
|
|
37
|
+
.sort()
|
|
38
|
+
.map((key) => `;${key}=${this.parameters[key]}`)
|
|
39
|
+
.join('');
|
|
40
|
+
return `${type}/${tree}${this.subtype}${suffix}${parameters}`;
|
|
41
|
+
}
|
|
42
|
+
compatible(other) {
|
|
43
|
+
if (this.type != MediaType.Type.Any &&
|
|
44
|
+
other.type != MediaType.Type.Any &&
|
|
45
|
+
this.type != other.type) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
if (this.tree != MediaType.Tree.Any &&
|
|
49
|
+
other.tree != MediaType.Tree.Any &&
|
|
50
|
+
this.tree != other.tree) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
if (this.subtype != '*' &&
|
|
54
|
+
other.subtype != '*' &&
|
|
55
|
+
this.subtype != other.subtype) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
if (this.suffix != other.suffix) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
const thisKeys = Object.keys(this.parameters);
|
|
62
|
+
const otherKeys = Object.keys(other.parameters);
|
|
63
|
+
return thisKeys
|
|
64
|
+
.filter((key) => otherKeys.includes(key))
|
|
65
|
+
.every((key) => this.parameters[key] == other.parameters[key]);
|
|
66
|
+
}
|
|
67
|
+
equals(other) {
|
|
68
|
+
if (this === other)
|
|
69
|
+
return true;
|
|
70
|
+
if (this.type != other.type)
|
|
71
|
+
return false;
|
|
72
|
+
if (this.tree != other.tree)
|
|
73
|
+
return false;
|
|
74
|
+
if (this.suffix != other.suffix)
|
|
75
|
+
return false;
|
|
76
|
+
if (this.subtype != other.subtype)
|
|
77
|
+
return false;
|
|
78
|
+
for (const parameterName of Object.keys(this.parameters)) {
|
|
79
|
+
if (this.parameters[parameterName] != other.parameters[parameterName]) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
toString() {
|
|
86
|
+
return this.value;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
2
89
|
(function (MediaType) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
90
|
+
let Type;
|
|
91
|
+
(function (Type) {
|
|
92
|
+
Type["Application"] = "application";
|
|
93
|
+
Type["Audio"] = "audio";
|
|
94
|
+
Type["Example"] = "example";
|
|
95
|
+
Type["Font"] = "font";
|
|
96
|
+
Type["Image"] = "image";
|
|
97
|
+
Type["Message"] = "message";
|
|
98
|
+
Type["Model"] = "model";
|
|
99
|
+
Type["Multipart"] = "multipart";
|
|
100
|
+
Type["Text"] = "text";
|
|
101
|
+
Type["Video"] = "video";
|
|
102
|
+
Type["Any"] = "*";
|
|
103
|
+
})(Type = MediaType.Type || (MediaType.Type = {}));
|
|
104
|
+
(function (Type) {
|
|
105
|
+
function from(value) {
|
|
106
|
+
return Object.values(Type).includes(value)
|
|
107
|
+
? value
|
|
108
|
+
: undefined;
|
|
109
|
+
}
|
|
110
|
+
Type.from = from;
|
|
111
|
+
})(Type = MediaType.Type || (MediaType.Type = {}));
|
|
112
|
+
let Tree;
|
|
113
|
+
(function (Tree) {
|
|
114
|
+
Tree["Standard"] = "";
|
|
115
|
+
Tree["Vendor"] = "vnd.";
|
|
116
|
+
Tree["Personal"] = "prs.";
|
|
117
|
+
Tree["Unregistered"] = "x.";
|
|
118
|
+
Tree["Obsolete"] = "x-";
|
|
119
|
+
Tree["Any"] = "*";
|
|
120
|
+
})(Tree = MediaType.Tree || (MediaType.Tree = {}));
|
|
121
|
+
(function (Tree) {
|
|
122
|
+
function from(value) {
|
|
123
|
+
return Object.values(Tree).includes(value)
|
|
124
|
+
? value
|
|
125
|
+
: undefined;
|
|
126
|
+
}
|
|
127
|
+
Tree.from = from;
|
|
128
|
+
})(Tree = MediaType.Tree || (MediaType.Tree = {}));
|
|
129
|
+
let Suffix;
|
|
130
|
+
(function (Suffix) {
|
|
131
|
+
Suffix["XML"] = "xml";
|
|
132
|
+
Suffix["JSON"] = "json";
|
|
133
|
+
Suffix["BER"] = "ber";
|
|
134
|
+
Suffix["DER"] = "der";
|
|
135
|
+
Suffix["FastInfoSet"] = "fastinfoset";
|
|
136
|
+
Suffix["WBXML"] = "wbxml";
|
|
137
|
+
Suffix["Zip"] = "zip";
|
|
138
|
+
Suffix["CBOR"] = "cbor";
|
|
139
|
+
})(Suffix = MediaType.Suffix || (MediaType.Suffix = {}));
|
|
140
|
+
(function (Suffix) {
|
|
141
|
+
function from(value) {
|
|
142
|
+
return Object.values(Suffix).includes(value)
|
|
143
|
+
? value
|
|
144
|
+
: undefined;
|
|
145
|
+
}
|
|
146
|
+
Suffix.from = from;
|
|
147
|
+
})(Suffix = MediaType.Suffix || (MediaType.Suffix = {}));
|
|
148
|
+
let ParameterName;
|
|
149
|
+
(function (ParameterName) {
|
|
150
|
+
ParameterName["CharSet"] = "charset";
|
|
151
|
+
})(ParameterName = MediaType.ParameterName || (MediaType.ParameterName = {}));
|
|
152
|
+
function from(value, def = undefined) {
|
|
153
|
+
var _a, _b, _c, _d, _e, _f;
|
|
154
|
+
if (!value) {
|
|
155
|
+
return def;
|
|
156
|
+
}
|
|
157
|
+
fullRegex.lastIndex = 0;
|
|
158
|
+
const match = fullRegex.exec(value);
|
|
159
|
+
if ((match === null || match === void 0 ? void 0 : match[0]) != value) {
|
|
160
|
+
return def;
|
|
161
|
+
}
|
|
162
|
+
const type = MediaType.Type.from((_a = match[1]) === null || _a === void 0 ? void 0 : _a.toLowerCase());
|
|
163
|
+
if (!type) {
|
|
164
|
+
return def;
|
|
165
|
+
}
|
|
166
|
+
const tree = (_c = MediaType.Tree.from((_b = match[2]) === null || _b === void 0 ? void 0 : _b.toLowerCase())) !== null && _c !== void 0 ? _c : MediaType.Tree.Standard;
|
|
167
|
+
const subtype = (_d = match[3]) === null || _d === void 0 ? void 0 : _d.toLowerCase();
|
|
168
|
+
if (!subtype) {
|
|
169
|
+
return def;
|
|
170
|
+
}
|
|
171
|
+
const suffix = MediaType.Suffix.from((_e = match[4]) === null || _e === void 0 ? void 0 : _e.toLowerCase());
|
|
172
|
+
const parameters = {};
|
|
173
|
+
let parametersMatch = paramRegex.exec((_f = match[5]) !== null && _f !== void 0 ? _f : '');
|
|
174
|
+
while (parametersMatch === null || parametersMatch === void 0 ? void 0 : parametersMatch[0]) {
|
|
175
|
+
const name = parametersMatch[1];
|
|
176
|
+
if (!name)
|
|
177
|
+
continue;
|
|
178
|
+
const value = parametersMatch[2];
|
|
179
|
+
if (!value)
|
|
180
|
+
continue;
|
|
181
|
+
parameters[name.toLowerCase()] = value.toLowerCase();
|
|
182
|
+
parametersMatch = paramRegex.exec(match[5]);
|
|
183
|
+
}
|
|
184
|
+
return new MediaType({
|
|
185
|
+
type,
|
|
186
|
+
tree,
|
|
187
|
+
subtype,
|
|
188
|
+
suffix,
|
|
189
|
+
parameters,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
MediaType.from = from;
|
|
193
|
+
const fullRegex = /^((?:[a-z]+|\*))\/(x(?:-|\\.)|(?:(?:vnd|prs|x)\.)|\*)?([a-z0-9\-.]+|\*)(?:\+([a-z]+))?( *(?:; *(?:(?:[\w.-]+) *= *(?:[\w.-]+)) *)*)$/gi;
|
|
194
|
+
const paramRegex = / *; *([\w.-]+) *= *([\w.-]+)/gi;
|
|
195
|
+
MediaType.Plain = new MediaType({
|
|
196
|
+
type: MediaType.Type.Text,
|
|
197
|
+
subtype: 'plain',
|
|
198
|
+
});
|
|
199
|
+
MediaType.HTML = new MediaType({
|
|
200
|
+
type: MediaType.Type.Text,
|
|
201
|
+
subtype: 'html',
|
|
202
|
+
});
|
|
203
|
+
MediaType.JSON = new MediaType({
|
|
204
|
+
type: MediaType.Type.Application,
|
|
205
|
+
subtype: 'json',
|
|
206
|
+
});
|
|
207
|
+
MediaType.YAML = new MediaType({
|
|
208
|
+
type: MediaType.Type.Application,
|
|
209
|
+
subtype: 'yaml',
|
|
210
|
+
});
|
|
211
|
+
MediaType.CBOR = new MediaType({
|
|
212
|
+
type: MediaType.Type.Application,
|
|
213
|
+
subtype: 'cbor',
|
|
214
|
+
});
|
|
215
|
+
MediaType.EventStream = new MediaType({
|
|
216
|
+
type: MediaType.Type.Text,
|
|
217
|
+
subtype: 'event-stream',
|
|
218
|
+
});
|
|
219
|
+
MediaType.OctetStream = new MediaType({
|
|
220
|
+
type: MediaType.Type.Application,
|
|
221
|
+
subtype: 'octet-stream',
|
|
222
|
+
});
|
|
223
|
+
MediaType.WWWFormUrlEncoded = new MediaType({
|
|
224
|
+
type: MediaType.Type.Application,
|
|
225
|
+
tree: MediaType.Tree.Obsolete,
|
|
226
|
+
subtype: 'www-form-urlencoded',
|
|
227
|
+
});
|
|
228
|
+
MediaType.X509CACert = new MediaType({
|
|
229
|
+
type: MediaType.Type.Application,
|
|
230
|
+
tree: MediaType.Tree.Obsolete,
|
|
231
|
+
subtype: 'x509-ca-cert',
|
|
232
|
+
});
|
|
233
|
+
MediaType.X509UserCert = new MediaType({
|
|
234
|
+
type: MediaType.Type.Application,
|
|
235
|
+
tree: MediaType.Tree.Obsolete,
|
|
236
|
+
subtype: 'x509-user-cert',
|
|
237
|
+
});
|
|
238
|
+
MediaType.Any = new MediaType({
|
|
239
|
+
type: MediaType.Type.Any,
|
|
240
|
+
subtype: '*',
|
|
241
|
+
});
|
|
242
|
+
MediaType.AnyText = new MediaType({
|
|
243
|
+
type: MediaType.Type.Text,
|
|
244
|
+
subtype: '*',
|
|
245
|
+
});
|
|
246
|
+
MediaType.AnyImage = new MediaType({
|
|
247
|
+
type: MediaType.Type.Image,
|
|
248
|
+
subtype: '*',
|
|
249
|
+
});
|
|
250
|
+
MediaType.AnyAudio = new MediaType({
|
|
251
|
+
type: MediaType.Type.Audio,
|
|
252
|
+
subtype: '*',
|
|
253
|
+
});
|
|
254
|
+
MediaType.AnyVideo = new MediaType({
|
|
255
|
+
type: MediaType.Type.Video,
|
|
256
|
+
subtype: '*',
|
|
257
|
+
});
|
|
258
|
+
MediaType.JSONStructured = new MediaType({
|
|
259
|
+
type: MediaType.Type.Any,
|
|
260
|
+
tree: MediaType.Tree.Any,
|
|
261
|
+
subtype: '*',
|
|
262
|
+
suffix: Suffix.JSON,
|
|
263
|
+
});
|
|
264
|
+
MediaType.XMLStructured = new MediaType({
|
|
265
|
+
type: MediaType.Type.Any,
|
|
266
|
+
tree: MediaType.Tree.Any,
|
|
267
|
+
subtype: '*',
|
|
268
|
+
suffix: Suffix.XML,
|
|
269
|
+
});
|
|
270
|
+
MediaType.ProblemJSON = new MediaType({
|
|
271
|
+
type: MediaType.Type.Application,
|
|
272
|
+
subtype: 'problem',
|
|
273
|
+
suffix: Suffix.JSON,
|
|
274
|
+
});
|
|
13
275
|
})(MediaType || (MediaType = {}));
|
|
14
|
-
export function mediaType(value, def) {
|
|
15
|
-
var _a;
|
|
16
|
-
return (_a = value === null || value === void 0 ? void 0 : value.split(';')[0].trim()) !== null && _a !== void 0 ? _a : def;
|
|
17
|
-
}
|
|
18
276
|
//# sourceMappingURL=media-type.js.map
|
package/dist/media-type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-type.js","sourceRoot":"","sources":["../src/media-type.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"media-type.js","sourceRoot":"","sources":["../src/media-type.ts"],"names":[],"mappings":"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"}
|
package/dist/problem.d.ts
CHANGED
|
@@ -1,16 +1,31 @@
|
|
|
1
|
-
export interface
|
|
2
|
-
type: string;
|
|
1
|
+
export interface ProblemSpec {
|
|
2
|
+
type: URL | string;
|
|
3
|
+
title: string;
|
|
3
4
|
status: number;
|
|
5
|
+
detail?: string;
|
|
6
|
+
instance?: URL | string;
|
|
7
|
+
[key: string]: unknown;
|
|
8
|
+
}
|
|
9
|
+
export interface Problem {
|
|
10
|
+
type: URL;
|
|
4
11
|
title: string;
|
|
5
|
-
|
|
6
|
-
|
|
12
|
+
status: number;
|
|
13
|
+
detail?: string;
|
|
14
|
+
instance?: URL;
|
|
7
15
|
[key: string]: unknown;
|
|
8
16
|
}
|
|
9
17
|
export declare class Problem extends Error implements Problem {
|
|
10
|
-
type:
|
|
11
|
-
status: number;
|
|
18
|
+
type: URL;
|
|
12
19
|
title: string;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
20
|
+
status: number;
|
|
21
|
+
detail?: string;
|
|
22
|
+
instance?: URL;
|
|
23
|
+
private _parameters?;
|
|
24
|
+
get parameters(): Record<string, unknown> | undefined;
|
|
25
|
+
private setParameter;
|
|
26
|
+
constructor(spec: ProblemSpec);
|
|
27
|
+
toString(): string;
|
|
28
|
+
static fromStatus(status: number, title: string): Problem;
|
|
29
|
+
static fromResponse(response: Response): Promise<Problem>;
|
|
30
|
+
private static parseURL;
|
|
16
31
|
}
|