@outfoxx/sunday 1.1.0-alpha.11 → 1.1.0-alpha.12

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.
@@ -0,0 +1,7 @@
1
+ import { AnyType } from '../any-type';
2
+ import { TextMediaTypeDecoder } from './media-type-decoder';
3
+ export declare class AnyTextDecoder implements TextMediaTypeDecoder {
4
+ static default: AnyTextDecoder;
5
+ decode<T>(response: Response, type: AnyType): Promise<T>;
6
+ decodeText<T>(text: string, type: AnyType): T;
7
+ }
@@ -0,0 +1,29 @@
1
+ // Copyright 2020 Outfox, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ export class AnyTextDecoder {
15
+ async decode(response, type) {
16
+ if (type[0] != String) {
17
+ throw Error('Invalid type, expected String');
18
+ }
19
+ return (await response.text());
20
+ }
21
+ decodeText(text, type) {
22
+ if (type[0] != String) {
23
+ throw Error('Invalid type, expected String');
24
+ }
25
+ return text;
26
+ }
27
+ }
28
+ AnyTextDecoder.default = new AnyTextDecoder();
29
+ //# sourceMappingURL=any-text-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"any-text-decoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/any-text-decoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAKjC,MAAM,OAAO,cAAc;IAGzB,KAAK,CAAC,MAAM,CAAI,QAAkB,EAAE,IAAa;QAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;YACrB,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAC9C;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAC;IACjD,CAAC;IAED,UAAU,CAAI,IAAY,EAAE,IAAa;QACvC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;YACrB,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAC9C;QACD,OAAO,IAAoB,CAAC;IAC9B,CAAC;;AAdM,sBAAO,GAAG,IAAI,cAAc,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { MediaTypeEncoder } from './media-type-encoder';
2
+ export declare class AnyTextEncoder implements MediaTypeEncoder {
3
+ static default: AnyTextEncoder;
4
+ encode(value: unknown): BodyInit;
5
+ }
@@ -0,0 +1,23 @@
1
+ // Copyright 2020 Outfox, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ export class AnyTextEncoder {
15
+ encode(value) {
16
+ if (typeof value != 'string') {
17
+ throw Error('Invalid value, expected string');
18
+ }
19
+ return value;
20
+ }
21
+ }
22
+ AnyTextEncoder.default = new AnyTextEncoder();
23
+ //# sourceMappingURL=any-text-encoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"any-text-encoder.js","sourceRoot":"","sources":["../../src/media-type-codecs/any-text-encoder.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAIjC,MAAM,OAAO,cAAc;IAGzB,MAAM,CAAC,KAAc;QACnB,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;YAC5B,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;SAC/C;QACD,OAAO,KAAK,CAAC;IACf,CAAC;;AAPM,sBAAO,GAAG,IAAI,cAAc,EAAE,CAAC"}
@@ -11,6 +11,7 @@
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
+ import { AnyTextDecoder } from './any-text-decoder';
14
15
  import { BinaryDecoder } from './binary-decoder';
15
16
  import { CBORDecoder } from './cbor-decoder';
16
17
  import { JSONDecoder } from './json-decoder';
@@ -39,9 +40,13 @@ MediaTypeDecoders.Builder = class Builder {
39
40
  return this;
40
41
  }
41
42
  addDefaults() {
42
- return this.add(MediaType.JSON, JSONDecoder.default)
43
- .add(MediaType.OctetStream, new BinaryDecoder())
44
- .add(MediaType.CBOR, CBORDecoder.default);
43
+ return this.add(MediaType.OctetStream, BinaryDecoder.default)
44
+ .add(MediaType.JSON, JSONDecoder.default)
45
+ .add(MediaType.CBOR, CBORDecoder.default)
46
+ .add(MediaType.EventStream, BinaryDecoder.default)
47
+ .add(MediaType.AnyText, AnyTextDecoder.default)
48
+ .add(MediaType.X509CACert, BinaryDecoder.default)
49
+ .add(MediaType.X509UserCert, BinaryDecoder.default);
45
50
  }
