@outfoxx/sunday 1.1.0-beta.9 → 2.0.0-beta.1
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 +2 -0
- package/build/date-time-types.d.ts +35 -0
- package/build/date-time-types.js +699 -0
- package/build/date-time-types.js.map +1 -0
- package/build/{esm/event-parser.d.ts → event-parser.d.ts} +1 -1
- package/build/{esm/event-parser.js → event-parser.js} +10 -12
- package/build/event-parser.js.map +1 -0
- package/build/{esm/fetch-event-source.d.ts → fetch-event-source.d.ts} +26 -18
- package/build/fetch-event-source.js +365 -0
- package/build/fetch-event-source.js.map +1 -0
- package/build/fetch-transport.d.ts +32 -0
- package/build/fetch-transport.js +311 -0
- package/build/fetch-transport.js.map +1 -0
- package/build/fetch.d.ts +9 -0
- package/build/fetch.js +140 -0
- package/build/fetch.js.map +1 -0
- package/build/{esnext/header-parameters.js → header-parameters.js} +31 -2
- package/build/header-parameters.js.map +1 -0
- package/build/index.d.ts +27 -0
- package/build/index.js +42 -0
- package/build/index.js.map +1 -0
- package/build/{main/logger.d.ts → logger.d.ts} +9 -0
- package/build/logger.js +36 -0
- package/build/logger.js.map +1 -0
- package/build/media-type-codecs/any-text-decoder.d.ts +7 -0
- package/build/{esm/media-type-codecs → media-type-codecs}/any-text-decoder.js +9 -9
- package/build/media-type-codecs/any-text-decoder.js.map +1 -0
- package/build/media-type-codecs/any-text-encoder.d.ts +6 -0
- package/build/{esm/media-type-codecs → media-type-codecs}/any-text-encoder.js +9 -5
- package/build/media-type-codecs/any-text-encoder.js.map +1 -0
- package/build/media-type-codecs/binary-decoder.d.ts +7 -0
- package/build/{esnext/media-type-codecs → media-type-codecs}/binary-decoder.js +13 -9
- package/build/media-type-codecs/binary-decoder.js.map +1 -0
- package/build/media-type-codecs/binary-encoder.d.ts +6 -0
- package/build/{esnext/media-type-codecs → media-type-codecs}/binary-encoder.js +12 -8
- package/build/media-type-codecs/binary-encoder.js.map +1 -0
- package/build/media-type-codecs/cbor-decoder.d.ts +13 -0
- package/build/media-type-codecs/cbor-decoder.js +38 -0
- package/build/media-type-codecs/cbor-decoder.js.map +1 -0
- package/build/media-type-codecs/cbor-encoder.d.ts +12 -0
- package/build/media-type-codecs/cbor-encoder.js +36 -0
- package/build/media-type-codecs/cbor-encoder.js.map +1 -0
- package/build/{esm/media-type-codecs → media-type-codecs}/cbor-tags.d.ts +2 -0
- package/build/{esnext/media-type-codecs → media-type-codecs}/cbor-tags.js +2 -0
- package/build/media-type-codecs/cbor-tags.js.map +1 -0
- package/build/media-type-codecs/default-policies.d.ts +3 -0
- package/build/media-type-codecs/default-policies.js +33 -0
- package/build/media-type-codecs/default-policies.js.map +1 -0
- package/build/media-type-codecs/json-decoder.d.ts +14 -0
- package/build/media-type-codecs/json-decoder.js +40 -0
- package/build/media-type-codecs/json-decoder.js.map +1 -0
- package/build/media-type-codecs/json-encoder.d.ts +13 -0
- package/build/media-type-codecs/json-encoder.js +43 -0
- package/build/media-type-codecs/json-encoder.js.map +1 -0
- package/build/media-type-codecs/media-type-decoder.d.ts +14 -0
- package/build/{esm/media-type-codecs → media-type-codecs}/media-type-decoder.js +1 -2
- package/build/media-type-codecs/media-type-decoder.js.map +1 -0
- package/build/{main/media-type-codecs → media-type-codecs}/media-type-decoders.d.ts +6 -8
- package/build/media-type-codecs/media-type-decoders.js +63 -0
- package/build/media-type-codecs/media-type-decoders.js.map +1 -0
- package/build/{main/media-type-codecs → media-type-codecs}/media-type-encoder.d.ts +3 -3
- package/build/{esnext/media-type-codecs → media-type-codecs}/media-type-encoder.js +2 -4
- package/build/media-type-codecs/media-type-encoder.js.map +1 -0
- package/build/{esnext/media-type-codecs → media-type-codecs}/media-type-encoders.d.ts +6 -8
- package/build/media-type-codecs/media-type-encoders.js +65 -0
- package/build/media-type-codecs/media-type-encoders.js.map +1 -0
- package/build/media-type-codecs/www-form-url-encoder.d.ts +31 -0
- package/build/media-type-codecs/www-form-url-encoder.js +281 -0
- package/build/media-type-codecs/www-form-url-encoder.js.map +1 -0
- package/build/{esm/media-type.js → media-type.js} +23 -23
- package/build/media-type.js.map +1 -0
- package/build/operation-response.d.ts +33 -0
- package/build/operation-response.js +140 -0
- package/build/operation-response.js.map +1 -0
- package/build/operation.d.ts +54 -0
- package/build/operation.js +87 -0
- package/build/operation.js.map +1 -0
- package/build/problem.d.ts +35 -0
- package/build/problem.js +122 -0
- package/build/problem.js.map +1 -0
- package/build/request-adapters.d.ts +23 -0
- package/build/request-adapters.js +53 -0
- package/build/request-adapters.js.map +1 -0
- package/build/schema-builtins.d.ts +21 -0
- package/build/schema-builtins.js +201 -0
- package/build/schema-builtins.js.map +1 -0
- package/build/schema-policy.d.ts +31 -0
- package/build/schema-policy.js +41 -0
- package/build/schema-policy.js.map +1 -0
- package/build/schema-runtime.d.ts +36 -0
- package/build/schema-runtime.js +77 -0
- package/build/schema-runtime.js.map +1 -0
- package/build/{esnext/sunday-error.d.ts → sunday-error.d.ts} +2 -3
- package/build/{esm/sunday-error.js → sunday-error.js} +9 -4
- package/build/sunday-error.js.map +1 -0
- package/build/transport.d.ts +39 -0
- package/build/{esnext/logger.js → transport.js} +1 -1
- package/build/transport.js.map +1 -0
- package/build/{esm/url-template.js → url-template.js} +5 -3
- package/build/url-template.js.map +1 -0
- package/build/util/async-iterables.d.ts +15 -0
- package/build/util/async-iterables.js +179 -0
- package/build/util/async-iterables.js.map +1 -0
- package/build/util/errors.js +65 -0
- package/build/util/errors.js.map +1 -0
- package/build/util/nullify.d.ts +5 -0
- package/build/util/nullify.js +37 -0
- package/build/util/nullify.js.map +1 -0
- package/build/util/numbers.d.ts +11 -0
- package/build/{esnext/util/temporal.js → util/numbers.js} +14 -4
- package/build/util/numbers.js.map +1 -0
- package/build/util/subscriptions.d.ts +16 -0
- package/build/util/subscriptions.js +78 -0
- package/build/util/subscriptions.js.map +1 -0
- package/build/{esm/util/any.js → util/unknowns.js} +2 -3
- package/build/util/unknowns.js.map +1 -0
- package/package.json +58 -58
- package/build/esm/any-type.d.ts +0 -4
- package/build/esm/any-type.js +0 -15
- package/build/esm/any-type.js.map +0 -1
- package/build/esm/class-type.d.ts +0 -2
- package/build/esm/class-type.js +0 -15
- package/build/esm/class-type.js.map +0 -1
- package/build/esm/date-time-types.d.ts +0 -2
- package/build/esm/date-time-types.js +0 -16
- package/build/esm/date-time-types.js.map +0 -1
- package/build/esm/event-parser.js.map +0 -1
- package/build/esm/fetch-event-source.js +0 -290
- package/build/esm/fetch-event-source.js.map +0 -1
- package/build/esm/fetch-request-factory.d.ts +0 -34
- package/build/esm/fetch-request-factory.js +0 -181
- package/build/esm/fetch-request-factory.js.map +0 -1
- package/build/esm/fetch.d.ts +0 -7
- package/build/esm/fetch.js +0 -90
- package/build/esm/fetch.js.map +0 -1
- package/build/esm/header-parameters.js +0 -53
- package/build/esm/header-parameters.js.map +0 -1
- package/build/esm/index.d.ts +0 -26
- package/build/esm/index.js +0 -40
- package/build/esm/index.js.map +0 -1
- package/build/esm/logger.d.ts +0 -8
- package/build/esm/logger.js +0 -15
- package/build/esm/logger.js.map +0 -1
- package/build/esm/media-type-codecs/any-text-decoder.d.ts +0 -7
- package/build/esm/media-type-codecs/any-text-decoder.js.map +0 -1
- package/build/esm/media-type-codecs/any-text-encoder.d.ts +0 -5
- package/build/esm/media-type-codecs/any-text-encoder.js.map +0 -1
- package/build/esm/media-type-codecs/binary-decoder.d.ts +0 -6
- package/build/esm/media-type-codecs/binary-decoder.js +0 -29
- package/build/esm/media-type-codecs/binary-decoder.js.map +0 -1
- package/build/esm/media-type-codecs/binary-encoder.d.ts +0 -5
- package/build/esm/media-type-codecs/binary-encoder.js +0 -26
- package/build/esm/media-type-codecs/binary-encoder.js.map +0 -1
- package/build/esm/media-type-codecs/cbor-decoder.d.ts +0 -39
- package/build/esm/media-type-codecs/cbor-decoder.js +0 -426
- package/build/esm/media-type-codecs/cbor-decoder.js.map +0 -1
- package/build/esm/media-type-codecs/cbor-encoder.d.ts +0 -43
- package/build/esm/media-type-codecs/cbor-encoder.js +0 -236
- package/build/esm/media-type-codecs/cbor-encoder.js.map +0 -1
- package/build/esm/media-type-codecs/cbor-tags.js +0 -18
- package/build/esm/media-type-codecs/cbor-tags.js.map +0 -1
- package/build/esm/media-type-codecs/json-decoder.d.ts +0 -39
- package/build/esm/media-type-codecs/json-decoder.js +0 -380
- package/build/esm/media-type-codecs/json-decoder.js.map +0 -1
- package/build/esm/media-type-codecs/json-encoder.d.ts +0 -44
- package/build/esm/media-type-codecs/json-encoder.js +0 -273
- package/build/esm/media-type-codecs/json-encoder.js.map +0 -1
- package/build/esm/media-type-codecs/media-type-decoder.d.ts +0 -11
- package/build/esm/media-type-codecs/media-type-decoder.js.map +0 -1
- package/build/esm/media-type-codecs/media-type-decoders.d.ts +0 -18
- package/build/esm/media-type-codecs/media-type-decoders.js +0 -58
- package/build/esm/media-type-codecs/media-type-decoders.js.map +0 -1
- package/build/esm/media-type-codecs/media-type-encoder.d.ts +0 -12
- package/build/esm/media-type-codecs/media-type-encoder.js +0 -24
- package/build/esm/media-type-codecs/media-type-encoder.js.map +0 -1
- package/build/esm/media-type-codecs/media-type-encoders.d.ts +0 -18
- package/build/esm/media-type-codecs/media-type-encoders.js +0 -60
- package/build/esm/media-type-codecs/media-type-encoders.js.map +0 -1
- package/build/esm/media-type-codecs/www-form-url-encoder.d.ts +0 -59
- package/build/esm/media-type-codecs/www-form-url-encoder.js +0 -192
- package/build/esm/media-type-codecs/www-form-url-encoder.js.map +0 -1
- package/build/esm/media-type.js.map +0 -1
- package/build/esm/problem.d.ts +0 -31
- package/build/esm/problem.js +0 -158
- package/build/esm/problem.js.map +0 -1
- package/build/esm/request-factory.d.ts +0 -44
- package/build/esm/request-factory.js +0 -15
- package/build/esm/request-factory.js.map +0 -1
- package/build/esm/result-response.d.ts +0 -4
- package/build/esm/result-response.js +0 -15
- package/build/esm/result-response.js.map +0 -1
- package/build/esm/sunday-error.d.ts +0 -11
- package/build/esm/sunday-error.js.map +0 -1
- package/build/esm/url-template.js.map +0 -1
- package/build/esm/util/any.js.map +0 -1
- package/build/esm/util/base64.d.ts +0 -5
- package/build/esm/util/base64.js +0 -77
- package/build/esm/util/base64.js.map +0 -1
- package/build/esm/util/error.js +0 -26
- package/build/esm/util/error.js.map +0 -1
- package/build/esm/util/hex.d.ts +0 -4
- package/build/esm/util/hex.js +0 -32
- package/build/esm/util/hex.js.map +0 -1
- package/build/esm/util/rxjs.d.ts +0 -5
- package/build/esm/util/rxjs.js +0 -31
- package/build/esm/util/rxjs.js.map +0 -1
- package/build/esm/util/stream-rxjs.d.ts +0 -2
- package/build/esm/util/stream-rxjs.js +0 -39
- package/build/esm/util/stream-rxjs.js.map +0 -1
- package/build/esm/util/temporal.d.ts +0 -2
- package/build/esm/util/temporal.js +0 -31
- package/build/esm/util/temporal.js.map +0 -1
- package/build/esnext/any-type.d.ts +0 -4
- package/build/esnext/any-type.js +0 -15
- package/build/esnext/any-type.js.map +0 -1
- package/build/esnext/class-type.d.ts +0 -2
- package/build/esnext/class-type.js +0 -15
- package/build/esnext/class-type.js.map +0 -1
- package/build/esnext/date-time-types.d.ts +0 -2
- package/build/esnext/date-time-types.js +0 -16
- package/build/esnext/date-time-types.js.map +0 -1
- package/build/esnext/event-parser.d.ts +0 -17
- package/build/esnext/event-parser.js +0 -153
- package/build/esnext/event-parser.js.map +0 -1
- package/build/esnext/fetch-event-source.d.ts +0 -58
- package/build/esnext/fetch-event-source.js +0 -290
- package/build/esnext/fetch-event-source.js.map +0 -1
- package/build/esnext/fetch-request-factory.d.ts +0 -34
- package/build/esnext/fetch-request-factory.js +0 -181
- package/build/esnext/fetch-request-factory.js.map +0 -1
- package/build/esnext/fetch.d.ts +0 -7
- package/build/esnext/fetch.js +0 -90
- package/build/esnext/fetch.js.map +0 -1
- package/build/esnext/header-parameters.d.ts +0 -3
- package/build/esnext/header-parameters.js.map +0 -1
- package/build/esnext/index.d.ts +0 -26
- package/build/esnext/index.js +0 -40
- package/build/esnext/index.js.map +0 -1
- package/build/esnext/logger.d.ts +0 -8
- package/build/esnext/logger.js.map +0 -1
- package/build/esnext/media-type-codecs/any-text-decoder.d.ts +0 -7
- package/build/esnext/media-type-codecs/any-text-decoder.js +0 -29
- package/build/esnext/media-type-codecs/any-text-decoder.js.map +0 -1
- package/build/esnext/media-type-codecs/any-text-encoder.d.ts +0 -5
- package/build/esnext/media-type-codecs/any-text-encoder.js +0 -23
- package/build/esnext/media-type-codecs/any-text-encoder.js.map +0 -1
- package/build/esnext/media-type-codecs/binary-decoder.d.ts +0 -6
- package/build/esnext/media-type-codecs/binary-decoder.js.map +0 -1
- package/build/esnext/media-type-codecs/binary-encoder.d.ts +0 -5
- package/build/esnext/media-type-codecs/binary-encoder.js.map +0 -1
- package/build/esnext/media-type-codecs/cbor-decoder.d.ts +0 -39
- package/build/esnext/media-type-codecs/cbor-decoder.js +0 -426
- package/build/esnext/media-type-codecs/cbor-decoder.js.map +0 -1
- package/build/esnext/media-type-codecs/cbor-encoder.d.ts +0 -43
- package/build/esnext/media-type-codecs/cbor-encoder.js +0 -236
- package/build/esnext/media-type-codecs/cbor-encoder.js.map +0 -1
- package/build/esnext/media-type-codecs/cbor-tags.d.ts +0 -4
- package/build/esnext/media-type-codecs/cbor-tags.js.map +0 -1
- package/build/esnext/media-type-codecs/json-decoder.d.ts +0 -39
- package/build/esnext/media-type-codecs/json-decoder.js +0 -380
- package/build/esnext/media-type-codecs/json-decoder.js.map +0 -1
- package/build/esnext/media-type-codecs/json-encoder.d.ts +0 -44
- package/build/esnext/media-type-codecs/json-encoder.js +0 -273
- package/build/esnext/media-type-codecs/json-encoder.js.map +0 -1
- package/build/esnext/media-type-codecs/media-type-decoder.d.ts +0 -11
- package/build/esnext/media-type-codecs/media-type-decoder.js +0 -19
- package/build/esnext/media-type-codecs/media-type-decoder.js.map +0 -1
- package/build/esnext/media-type-codecs/media-type-decoders.d.ts +0 -18
- package/build/esnext/media-type-codecs/media-type-decoders.js +0 -58
- package/build/esnext/media-type-codecs/media-type-decoders.js.map +0 -1
- package/build/esnext/media-type-codecs/media-type-encoder.d.ts +0 -12
- package/build/esnext/media-type-codecs/media-type-encoder.js.map +0 -1
- package/build/esnext/media-type-codecs/media-type-encoders.js +0 -60
- package/build/esnext/media-type-codecs/media-type-encoders.js.map +0 -1
- package/build/esnext/media-type-codecs/www-form-url-encoder.d.ts +0 -59
- package/build/esnext/media-type-codecs/www-form-url-encoder.js +0 -192
- package/build/esnext/media-type-codecs/www-form-url-encoder.js.map +0 -1
- package/build/esnext/media-type.d.ts +0 -94
- package/build/esnext/media-type.js +0 -305
- package/build/esnext/media-type.js.map +0 -1
- package/build/esnext/problem.d.ts +0 -31
- package/build/esnext/problem.js +0 -158
- package/build/esnext/problem.js.map +0 -1
- package/build/esnext/request-factory.d.ts +0 -44
- package/build/esnext/request-factory.js +0 -15
- package/build/esnext/request-factory.js.map +0 -1
- package/build/esnext/result-response.d.ts +0 -4
- package/build/esnext/result-response.js +0 -15
- package/build/esnext/result-response.js.map +0 -1
- package/build/esnext/sunday-error.js +0 -31
- package/build/esnext/sunday-error.js.map +0 -1
- package/build/esnext/url-template.d.ts +0 -6
- package/build/esnext/url-template.js +0 -31
- package/build/esnext/url-template.js.map +0 -1
- package/build/esnext/util/any.d.ts +0 -2
- package/build/esnext/util/any.js +0 -24
- package/build/esnext/util/any.js.map +0 -1
- package/build/esnext/util/base64.d.ts +0 -5
- package/build/esnext/util/base64.js +0 -77
- package/build/esnext/util/base64.js.map +0 -1
- package/build/esnext/util/error.d.ts +0 -2
- package/build/esnext/util/error.js +0 -26
- package/build/esnext/util/error.js.map +0 -1
- package/build/esnext/util/hex.d.ts +0 -4
- package/build/esnext/util/hex.js +0 -32
- package/build/esnext/util/hex.js.map +0 -1
- package/build/esnext/util/rxjs.d.ts +0 -5
- package/build/esnext/util/rxjs.js +0 -31
- package/build/esnext/util/rxjs.js.map +0 -1
- package/build/esnext/util/stream-rxjs.d.ts +0 -2
- package/build/esnext/util/stream-rxjs.js +0 -39
- package/build/esnext/util/stream-rxjs.js.map +0 -1
- package/build/esnext/util/temporal.d.ts +0 -2
- package/build/esnext/util/temporal.js.map +0 -1
- package/build/main/any-type.d.ts +0 -4
- package/build/main/any-type.js +0 -16
- package/build/main/any-type.js.map +0 -1
- package/build/main/class-type.d.ts +0 -2
- package/build/main/class-type.js +0 -16
- package/build/main/class-type.js.map +0 -1
- package/build/main/date-time-types.d.ts +0 -2
- package/build/main/date-time-types.js +0 -27
- package/build/main/date-time-types.js.map +0 -1
- package/build/main/event-parser.d.ts +0 -17
- package/build/main/event-parser.js +0 -157
- package/build/main/event-parser.js.map +0 -1
- package/build/main/fetch-event-source.d.ts +0 -58
- package/build/main/fetch-event-source.js +0 -294
- package/build/main/fetch-event-source.js.map +0 -1
- package/build/main/fetch-request-factory.d.ts +0 -34
- package/build/main/fetch-request-factory.js +0 -185
- package/build/main/fetch-request-factory.js.map +0 -1
- package/build/main/fetch.d.ts +0 -7
- package/build/main/fetch.js +0 -94
- package/build/main/fetch.js.map +0 -1
- package/build/main/header-parameters.d.ts +0 -3
- package/build/main/header-parameters.js +0 -56
- package/build/main/header-parameters.js.map +0 -1
- package/build/main/index.d.ts +0 -26
- package/build/main/index.js +0 -52
- package/build/main/index.js.map +0 -1
- package/build/main/logger.js +0 -16
- package/build/main/logger.js.map +0 -1
- package/build/main/media-type-codecs/any-text-decoder.d.ts +0 -7
- package/build/main/media-type-codecs/any-text-decoder.js +0 -33
- package/build/main/media-type-codecs/any-text-decoder.js.map +0 -1
- package/build/main/media-type-codecs/any-text-encoder.d.ts +0 -5
- package/build/main/media-type-codecs/any-text-encoder.js +0 -27
- package/build/main/media-type-codecs/any-text-encoder.js.map +0 -1
- package/build/main/media-type-codecs/binary-decoder.d.ts +0 -6
- package/build/main/media-type-codecs/binary-decoder.js +0 -33
- package/build/main/media-type-codecs/binary-decoder.js.map +0 -1
- package/build/main/media-type-codecs/binary-encoder.d.ts +0 -5
- package/build/main/media-type-codecs/binary-encoder.js +0 -30
- package/build/main/media-type-codecs/binary-encoder.js.map +0 -1
- package/build/main/media-type-codecs/cbor-decoder.d.ts +0 -39
- package/build/main/media-type-codecs/cbor-decoder.js +0 -430
- package/build/main/media-type-codecs/cbor-decoder.js.map +0 -1
- package/build/main/media-type-codecs/cbor-encoder.d.ts +0 -43
- package/build/main/media-type-codecs/cbor-encoder.js +0 -240
- package/build/main/media-type-codecs/cbor-encoder.js.map +0 -1
- package/build/main/media-type-codecs/cbor-tags.d.ts +0 -4
- package/build/main/media-type-codecs/cbor-tags.js +0 -21
- package/build/main/media-type-codecs/cbor-tags.js.map +0 -1
- package/build/main/media-type-codecs/json-decoder.d.ts +0 -39
- package/build/main/media-type-codecs/json-decoder.js +0 -384
- package/build/main/media-type-codecs/json-decoder.js.map +0 -1
- package/build/main/media-type-codecs/json-encoder.d.ts +0 -44
- package/build/main/media-type-codecs/json-encoder.js +0 -277
- package/build/main/media-type-codecs/json-encoder.js.map +0 -1
- package/build/main/media-type-codecs/media-type-decoder.d.ts +0 -11
- package/build/main/media-type-codecs/media-type-decoder.js +0 -23
- package/build/main/media-type-codecs/media-type-decoder.js.map +0 -1
- package/build/main/media-type-codecs/media-type-decoders.js +0 -62
- package/build/main/media-type-codecs/media-type-decoders.js.map +0 -1
- package/build/main/media-type-codecs/media-type-encoder.js +0 -29
- package/build/main/media-type-codecs/media-type-encoder.js.map +0 -1
- package/build/main/media-type-codecs/media-type-encoders.d.ts +0 -18
- package/build/main/media-type-codecs/media-type-encoders.js +0 -64
- package/build/main/media-type-codecs/media-type-encoders.js.map +0 -1
- package/build/main/media-type-codecs/www-form-url-encoder.d.ts +0 -59
- package/build/main/media-type-codecs/www-form-url-encoder.js +0 -196
- package/build/main/media-type-codecs/www-form-url-encoder.js.map +0 -1
- package/build/main/media-type.d.ts +0 -94
- package/build/main/media-type.js +0 -309
- package/build/main/media-type.js.map +0 -1
- package/build/main/problem.d.ts +0 -31
- package/build/main/problem.js +0 -161
- package/build/main/problem.js.map +0 -1
- package/build/main/request-factory.d.ts +0 -44
- package/build/main/request-factory.js +0 -16
- package/build/main/request-factory.js.map +0 -1
- package/build/main/result-response.d.ts +0 -4
- package/build/main/result-response.js +0 -16
- package/build/main/result-response.js.map +0 -1
- package/build/main/sunday-error.d.ts +0 -11
- package/build/main/sunday-error.js +0 -35
- package/build/main/sunday-error.js.map +0 -1
- package/build/main/url-template.d.ts +0 -6
- package/build/main/url-template.js +0 -35
- package/build/main/url-template.js.map +0 -1
- package/build/main/util/any.d.ts +0 -2
- package/build/main/util/any.js +0 -29
- package/build/main/util/any.js.map +0 -1
- package/build/main/util/base64.d.ts +0 -5
- package/build/main/util/base64.js +0 -80
- package/build/main/util/base64.js.map +0 -1
- package/build/main/util/error.d.ts +0 -2
- package/build/main/util/error.js +0 -31
- package/build/main/util/error.js.map +0 -1
- package/build/main/util/hex.d.ts +0 -4
- package/build/main/util/hex.js +0 -35
- package/build/main/util/hex.js.map +0 -1
- package/build/main/util/rxjs.d.ts +0 -5
- package/build/main/util/rxjs.js +0 -36
- package/build/main/util/rxjs.js.map +0 -1
- package/build/main/util/stream-rxjs.d.ts +0 -2
- package/build/main/util/stream-rxjs.js +0 -43
- package/build/main/util/stream-rxjs.js.map +0 -1
- package/build/main/util/temporal.d.ts +0 -2
- package/build/main/util/temporal.js +0 -36
- package/build/main/util/temporal.js.map +0 -1
- /package/build/{esm/header-parameters.d.ts → header-parameters.d.ts} +0 -0
- /package/build/{esm/media-type.d.ts → media-type.d.ts} +0 -0
- /package/build/{esm/url-template.d.ts → url-template.d.ts} +0 -0
- /package/build/{esm/util/error.d.ts → util/errors.d.ts} +0 -0
- /package/build/{esm/util/any.d.ts → util/unknowns.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-type.js","sourceRoot":"","sources":["../src/media-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { MediaType } from './media-type.js';
|
|
2
|
+
/** A single HTTP response header entry. */
|
|
3
|
+
export interface ResponseHeaderEntry {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly value: string;
|
|
6
|
+
}
|
|
7
|
+
/** HTTP response headers with case-insensitive lookup. */
|
|
8
|
+
export declare class ResponseHeaders {
|
|
9
|
+
readonly entries: readonly ResponseHeaderEntry[];
|
|
10
|
+
constructor(entries: readonly ResponseHeaderEntry[]);
|
|
11
|
+
/** Creates response headers from a Fetch API `Headers` value. */
|
|
12
|
+
static from(headers: Headers): ResponseHeaders;
|
|
13
|
+
/** Retrieves all values matching `name` case-insensitively. */
|
|
14
|
+
getAll(name: string): readonly string[];
|
|
15
|
+
/** Retrieves the first value matching `name` case-insensitively. */
|
|
16
|
+
get(name: string): string | undefined;
|
|
17
|
+
/** Parsed `Content-Type` header value. */
|
|
18
|
+
get contentType(): MediaType | undefined;
|
|
19
|
+
}
|
|
20
|
+
/** A decoded operation result with HTTP response metadata. */
|
|
21
|
+
export declare class OperationResponse<R> {
|
|
22
|
+
readonly result: R;
|
|
23
|
+
readonly transportResponse: Response;
|
|
24
|
+
readonly status: number;
|
|
25
|
+
readonly headers: ResponseHeaders;
|
|
26
|
+
constructor(result: R, transportResponse: Response);
|
|
27
|
+
/** Retrieves all response header values matching `name`. */
|
|
28
|
+
getHeaders(name: string): readonly string[];
|
|
29
|
+
/** Retrieves the first response header value matching `name`. */
|
|
30
|
+
getHeader(name: string): string | undefined;
|
|
31
|
+
/** Parsed `Content-Type` header value. */
|
|
32
|
+
get contentType(): MediaType | undefined;
|
|
33
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
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.js';
|
|
15
|
+
const commaSeparatedResponseHeaders = new Set([
|
|
16
|
+
'accept-ranges',
|
|
17
|
+
'access-control-allow-headers',
|
|
18
|
+
'access-control-allow-methods',
|
|
19
|
+
'access-control-expose-headers',
|
|
20
|
+
'allow',
|
|
21
|
+
'cache-control',
|
|
22
|
+
'connection',
|
|
23
|
+
'content-encoding',
|
|
24
|
+
'link',
|
|
25
|
+
'transfer-encoding',
|
|
26
|
+
'upgrade',
|
|
27
|
+
'vary',
|
|
28
|
+
]);
|
|
29
|
+
/** HTTP response headers with case-insensitive lookup. */
|
|
30
|
+
export class ResponseHeaders {
|
|
31
|
+
entries;
|
|
32
|
+
constructor(entries) {
|
|
33
|
+
this.entries = entries;
|
|
34
|
+
}
|
|
35
|
+
/** Creates response headers from a Fetch API `Headers` value. */
|
|
36
|
+
static from(headers) {
|
|
37
|
+
const entries = [];
|
|
38
|
+
const setCookies = headers.getSetCookie?.() ?? [];
|
|
39
|
+
headers.forEach((value, name) => {
|
|
40
|
+
if (name.toLowerCase() === 'set-cookie' && setCookies.length > 0) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
splitHeaderValue(name, value).forEach((value) => {
|
|
44
|
+
entries.push({ name, value });
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
setCookies.forEach((value) => {
|
|
48
|
+
entries.push({ name: 'set-cookie', value });
|
|
49
|
+
});
|
|
50
|
+
return new ResponseHeaders(entries);
|
|
51
|
+
}
|
|
52
|
+
/** Retrieves all values matching `name` case-insensitively. */
|
|
53
|
+
getAll(name) {
|
|
54
|
+
return this.entries
|
|
55
|
+
.filter((entry) => entry.name.toLowerCase() === name.toLowerCase())
|
|
56
|
+
.map((entry) => entry.value);
|
|
57
|
+
}
|
|
58
|
+
/** Retrieves the first value matching `name` case-insensitively. */
|
|
59
|
+
get(name) {
|
|
60
|
+
return this.entries.find((entry) => entry.name.toLowerCase() === name.toLowerCase())?.value;
|
|
61
|
+
}
|
|
62
|
+
/** Parsed `Content-Type` header value. */
|
|
63
|
+
get contentType() {
|
|
64
|
+
const value = this.get('content-type');
|
|
65
|
+
if (!value) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
return MediaType.from(value);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function splitHeaderValue(name, value) {
|
|
77
|
+
if (!commaSeparatedResponseHeaders.has(name.toLowerCase())) {
|
|
78
|
+
return [value];
|
|
79
|
+
}
|
|
80
|
+
const values = [];
|
|
81
|
+
let start = 0;
|
|
82
|
+
let inQuotes = false;
|
|
83
|
+
let inAngleBrackets = false;
|
|
84
|
+
let escaping = false;
|
|
85
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
86
|
+
const char = value[index];
|
|
87
|
+
if (escaping) {
|
|
88
|
+
escaping = false;
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
if (char === '\\' && inQuotes) {
|
|
92
|
+
escaping = true;
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
if (char === '"' && !inAngleBrackets) {
|
|
96
|
+
inQuotes = !inQuotes;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (char === '<' && !inQuotes) {
|
|
100
|
+
inAngleBrackets = true;
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
if (char === '>' && !inQuotes) {
|
|
104
|
+
inAngleBrackets = false;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (char === ',' && !inQuotes && !inAngleBrackets) {
|
|
108
|
+
values.push(value.slice(start, index).trim());
|
|
109
|
+
start = index + 1;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
values.push(value.slice(start).trim());
|
|
113
|
+
return values.filter((value) => value.length > 0);
|
|
114
|
+
}
|
|
115
|
+
/** A decoded operation result with HTTP response metadata. */
|
|
116
|
+
export class OperationResponse {
|
|
117
|
+
result;
|
|
118
|
+
transportResponse;
|
|
119
|
+
status;
|
|
120
|
+
headers;
|
|
121
|
+
constructor(result, transportResponse) {
|
|
122
|
+
this.result = result;
|
|
123
|
+
this.transportResponse = transportResponse;
|
|
124
|
+
this.status = transportResponse.status;
|
|
125
|
+
this.headers = ResponseHeaders.from(transportResponse.headers);
|
|
126
|
+
}
|
|
127
|
+
/** Retrieves all response header values matching `name`. */
|
|
128
|
+
getHeaders(name) {
|
|
129
|
+
return this.headers.getAll(name);
|
|
130
|
+
}
|
|
131
|
+
/** Retrieves the first response header value matching `name`. */
|
|
132
|
+
getHeader(name) {
|
|
133
|
+
return this.headers.get(name);
|
|
134
|
+
}
|
|
135
|
+
/** Parsed `Content-Type` header value. */
|
|
136
|
+
get contentType() {
|
|
137
|
+
return this.headers.contentType;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=operation-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation-response.js","sourceRoot":"","sources":["../src/operation-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Transport, RequestSpec } from './transport.js';
|
|
2
|
+
import { OperationResponse } from './operation-response.js';
|
|
3
|
+
import { SchemaLike } from './schema-runtime.js';
|
|
4
|
+
import { type ProblemMatcher } from './util/nullify.js';
|
|
5
|
+
/** Extracts the native request type from a transport. */
|
|
6
|
+
export type TransportRequest<Factory> = Factory extends Transport<infer NativeRequest> ? NativeRequest : never;
|
|
7
|
+
/** Options used when converting an operation into a native request. */
|
|
8
|
+
export interface BuildRequestOptions {
|
|
9
|
+
readonly signal?: AbortSignal;
|
|
10
|
+
}
|
|
11
|
+
/** Options used when executing an operation. */
|
|
12
|
+
export interface ExecuteOptions {
|
|
13
|
+
readonly signal?: AbortSignal;
|
|
14
|
+
}
|
|
15
|
+
/** Describes the generated HTTP request and optional response decoder for an operation. */
|
|
16
|
+
export interface OperationSpec<RequestBody, ResponseBody> {
|
|
17
|
+
readonly request: RequestSpec<RequestBody>;
|
|
18
|
+
readonly responseType?: SchemaLike<ResponseBody>;
|
|
19
|
+
}
|
|
20
|
+
/** Describes an operation with no decoded response body. */
|
|
21
|
+
export interface VoidOperationSpec<RequestBody = void> extends OperationSpec<RequestBody, void> {
|
|
22
|
+
readonly responseType?: undefined;
|
|
23
|
+
}
|
|
24
|
+
/** Describes an operation with a decoded response body. */
|
|
25
|
+
export interface TypedOperationSpec<RequestBody, ResponseBody> extends OperationSpec<RequestBody, ResponseBody> {
|
|
26
|
+
readonly responseType: SchemaLike<ResponseBody>;
|
|
27
|
+
}
|
|
28
|
+
/** Describes problems that should be translated into a null response value. */
|
|
29
|
+
export interface NullifySpec {
|
|
30
|
+
readonly statuses: readonly number[];
|
|
31
|
+
readonly problemTypes: readonly ProblemMatcher[];
|
|
32
|
+
}
|
|
33
|
+
/** A generated operation that can be executed or converted into a native transport request. */
|
|
34
|
+
export interface Operation<RequestBody, ResponseBody, Factory extends Transport<unknown> = Transport> {
|
|
35
|
+
readonly spec: OperationSpec<RequestBody, ResponseBody>;
|
|
36
|
+
execute(options?: ExecuteOptions): Promise<ResponseBody>;
|
|
37
|
+
response(options?: ExecuteOptions): Promise<OperationResponse<ResponseBody>>;
|
|
38
|
+
transportRequest(options?: BuildRequestOptions): Promise<TransportRequest<Factory>>;
|
|
39
|
+
transportResponse(options?: ExecuteOptions): Promise<Response>;
|
|
40
|
+
}
|
|
41
|
+
/** A generated operation that can execute select problems as null responses. */
|
|
42
|
+
export interface NullableOperation<RequestBody, ResponseBody, Factory extends Transport<unknown> = Transport> extends Operation<RequestBody, ResponseBody, Factory> {
|
|
43
|
+
readonly nullify: NullifySpec;
|
|
44
|
+
executeOrNull(options?: ExecuteOptions): Promise<ResponseBody | null>;
|
|
45
|
+
responseOrNull(options?: ExecuteOptions): Promise<OperationResponse<ResponseBody> | null>;
|
|
46
|
+
}
|
|
47
|
+
/** Creates an operation with a decoded response body. */
|
|
48
|
+
export declare function createOperation<RequestBody = void, ResponseBody = void, Factory extends Transport<unknown> = Transport>(transport: Factory, spec: TypedOperationSpec<RequestBody, ResponseBody>): Operation<RequestBody, ResponseBody, Factory>;
|
|
49
|
+
/** Creates an operation with no decoded response body. */
|
|
50
|
+
export declare function createOperation<RequestBody = void, Factory extends Transport<unknown> = Transport>(transport: Factory, spec: VoidOperationSpec<RequestBody>): Operation<RequestBody, void, Factory>;
|
|
51
|
+
/** Creates a nullable operation with a decoded response body. */
|
|
52
|
+
export declare function createNullableOperation<RequestBody = void, ResponseBody = void, Factory extends Transport<unknown> = Transport>(transport: Factory, spec: TypedOperationSpec<RequestBody, ResponseBody>, nullify: NullifySpec): NullableOperation<RequestBody, ResponseBody, Factory>;
|
|
53
|
+
/** Creates a nullable operation with no decoded response body. */
|
|
54
|
+
export declare function createNullableOperation<RequestBody = void, Factory extends Transport<unknown> = Transport>(transport: Factory, spec: VoidOperationSpec<RequestBody>, nullify: NullifySpec): NullableOperation<RequestBody, void, Factory>;
|
|
@@ -0,0 +1,87 @@
|
|
|
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 { nullifyProblem } from './util/nullify.js';
|
|
15
|
+
export function createOperation(transport, spec) {
|
|
16
|
+
return new TransportOperation(transport, spec);
|
|
17
|
+
}
|
|
18
|
+
export function createNullableOperation(transport, spec, nullify) {
|
|
19
|
+
return new TransportNullableOperation(transport, spec, nullify);
|
|
20
|
+
}
|
|
21
|
+
class TransportOperation {
|
|
22
|
+
transport;
|
|
23
|
+
spec;
|
|
24
|
+
constructor(transport, spec) {
|
|
25
|
+
this.transport = transport;
|
|
26
|
+
this.spec = spec;
|
|
27
|
+
}
|
|
28
|
+
async execute(options) {
|
|
29
|
+
const request = requestWithOptions(this.spec.request, options);
|
|
30
|
+
if (this.spec.responseType) {
|
|
31
|
+
return this.transport.result(request, this.spec.responseType);
|
|
32
|
+
}
|
|
33
|
+
return this.transport.result(request);
|
|
34
|
+
}
|
|
35
|
+
async response(options) {
|
|
36
|
+
const request = requestWithOptions(this.spec.request, options);
|
|
37
|
+
if (this.spec.responseType) {
|
|
38
|
+
return this.transport.response(request, this.spec.responseType);
|
|
39
|
+
}
|
|
40
|
+
return this.transport.response(request);
|
|
41
|
+
}
|
|
42
|
+
async transportRequest(options) {
|
|
43
|
+
return this.transport.transportRequest(requestWithOptions(this.spec.request, options));
|
|
44
|
+
}
|
|
45
|
+
async transportResponse(options) {
|
|
46
|
+
const request = await this.transportRequest(options);
|
|
47
|
+
return this.transport.transportResponse(request);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
class TransportNullableOperation {
|
|
51
|
+
spec;
|
|
52
|
+
nullify;
|
|
53
|
+
operation;
|
|
54
|
+
constructor(transport, spec, nullify) {
|
|
55
|
+
this.spec = spec;
|
|
56
|
+
this.nullify = nullify;
|
|
57
|
+
this.operation = new TransportOperation(transport, spec);
|
|
58
|
+
}
|
|
59
|
+
async execute(options) {
|
|
60
|
+
return this.operation.execute(options);
|
|
61
|
+
}
|
|
62
|
+
async executeOrNull(options) {
|
|
63
|
+
return nullifyProblem(this.operation.execute(options), [...this.nullify.statuses], [...this.nullify.problemTypes]);
|
|
64
|
+
}
|
|
65
|
+
async responseOrNull(options) {
|
|
66
|
+
return nullifyProblem(this.operation.response(options), [...this.nullify.statuses], [...this.nullify.problemTypes]);
|
|
67
|
+
}
|
|
68
|
+
async response(options) {
|
|
69
|
+
return this.operation.response(options);
|
|
70
|
+
}
|
|
71
|
+
async transportRequest(options) {
|
|
72
|
+
return this.operation.transportRequest(options);
|
|
73
|
+
}
|
|
74
|
+
async transportResponse(options) {
|
|
75
|
+
return this.operation.transportResponse(options);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function requestWithOptions(request, options) {
|
|
79
|
+
if (options?.signal === undefined) {
|
|
80
|
+
return request;
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
...request,
|
|
84
|
+
signal: options.signal,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=operation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation.js","sourceRoot":"","sources":["../src/operation.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,OAAO,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AAgFxE,MAAM,UAAU,eAAe,CAC7B,SAAkB,EAClB,IAA8C;IAE9C,OAAO,IAAI,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAgBD,MAAM,UAAU,uBAAuB,CACrC,SAAkB,EAClB,IAA8C,EAC9C,OAAoB;IAEpB,OAAO,IAAI,0BAA0B,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,kBAAkB;IAGH;IACR;IAFX,YACmB,SAAkB,EAC1B,IAA8C;QADtC,cAAS,GAAT,SAAS,CAAS;QAC1B,SAAI,GAAJ,IAAI,CAA0C;IAEzD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAA0B,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAA6C,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAA6B;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAuC,CAAC;IAC/H,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAwB;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,0BAA0B;IAMnB;IACA;IALM,SAAS,CAAgD;IAE1E,YACE,SAAkB,EACT,IAA8C,EAC9C,OAAoB;QADpB,SAAI,GAAJ,IAAI,CAA0C;QAC9C,YAAO,GAAP,OAAO,CAAa;QAE7B,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAwB;QAC1C,OAAO,cAAc,CACnB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAC/B,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC1B,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAwB;QAC3C,OAAO,cAAc,CACnB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAChC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC1B,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAC/B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAA6B;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAwB;QAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;CACF;AAED,SAAS,kBAAkB,CACzB,OAAiC,EACjC,OAA8C;IAE9C,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SchemaLike } from './schema-runtime.js';
|
|
3
|
+
export interface Problem {
|
|
4
|
+
type: URL;
|
|
5
|
+
title: string;
|
|
6
|
+
status: number;
|
|
7
|
+
detail?: string;
|
|
8
|
+
instance?: URL;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
}
|
|
11
|
+
export declare const ProblemWireSchema: z.ZodObject<{
|
|
12
|
+
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<URL, URL>]>>;
|
|
13
|
+
title: z.ZodString;
|
|
14
|
+
status: z.ZodNumber;
|
|
15
|
+
detail: z.ZodOptional<z.ZodString>;
|
|
16
|
+
instance: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodCustom<URL, URL>]>>;
|
|
17
|
+
}, z.core.$loose>;
|
|
18
|
+
export type ProblemSpec = z.infer<typeof ProblemWireSchema>;
|
|
19
|
+
export declare class Problem extends Error implements Problem {
|
|
20
|
+
static readonly BLANK_URL: URL;
|
|
21
|
+
type: URL;
|
|
22
|
+
title: string;
|
|
23
|
+
status: number;
|
|
24
|
+
detail?: string;
|
|
25
|
+
instance?: URL;
|
|
26
|
+
private readonly _parameters?;
|
|
27
|
+
get parameters(): Record<string, unknown> | undefined;
|
|
28
|
+
constructor(spec: ProblemSpec);
|
|
29
|
+
toString(): string;
|
|
30
|
+
static fromStatus(status: number, title: string): Problem;
|
|
31
|
+
static fromResponse(response: Response): Promise<Problem>;
|
|
32
|
+
private static parseURL;
|
|
33
|
+
}
|
|
34
|
+
export declare function createProblemCodec<TProblem extends Problem, TWire extends z.infer<typeof ProblemWireSchema>>(problemType: new (spec: TWire) => TProblem, wireSchema: z.ZodType<TWire>): z.ZodType<TProblem>;
|
|
35
|
+
export declare const ProblemSchema: SchemaLike<Problem>;
|
package/build/problem.js
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
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 { z } from 'zod';
|
|
15
|
+
import { ResponseExample } from './fetch.js';
|
|
16
|
+
import { defineSchema, } from './schema-runtime.js';
|
|
17
|
+
export const ProblemWireSchema = z.looseObject({
|
|
18
|
+
type: z.union([z.string(), z.instanceof(URL)]).optional(),
|
|
19
|
+
title: z.string(),
|
|
20
|
+
status: z.number(),
|
|
21
|
+
detail: z.string().optional(),
|
|
22
|
+
instance: z.union([z.string(), z.instanceof(URL)]).optional(),
|
|
23
|
+
});
|
|
24
|
+
export class Problem extends Error {
|
|
25
|
+
static BLANK_URL = new URL('about:blank');
|
|
26
|
+
type;
|
|
27
|
+
title;
|
|
28
|
+
status;
|
|
29
|
+
detail;
|
|
30
|
+
instance;
|
|
31
|
+
_parameters;
|
|
32
|
+
get parameters() {
|
|
33
|
+
return this._parameters;
|
|
34
|
+
}
|
|
35
|
+
constructor(spec) {
|
|
36
|
+
super(`${spec.status.toString()} ${spec.type} - ${spec.title}`);
|
|
37
|
+
const { type, title, status, detail, instance, ...parameters } = spec;
|
|
38
|
+
delete parameters.stack; // Fix for browsers that add stack to Error objects
|
|
39
|
+
this.type = Problem.parseURL(type) ?? Problem.BLANK_URL;
|
|
40
|
+
this.status = status;
|
|
41
|
+
this.title = title;
|
|
42
|
+
this.detail = detail;
|
|
43
|
+
this.instance = Problem.parseURL(instance);
|
|
44
|
+
this._parameters = Object.keys(parameters).length ? parameters : undefined;
|
|
45
|
+
}
|
|
46
|
+
toString() {
|
|
47
|
+
const self = this;
|
|
48
|
+
return JSON.stringify({
|
|
49
|
+
type: this.type,
|
|
50
|
+
status: this.status,
|
|
51
|
+
title: this.title,
|
|
52
|
+
detail: this.detail,
|
|
53
|
+
instance: this.instance,
|
|
54
|
+
url: self.request?.url,
|
|
55
|
+
response: self.response?.example,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
static fromStatus(status, title) {
|
|
59
|
+
return new Problem({
|
|
60
|
+
type: Problem.BLANK_URL,
|
|
61
|
+
title,
|
|
62
|
+
status,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
static async fromResponse(response) {
|
|
66
|
+
const [bodyExcerpt, body] = await ResponseExample.bodyExcerpt(response, 256);
|
|
67
|
+
return new Problem({
|
|
68
|
+
type: Problem.BLANK_URL,
|
|
69
|
+
title: response.statusText,
|
|
70
|
+
status: response.status,
|
|
71
|
+
request: {
|
|
72
|
+
url: response.url,
|
|
73
|
+
},
|
|
74
|
+
response: {
|
|
75
|
+
headers: response.headers,
|
|
76
|
+
ok: response.ok,
|
|
77
|
+
redirected: response.redirected,
|
|
78
|
+
status: response.status,
|
|
79
|
+
statusText: response.statusText,
|
|
80
|
+
type: response.type,
|
|
81
|
+
url: response.url,
|
|
82
|
+
body,
|
|
83
|
+
example: ResponseExample.build(response, bodyExcerpt),
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
static parseURL(value) {
|
|
88
|
+
if (value == null) {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
if (value instanceof URL) {
|
|
92
|
+
return value;
|
|
93
|
+
}
|
|
94
|
+
if (typeof value === 'string') {
|
|
95
|
+
try {
|
|
96
|
+
return new URL(value);
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export function createProblemCodec(problemType, wireSchema) {
|
|
106
|
+
return z.codec(wireSchema, z.instanceof(problemType), {
|
|
107
|
+
decode: (value) => new problemType(value),
|
|
108
|
+
encode: (value) => ({
|
|
109
|
+
type: value.type?.toString() ?? Problem.BLANK_URL.toString(),
|
|
110
|
+
title: value.title,
|
|
111
|
+
status: value.status,
|
|
112
|
+
detail: value.detail,
|
|
113
|
+
instance: value.instance?.toString(),
|
|
114
|
+
...value.parameters,
|
|
115
|
+
}),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
export const ProblemSchema = defineSchema(() => createProblemCodec(Problem, ProblemWireSchema), {
|
|
119
|
+
id: Symbol.for('@outfoxx/sunday/ProblemSchema'),
|
|
120
|
+
debugName: 'ProblemSchema',
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=problem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"problem.js","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { RequestAdapter, Transport } from './transport.js';
|
|
2
|
+
export declare abstract class HeaderTokenAuthorizingAdapter implements RequestAdapter {
|
|
3
|
+
header: string;
|
|
4
|
+
tokenHeaderType: string;
|
|
5
|
+
applyToken(request: Request, accessToken: string): Request;
|
|
6
|
+
abstract adapt(transport: Transport, request: Request): Promise<Request>;
|
|
7
|
+
}
|
|
8
|
+
export declare class StaticHeaderTokenAuthorizingAdapter extends HeaderTokenAuthorizingAdapter {
|
|
9
|
+
private readonly accessToken;
|
|
10
|
+
constructor(accessToken: string);
|
|
11
|
+
adapt(_transport: Transport, request: Request): Promise<Request>;
|
|
12
|
+
}
|
|
13
|
+
export interface TokenAuthorization {
|
|
14
|
+
token: string;
|
|
15
|
+
expires: Date;
|
|
16
|
+
}
|
|
17
|
+
export declare class RefreshingHeaderTokenAuthorizingAdapter extends HeaderTokenAuthorizingAdapter {
|
|
18
|
+
private readonly refresh;
|
|
19
|
+
private authorization?;
|
|
20
|
+
constructor(refresh: (transport: Transport) => Promise<TokenAuthorization>);
|
|
21
|
+
shouldRefresh(): boolean;
|
|
22
|
+
adapt(transport: Transport, request: Request): Promise<Request>;
|
|
23
|
+
}
|
|
@@ -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 class HeaderTokenAuthorizingAdapter {
|
|
15
|
+
header = 'Authorization';
|
|
16
|
+
tokenHeaderType = 'Bearer';
|
|
17
|
+
applyToken(request, accessToken) {
|
|
18
|
+
const requestClone = request.clone();
|
|
19
|
+
requestClone.headers.set(this.header, `${this.tokenHeaderType} ${accessToken}`);
|
|
20
|
+
return requestClone;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export class StaticHeaderTokenAuthorizingAdapter extends HeaderTokenAuthorizingAdapter {
|
|
24
|
+
accessToken;
|
|
25
|
+
constructor(accessToken) {
|
|
26
|
+
super();
|
|
27
|
+
this.accessToken = accessToken;
|
|
28
|
+
}
|
|
29
|
+
async adapt(_transport, request) {
|
|
30
|
+
return this.applyToken(request, this.accessToken);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export class RefreshingHeaderTokenAuthorizingAdapter extends HeaderTokenAuthorizingAdapter {
|
|
34
|
+
refresh;
|
|
35
|
+
authorization;
|
|
36
|
+
constructor(refresh) {
|
|
37
|
+
super();
|
|
38
|
+
this.refresh = refresh;
|
|
39
|
+
}
|
|
40
|
+
shouldRefresh() {
|
|
41
|
+
if (!this.authorization) {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
return this.authorization.expires.getTime() <= Date.now();
|
|
45
|
+
}
|
|
46
|
+
async adapt(transport, request) {
|
|
47
|
+
if (!this.authorization || this.shouldRefresh()) {
|
|
48
|
+
this.authorization = await this.refresh(transport);
|
|
49
|
+
}
|
|
50
|
+
return this.applyToken(request, this.authorization.token);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=request-adapters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-adapters.js","sourceRoot":"","sources":["../src/request-adapters.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,OAAgB,6BAA6B;IACjD,MAAM,GAAG,eAAe,CAAC;IACzB,eAAe,GAAG,QAAQ,CAAC;IAE3B,UAAU,CAAC,OAAgB,EAAE,WAAmB;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QACrC,YAAY,CAAC,OAAO,CAAC,GAAG,CACtB,IAAI,CAAC,MAAM,EACX,GAAG,IAAI,CAAC,eAAe,IAAI,WAAW,EAAE,CACzC,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;CAMF;AAED,MAAM,OAAO,mCAAoC,SAAQ,6BAA6B;IACvD;IAA7B,YAA6B,WAAmB;QAC9C,KAAK,EAAE,CAAC;QADmB,gBAAW,GAAX,WAAW,CAAQ;IAEhD,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAAqB,EACrB,OAAgB;QAEhB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;CACF;AAOD,MAAM,OAAO,uCAAwC,SAAQ,6BAA6B;IAIrE;IAHX,aAAa,CAAsB;IAE3C,YACmB,OAEe;QAEhC,KAAK,EAAE,CAAC;QAJS,YAAO,GAAP,OAAO,CAEQ;IAGlC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,KAAK,CACT,SAAoB,EACpB,OAAgB;QAEhB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SchemaPolicy } from './schema-policy.js';
|
|
3
|
+
export type BuiltinSchemaSet = {
|
|
4
|
+
readonly urlSchema: z.ZodType<URL>;
|
|
5
|
+
readonly arrayBufferSchema: z.ZodType<ArrayBuffer>;
|
|
6
|
+
};
|
|
7
|
+
export declare const UNKNOWN_SCHEMA: z.ZodUnknown;
|
|
8
|
+
export declare const ANY_SCHEMA: z.ZodUnknown;
|
|
9
|
+
export declare const NULL_SCHEMA: z.ZodNull;
|
|
10
|
+
export declare const STRING_SCHEMA: z.ZodString;
|
|
11
|
+
export declare const NUMBER_SCHEMA: z.ZodNumber;
|
|
12
|
+
export declare const BOOLEAN_SCHEMA: z.ZodBoolean;
|
|
13
|
+
export declare const UnknownSchema: z.ZodUnknown;
|
|
14
|
+
export declare const AnySchema: z.ZodUnknown;
|
|
15
|
+
export declare const NullSchema: z.ZodNull;
|
|
16
|
+
export declare const StringSchema: z.ZodString;
|
|
17
|
+
export declare const NumberSchema: z.ZodNumber;
|
|
18
|
+
export declare const BooleanSchema: z.ZodBoolean;
|
|
19
|
+
export declare function builtinSchemasForPolicy(policy: SchemaPolicy): BuiltinSchemaSet;
|
|
20
|
+
export declare const URLSchema: import("./schema-runtime.js").SchemaDef<z.ZodType<URL, unknown, z.core.$ZodTypeInternals<URL, unknown>>>;
|
|
21
|
+
export declare const ArrayBufferSchema: import("./schema-runtime.js").SchemaDef<z.ZodType<ArrayBuffer, unknown, z.core.$ZodTypeInternals<ArrayBuffer, unknown>>>;
|