@outfoxx/sunday 1.1.0-beta.2 → 1.1.0-beta.21
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 +1 -1
- package/build/esm/any-type.js.map +1 -0
- package/build/esm/class-type.js.map +1 -0
- package/build/esm/date-time-types.js.map +1 -0
- package/{dist → build/esm}/event-parser.js +3 -4
- package/build/esm/event-parser.js.map +1 -0
- package/{dist → build/esm}/fetch-event-source.d.ts +0 -2
- package/{dist → build/esm}/fetch-event-source.js +59 -50
- package/build/esm/fetch-event-source.js.map +1 -0
- package/{dist → build/esm}/fetch-request-factory.js +11 -14
- package/build/esm/fetch-request-factory.js.map +1 -0
- package/{dist → build/esm}/fetch.js +5 -7
- package/build/esm/fetch.js.map +1 -0
- package/build/esm/header-parameters.js.map +1 -0
- package/{dist → build/esm}/index.d.ts +1 -0
- package/{dist → build/esm}/index.js +1 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/logger.js.map +1 -0
- package/build/esm/media-type-codecs/any-text-decoder.js.map +1 -0
- package/build/esm/media-type-codecs/any-text-encoder.js.map +1 -0
- package/build/esm/media-type-codecs/binary-decoder.js.map +1 -0
- package/build/esm/media-type-codecs/binary-encoder.js.map +1 -0
- package/{dist → build/esm}/media-type-codecs/cbor-decoder.js +11 -7
- package/build/esm/media-type-codecs/cbor-decoder.js.map +1 -0
- package/{dist → build/esm}/media-type-codecs/cbor-encoder.d.ts +2 -1
- package/{dist → build/esm}/media-type-codecs/cbor-encoder.js +53 -50
- package/build/esm/media-type-codecs/cbor-encoder.js.map +1 -0
- package/build/esm/media-type-codecs/cbor-tags.js.map +1 -0
- package/build/esm/media-type-codecs/json-decoder.js.map +1 -0
- package/{dist → build/esm}/media-type-codecs/json-encoder.js +46 -51
- package/build/esm/media-type-codecs/json-encoder.js.map +1 -0
- package/{dist → build/esm}/media-type-codecs/media-type-decoder.js +1 -2
- package/build/esm/media-type-codecs/media-type-decoder.js.map +1 -0
- package/build/esm/media-type-codecs/media-type-decoders.js.map +1 -0
- package/{dist → build/esm}/media-type-codecs/media-type-encoder.js +2 -4
- package/build/esm/media-type-codecs/media-type-encoder.js.map +1 -0
- package/build/esm/media-type-codecs/media-type-encoders.js.map +1 -0
- package/{dist → build/esm}/media-type-codecs/www-form-url-encoder.js +12 -6
- package/build/esm/media-type-codecs/www-form-url-encoder.js.map +1 -0
- package/{dist → build/esm}/media-type.js +14 -17
- package/build/esm/media-type.js.map +1 -0
- package/{dist → build/esm}/problem.js +5 -7
- package/build/esm/problem.js.map +1 -0
- package/build/esm/request-adapters.d.ts +23 -0
- package/build/esm/request-adapters.js +52 -0
- package/build/esm/request-adapters.js.map +1 -0
- package/{dist → build/esm}/request-factory.d.ts +3 -1
- package/build/esm/request-factory.js.map +1 -0
- package/build/esm/result-response.js.map +1 -0
- package/build/esm/sunday-error.js.map +1 -0
- package/{dist → build/esm}/url-template.js +2 -2
- package/build/esm/url-template.js.map +1 -0
- package/{dist → build/esm}/util/any.js +1 -2
- package/build/esm/util/any.js.map +1 -0
- package/build/esm/util/base64.js.map +1 -0
- package/{dist → build/esm}/util/error.js +1 -1
- package/build/esm/util/error.js.map +1 -0
- package/build/esm/util/hex.js.map +1 -0
- package/build/esm/util/rxjs.d.ts +27 -0
- package/build/esm/util/rxjs.js +79 -0
- package/build/esm/util/rxjs.js.map +1 -0
- package/build/esm/util/temporal.js.map +1 -0
- package/build/esnext/any-type.d.ts +4 -0
- package/build/esnext/any-type.js +15 -0
- package/build/esnext/any-type.js.map +1 -0
- package/build/esnext/class-type.d.ts +2 -0
- package/build/esnext/class-type.js +15 -0
- package/build/esnext/class-type.js.map +1 -0
- package/build/esnext/date-time-types.d.ts +2 -0
- package/build/esnext/date-time-types.js +16 -0
- package/build/esnext/date-time-types.js.map +1 -0
- package/build/esnext/event-parser.d.ts +17 -0
- package/build/esnext/event-parser.js +152 -0
- package/build/esnext/event-parser.js.map +1 -0
- package/build/esnext/fetch-event-source.d.ts +56 -0
- package/build/esnext/fetch-event-source.js +296 -0
- package/build/esnext/fetch-event-source.js.map +1 -0
- package/build/esnext/fetch-request-factory.d.ts +34 -0
- package/build/esnext/fetch-request-factory.js +178 -0
- package/build/esnext/fetch-request-factory.js.map +1 -0
- package/build/esnext/fetch.d.ts +7 -0
- package/build/esnext/fetch.js +88 -0
- package/build/esnext/fetch.js.map +1 -0
- package/build/esnext/header-parameters.d.ts +3 -0
- package/build/esnext/header-parameters.js +53 -0
- package/build/esnext/header-parameters.js.map +1 -0
- package/build/esnext/index.d.ts +27 -0
- package/build/esnext/index.js +41 -0
- package/build/esnext/index.js.map +1 -0
- package/build/esnext/logger.d.ts +8 -0
- package/build/esnext/logger.js +15 -0
- package/build/esnext/logger.js.map +1 -0
- package/build/esnext/media-type-codecs/any-text-decoder.d.ts +7 -0
- package/build/esnext/media-type-codecs/any-text-decoder.js +29 -0
- package/build/esnext/media-type-codecs/any-text-decoder.js.map +1 -0
- package/build/esnext/media-type-codecs/any-text-encoder.d.ts +5 -0
- package/build/esnext/media-type-codecs/any-text-encoder.js +23 -0
- package/build/esnext/media-type-codecs/any-text-encoder.js.map +1 -0
- package/build/esnext/media-type-codecs/binary-decoder.d.ts +6 -0
- package/build/esnext/media-type-codecs/binary-decoder.js +29 -0
- package/build/esnext/media-type-codecs/binary-decoder.js.map +1 -0
- package/build/esnext/media-type-codecs/binary-encoder.d.ts +5 -0
- package/build/esnext/media-type-codecs/binary-encoder.js +26 -0
- package/build/esnext/media-type-codecs/binary-encoder.js.map +1 -0
- package/build/esnext/media-type-codecs/cbor-decoder.d.ts +39 -0
- package/build/esnext/media-type-codecs/cbor-decoder.js +430 -0
- package/build/esnext/media-type-codecs/cbor-decoder.js.map +1 -0
- package/build/esnext/media-type-codecs/cbor-encoder.d.ts +44 -0
- package/build/esnext/media-type-codecs/cbor-encoder.js +242 -0
- package/build/esnext/media-type-codecs/cbor-encoder.js.map +1 -0
- package/build/esnext/media-type-codecs/cbor-tags.d.ts +4 -0
- package/build/esnext/media-type-codecs/cbor-tags.js +18 -0
- package/build/esnext/media-type-codecs/cbor-tags.js.map +1 -0
- package/build/esnext/media-type-codecs/json-decoder.d.ts +39 -0
- package/build/esnext/media-type-codecs/json-decoder.js +380 -0
- package/build/esnext/media-type-codecs/json-decoder.js.map +1 -0
- package/build/esnext/media-type-codecs/json-encoder.d.ts +44 -0
- package/build/esnext/media-type-codecs/json-encoder.js +271 -0
- package/build/esnext/media-type-codecs/json-encoder.js.map +1 -0
- package/build/esnext/media-type-codecs/media-type-decoder.d.ts +11 -0
- package/build/esnext/media-type-codecs/media-type-decoder.js +18 -0
- package/build/esnext/media-type-codecs/media-type-decoder.js.map +1 -0
- package/build/esnext/media-type-codecs/media-type-decoders.d.ts +18 -0
- package/build/esnext/media-type-codecs/media-type-decoders.js +58 -0
- package/build/esnext/media-type-codecs/media-type-decoders.js.map +1 -0
- package/build/esnext/media-type-codecs/media-type-encoder.d.ts +12 -0
- package/build/esnext/media-type-codecs/media-type-encoder.js +22 -0
- package/build/esnext/media-type-codecs/media-type-encoder.js.map +1 -0
- package/build/esnext/media-type-codecs/media-type-encoders.d.ts +18 -0
- package/build/esnext/media-type-codecs/media-type-encoders.js +60 -0
- package/build/esnext/media-type-codecs/media-type-encoders.js.map +1 -0
- package/build/esnext/media-type-codecs/www-form-url-encoder.d.ts +59 -0
- package/build/esnext/media-type-codecs/www-form-url-encoder.js +198 -0
- package/build/esnext/media-type-codecs/www-form-url-encoder.js.map +1 -0
- package/build/esnext/media-type.d.ts +94 -0
- package/build/esnext/media-type.js +302 -0
- package/build/esnext/media-type.js.map +1 -0
- package/build/esnext/problem.d.ts +31 -0
- package/build/esnext/problem.js +156 -0
- package/build/esnext/problem.js.map +1 -0
- package/build/esnext/request-adapters.d.ts +23 -0
- package/build/esnext/request-adapters.js +52 -0
- package/build/esnext/request-adapters.js.map +1 -0
- package/build/esnext/request-factory.d.ts +46 -0
- package/build/esnext/request-factory.js +15 -0
- package/build/esnext/request-factory.js.map +1 -0
- package/build/esnext/result-response.d.ts +4 -0
- package/build/esnext/result-response.js +15 -0
- package/build/esnext/result-response.js.map +1 -0
- package/build/esnext/sunday-error.d.ts +11 -0
- package/build/esnext/sunday-error.js +31 -0
- package/build/esnext/sunday-error.js.map +1 -0
- package/build/esnext/url-template.d.ts +6 -0
- package/build/esnext/url-template.js +31 -0
- package/build/esnext/url-template.js.map +1 -0
- package/build/esnext/util/any.d.ts +2 -0
- package/build/esnext/util/any.js +23 -0
- package/build/esnext/util/any.js.map +1 -0
- package/build/esnext/util/base64.d.ts +5 -0
- package/build/esnext/util/base64.js +77 -0
- package/build/esnext/util/base64.js.map +1 -0
- package/build/esnext/util/error.d.ts +2 -0
- package/build/esnext/util/error.js +26 -0
- package/build/esnext/util/error.js.map +1 -0
- package/build/esnext/util/hex.d.ts +4 -0
- package/build/esnext/util/hex.js +32 -0
- package/build/esnext/util/hex.js.map +1 -0
- package/build/esnext/util/rxjs.d.ts +27 -0
- package/build/esnext/util/rxjs.js +79 -0
- package/build/esnext/util/rxjs.js.map +1 -0
- package/build/esnext/util/temporal.d.ts +2 -0
- package/build/esnext/util/temporal.js +31 -0
- package/build/esnext/util/temporal.js.map +1 -0
- package/build/main/any-type.d.ts +4 -0
- package/build/main/any-type.js +16 -0
- package/build/main/any-type.js.map +1 -0
- package/build/main/class-type.d.ts +2 -0
- package/build/main/class-type.js +16 -0
- package/build/main/class-type.js.map +1 -0
- package/build/main/date-time-types.d.ts +2 -0
- package/build/main/date-time-types.js +27 -0
- package/build/main/date-time-types.js.map +1 -0
- package/build/main/event-parser.d.ts +17 -0
- package/build/main/event-parser.js +156 -0
- package/build/main/event-parser.js.map +1 -0
- package/build/main/fetch-event-source.d.ts +56 -0
- package/build/main/fetch-event-source.js +300 -0
- package/build/main/fetch-event-source.js.map +1 -0
- package/build/main/fetch-request-factory.d.ts +34 -0
- package/build/main/fetch-request-factory.js +182 -0
- package/build/main/fetch-request-factory.js.map +1 -0
- package/build/main/fetch.d.ts +7 -0
- package/build/main/fetch.js +92 -0
- package/build/main/fetch.js.map +1 -0
- package/build/main/header-parameters.d.ts +3 -0
- package/build/main/header-parameters.js +56 -0
- package/build/main/header-parameters.js.map +1 -0
- package/build/main/index.d.ts +27 -0
- package/build/main/index.js +53 -0
- package/build/main/index.js.map +1 -0
- package/build/main/logger.d.ts +8 -0
- package/build/main/logger.js +16 -0
- package/build/main/logger.js.map +1 -0
- package/build/main/media-type-codecs/any-text-decoder.d.ts +7 -0
- package/build/main/media-type-codecs/any-text-decoder.js +33 -0
- package/build/main/media-type-codecs/any-text-decoder.js.map +1 -0
- package/build/main/media-type-codecs/any-text-encoder.d.ts +5 -0
- package/build/main/media-type-codecs/any-text-encoder.js +27 -0
- package/build/main/media-type-codecs/any-text-encoder.js.map +1 -0
- package/build/main/media-type-codecs/binary-decoder.d.ts +6 -0
- package/build/main/media-type-codecs/binary-decoder.js +33 -0
- package/build/main/media-type-codecs/binary-decoder.js.map +1 -0
- package/build/main/media-type-codecs/binary-encoder.d.ts +5 -0
- package/build/main/media-type-codecs/binary-encoder.js +30 -0
- package/build/main/media-type-codecs/binary-encoder.js.map +1 -0
- package/build/main/media-type-codecs/cbor-decoder.d.ts +39 -0
- package/build/main/media-type-codecs/cbor-decoder.js +434 -0
- package/build/main/media-type-codecs/cbor-decoder.js.map +1 -0
- package/build/main/media-type-codecs/cbor-encoder.d.ts +44 -0
- package/build/main/media-type-codecs/cbor-encoder.js +246 -0
- package/build/main/media-type-codecs/cbor-encoder.js.map +1 -0
- package/build/main/media-type-codecs/cbor-tags.d.ts +4 -0
- package/build/main/media-type-codecs/cbor-tags.js +21 -0
- package/build/main/media-type-codecs/cbor-tags.js.map +1 -0
- package/build/main/media-type-codecs/json-decoder.d.ts +39 -0
- package/build/main/media-type-codecs/json-decoder.js +384 -0
- package/build/main/media-type-codecs/json-decoder.js.map +1 -0
- package/build/main/media-type-codecs/json-encoder.d.ts +44 -0
- package/build/main/media-type-codecs/json-encoder.js +275 -0
- package/build/main/media-type-codecs/json-encoder.js.map +1 -0
- package/build/main/media-type-codecs/media-type-decoder.d.ts +11 -0
- package/build/main/media-type-codecs/media-type-decoder.js +22 -0
- package/build/main/media-type-codecs/media-type-decoder.js.map +1 -0
- package/build/main/media-type-codecs/media-type-decoders.d.ts +18 -0
- package/build/main/media-type-codecs/media-type-decoders.js +62 -0
- package/build/main/media-type-codecs/media-type-decoders.js.map +1 -0
- package/build/main/media-type-codecs/media-type-encoder.d.ts +12 -0
- package/build/main/media-type-codecs/media-type-encoder.js +27 -0
- package/build/main/media-type-codecs/media-type-encoder.js.map +1 -0
- package/build/main/media-type-codecs/media-type-encoders.d.ts +18 -0
- package/build/main/media-type-codecs/media-type-encoders.js +64 -0
- package/build/main/media-type-codecs/media-type-encoders.js.map +1 -0
- package/build/main/media-type-codecs/www-form-url-encoder.d.ts +59 -0
- package/build/main/media-type-codecs/www-form-url-encoder.js +202 -0
- package/build/main/media-type-codecs/www-form-url-encoder.js.map +1 -0
- package/build/main/media-type.d.ts +94 -0
- package/build/main/media-type.js +306 -0
- package/build/main/media-type.js.map +1 -0
- package/build/main/problem.d.ts +31 -0
- package/build/main/problem.js +159 -0
- package/build/main/problem.js.map +1 -0
- package/build/main/request-adapters.d.ts +23 -0
- package/build/main/request-adapters.js +58 -0
- package/build/main/request-adapters.js.map +1 -0
- package/build/main/request-factory.d.ts +46 -0
- package/build/main/request-factory.js +16 -0
- package/build/main/request-factory.js.map +1 -0
- package/build/main/result-response.d.ts +4 -0
- package/build/main/result-response.js +16 -0
- package/build/main/result-response.js.map +1 -0
- package/build/main/sunday-error.d.ts +11 -0
- package/build/main/sunday-error.js +35 -0
- package/build/main/sunday-error.js.map +1 -0
- package/build/main/url-template.d.ts +6 -0
- package/build/main/url-template.js +35 -0
- package/build/main/url-template.js.map +1 -0
- package/build/main/util/any.d.ts +2 -0
- package/build/main/util/any.js +28 -0
- package/build/main/util/any.js.map +1 -0
- package/build/main/util/base64.d.ts +5 -0
- package/build/main/util/base64.js +80 -0
- package/build/main/util/base64.js.map +1 -0
- package/build/main/util/error.d.ts +2 -0
- package/build/main/util/error.js +31 -0
- package/build/main/util/error.js.map +1 -0
- package/build/main/util/hex.d.ts +4 -0
- package/build/main/util/hex.js +35 -0
- package/build/main/util/hex.js.map +1 -0
- package/build/main/util/rxjs.d.ts +27 -0
- package/build/main/util/rxjs.js +86 -0
- package/build/main/util/rxjs.js.map +1 -0
- package/build/main/util/temporal.d.ts +2 -0
- package/build/main/util/temporal.js +36 -0
- package/build/main/util/temporal.js.map +1 -0
- package/package.json +48 -34
- package/src/fetch-event-source.ts +68 -42
- package/src/fetch-request-factory.ts +8 -5
- package/src/index.ts +1 -0
- package/src/media-type-codecs/cbor-decoder.ts +19 -10
- package/src/media-type-codecs/cbor-encoder.ts +57 -56
- package/src/media-type-codecs/json-encoder.ts +47 -54
- package/src/media-type-codecs/www-form-url-encoder.ts +14 -5
- package/src/problem.ts +1 -0
- package/src/request-adapters.ts +81 -0
- package/src/request-factory.ts +3 -1
- package/src/url-template.ts +2 -3
- package/src/util/rxjs.ts +84 -2
- package/dist/any-type.js.map +0 -1
- package/dist/class-type.js.map +0 -1
- package/dist/date-time-types.js.map +0 -1
- package/dist/event-parser.js.map +0 -1
- package/dist/fetch-event-source.js.map +0 -1
- package/dist/fetch-request-factory.js.map +0 -1
- package/dist/fetch.js.map +0 -1
- package/dist/header-parameters.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/media-type-codecs/any-text-decoder.js.map +0 -1
- package/dist/media-type-codecs/any-text-encoder.js.map +0 -1
- package/dist/media-type-codecs/binary-decoder.js.map +0 -1
- package/dist/media-type-codecs/binary-encoder.js.map +0 -1
- package/dist/media-type-codecs/cbor-decoder.js.map +0 -1
- package/dist/media-type-codecs/cbor-encoder.js.map +0 -1
- package/dist/media-type-codecs/cbor-tags.js.map +0 -1
- package/dist/media-type-codecs/json-decoder.js.map +0 -1
- package/dist/media-type-codecs/json-encoder.js.map +0 -1
- package/dist/media-type-codecs/media-type-decoder.js.map +0 -1
- package/dist/media-type-codecs/media-type-decoders.js.map +0 -1
- package/dist/media-type-codecs/media-type-encoder.js.map +0 -1
- package/dist/media-type-codecs/media-type-encoders.js.map +0 -1
- package/dist/media-type-codecs/www-form-url-encoder.js.map +0 -1
- package/dist/media-type.js.map +0 -1
- package/dist/problem.js.map +0 -1
- package/dist/request-factory.js.map +0 -1
- package/dist/result-response.js.map +0 -1
- package/dist/sunday-error.js.map +0 -1
- package/dist/url-template.js.map +0 -1
- package/dist/util/any.js.map +0 -1
- package/dist/util/base64.js.map +0 -1
- package/dist/util/error.js.map +0 -1
- package/dist/util/hex.js.map +0 -1
- package/dist/util/rxjs.d.ts +0 -5
- package/dist/util/rxjs.js +0 -31
- package/dist/util/rxjs.js.map +0 -1
- package/dist/util/stream-rxjs.d.ts +0 -2
- package/dist/util/stream-rxjs.js +0 -39
- package/dist/util/stream-rxjs.js.map +0 -1
- package/dist/util/temporal.js.map +0 -1
- package/src/util/stream-rxjs.ts +0 -42
- /package/{dist → build/esm}/any-type.d.ts +0 -0
- /package/{dist → build/esm}/any-type.js +0 -0
- /package/{dist → build/esm}/class-type.d.ts +0 -0
- /package/{dist → build/esm}/class-type.js +0 -0
- /package/{dist → build/esm}/date-time-types.d.ts +0 -0
- /package/{dist → build/esm}/date-time-types.js +0 -0
- /package/{dist → build/esm}/event-parser.d.ts +0 -0
- /package/{dist → build/esm}/fetch-request-factory.d.ts +0 -0
- /package/{dist → build/esm}/fetch.d.ts +0 -0
- /package/{dist → build/esm}/header-parameters.d.ts +0 -0
- /package/{dist → build/esm}/header-parameters.js +0 -0
- /package/{dist → build/esm}/logger.d.ts +0 -0
- /package/{dist → build/esm}/logger.js +0 -0
- /package/{dist → build/esm}/media-type-codecs/any-text-decoder.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/any-text-decoder.js +0 -0
- /package/{dist → build/esm}/media-type-codecs/any-text-encoder.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/any-text-encoder.js +0 -0
- /package/{dist → build/esm}/media-type-codecs/binary-decoder.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/binary-decoder.js +0 -0
- /package/{dist → build/esm}/media-type-codecs/binary-encoder.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/binary-encoder.js +0 -0
- /package/{dist → build/esm}/media-type-codecs/cbor-decoder.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/cbor-tags.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/cbor-tags.js +0 -0
- /package/{dist → build/esm}/media-type-codecs/json-decoder.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/json-decoder.js +0 -0
- /package/{dist → build/esm}/media-type-codecs/json-encoder.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/media-type-decoder.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/media-type-decoders.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/media-type-decoders.js +0 -0
- /package/{dist → build/esm}/media-type-codecs/media-type-encoder.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/media-type-encoders.d.ts +0 -0
- /package/{dist → build/esm}/media-type-codecs/media-type-encoders.js +0 -0
- /package/{dist → build/esm}/media-type-codecs/www-form-url-encoder.d.ts +0 -0
- /package/{dist → build/esm}/media-type.d.ts +0 -0
- /package/{dist → build/esm}/problem.d.ts +0 -0
- /package/{dist → build/esm}/request-factory.js +0 -0
- /package/{dist → build/esm}/result-response.d.ts +0 -0
- /package/{dist → build/esm}/result-response.js +0 -0
- /package/{dist → build/esm}/sunday-error.d.ts +0 -0
- /package/{dist → build/esm}/sunday-error.js +0 -0
- /package/{dist → build/esm}/url-template.d.ts +0 -0
- /package/{dist → build/esm}/util/any.d.ts +0 -0
- /package/{dist → build/esm}/util/base64.d.ts +0 -0
- /package/{dist → build/esm}/util/base64.js +0 -0
- /package/{dist → build/esm}/util/error.d.ts +0 -0
- /package/{dist → build/esm}/util/hex.d.ts +0 -0
- /package/{dist → build/esm}/util/hex.js +0 -0
- /package/{dist → build/esm}/util/temporal.d.ts +0 -0
- /package/{dist → build/esm}/util/temporal.js +0 -0
|
@@ -0,0 +1,178 @@
|
|
|
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
|
+
import { defer, map, Observable, of, switchMap } from 'rxjs';
|
|
15
|
+
import { fromFetch } from 'rxjs/internal/observable/dom/fetch';
|
|
16
|
+
import { validate } from './fetch';
|
|
17
|
+
import { FetchEventSource } from './fetch-event-source';
|
|
18
|
+
import { HeaderParameters } from './header-parameters';
|
|
19
|
+
import { MediaType } from './media-type';
|
|
20
|
+
import { MediaTypeDecoders } from './media-type-codecs/media-type-decoders';
|
|
21
|
+
import { isURLQueryParamsEncoder } from './media-type-codecs/media-type-encoder';
|
|
22
|
+
import { MediaTypeEncoders } from './media-type-codecs/media-type-encoders';
|
|
23
|
+
import { SundayError } from './sunday-error';
|
|
24
|
+
import { URLTemplate } from './url-template';
|
|
25
|
+
import { errorToMessage } from './util/error';
|
|
26
|
+
export class FetchRequestFactory {
|
|
27
|
+
constructor(baseUrl, options) {
|
|
28
|
+
this.problemTypes = new Map();
|
|
29
|
+
this.baseUrl =
|
|
30
|
+
typeof baseUrl === 'string' ? new URLTemplate(baseUrl) : baseUrl;
|
|
31
|
+
this.adapter = options?.adapter;
|
|
32
|
+
this.mediaTypeEncoders =
|
|
33
|
+
options?.mediaTypeEncoders ?? MediaTypeEncoders.DEFAULT;
|
|
34
|
+
this.mediaTypeDecoders =
|
|
35
|
+
options?.mediaTypeDecoders ?? MediaTypeDecoders.DEFAULT;
|
|
36
|
+
this.logger = options?.logger ?? console;
|
|
37
|
+
}
|
|
38
|
+
registerProblem(type, problemType) {
|
|
39
|
+
const typeStr = type instanceof URL ? type.toString() : type;
|
|
40
|
+
this.problemTypes.set(typeStr, problemType);
|
|
41
|
+
}
|
|
42
|
+
request(requestSpec, requestInit) {
|
|
43
|
+
//
|
|
44
|
+
return defer(() => {
|
|
45
|
+
const url = this.baseUrl.complete(requestSpec.pathTemplate, requestSpec.pathParameters ?? {});
|
|
46
|
+
if (requestSpec.queryParameters) {
|
|
47
|
+
const encoder = this.mediaTypeEncoders.find(MediaType.WWWFormUrlEncoded);
|
|
48
|
+
if (!isURLQueryParamsEncoder(encoder)) {
|
|
49
|
+
throw Error(`MediaTypeEncoder for ${MediaType.WWWFormUrlEncoded} must be an instance of URLQueryParamsEncoder`);
|
|
50
|
+
}
|
|
51
|
+
url.search = `?${encoder.encodeQueryString(requestSpec.queryParameters)}`;
|
|
52
|
+
}
|
|
53
|
+
const headers = new Headers(HeaderParameters.encode(requestSpec.headers));
|
|
54
|
+
// Determine & add accept header
|
|
55
|
+
if (requestSpec.acceptTypes) {
|
|
56
|
+
const supportedAcceptTypes = requestSpec.acceptTypes.filter((type) => this.mediaTypeDecoders.supports(type));
|
|
57
|
+
if (!supportedAcceptTypes.length) {
|
|
58
|
+
throw Error('None of the provided accept types has a reqistered decoder');
|
|
59
|
+
}
|
|
60
|
+
const accept = supportedAcceptTypes.join(' , ');
|
|
61
|
+
headers.set('accept', accept);
|
|
62
|
+
}
|
|
63
|
+
// Determine content type
|
|
64
|
+
const contentType = requestSpec.contentTypes?.find((type) => this.mediaTypeEncoders.supports(type));
|
|
65
|
+
// If matched, add content type (even if body is nil, to match any expected server requirements)
|
|
66
|
+
if (contentType) {
|
|
67
|
+
headers.set('content-type', contentType.toString());
|
|
68
|
+
}
|
|
69
|
+
// Encode & add body data
|
|
70
|
+
let body;
|
|
71
|
+
if (requestSpec.body) {
|
|
72
|
+
if (!contentType) {
|
|
73
|
+
throw Error('None of the provided content types has a registered encoder');
|
|
74
|
+
}
|
|
75
|
+
body = this.mediaTypeEncoders
|
|
76
|
+
.find(contentType)
|
|
77
|
+
.encode(requestSpec.body, requestSpec.bodyType);
|
|
78
|
+
}
|
|
79
|
+
const init = Object.assign({}, requestInit, {
|
|
80
|
+
headers,
|
|
81
|
+
body,
|
|
82
|
+
method: requestSpec.method,
|
|
83
|
+
});
|
|
84
|
+
return of(new Request(url.toString(), init));
|
|
85
|
+
}).pipe(switchMap(async (request) => this.adapter?.adapt(this, request) ?? request));
|
|
86
|
+
}
|
|
87
|
+
response(request, dataExpected) {
|
|
88
|
+
const request$ = request instanceof Request ? of(request) : this.request(request);
|
|
89
|
+
return request$.pipe(switchMap((req) => fromFetch(req)), switchMap((response) => validate(response, dataExpected ?? false, this.problemTypes)));
|
|
90
|
+
}
|
|
91
|
+
resultResponse(request, responseType) {
|
|
92
|
+
const response$ = this.response(request, !!responseType);
|
|
93
|
+
if (!responseType) {
|
|
94
|
+
return response$.pipe(map((response) => {
|
|
95
|
+
return {
|
|
96
|
+
result: undefined,
|
|
97
|
+
response,
|
|
98
|
+
};
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
return response$.pipe(switchMap(async (response) => {
|
|
103
|
+
try {
|
|
104
|
+
const contentType = MediaType.from(response.headers.get('content-type'), MediaType.OctetStream);
|
|
105
|
+
const decoder = this.mediaTypeDecoders.find(contentType);
|
|
106
|
+
const result = await decoder.decode(response, responseType);
|
|
107
|
+
return {
|
|
108
|
+
result,
|
|
109
|
+
response,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
throw await SundayError.fromResponse(errorToMessage(error, 'Response Decoding Failed'), response);
|
|
114
|
+
}
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
result(request, responseType) {
|
|
119
|
+
const response$ = this.response(request, !!responseType);
|
|
120
|
+
if (!responseType) {
|
|
121
|
+
return response$.pipe(map(() => undefined));
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
return response$.pipe(switchMap(async (response) => {
|
|
125
|
+
try {
|
|
126
|
+
const contentType = MediaType.from(response.headers.get('content-type'), MediaType.OctetStream);
|
|
127
|
+
const decoder = this.mediaTypeDecoders.find(contentType);
|
|
128
|
+
return await decoder.decode(response, responseType);
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
throw await SundayError.fromResponse(errorToMessage(error, 'Response Decoding Failed'), response);
|
|
132
|
+
}
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
eventSource(requestSpec) {
|
|
137
|
+
//
|
|
138
|
+
const adapter = (url, requestInit) => {
|
|
139
|
+
const eventSourceSpec = Object.assign({}, requestSpec, {
|
|
140
|
+
pathTemplate: url,
|
|
141
|
+
});
|
|
142
|
+
return this.request(eventSourceSpec, requestInit);
|
|
143
|
+
};
|
|
144
|
+
return new FetchEventSource(requestSpec.pathTemplate, {
|
|
145
|
+
logger: this.logger,
|
|
146
|
+
adapter,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
eventStream(requestSpec, decoder) {
|
|
150
|
+
const eventSource = this.eventSource(requestSpec);
|
|
151
|
+
const jsonDecoder = this.mediaTypeDecoders.find(MediaType.JSON);
|
|
152
|
+
return new Observable((subscriber) => {
|
|
153
|
+
eventSource.onmessage = (event) => {
|
|
154
|
+
if (!event.data) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
try {
|
|
158
|
+
const decodedEvent = decoder(jsonDecoder, event.type, event.lastEventId, event.data, this.logger);
|
|
159
|
+
if (!decodedEvent) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
subscriber.next(decodedEvent);
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
subscriber.error(error);
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
eventSource.onerror = (event) => {
|
|
169
|
+
this.logger?.error?.({ event }, 'event source error');
|
|
170
|
+
};
|
|
171
|
+
eventSource.connect();
|
|
172
|
+
return () => {
|
|
173
|
+
eventSource.close();
|
|
174
|
+
};
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=fetch-request-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-request-factory.js","sourceRoot":"","sources":["../../src/fetch-request-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ConstructableClassType } from './class-type';
|
|
2
|
+
import { Problem } from './problem';
|
|
3
|
+
export declare function validate(response: Response, dataExpected: boolean, problemTypes?: Map<string, ConstructableClassType<Problem>>): Promise<Response>;
|
|
4
|
+
export declare namespace ResponseExample {
|
|
5
|
+
function build(response: Response, bodyExample?: string): string;
|
|
6
|
+
function bodyExcerpt(response: Response, maxLength: number): Promise<[string, unknown]>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
import { MediaType } from './media-type';
|
|
15
|
+
import { Problem } from './problem';
|
|
16
|
+
import { SundayError } from './sunday-error';
|
|
17
|
+
import { Base64 } from './util/base64';
|
|
18
|
+
import { errorToMessage } from './util/error';
|
|
19
|
+
export async function validate(response, dataExpected, problemTypes) {
|
|
20
|
+
if (response.status < 200 || response.status >= 300) {
|
|
21
|
+
const mediaType = MediaType.from(response.headers.get('content-type'), MediaType.OctetStream);
|
|
22
|
+
const isProblem = mediaType?.compatible(MediaType.Problem) ?? false;
|
|
23
|
+
if (!isProblem) {
|
|
24
|
+
throw await Problem.fromResponse(response);
|
|
25
|
+
}
|
|
26
|
+
const problemData = await response.json();
|
|
27
|
+
const problemType = problemTypes?.get(problemData.type) ?? Problem;
|
|
28
|
+
if (problemType.name === 'Problem') {
|
|
29
|
+
throw new Problem(problemData);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
throw new problemType(problemData?.instance);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (dataExpected && (response.status === 204 || response.status === 205)) {
|
|
36
|
+
throw await SundayError.fromResponse('Unexpected Empty Response', response);
|
|
37
|
+
}
|
|
38
|
+
return response;
|
|
39
|
+
}
|
|
40
|
+
export var ResponseExample;
|
|
41
|
+
(function (ResponseExample) {
|
|
42
|
+
function build(response, bodyExample) {
|
|
43
|
+
return (`HTTP/?.? ${response.status} ${response.statusText}\n` +
|
|
44
|
+
Array.from(response.headers.entries())
|
|
45
|
+
.map(([name, value]) => `${name}: ${value}\n`)
|
|
46
|
+
.join('') +
|
|
47
|
+
'\n' +
|
|
48
|
+
(bodyExample ?? '<none>'));
|
|
49
|
+
}
|
|
50
|
+
ResponseExample.build = build;
|
|
51
|
+
async function bodyExcerpt(response, maxLength) {
|
|
52
|
+
let body;
|
|
53
|
+
let bodyExcerpt;
|
|
54
|
+
try {
|
|
55
|
+
if (response.headers.get('content-type')?.startsWith('text/')) {
|
|
56
|
+
const text = await response.text();
|
|
57
|
+
body = text;
|
|
58
|
+
if (text.length > maxLength) {
|
|
59
|
+
const exampleText = text.slice(0, maxLength);
|
|
60
|
+
const remainingTextLength = text.length - maxLength;
|
|
61
|
+
bodyExcerpt = `${exampleText}<<... ${remainingTextLength} characters>>`;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
bodyExcerpt = text;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const blob = await response.blob();
|
|
69
|
+
body = blob;
|
|
70
|
+
if (blob.size > maxLength) {
|
|
71
|
+
bodyExcerpt = `<<binary data: ${blob.size} bytes>>`;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
const dataSlice = await blob.slice(0, maxLength).arrayBuffer();
|
|
75
|
+
bodyExcerpt = Base64.encode(dataSlice);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
// ignore errors
|
|
81
|
+
const message = errorToMessage(error);
|
|
82
|
+
body = bodyExcerpt = `<<error displaying response data: ${message}>>`;
|
|
83
|
+
}
|
|
84
|
+
return [bodyExcerpt, body];
|
|
85
|
+
}
|
|
86
|
+
ResponseExample.bodyExcerpt = bodyExcerpt;
|
|
87
|
+
})(ResponseExample || (ResponseExample = {}));
|
|
88
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/fetch.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;AAGjC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,QAAkB,EAClB,YAAqB,EACrB,YAA2D;IAE3D,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;QACnD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAC9B,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EACpC,SAAS,CAAC,WAAW,CACtB,CAAC;QACF,MAAM,SAAS,GAAG,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;QACpE,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,MAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC5C;QAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,YAAY,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC;QACnE,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE;YAClC,MAAM,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;SAChC;aAAM;YACL,MAAM,IAAI,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SAC9C;KACF;IAED,IAAI,YAAY,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE;QACxE,MAAM,MAAM,WAAW,CAAC,YAAY,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;KAC7E;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,KAAW,eAAe,CA8C/B;AA9CD,WAAiB,eAAe;IAC9B,SAAgB,KAAK,CAAC,QAAkB,EAAE,WAAoB;QAC5D,OAAO,CACL,YAAY,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,IAAI;YACtD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;iBACnC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,IAAI,CAAC;iBAC7C,IAAI,CAAC,EAAE,CAAC;YACX,IAAI;YACJ,CAAC,WAAW,IAAI,QAAQ,CAAC,CAC1B,CAAC;IACJ,CAAC;IATe,qBAAK,QASpB,CAAA;IAEM,KAAK,UAAU,WAAW,CAC/B,QAAkB,EAClB,SAAiB;QAEjB,IAAI,IAAa,CAAC;QAClB,IAAI,WAAmB,CAAC;QACxB,IAAI;YACF,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE;gBAC7D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE;oBAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;oBAC7C,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;oBACpD,WAAW,GAAG,GAAG,WAAW,SAAS,mBAAmB,eAAe,CAAC;iBACzE;qBAAM;oBACL,WAAW,GAAG,IAAI,CAAC;iBACpB;aACF;iBAAM;gBACL,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,IAAI,CAAC,IAAI,GAAG,SAAS,EAAE;oBACzB,WAAW,GAAG,kBAAkB,IAAI,CAAC,IAAI,UAAU,CAAC;iBACrD;qBAAM;oBACL,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC/D,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;iBACxC;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,gBAAgB;YAChB,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,GAAG,WAAW,GAAG,qCAAqC,OAAO,IAAI,CAAC;SACvE;QACD,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAjCqB,2BAAW,cAiChC,CAAA;AACH,CAAC,EA9CgB,eAAe,KAAf,eAAe,QA8C/B"}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 var HeaderParameters;
|
|
15
|
+
(function (HeaderParameters) {
|
|
16
|
+
function encode(parameters) {
|
|
17
|
+
if (parameters == null) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
const headers = [];
|
|
21
|
+
Object.entries(parameters).forEach(([name, parameter]) => {
|
|
22
|
+
for (const value of encodeParam(name, parameter)) {
|
|
23
|
+
headers.push([name, value]);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return headers;
|
|
27
|
+
}
|
|
28
|
+
HeaderParameters.encode = encode;
|
|
29
|
+
function encodeParam(name, value) {
|
|
30
|
+
if (value == null) {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
if (value instanceof Array) {
|
|
34
|
+
const result = [];
|
|
35
|
+
for (const item of value) {
|
|
36
|
+
if (item == null) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
result.push(validate(name, `${item}`));
|
|
40
|
+
}
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
return [validate(name, `${value}`)];
|
|
44
|
+
}
|
|
45
|
+
const asciiRegex = /^[\x20-\x7F]*$/;
|
|
46
|
+
function validate(name, value) {
|
|
47
|
+
if (!asciiRegex.test(value)) {
|
|
48
|
+
throw new Error(`The encoded header value contains one or more invalid characters: header=${name}, value=${value}`);
|
|
49
|
+
}
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
})(HeaderParameters || (HeaderParameters = {}));
|
|
53
|
+
//# sourceMappingURL=header-parameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-parameters.js","sourceRoot":"","sources":["../../src/header-parameters.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,MAAM,KAAW,gBAAgB,CAmDhC;AAnDD,WAAiB,gBAAgB;IAC/B,SAAgB,MAAM,CACpB,UAAoC;QAEpC,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,OAAO,EAAE,CAAC;SACX;QAED,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE;YACvD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;gBAChD,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;IAhBe,uBAAM,SAgBrB,CAAA;IAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAc;QAC/C,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO,EAAE,CAAC;SACX;QAED,IAAI,KAAK,YAAY,KAAK,EAAE;YAC1B,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,IAAI,IAAI,IAAI,EAAE;oBAChB,SAAS;iBACV;gBAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;aACxC;YAED,OAAO,MAAM,CAAC;SACf;QAED,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC;IAEpC,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CACb,4EAA4E,IAAI,WAAW,KAAK,EAAE,CACnG,CAAC;SACH;QACD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,EAnDgB,gBAAgB,KAAhB,gBAAgB,QAmDhC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export * from './any-type';
|
|
2
|
+
export * from './class-type';
|
|
3
|
+
export * from './request-factory';
|
|
4
|
+
export * from './fetch-request-factory';
|
|
5
|
+
export * from './fetch-event-source';
|
|
6
|
+
export * from './url-template';
|
|
7
|
+
export * from './media-type';
|
|
8
|
+
export * from './media-type-codecs/media-type-decoder';
|
|
9
|
+
export * from './media-type-codecs/media-type-decoders';
|
|
10
|
+
export * from './media-type-codecs/media-type-encoder';
|
|
11
|
+
export * from './media-type-codecs/media-type-encoders';
|
|
12
|
+
export * from './media-type-codecs/json-decoder';
|
|
13
|
+
export * from './media-type-codecs/json-encoder';
|
|
14
|
+
export * from './media-type-codecs/cbor-decoder';
|
|
15
|
+
export * from './media-type-codecs/cbor-encoder';
|
|
16
|
+
export * from './media-type-codecs/binary-decoder';
|
|
17
|
+
export * from './media-type-codecs/binary-encoder';
|
|
18
|
+
export * from './media-type-codecs/www-form-url-encoder';
|
|
19
|
+
export * from './logger';
|
|
20
|
+
export * from './sunday-error';
|
|
21
|
+
export * from './problem';
|
|
22
|
+
export * from './date-time-types';
|
|
23
|
+
export * from './result-response';
|
|
24
|
+
export * from './request-adapters';
|
|
25
|
+
export * from './util/base64';
|
|
26
|
+
export * from './util/hex';
|
|
27
|
+
export * from './util/rxjs';
|
|
@@ -0,0 +1,41 @@
|
|
|
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 * from './any-type';
|
|
15
|
+
export * from './class-type';
|
|
16
|
+
export * from './request-factory';
|
|
17
|
+
export * from './fetch-request-factory';
|
|
18
|
+
export * from './fetch-event-source';
|
|
19
|
+
export * from './url-template';
|
|
20
|
+
export * from './media-type';
|
|
21
|
+
export * from './media-type-codecs/media-type-decoder';
|
|
22
|
+
export * from './media-type-codecs/media-type-decoders';
|
|
23
|
+
export * from './media-type-codecs/media-type-encoder';
|
|
24
|
+
export * from './media-type-codecs/media-type-encoders';
|
|
25
|
+
export * from './media-type-codecs/json-decoder';
|
|
26
|
+
export * from './media-type-codecs/json-encoder';
|
|
27
|
+
export * from './media-type-codecs/cbor-decoder';
|
|
28
|
+
export * from './media-type-codecs/cbor-encoder';
|
|
29
|
+
export * from './media-type-codecs/binary-decoder';
|
|
30
|
+
export * from './media-type-codecs/binary-encoder';
|
|
31
|
+
export * from './media-type-codecs/www-form-url-encoder';
|
|
32
|
+
export * from './logger';
|
|
33
|
+
export * from './sunday-error';
|
|
34
|
+
export * from './problem';
|
|
35
|
+
export * from './date-time-types';
|
|
36
|
+
export * from './result-response';
|
|
37
|
+
export * from './request-adapters';
|
|
38
|
+
export * from './util/base64';
|
|
39
|
+
export * from './util/hex';
|
|
40
|
+
export * from './util/rxjs';
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.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,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,0CAA0C,CAAC;AACzD,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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 {};
|
|
15
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.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"}
|
|
@@ -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,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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MediaTypeDecoder } from './media-type-decoder';
|
|
2
|
+
import { AnyConstructableType } from '../any-type';
|
|
3
|
+
export declare class BinaryDecoder implements MediaTypeDecoder {
|
|
4
|
+
static default: BinaryDecoder;
|
|
5
|
+
decode<T>(response: Response, type: AnyConstructableType): Promise<T>;
|
|
6
|
+
}
|
|
@@ -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 BinaryDecoder {
|
|
15
|
+
async decode(response, type) {
|
|
16
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
17
|
+
if (type[0] === ArrayBuffer) {
|
|
18
|
+
return arrayBuffer;
|
|
19
|
+
}
|
|
20
|
+
else if (type[0] === Uint8Array ||
|
|
21
|
+
type[0] === Int8Array ||
|
|
22
|
+
type[0] === DataView) {
|
|
23
|
+
return new type[0](arrayBuffer);
|
|
24
|
+
}
|
|
25
|
+
throw Error('Invalid value, expected ArrayBuffer, (Int|Uint)Array or DataView');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
BinaryDecoder.default = new BinaryDecoder();
|
|
29
|
+
//# sourceMappingURL=binary-decoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-decoder.js","sourceRoot":"","sources":["../../../src/media-type-codecs/binary-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,aAAa;IAGxB,KAAK,CAAC,MAAM,CAAI,QAAkB,EAAE,IAA0B;QAC5D,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAEjD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;YAC3B,OAAO,WAA2B,CAAC;SACpC;aAAM,IACL,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU;YACtB,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;YACrB,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EACpB;YACA,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAM,CAAC;SACtC;QAED,MAAM,KAAK,CACT,kEAAkE,CACnE,CAAC;IACJ,CAAC;;AAlBM,qBAAO,GAAG,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -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
|
+
export class BinaryEncoder {
|
|
15
|
+
encode(value) {
|
|
16
|
+
if (!ArrayBuffer.isView(value) &&
|
|
17
|
+
!(value instanceof ArrayBuffer) &&
|
|
18
|
+
!(value instanceof Blob) &&
|
|
19
|
+
!(value instanceof ReadableStream)) {
|
|
20
|
+
throw Error('Invalid value, expected BufferSource, Blob or ReadableStream');
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
BinaryEncoder.default = new BinaryEncoder();
|
|
26
|
+
//# sourceMappingURL=binary-encoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-encoder.js","sourceRoot":"","sources":["../../../src/media-type-codecs/binary-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,aAAa;IAGxB,MAAM,CAAC,KAAc;QACnB,IACE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YAC1B,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;YAC/B,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC;YACxB,CAAC,CAAC,KAAK,YAAY,cAAc,CAAC,EAClC;YACA,MAAM,KAAK,CACT,8DAA8D,CAC/D,CAAC;SACH;QACD,OAAO,KAAK,CAAC;IACf,CAAC;;AAdM,qBAAO,GAAG,IAAI,aAAa,EAAE,CAAC"}
|