46
51
  build() {
47
52
  return new MediaTypeDecoders(this.decoders);
@@ -1 +1 @@
1
- {"version":3,"file":"media-type-decoders.js","sourceRoot":"","sources":["../../src/media-type-codecs/media-type-decoders.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAiB1C,MAAM,OAAO,iBAAiB;IA6B5B,YAAoB,QAA0C;QAA1C,aAAQ,GAAR,QAAQ,CAAkC;IAAG,CAAC;IAElE,QAAQ,CAAC,SAAoB;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACnD,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAChE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC3B,CAAC;QACF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;;AA5CM,yBAAO,GAAwC,MAAM,OAAO;IAAb;QAGpD,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAmBpD,CAAC;IAjBC,GAAG,CACD,SAAoB,EACpB,OAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;aACjD,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,aAAa,EAAE,CAAC;aAC/C,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC;AAEK,yBAAO,GAAsB,IAAI,iBAAiB,CAAC,OAAO,EAAE;KAChE,WAAW,EAAE;KACb,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"media-type-decoders.js","sourceRoot":"","sources":["../../src/media-type-codecs/media-type-decoders.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAiB1C,MAAM,OAAO,iBAAiB;IAiC5B,YAAoB,QAA0C;QAA1C,aAAQ,GAAR,QAAQ,CAAkC;IAAG,CAAC;IAElE,QAAQ,CAAC,SAAoB;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACnD,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAChE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC3B,CAAC;QACF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;;AAhDM,yBAAO,GAAwC,MAAM,OAAO;IAAb;QAGpD,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAuBpD,CAAC;IArBC,GAAG,CACD,SAAoB,EACpB,OAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;aAC1D,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;aACjD,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;aAC9C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC;aAChD,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC;AAEK,yBAAO,GAAsB,IAAI,iBAAiB,CAAC,OAAO,EAAE;KAChE,WAAW,EAAE;KACb,KAAK,EAAE,CAAC"}
@@ -12,6 +12,7 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
  import { MediaType } from '../media-type';
15
+ import { AnyTextEncoder } from './any-text-encoder';
15
16
  import { BinaryEncoder } from './binary-encoder';
16
17
  import { CBOREncoder } from './cbor-encoder';
17
18
  import { JSONEncoder } from './json-encoder';
@@ -40,10 +41,13 @@ MediaTypeEncoders.Builder = class Builder {
40
41
  return this;
41
42
  }
42
43
  addDefaults() {
43
- return this.add(MediaType.JSON, JSONEncoder.default)
44
- .add(MediaType.OctetStream, BinaryEncoder.default)
44
+ return this.add(MediaType.OctetStream, BinaryEncoder.default)
45
45
  .add(MediaType.WWWFormUrlEncoded, WWWFormUrlEncoder.default)
46
- .add(MediaType.CBOR, CBOREncoder.default);
46
+ .add(MediaType.JSON, JSONEncoder.default)
47
+ .add(MediaType.CBOR, CBOREncoder.default)
48
+ .add(MediaType.AnyText, AnyTextEncoder.default)
49
+ .add(MediaType.X509CACert, BinaryEncoder.default)
50
+ .add(MediaType.X509UserCert, BinaryEncoder.default);
47
51
  }
48
52
  build() {
49
53
  return new MediaTypeEncoders(this.encoders);
@@ -1 +1 @@
1
- {"version":3,"file":"media-type-encoders.js","sourceRoot":"","sources":["../../src/media-type-codecs/media-type-encoders.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAgB3D,MAAM,OAAO,iBAAiB;IA8B5B,YAAoB,QAA0C;QAA1C,aAAQ,GAAR,QAAQ,CAAkC;IAAG,CAAC;IAElE,QAAQ,CAAC,SAAoB;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACnD,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAChE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC3B,CAAC;QACF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;;AA7CM,yBAAO,GAAwC,MAAM,OAAO;IAAb;QAGpD,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAoBpD,CAAC;IAlBC,GAAG,CACD,SAAoB,EACpB,OAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;aACjD,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;aACjD,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC;aAC3D,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC;AAEK,yBAAO,GAAsB,IAAI,iBAAiB,CAAC,OAAO,EAAE;KAChE,WAAW,EAAE;KACb,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"media-type-encoders.js","sourceRoot":"","sources":["../../src/media-type-codecs/media-type-encoders.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAgB3D,MAAM,OAAO,iBAAiB;IAiC5B,YAAoB,QAA0C;QAA1C,aAAQ,GAAR,QAAQ,CAAkC;IAAG,CAAC;IAElE,QAAQ,CAAC,SAAoB;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACnD,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,SAAoB;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAChE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC3B,CAAC;QACF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;SACtD;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;;AAhDM,yBAAO,GAAwC,MAAM,OAAO;IAAb;QAGpD,aAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAuBpD,CAAC;IArBC,GAAG,CACD,SAAoB,EACpB,OAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC;aAC1D,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,OAAO,CAAC;aAC3D,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;aACxC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;aAC9C,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC;aAChD,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC;AAEK,yBAAO,GAAsB,IAAI,iBAAiB,CAAC,OAAO,EAAE;KAChE,WAAW,EAAE;KACb,KAAK,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outfoxx/sunday",
3
- "version": "v1.1.0-alpha.11",
3
+ "version": "1.1.0-alpha.12",
4
4
  "description": "Sunday 🙏 The framework of REST for TypeScript/JavaScript",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -31,7 +31,6 @@
31
31
  "@js-joda/core": "^5.2.0",
32
32
  "@outfoxx/cbor-redux": "^0.3.1",
33
33
  "@outfoxx/jackson-js": "^1.2.22",
34
- "@types/jasmine": "^4.0.3",
35
34
  "common-tags": "^1.8.2",
36
35
  "tslib": "^2.4.0",
37
36
  "uri-template-lite": "^22.1.0"
@@ -42,6 +41,7 @@
42
41
  "devDependencies": {
43
42
  "@types/common-tags": "^1.8.0",
44
43
  "@types/uri-template-lite": "^19.12.0",
44
+ "@types/jasmine": "^4.0.3",
45
45
  "@typescript-eslint/eslint-plugin": "^5.25.0",
46
46
  "@typescript-eslint/parser": "^5.25.0",
47
47
  "eslint": "^8.15.0",
@@ -52,15 +52,15 @@
52
52
  "fsevents": "^2.1.3",
53
53
  "husky": "^4.3.0",
54
54
  "install": "^0.13.0",
55
- "karma": "^6.3.2",
56
- "karma-chrome-launcher": "^3.1.0",
55
+ "karma": "^6.3.20",
56
+ "karma-chrome-launcher": "^3.1.1",
57
57
  "karma-cli": "^2.0.0",
58
- "karma-coverage": "^2.0.3",
59
- "karma-jasmine": "^4.0.1",
58
+ "karma-coverage": "^2.2.0",
59
+ "karma-jasmine": "^5.0.1",
60
60
  "karma-source-map-support": "^1.4.0",
61
61
  "karma-sourcemap-loader": "^0.3.8",
62
- "karma-typescript": "^5.5.1",
63
- "karma-typescript-es6-transform": "^5.5.1",
62
+ "karma-typescript": "^5.5.3",
63
+ "karma-typescript-es6-transform": "^5.5.3",
64
64
  "lint-staged": "^10.4.0",
65
65
  "prettier": "^2.1.2",
66
66
  "pretty-quick": "^3.0.2",
@@ -0,0 +1,34 @@
1
+ // Copyright 2020 Outfox, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ import { AnyType } from '../any-type';
16
+ import { TextMediaTypeDecoder } from './media-type-decoder';
17
+
18
+ export class AnyTextDecoder implements TextMediaTypeDecoder {
19
+ static default = new AnyTextDecoder();
20
+
21
+ async decode<T>(response: Response, type: AnyType): Promise<T> {
22
+ if (type[0] != String) {
23
+ throw Error('Invalid type, expected String');
24
+ }
25
+ return (await response.text()) as unknown as T;
26
+ }
27
+
28
+ decodeText<T>(text: string, type: AnyType): T {
29
+ if (type[0] != String) {
30
+ throw Error('Invalid type, expected String');
31
+ }
32
+ return text as unknown as T;
33
+ }
34
+ }
@@ -0,0 +1,26 @@
1
+ // Copyright 2020 Outfox, Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ import { MediaTypeEncoder } from './media-type-encoder';
16
+
17
+ export class AnyTextEncoder implements MediaTypeEncoder {
18
+ static default = new AnyTextEncoder();
19
+
20
+ encode(value: unknown): BodyInit {
21
+ if (typeof value != 'string') {
22
+ throw Error('Invalid value, expected string');
23
+ }
24
+ return value;
25
+ }
26
+ }
@@ -12,7 +12,9 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
+ import { AnyTextDecoder } from './any-text-decoder';
15
16
  import { BinaryDecoder } from './binary-decoder';
17
+ import { BinaryEncoder } from './binary-encoder';
16
18
  import { CBORDecoder } from './cbor-decoder';
17
19
  import { JSONDecoder } from './json-decoder';
18
20
  import { MediaType } from '../media-type';
@@ -47,9 +49,13 @@ export class MediaTypeDecoders {
47
49
  }
48
50
 
49
51
  addDefaults(): MediaTypeDecodersBuilder {
50
- return this.add(MediaType.JSON, JSONDecoder.default)
51
- .add(MediaType.OctetStream, new BinaryDecoder())
52
- .add(MediaType.CBOR, CBORDecoder.default);
52
+ return this.add(MediaType.OctetStream, BinaryDecoder.default)
53
+ .add(MediaType.JSON, JSONDecoder.default)
54
+ .add(MediaType.CBOR, CBORDecoder.default)
55
+ .add(MediaType.EventStream, BinaryDecoder.default)
56
+ .add(MediaType.AnyText, AnyTextDecoder.default)
57
+ .add(MediaType.X509CACert, BinaryDecoder.default)
58
+ .add(MediaType.X509UserCert, BinaryDecoder.default);
53
59
  }
54
60
 
55
61
  build(): MediaTypeDecoders {
@@ -13,6 +13,7 @@
13
13
  // limitations under the License.
14
14
 
15
15
  import { MediaType } from '../media-type';
16
+ import { AnyTextEncoder } from './any-text-encoder';
16
17
  import { BinaryEncoder } from './binary-encoder';
17
18
  import { CBOREncoder } from './cbor-encoder';
18
19
  import { JSONEncoder } from './json-encoder';
@@ -48,10 +49,13 @@ export class MediaTypeEncoders {
48
49
  }
49
50
 
50
51
  addDefaults(): MediaTypeEncodersBuilder {
51
- return this.add(MediaType.JSON, JSONEncoder.default)
52
- .add(MediaType.OctetStream, BinaryEncoder.default)
52
+ return this.add(MediaType.OctetStream, BinaryEncoder.default)
53
53
  .add(MediaType.WWWFormUrlEncoded, WWWFormUrlEncoder.default)
54
- .add(MediaType.CBOR, CBOREncoder.default);
54
+ .add(MediaType.JSON, JSONEncoder.default)
55
+ .add(MediaType.CBOR, CBOREncoder.default)
56
+ .add(MediaType.AnyText, AnyTextEncoder.default)
57
+ .add(MediaType.X509CACert, BinaryEncoder.default)
58
+ .add(MediaType.X509UserCert, BinaryEncoder.default);
55
59
  }
56
60
 
57
61
  build(): MediaTypeEncoders {