rcs-js 0.0.1 → 1.0.2
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/Client.d.ts +93 -0
- package/Client.js +384 -0
- package/README.md +137 -0
- package/api/client/index.d.ts +1 -0
- package/api/client/index.js +17 -0
- package/api/client/requests/CheckRcsCapabilityRequest.d.ts +21 -0
- package/api/client/requests/CheckRcsCapabilityRequest.js +5 -0
- package/api/client/requests/UpdateSettingsRequest.d.ts +13 -0
- package/api/client/requests/UpdateSettingsRequest.js +5 -0
- package/api/client/requests/index.d.ts +2 -0
- package/api/client/requests/index.js +2 -0
- package/api/errors/BadRequestError.d.ts +8 -0
- package/api/errors/BadRequestError.js +41 -0
- package/api/errors/InternalServerError.d.ts +8 -0
- package/api/errors/InternalServerError.js +41 -0
- package/api/errors/UnauthorizedError.d.ts +8 -0
- package/api/errors/UnauthorizedError.js +41 -0
- package/api/errors/index.d.ts +3 -0
- package/api/errors/index.js +19 -0
- package/api/index.d.ts +3 -0
- package/api/index.js +19 -0
- package/api/types/Action.d.ts +5 -0
- package/api/types/Action.js +5 -0
- package/api/types/BadRequestErrorBody.d.ts +6 -0
- package/api/types/BadRequestErrorBody.js +5 -0
- package/api/types/BasicRcs.d.ts +13 -0
- package/api/types/BasicRcs.js +5 -0
- package/api/types/BasicRcsMessage.d.ts +10 -0
- package/api/types/BasicRcsMessage.js +5 -0
- package/api/types/Call.d.ts +9 -0
- package/api/types/Call.js +5 -0
- package/api/types/Card.d.ts +16 -0
- package/api/types/Card.js +5 -0
- package/api/types/CardRcs.d.ts +12 -0
- package/api/types/CardRcs.js +5 -0
- package/api/types/CardRcsMessage.d.ts +13 -0
- package/api/types/CardRcsMessage.js +5 -0
- package/api/types/CardStyle.d.ts +16 -0
- package/api/types/CardStyle.js +5 -0
- package/api/types/CardStyleImageAlignment.d.ts +11 -0
- package/api/types/CardStyleImageAlignment.js +10 -0
- package/api/types/CardStyleMediaHeight.d.ts +12 -0
- package/api/types/CardStyleMediaHeight.js +11 -0
- package/api/types/CardStyleOrientation.d.ts +11 -0
- package/api/types/CardStyleOrientation.js +10 -0
- package/api/types/CardStyleWidth.d.ts +11 -0
- package/api/types/CardStyleWidth.js +10 -0
- package/api/types/CarouselRcs.d.ts +12 -0
- package/api/types/CarouselRcs.js +5 -0
- package/api/types/CarouselRcsMessage.d.ts +13 -0
- package/api/types/CarouselRcsMessage.js +5 -0
- package/api/types/CheckRcsCapabilityResponse.d.ts +7 -0
- package/api/types/CheckRcsCapabilityResponse.js +5 -0
- package/api/types/Event.d.ts +15 -0
- package/api/types/Event.js +5 -0
- package/api/types/GetAccountNumberResponse.d.ts +7 -0
- package/api/types/GetAccountNumberResponse.js +5 -0
- package/api/types/InternalServerErrorBody.d.ts +6 -0
- package/api/types/InternalServerErrorBody.js +5 -0
- package/api/types/LatLng.d.ts +12 -0
- package/api/types/LatLng.js +5 -0
- package/api/types/MediaRcs.d.ts +12 -0
- package/api/types/MediaRcs.js +5 -0
- package/api/types/MediaRcsMessage.d.ts +14 -0
- package/api/types/MediaRcsMessage.js +5 -0
- package/api/types/MediaType.d.ts +14 -0
- package/api/types/MediaType.js +13 -0
- package/api/types/PhoneNumber.d.ts +7 -0
- package/api/types/PhoneNumber.js +5 -0
- package/api/types/Postback.d.ts +11 -0
- package/api/types/Postback.js +5 -0
- package/api/types/SendRequest.d.ts +5 -0
- package/api/types/SendRequest.js +5 -0
- package/api/types/SendResponse.d.ts +7 -0
- package/api/types/SendResponse.js +5 -0
- package/api/types/ShareLocation.d.ts +7 -0
- package/api/types/ShareLocation.js +5 -0
- package/api/types/Sms.d.ts +12 -0
- package/api/types/Sms.js +5 -0
- package/api/types/SmsMessage.d.ts +12 -0
- package/api/types/SmsMessage.js +5 -0
- package/api/types/UnauthorizedErrorBody.d.ts +6 -0
- package/api/types/UnauthorizedErrorBody.js +5 -0
- package/api/types/UpdateSettingsResponse.d.ts +6 -0
- package/api/types/UpdateSettingsResponse.js +5 -0
- package/api/types/Url.d.ts +9 -0
- package/api/types/Url.js +5 -0
- package/api/types/ViewLocation.d.ts +11 -0
- package/api/types/ViewLocation.js +5 -0
- package/api/types/index.d.ts +34 -0
- package/api/types/index.js +50 -0
- package/core/fetcher/APIResponse.d.ts +10 -0
- package/core/fetcher/APIResponse.js +2 -0
- package/core/fetcher/Fetcher.d.ts +39 -0
- package/core/fetcher/Fetcher.js +99 -0
- package/core/fetcher/Supplier.d.ts +4 -0
- package/core/fetcher/Supplier.js +22 -0
- package/core/fetcher/createRequestUrl.d.ts +1 -0
- package/core/fetcher/createRequestUrl.js +13 -0
- package/core/fetcher/getFetchFn.d.ts +4 -0
- package/core/fetcher/getFetchFn.js +59 -0
- package/core/fetcher/getHeader.d.ts +1 -0
- package/core/fetcher/getHeader.js +12 -0
- package/core/fetcher/getRequestBody.d.ts +7 -0
- package/core/fetcher/getRequestBody.js +23 -0
- package/core/fetcher/getResponseBody.d.ts +1 -0
- package/core/fetcher/getResponseBody.js +52 -0
- package/core/fetcher/index.d.ts +5 -0
- package/core/fetcher/index.js +9 -0
- package/core/fetcher/makeRequest.d.ts +1 -0
- package/core/fetcher/makeRequest.js +42 -0
- package/core/fetcher/requestWithRetries.d.ts +1 -0
- package/core/fetcher/requestWithRetries.js +32 -0
- package/core/fetcher/signals.d.ts +12 -0
- package/core/fetcher/signals.js +37 -0
- package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts +30 -0
- package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js +247 -0
- package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts +22 -0
- package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js +124 -0
- package/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts +31 -0
- package/core/fetcher/stream-wrappers/UndiciStreamWrapper.js +229 -0
- package/core/fetcher/stream-wrappers/chooseStreamWrapper.d.ts +18 -0
- package/core/fetcher/stream-wrappers/chooseStreamWrapper.js +50 -0
- package/core/index.d.ts +3 -0
- package/core/index.js +32 -0
- package/core/runtime/index.d.ts +1 -0
- package/core/runtime/index.js +5 -0
- package/core/runtime/runtime.d.ts +9 -0
- package/core/runtime/runtime.js +93 -0
- package/core/schemas/Schema.d.ts +85 -0
- package/core/schemas/Schema.js +22 -0
- package/core/schemas/builders/bigint/bigint.d.ts +2 -0
- package/core/schemas/builders/bigint/bigint.js +50 -0
- package/core/schemas/builders/bigint/index.d.ts +1 -0
- package/core/schemas/builders/bigint/index.js +5 -0
- package/core/schemas/builders/date/date.d.ts +2 -0
- package/core/schemas/builders/date/date.js +63 -0
- package/core/schemas/builders/date/index.d.ts +1 -0
- package/core/schemas/builders/date/index.js +5 -0
- package/core/schemas/builders/enum/enum.d.ts +2 -0
- package/core/schemas/builders/enum/enum.js +39 -0
- package/core/schemas/builders/enum/index.d.ts +1 -0
- package/core/schemas/builders/enum/index.js +5 -0
- package/core/schemas/builders/index.d.ts +14 -0
- package/core/schemas/builders/index.js +30 -0
- package/core/schemas/builders/lazy/index.d.ts +3 -0
- package/core/schemas/builders/lazy/index.js +7 -0
- package/core/schemas/builders/lazy/lazy.d.ts +5 -0
- package/core/schemas/builders/lazy/lazy.js +25 -0
- package/core/schemas/builders/lazy/lazyObject.d.ts +3 -0
- package/core/schemas/builders/lazy/lazyObject.js +12 -0
- package/core/schemas/builders/list/index.d.ts +1 -0
- package/core/schemas/builders/list/index.js +5 -0
- package/core/schemas/builders/list/list.d.ts +2 -0
- package/core/schemas/builders/list/list.js +55 -0
- package/core/schemas/builders/literals/booleanLiteral.d.ts +2 -0
- package/core/schemas/builders/literals/booleanLiteral.js +29 -0
- package/core/schemas/builders/literals/index.d.ts +2 -0
- package/core/schemas/builders/literals/index.js +7 -0
- package/core/schemas/builders/literals/stringLiteral.d.ts +2 -0
- package/core/schemas/builders/literals/stringLiteral.js +29 -0
- package/core/schemas/builders/object/index.d.ts +6 -0
- package/core/schemas/builders/object/index.js +11 -0
- package/core/schemas/builders/object/object.d.ts +3 -0
- package/core/schemas/builders/object/object.js +233 -0
- package/core/schemas/builders/object/objectWithoutOptionalProperties.d.ts +6 -0
- package/core/schemas/builders/object/objectWithoutOptionalProperties.js +8 -0
- package/core/schemas/builders/object/property.d.ts +8 -0
- package/core/schemas/builders/object/property.js +16 -0
- package/core/schemas/builders/object/types.d.ts +26 -0
- package/core/schemas/builders/object/types.js +2 -0
- package/core/schemas/builders/object-like/getObjectLikeUtils.d.ts +9 -0
- package/core/schemas/builders/object-like/getObjectLikeUtils.js +54 -0
- package/core/schemas/builders/object-like/index.d.ts +2 -0
- package/core/schemas/builders/object-like/index.js +6 -0
- package/core/schemas/builders/object-like/types.d.ts +7 -0
- package/core/schemas/builders/object-like/types.js +2 -0
- package/core/schemas/builders/primitives/any.d.ts +1 -0
- package/core/schemas/builders/primitives/any.js +6 -0
- package/core/schemas/builders/primitives/boolean.d.ts +1 -0
- package/core/schemas/builders/primitives/boolean.js +25 -0
- package/core/schemas/builders/primitives/index.d.ts +5 -0
- package/core/schemas/builders/primitives/index.js +13 -0
- package/core/schemas/builders/primitives/number.d.ts +1 -0
- package/core/schemas/builders/primitives/number.js +25 -0
- package/core/schemas/builders/primitives/string.d.ts +1 -0
- package/core/schemas/builders/primitives/string.js +25 -0
- package/core/schemas/builders/primitives/unknown.d.ts +1 -0
- package/core/schemas/builders/primitives/unknown.js +6 -0
- package/core/schemas/builders/record/index.d.ts +2 -0
- package/core/schemas/builders/record/index.js +5 -0
- package/core/schemas/builders/record/record.d.ts +3 -0
- package/core/schemas/builders/record/record.js +95 -0
- package/core/schemas/builders/record/types.d.ts +4 -0
- package/core/schemas/builders/record/types.js +2 -0
- package/core/schemas/builders/schema-utils/JsonError.d.ts +5 -0
- package/core/schemas/builders/schema-utils/JsonError.js +12 -0
- package/core/schemas/builders/schema-utils/ParseError.d.ts +5 -0
- package/core/schemas/builders/schema-utils/ParseError.js +12 -0
- package/core/schemas/builders/schema-utils/getSchemaUtils.d.ts +17 -0
- package/core/schemas/builders/schema-utils/getSchemaUtils.js +82 -0
- package/core/schemas/builders/schema-utils/index.d.ts +4 -0
- package/core/schemas/builders/schema-utils/index.js +11 -0
- package/core/schemas/builders/schema-utils/stringifyValidationErrors.d.ts +2 -0
- package/core/schemas/builders/schema-utils/stringifyValidationErrors.js +10 -0
- package/core/schemas/builders/set/index.d.ts +1 -0
- package/core/schemas/builders/set/index.js +5 -0
- package/core/schemas/builders/set/set.d.ts +2 -0
- package/core/schemas/builders/set/set.js +44 -0
- package/core/schemas/builders/undiscriminated-union/index.d.ts +2 -0
- package/core/schemas/builders/undiscriminated-union/index.js +5 -0
- package/core/schemas/builders/undiscriminated-union/types.d.ts +4 -0
- package/core/schemas/builders/undiscriminated-union/types.js +2 -0
- package/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.d.ts +3 -0
- package/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +40 -0
- package/core/schemas/builders/union/discriminant.d.ts +5 -0
- package/core/schemas/builders/union/discriminant.js +10 -0
- package/core/schemas/builders/union/index.d.ts +4 -0
- package/core/schemas/builders/union/index.js +7 -0
- package/core/schemas/builders/union/types.d.ts +13 -0
- package/core/schemas/builders/union/types.js +2 -0
- package/core/schemas/builders/union/union.d.ts +4 -0
- package/core/schemas/builders/union/union.js +130 -0
- package/core/schemas/index.d.ts +2 -0
- package/core/schemas/index.js +17 -0
- package/core/schemas/utils/MaybePromise.d.ts +1 -0
- package/core/schemas/utils/MaybePromise.js +2 -0
- package/core/schemas/utils/addQuestionMarksToNullableProperties.d.ts +7 -0
- package/core/schemas/utils/addQuestionMarksToNullableProperties.js +2 -0
- package/core/schemas/utils/createIdentitySchemaCreator.d.ts +2 -0
- package/core/schemas/utils/createIdentitySchemaCreator.js +16 -0
- package/core/schemas/utils/entries.d.ts +1 -0
- package/core/schemas/utils/entries.js +7 -0
- package/core/schemas/utils/filterObject.d.ts +1 -0
- package/core/schemas/utils/filterObject.js +14 -0
- package/core/schemas/utils/getErrorMessageForIncorrectType.d.ts +1 -0
- package/core/schemas/utils/getErrorMessageForIncorrectType.js +28 -0
- package/core/schemas/utils/isPlainObject.d.ts +1 -0
- package/core/schemas/utils/isPlainObject.js +18 -0
- package/core/schemas/utils/keys.d.ts +1 -0
- package/core/schemas/utils/keys.js +7 -0
- package/core/schemas/utils/maybeSkipValidation.d.ts +2 -0
- package/core/schemas/utils/maybeSkipValidation.js +28 -0
- package/core/schemas/utils/partition.d.ts +1 -0
- package/core/schemas/utils/partition.js +16 -0
- package/dist/Client.d.ts +93 -0
- package/dist/Client.js +384 -0
- package/dist/api/client/index.d.ts +1 -0
- package/dist/api/client/index.js +17 -0
- package/dist/api/client/requests/CheckRcsCapabilityRequest.d.ts +21 -0
- package/dist/api/client/requests/CheckRcsCapabilityRequest.js +5 -0
- package/dist/api/client/requests/UpdateSettingsRequest.d.ts +13 -0
- package/dist/api/client/requests/UpdateSettingsRequest.js +5 -0
- package/dist/api/client/requests/index.d.ts +2 -0
- package/dist/api/client/requests/index.js +2 -0
- package/dist/api/errors/BadRequestError.d.ts +8 -0
- package/dist/api/errors/BadRequestError.js +41 -0
- package/dist/api/errors/InternalServerError.d.ts +8 -0
- package/dist/api/errors/InternalServerError.js +41 -0
- package/dist/api/errors/UnauthorizedError.d.ts +8 -0
- package/dist/api/errors/UnauthorizedError.js +41 -0
- package/dist/api/errors/index.d.ts +3 -0
- package/dist/api/errors/index.js +19 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.js +19 -0
- package/dist/api/types/Action.d.ts +5 -0
- package/dist/api/types/Action.js +5 -0
- package/dist/api/types/BadRequestErrorBody.d.ts +6 -0
- package/dist/api/types/BadRequestErrorBody.js +5 -0
- package/dist/api/types/BasicRcs.d.ts +13 -0
- package/dist/api/types/BasicRcs.js +5 -0
- package/dist/api/types/BasicRcsMessage.d.ts +10 -0
- package/dist/api/types/BasicRcsMessage.js +5 -0
- package/dist/api/types/Call.d.ts +9 -0
- package/dist/api/types/Call.js +5 -0
- package/dist/api/types/Card.d.ts +16 -0
- package/dist/api/types/Card.js +5 -0
- package/dist/api/types/CardRcs.d.ts +12 -0
- package/dist/api/types/CardRcs.js +5 -0
- package/dist/api/types/CardRcsMessage.d.ts +13 -0
- package/dist/api/types/CardRcsMessage.js +5 -0
- package/dist/api/types/CardStyle.d.ts +16 -0
- package/dist/api/types/CardStyle.js +5 -0
- package/dist/api/types/CardStyleImageAlignment.d.ts +11 -0
- package/dist/api/types/CardStyleImageAlignment.js +10 -0
- package/dist/api/types/CardStyleMediaHeight.d.ts +12 -0
- package/dist/api/types/CardStyleMediaHeight.js +11 -0
- package/dist/api/types/CardStyleOrientation.d.ts +11 -0
- package/dist/api/types/CardStyleOrientation.js +10 -0
- package/dist/api/types/CardStyleWidth.d.ts +11 -0
- package/dist/api/types/CardStyleWidth.js +10 -0
- package/dist/api/types/CarouselRcs.d.ts +12 -0
- package/dist/api/types/CarouselRcs.js +5 -0
- package/dist/api/types/CarouselRcsMessage.d.ts +13 -0
- package/dist/api/types/CarouselRcsMessage.js +5 -0
- package/dist/api/types/CheckRcsCapabilityResponse.d.ts +7 -0
- package/dist/api/types/CheckRcsCapabilityResponse.js +5 -0
- package/dist/api/types/Event.d.ts +15 -0
- package/dist/api/types/Event.js +5 -0
- package/dist/api/types/GetAccountNumberResponse.d.ts +7 -0
- package/dist/api/types/GetAccountNumberResponse.js +5 -0
- package/dist/api/types/InternalServerErrorBody.d.ts +6 -0
- package/dist/api/types/InternalServerErrorBody.js +5 -0
- package/dist/api/types/LatLng.d.ts +12 -0
- package/dist/api/types/LatLng.js +5 -0
- package/dist/api/types/MediaRcs.d.ts +12 -0
- package/dist/api/types/MediaRcs.js +5 -0
- package/dist/api/types/MediaRcsMessage.d.ts +14 -0
- package/dist/api/types/MediaRcsMessage.js +5 -0
- package/dist/api/types/MediaType.d.ts +14 -0
- package/dist/api/types/MediaType.js +13 -0
- package/dist/api/types/PhoneNumber.d.ts +7 -0
- package/dist/api/types/PhoneNumber.js +5 -0
- package/dist/api/types/Postback.d.ts +11 -0
- package/dist/api/types/Postback.js +5 -0
- package/dist/api/types/SendRequest.d.ts +5 -0
- package/dist/api/types/SendRequest.js +5 -0
- package/dist/api/types/SendResponse.d.ts +7 -0
- package/dist/api/types/SendResponse.js +5 -0
- package/dist/api/types/ShareLocation.d.ts +7 -0
- package/dist/api/types/ShareLocation.js +5 -0
- package/dist/api/types/Sms.d.ts +12 -0
- package/dist/api/types/Sms.js +5 -0
- package/dist/api/types/SmsMessage.d.ts +12 -0
- package/dist/api/types/SmsMessage.js +5 -0
- package/dist/api/types/UnauthorizedErrorBody.d.ts +6 -0
- package/dist/api/types/UnauthorizedErrorBody.js +5 -0
- package/dist/api/types/UpdateSettingsResponse.d.ts +6 -0
- package/dist/api/types/UpdateSettingsResponse.js +5 -0
- package/dist/api/types/Url.d.ts +9 -0
- package/dist/api/types/Url.js +5 -0
- package/dist/api/types/ViewLocation.d.ts +11 -0
- package/dist/api/types/ViewLocation.js +5 -0
- package/dist/api/types/index.d.ts +34 -0
- package/dist/api/types/index.js +50 -0
- package/dist/core/fetcher/APIResponse.d.ts +10 -0
- package/dist/core/fetcher/APIResponse.js +2 -0
- package/dist/core/fetcher/Fetcher.d.ts +39 -0
- package/dist/core/fetcher/Fetcher.js +99 -0
- package/dist/core/fetcher/Supplier.d.ts +4 -0
- package/dist/core/fetcher/Supplier.js +22 -0
- package/dist/core/fetcher/createRequestUrl.d.ts +1 -0
- package/dist/core/fetcher/createRequestUrl.js +13 -0
- package/dist/core/fetcher/getFetchFn.d.ts +4 -0
- package/dist/core/fetcher/getFetchFn.js +59 -0
- package/dist/core/fetcher/getHeader.d.ts +1 -0
- package/dist/core/fetcher/getHeader.js +12 -0
- package/dist/core/fetcher/getRequestBody.d.ts +7 -0
- package/dist/core/fetcher/getRequestBody.js +23 -0
- package/dist/core/fetcher/getResponseBody.d.ts +1 -0
- package/dist/core/fetcher/getResponseBody.js +52 -0
- package/dist/core/fetcher/index.d.ts +5 -0
- package/dist/core/fetcher/index.js +9 -0
- package/dist/core/fetcher/makeRequest.d.ts +1 -0
- package/dist/core/fetcher/makeRequest.js +42 -0
- package/dist/core/fetcher/requestWithRetries.d.ts +1 -0
- package/dist/core/fetcher/requestWithRetries.js +32 -0
- package/dist/core/fetcher/signals.d.ts +12 -0
- package/dist/core/fetcher/signals.js +37 -0
- package/dist/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts +30 -0
- package/dist/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js +247 -0
- package/dist/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts +22 -0
- package/dist/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js +124 -0
- package/dist/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts +31 -0
- package/dist/core/fetcher/stream-wrappers/UndiciStreamWrapper.js +229 -0
- package/dist/core/fetcher/stream-wrappers/chooseStreamWrapper.d.ts +18 -0
- package/dist/core/fetcher/stream-wrappers/chooseStreamWrapper.js +50 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.js +32 -0
- package/dist/core/runtime/index.d.ts +1 -0
- package/dist/core/runtime/index.js +5 -0
- package/dist/core/runtime/runtime.d.ts +9 -0
- package/dist/core/runtime/runtime.js +93 -0
- package/dist/core/schemas/Schema.d.ts +85 -0
- package/dist/core/schemas/Schema.js +22 -0
- package/dist/core/schemas/builders/bigint/bigint.d.ts +2 -0
- package/dist/core/schemas/builders/bigint/bigint.js +50 -0
- package/dist/core/schemas/builders/bigint/index.d.ts +1 -0
- package/dist/core/schemas/builders/bigint/index.js +5 -0
- package/dist/core/schemas/builders/date/date.d.ts +2 -0
- package/dist/core/schemas/builders/date/date.js +63 -0
- package/dist/core/schemas/builders/date/index.d.ts +1 -0
- package/dist/core/schemas/builders/date/index.js +5 -0
- package/dist/core/schemas/builders/enum/enum.d.ts +2 -0
- package/dist/core/schemas/builders/enum/enum.js +39 -0
- package/dist/core/schemas/builders/enum/index.d.ts +1 -0
- package/dist/core/schemas/builders/enum/index.js +5 -0
- package/dist/core/schemas/builders/index.d.ts +14 -0
- package/dist/core/schemas/builders/index.js +30 -0
- package/dist/core/schemas/builders/lazy/index.d.ts +3 -0
- package/dist/core/schemas/builders/lazy/index.js +7 -0
- package/dist/core/schemas/builders/lazy/lazy.d.ts +5 -0
- package/dist/core/schemas/builders/lazy/lazy.js +25 -0
- package/dist/core/schemas/builders/lazy/lazyObject.d.ts +3 -0
- package/dist/core/schemas/builders/lazy/lazyObject.js +12 -0
- package/dist/core/schemas/builders/list/index.d.ts +1 -0
- package/dist/core/schemas/builders/list/index.js +5 -0
- package/dist/core/schemas/builders/list/list.d.ts +2 -0
- package/dist/core/schemas/builders/list/list.js +55 -0
- package/dist/core/schemas/builders/literals/booleanLiteral.d.ts +2 -0
- package/dist/core/schemas/builders/literals/booleanLiteral.js +29 -0
- package/dist/core/schemas/builders/literals/index.d.ts +2 -0
- package/dist/core/schemas/builders/literals/index.js +7 -0
- package/dist/core/schemas/builders/literals/stringLiteral.d.ts +2 -0
- package/dist/core/schemas/builders/literals/stringLiteral.js +29 -0
- package/dist/core/schemas/builders/object/index.d.ts +6 -0
- package/dist/core/schemas/builders/object/index.js +11 -0
- package/dist/core/schemas/builders/object/object.d.ts +3 -0
- package/dist/core/schemas/builders/object/object.js +233 -0
- package/dist/core/schemas/builders/object/objectWithoutOptionalProperties.d.ts +6 -0
- package/dist/core/schemas/builders/object/objectWithoutOptionalProperties.js +8 -0
- package/dist/core/schemas/builders/object/property.d.ts +8 -0
- package/dist/core/schemas/builders/object/property.js +16 -0
- package/dist/core/schemas/builders/object/types.d.ts +26 -0
- package/dist/core/schemas/builders/object/types.js +2 -0
- package/dist/core/schemas/builders/object-like/getObjectLikeUtils.d.ts +9 -0
- package/dist/core/schemas/builders/object-like/getObjectLikeUtils.js +54 -0
- package/dist/core/schemas/builders/object-like/index.d.ts +2 -0
- package/dist/core/schemas/builders/object-like/index.js +6 -0
- package/dist/core/schemas/builders/object-like/types.d.ts +7 -0
- package/dist/core/schemas/builders/object-like/types.js +2 -0
- package/dist/core/schemas/builders/primitives/any.d.ts +1 -0
- package/dist/core/schemas/builders/primitives/any.js +6 -0
- package/dist/core/schemas/builders/primitives/boolean.d.ts +1 -0
- package/dist/core/schemas/builders/primitives/boolean.js +25 -0
- package/dist/core/schemas/builders/primitives/index.d.ts +5 -0
- package/dist/core/schemas/builders/primitives/index.js +13 -0
- package/dist/core/schemas/builders/primitives/number.d.ts +1 -0
- package/dist/core/schemas/builders/primitives/number.js +25 -0
- package/dist/core/schemas/builders/primitives/string.d.ts +1 -0
- package/dist/core/schemas/builders/primitives/string.js +25 -0
- package/dist/core/schemas/builders/primitives/unknown.d.ts +1 -0
- package/dist/core/schemas/builders/primitives/unknown.js +6 -0
- package/dist/core/schemas/builders/record/index.d.ts +2 -0
- package/dist/core/schemas/builders/record/index.js +5 -0
- package/dist/core/schemas/builders/record/record.d.ts +3 -0
- package/dist/core/schemas/builders/record/record.js +95 -0
- package/dist/core/schemas/builders/record/types.d.ts +4 -0
- package/dist/core/schemas/builders/record/types.js +2 -0
- package/dist/core/schemas/builders/schema-utils/JsonError.d.ts +5 -0
- package/dist/core/schemas/builders/schema-utils/JsonError.js +12 -0
- package/dist/core/schemas/builders/schema-utils/ParseError.d.ts +5 -0
- package/dist/core/schemas/builders/schema-utils/ParseError.js +12 -0
- package/dist/core/schemas/builders/schema-utils/getSchemaUtils.d.ts +17 -0
- package/dist/core/schemas/builders/schema-utils/getSchemaUtils.js +82 -0
- package/dist/core/schemas/builders/schema-utils/index.d.ts +4 -0
- package/dist/core/schemas/builders/schema-utils/index.js +11 -0
- package/dist/core/schemas/builders/schema-utils/stringifyValidationErrors.d.ts +2 -0
- package/dist/core/schemas/builders/schema-utils/stringifyValidationErrors.js +10 -0
- package/dist/core/schemas/builders/set/index.d.ts +1 -0
- package/dist/core/schemas/builders/set/index.js +5 -0
- package/dist/core/schemas/builders/set/set.d.ts +2 -0
- package/dist/core/schemas/builders/set/set.js +44 -0
- package/dist/core/schemas/builders/undiscriminated-union/index.d.ts +2 -0
- package/dist/core/schemas/builders/undiscriminated-union/index.js +5 -0
- package/dist/core/schemas/builders/undiscriminated-union/types.d.ts +4 -0
- package/dist/core/schemas/builders/undiscriminated-union/types.js +2 -0
- package/dist/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.d.ts +3 -0
- package/dist/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +40 -0
- package/dist/core/schemas/builders/union/discriminant.d.ts +5 -0
- package/dist/core/schemas/builders/union/discriminant.js +10 -0
- package/dist/core/schemas/builders/union/index.d.ts +4 -0
- package/dist/core/schemas/builders/union/index.js +7 -0
- package/dist/core/schemas/builders/union/types.d.ts +13 -0
- package/dist/core/schemas/builders/union/types.js +2 -0
- package/dist/core/schemas/builders/union/union.d.ts +4 -0
- package/dist/core/schemas/builders/union/union.js +130 -0
- package/dist/core/schemas/index.d.ts +2 -0
- package/dist/core/schemas/index.js +17 -0
- package/dist/core/schemas/utils/MaybePromise.d.ts +1 -0
- package/dist/core/schemas/utils/MaybePromise.js +2 -0
- package/dist/core/schemas/utils/addQuestionMarksToNullableProperties.d.ts +7 -0
- package/dist/core/schemas/utils/addQuestionMarksToNullableProperties.js +2 -0
- package/dist/core/schemas/utils/createIdentitySchemaCreator.d.ts +2 -0
- package/dist/core/schemas/utils/createIdentitySchemaCreator.js +16 -0
- package/dist/core/schemas/utils/entries.d.ts +1 -0
- package/dist/core/schemas/utils/entries.js +7 -0
- package/dist/core/schemas/utils/filterObject.d.ts +1 -0
- package/dist/core/schemas/utils/filterObject.js +14 -0
- package/dist/core/schemas/utils/getErrorMessageForIncorrectType.d.ts +1 -0
- package/dist/core/schemas/utils/getErrorMessageForIncorrectType.js +28 -0
- package/dist/core/schemas/utils/isPlainObject.d.ts +1 -0
- package/dist/core/schemas/utils/isPlainObject.js +18 -0
- package/dist/core/schemas/utils/keys.d.ts +1 -0
- package/dist/core/schemas/utils/keys.js +7 -0
- package/dist/core/schemas/utils/maybeSkipValidation.d.ts +2 -0
- package/dist/core/schemas/utils/maybeSkipValidation.js +28 -0
- package/dist/core/schemas/utils/partition.d.ts +1 -0
- package/dist/core/schemas/utils/partition.js +16 -0
- package/dist/environments.d.ts +7 -0
- package/dist/environments.js +9 -0
- package/dist/errors/PinnacleError.d.ts +12 -0
- package/dist/errors/PinnacleError.js +32 -0
- package/dist/errors/PinnacleTimeoutError.d.ts +6 -0
- package/dist/errors/PinnacleTimeoutError.js +13 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.js +7 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +32 -5
- package/dist/serialization/client/index.d.ts +1 -0
- package/dist/serialization/client/index.js +17 -0
- package/dist/serialization/client/requests/UpdateSettingsRequest.d.ts +12 -0
- package/dist/serialization/client/requests/UpdateSettingsRequest.js +33 -0
- package/dist/serialization/client/requests/index.d.ts +1 -0
- package/dist/serialization/client/requests/index.js +5 -0
- package/dist/serialization/index.d.ts +2 -0
- package/dist/serialization/index.js +18 -0
- package/dist/serialization/types/Action.d.ts +15 -0
- package/dist/serialization/types/Action.js +36 -0
- package/dist/serialization/types/BadRequestErrorBody.d.ts +12 -0
- package/dist/serialization/types/BadRequestErrorBody.js +33 -0
- package/dist/serialization/types/BasicRcs.d.ts +18 -0
- package/dist/serialization/types/BasicRcs.js +39 -0
- package/dist/serialization/types/BasicRcsMessage.d.ts +12 -0
- package/dist/serialization/types/BasicRcsMessage.js +33 -0
- package/dist/serialization/types/Call.d.ts +13 -0
- package/dist/serialization/types/Call.js +34 -0
- package/dist/serialization/types/Card.d.ts +18 -0
- package/dist/serialization/types/Card.js +39 -0
- package/dist/serialization/types/CardRcs.d.ts +16 -0
- package/dist/serialization/types/CardRcs.js +37 -0
- package/dist/serialization/types/CardRcsMessage.d.ts +15 -0
- package/dist/serialization/types/CardRcsMessage.js +36 -0
- package/dist/serialization/types/CardStyle.d.ts +20 -0
- package/dist/serialization/types/CardStyle.js +41 -0
- package/dist/serialization/types/CardStyleImageAlignment.d.ts +10 -0
- package/dist/serialization/types/CardStyleImageAlignment.js +31 -0
- package/dist/serialization/types/CardStyleMediaHeight.d.ts +10 -0
- package/dist/serialization/types/CardStyleMediaHeight.js +31 -0
- package/dist/serialization/types/CardStyleOrientation.d.ts +10 -0
- package/dist/serialization/types/CardStyleOrientation.js +31 -0
- package/dist/serialization/types/CardStyleWidth.d.ts +10 -0
- package/dist/serialization/types/CardStyleWidth.js +31 -0
- package/dist/serialization/types/CarouselRcs.d.ts +16 -0
- package/dist/serialization/types/CarouselRcs.js +37 -0
- package/dist/serialization/types/CarouselRcsMessage.d.ts +15 -0
- package/dist/serialization/types/CarouselRcsMessage.js +36 -0
- package/dist/serialization/types/CheckRcsCapabilityResponse.d.ts +13 -0
- package/dist/serialization/types/CheckRcsCapabilityResponse.js +34 -0
- package/dist/serialization/types/Event.d.ts +16 -0
- package/dist/serialization/types/Event.js +37 -0
- package/dist/serialization/types/GetAccountNumberResponse.d.ts +12 -0
- package/dist/serialization/types/GetAccountNumberResponse.js +33 -0
- package/dist/serialization/types/InternalServerErrorBody.d.ts +12 -0
- package/dist/serialization/types/InternalServerErrorBody.js +33 -0
- package/dist/serialization/types/LatLng.d.ts +13 -0
- package/dist/serialization/types/LatLng.js +34 -0
- package/dist/serialization/types/MediaRcs.d.ts +16 -0
- package/dist/serialization/types/MediaRcs.js +37 -0
- package/dist/serialization/types/MediaRcsMessage.d.ts +16 -0
- package/dist/serialization/types/MediaRcsMessage.js +37 -0
- package/dist/serialization/types/MediaType.d.ts +10 -0
- package/dist/serialization/types/MediaType.js +31 -0
- package/dist/serialization/types/PhoneNumber.d.ts +10 -0
- package/dist/serialization/types/PhoneNumber.js +31 -0
- package/dist/serialization/types/Postback.d.ts +14 -0
- package/dist/serialization/types/Postback.js +35 -0
- package/dist/serialization/types/SendRequest.d.ts +15 -0
- package/dist/serialization/types/SendRequest.js +36 -0
- package/dist/serialization/types/SendResponse.d.ts +12 -0
- package/dist/serialization/types/SendResponse.js +33 -0
- package/dist/serialization/types/ShareLocation.d.ts +12 -0
- package/dist/serialization/types/ShareLocation.js +33 -0
- package/dist/serialization/types/Sms.d.ts +16 -0
- package/dist/serialization/types/Sms.js +37 -0
- package/dist/serialization/types/SmsMessage.d.ts +13 -0
- package/dist/serialization/types/SmsMessage.js +34 -0
- package/dist/serialization/types/UnauthorizedErrorBody.d.ts +12 -0
- package/dist/serialization/types/UnauthorizedErrorBody.js +33 -0
- package/dist/serialization/types/UpdateSettingsResponse.d.ts +12 -0
- package/dist/serialization/types/UpdateSettingsResponse.js +33 -0
- package/dist/serialization/types/Url.d.ts +13 -0
- package/dist/serialization/types/Url.js +34 -0
- package/dist/serialization/types/ViewLocation.d.ts +15 -0
- package/dist/serialization/types/ViewLocation.js +36 -0
- package/dist/serialization/types/index.d.ts +34 -0
- package/dist/serialization/types/index.js +50 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +4 -0
- package/environments.d.ts +7 -0
- package/environments.js +9 -0
- package/errors/PinnacleError.d.ts +12 -0
- package/errors/PinnacleError.js +32 -0
- package/errors/PinnacleTimeoutError.d.ts +6 -0
- package/errors/PinnacleTimeoutError.js +13 -0
- package/errors/index.d.ts +2 -0
- package/errors/index.js +7 -0
- package/index.d.ts +4 -0
- package/index.js +34 -0
- package/jest.config.js +5 -0
- package/package.json +42 -24
- package/reference.md +76 -0
- package/serialization/client/index.d.ts +1 -0
- package/serialization/client/index.js +17 -0
- package/serialization/client/requests/UpdateSettingsRequest.d.ts +12 -0
- package/serialization/client/requests/UpdateSettingsRequest.js +33 -0
- package/serialization/client/requests/index.d.ts +1 -0
- package/serialization/client/requests/index.js +5 -0
- package/serialization/index.d.ts +2 -0
- package/serialization/index.js +18 -0
- package/serialization/types/Action.d.ts +15 -0
- package/serialization/types/Action.js +36 -0
- package/serialization/types/BadRequestErrorBody.d.ts +12 -0
- package/serialization/types/BadRequestErrorBody.js +33 -0
- package/serialization/types/BasicRcs.d.ts +18 -0
- package/serialization/types/BasicRcs.js +39 -0
- package/serialization/types/BasicRcsMessage.d.ts +12 -0
- package/serialization/types/BasicRcsMessage.js +33 -0
- package/serialization/types/Call.d.ts +13 -0
- package/serialization/types/Call.js +34 -0
- package/serialization/types/Card.d.ts +18 -0
- package/serialization/types/Card.js +39 -0
- package/serialization/types/CardRcs.d.ts +16 -0
- package/serialization/types/CardRcs.js +37 -0
- package/serialization/types/CardRcsMessage.d.ts +15 -0
- package/serialization/types/CardRcsMessage.js +36 -0
- package/serialization/types/CardStyle.d.ts +20 -0
- package/serialization/types/CardStyle.js +41 -0
- package/serialization/types/CardStyleImageAlignment.d.ts +10 -0
- package/serialization/types/CardStyleImageAlignment.js +31 -0
- package/serialization/types/CardStyleMediaHeight.d.ts +10 -0
- package/serialization/types/CardStyleMediaHeight.js +31 -0
- package/serialization/types/CardStyleOrientation.d.ts +10 -0
- package/serialization/types/CardStyleOrientation.js +31 -0
- package/serialization/types/CardStyleWidth.d.ts +10 -0
- package/serialization/types/CardStyleWidth.js +31 -0
- package/serialization/types/CarouselRcs.d.ts +16 -0
- package/serialization/types/CarouselRcs.js +37 -0
- package/serialization/types/CarouselRcsMessage.d.ts +15 -0
- package/serialization/types/CarouselRcsMessage.js +36 -0
- package/serialization/types/CheckRcsCapabilityResponse.d.ts +13 -0
- package/serialization/types/CheckRcsCapabilityResponse.js +34 -0
- package/serialization/types/Event.d.ts +16 -0
- package/serialization/types/Event.js +37 -0
- package/serialization/types/GetAccountNumberResponse.d.ts +12 -0
- package/serialization/types/GetAccountNumberResponse.js +33 -0
- package/serialization/types/InternalServerErrorBody.d.ts +12 -0
- package/serialization/types/InternalServerErrorBody.js +33 -0
- package/serialization/types/LatLng.d.ts +13 -0
- package/serialization/types/LatLng.js +34 -0
- package/serialization/types/MediaRcs.d.ts +16 -0
- package/serialization/types/MediaRcs.js +37 -0
- package/serialization/types/MediaRcsMessage.d.ts +16 -0
- package/serialization/types/MediaRcsMessage.js +37 -0
- package/serialization/types/MediaType.d.ts +10 -0
- package/serialization/types/MediaType.js +31 -0
- package/serialization/types/PhoneNumber.d.ts +10 -0
- package/serialization/types/PhoneNumber.js +31 -0
- package/serialization/types/Postback.d.ts +14 -0
- package/serialization/types/Postback.js +35 -0
- package/serialization/types/SendRequest.d.ts +15 -0
- package/serialization/types/SendRequest.js +36 -0
- package/serialization/types/SendResponse.d.ts +12 -0
- package/serialization/types/SendResponse.js +33 -0
- package/serialization/types/ShareLocation.d.ts +12 -0
- package/serialization/types/ShareLocation.js +33 -0
- package/serialization/types/Sms.d.ts +16 -0
- package/serialization/types/Sms.js +37 -0
- package/serialization/types/SmsMessage.d.ts +13 -0
- package/serialization/types/SmsMessage.js +34 -0
- package/serialization/types/UnauthorizedErrorBody.d.ts +12 -0
- package/serialization/types/UnauthorizedErrorBody.js +33 -0
- package/serialization/types/UpdateSettingsResponse.d.ts +12 -0
- package/serialization/types/UpdateSettingsResponse.js +33 -0
- package/serialization/types/Url.d.ts +13 -0
- package/serialization/types/Url.js +34 -0
- package/serialization/types/ViewLocation.d.ts +15 -0
- package/serialization/types/ViewLocation.js +36 -0
- package/serialization/types/index.d.ts +34 -0
- package/serialization/types/index.js +50 -0
- package/version.d.ts +1 -0
- package/version.js +4 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { inferParsedPropertySchema, inferRawObjectFromPropertySchemas, ObjectSchema, PropertySchemas } from "./types";
|
|
2
|
+
export declare function objectWithoutOptionalProperties<ParsedKeys extends string, T extends PropertySchemas<ParsedKeys>>(schemas: T): inferObjectWithoutOptionalPropertiesSchemaFromPropertySchemas<T>;
|
|
3
|
+
export declare type inferObjectWithoutOptionalPropertiesSchemaFromPropertySchemas<T extends PropertySchemas<keyof T>> = ObjectSchema<inferRawObjectFromPropertySchemas<T>, inferParsedObjectWithoutOptionalPropertiesFromPropertySchemas<T>>;
|
|
4
|
+
export declare type inferParsedObjectWithoutOptionalPropertiesFromPropertySchemas<T extends PropertySchemas<keyof T>> = {
|
|
5
|
+
[K in keyof T]: inferParsedPropertySchema<T[K]>;
|
|
6
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.objectWithoutOptionalProperties = void 0;
|
|
4
|
+
const object_1 = require("./object");
|
|
5
|
+
function objectWithoutOptionalProperties(schemas) {
|
|
6
|
+
return (0, object_1.object)(schemas);
|
|
7
|
+
}
|
|
8
|
+
exports.objectWithoutOptionalProperties = objectWithoutOptionalProperties;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Schema } from "../../Schema";
|
|
2
|
+
export declare function property<RawKey extends string, RawValue, ParsedValue>(rawKey: RawKey, valueSchema: Schema<RawValue, ParsedValue>): Property<RawKey, RawValue, ParsedValue>;
|
|
3
|
+
export interface Property<RawKey extends string, RawValue, ParsedValue> {
|
|
4
|
+
rawKey: RawKey;
|
|
5
|
+
valueSchema: Schema<RawValue, ParsedValue>;
|
|
6
|
+
isProperty: true;
|
|
7
|
+
}
|
|
8
|
+
export declare function isProperty<O extends Property<any, any, any>>(maybeProperty: unknown): maybeProperty is O;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isProperty = exports.property = void 0;
|
|
4
|
+
function property(rawKey, valueSchema) {
|
|
5
|
+
return {
|
|
6
|
+
rawKey,
|
|
7
|
+
valueSchema,
|
|
8
|
+
isProperty: true,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
exports.property = property;
|
|
12
|
+
function isProperty(maybeProperty) {
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
14
|
+
return maybeProperty.isProperty;
|
|
15
|
+
}
|
|
16
|
+
exports.isProperty = isProperty;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseSchema, inferParsed, inferRaw, Schema } from "../../Schema";
|
|
2
|
+
import { addQuestionMarksToNullableProperties } from "../../utils/addQuestionMarksToNullableProperties";
|
|
3
|
+
import { ObjectLikeUtils } from "../object-like";
|
|
4
|
+
import { SchemaUtils } from "../schema-utils";
|
|
5
|
+
import { Property } from "./property";
|
|
6
|
+
export declare type ObjectSchema<Raw, Parsed> = BaseObjectSchema<Raw, Parsed> & ObjectLikeUtils<Raw, Parsed> & ObjectUtils<Raw, Parsed> & SchemaUtils<Raw, Parsed>;
|
|
7
|
+
export interface BaseObjectSchema<Raw, Parsed> extends BaseSchema<Raw, Parsed> {
|
|
8
|
+
_getRawProperties: () => (keyof Raw)[];
|
|
9
|
+
_getParsedProperties: () => (keyof Parsed)[];
|
|
10
|
+
}
|
|
11
|
+
export interface ObjectUtils<Raw, Parsed> {
|
|
12
|
+
extend: <RawExtension, ParsedExtension>(schemas: ObjectSchema<RawExtension, ParsedExtension>) => ObjectSchema<Raw & RawExtension, Parsed & ParsedExtension>;
|
|
13
|
+
}
|
|
14
|
+
export declare type inferRawObject<O extends ObjectSchema<any, any>> = O extends ObjectSchema<infer Raw, any> ? Raw : never;
|
|
15
|
+
export declare type inferParsedObject<O extends ObjectSchema<any, any>> = O extends ObjectSchema<any, infer Parsed> ? Parsed : never;
|
|
16
|
+
export declare type inferObjectSchemaFromPropertySchemas<T extends PropertySchemas<keyof T>> = ObjectSchema<inferRawObjectFromPropertySchemas<T>, inferParsedObjectFromPropertySchemas<T>>;
|
|
17
|
+
export declare type inferRawObjectFromPropertySchemas<T extends PropertySchemas<keyof T>> = addQuestionMarksToNullableProperties<{
|
|
18
|
+
[ParsedKey in keyof T as inferRawKey<ParsedKey, T[ParsedKey]>]: inferRawPropertySchema<T[ParsedKey]>;
|
|
19
|
+
}>;
|
|
20
|
+
export declare type inferParsedObjectFromPropertySchemas<T extends PropertySchemas<keyof T>> = addQuestionMarksToNullableProperties<{
|
|
21
|
+
[K in keyof T]: inferParsedPropertySchema<T[K]>;
|
|
22
|
+
}>;
|
|
23
|
+
export declare type PropertySchemas<ParsedKeys extends string | number | symbol> = Record<ParsedKeys, Property<any, any, any> | Schema<any, any>>;
|
|
24
|
+
export declare type inferRawPropertySchema<P extends Property<any, any, any> | Schema<any, any>> = P extends Property<any, infer Raw, any> ? Raw : P extends Schema<any, any> ? inferRaw<P> : never;
|
|
25
|
+
export declare type inferParsedPropertySchema<P extends Property<any, any, any> | Schema<any, any>> = P extends Property<any, any, infer Parsed> ? Parsed : P extends Schema<any, any> ? inferParsed<P> : never;
|
|
26
|
+
export declare type inferRawKey<ParsedKey extends string | number | symbol, P extends Property<any, any, any> | Schema<any, any>> = P extends Property<infer Raw, any, any> ? Raw : ParsedKey;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseSchema } from "../../Schema";
|
|
2
|
+
import { ObjectLikeSchema, ObjectLikeUtils } from "./types";
|
|
3
|
+
export declare function getObjectLikeUtils<Raw, Parsed>(schema: BaseSchema<Raw, Parsed>): ObjectLikeUtils<Raw, Parsed>;
|
|
4
|
+
/**
|
|
5
|
+
* object-like utils are defined in one file to resolve issues with circular imports
|
|
6
|
+
*/
|
|
7
|
+
export declare function withParsedProperties<RawObjectShape, ParsedObjectShape, Properties>(objectLike: BaseSchema<RawObjectShape, ParsedObjectShape>, properties: {
|
|
8
|
+
[K in keyof Properties]: Properties[K] | ((parsed: ParsedObjectShape) => Properties[K]);
|
|
9
|
+
}): ObjectLikeSchema<RawObjectShape, ParsedObjectShape & Properties>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withParsedProperties = exports.getObjectLikeUtils = void 0;
|
|
4
|
+
const filterObject_1 = require("../../utils/filterObject");
|
|
5
|
+
const getErrorMessageForIncorrectType_1 = require("../../utils/getErrorMessageForIncorrectType");
|
|
6
|
+
const isPlainObject_1 = require("../../utils/isPlainObject");
|
|
7
|
+
const schema_utils_1 = require("../schema-utils");
|
|
8
|
+
function getObjectLikeUtils(schema) {
|
|
9
|
+
return {
|
|
10
|
+
withParsedProperties: (properties) => withParsedProperties(schema, properties),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
exports.getObjectLikeUtils = getObjectLikeUtils;
|
|
14
|
+
/**
|
|
15
|
+
* object-like utils are defined in one file to resolve issues with circular imports
|
|
16
|
+
*/
|
|
17
|
+
function withParsedProperties(objectLike, properties) {
|
|
18
|
+
const objectSchema = {
|
|
19
|
+
parse: (raw, opts) => {
|
|
20
|
+
const parsedObject = objectLike.parse(raw, opts);
|
|
21
|
+
if (!parsedObject.ok) {
|
|
22
|
+
return parsedObject;
|
|
23
|
+
}
|
|
24
|
+
const additionalProperties = Object.entries(properties).reduce((processed, [key, value]) => {
|
|
25
|
+
return Object.assign(Object.assign({}, processed), { [key]: typeof value === "function" ? value(parsedObject.value) : value });
|
|
26
|
+
}, {});
|
|
27
|
+
return {
|
|
28
|
+
ok: true,
|
|
29
|
+
value: Object.assign(Object.assign({}, parsedObject.value), additionalProperties),
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
json: (parsed, opts) => {
|
|
33
|
+
var _a;
|
|
34
|
+
if (!(0, isPlainObject_1.isPlainObject)(parsed)) {
|
|
35
|
+
return {
|
|
36
|
+
ok: false,
|
|
37
|
+
errors: [
|
|
38
|
+
{
|
|
39
|
+
path: (_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : [],
|
|
40
|
+
message: (0, getErrorMessageForIncorrectType_1.getErrorMessageForIncorrectType)(parsed, "object"),
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// strip out added properties
|
|
46
|
+
const addedPropertyKeys = new Set(Object.keys(properties));
|
|
47
|
+
const parsedWithoutAddedProperties = (0, filterObject_1.filterObject)(parsed, Object.keys(parsed).filter((key) => !addedPropertyKeys.has(key)));
|
|
48
|
+
return objectLike.json(parsedWithoutAddedProperties, opts);
|
|
49
|
+
},
|
|
50
|
+
getType: () => objectLike.getType(),
|
|
51
|
+
};
|
|
52
|
+
return Object.assign(Object.assign(Object.assign({}, objectSchema), (0, schema_utils_1.getSchemaUtils)(objectSchema)), getObjectLikeUtils(objectSchema));
|
|
53
|
+
}
|
|
54
|
+
exports.withParsedProperties = withParsedProperties;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withParsedProperties = exports.getObjectLikeUtils = void 0;
|
|
4
|
+
var getObjectLikeUtils_1 = require("./getObjectLikeUtils");
|
|
5
|
+
Object.defineProperty(exports, "getObjectLikeUtils", { enumerable: true, get: function () { return getObjectLikeUtils_1.getObjectLikeUtils; } });
|
|
6
|
+
Object.defineProperty(exports, "withParsedProperties", { enumerable: true, get: function () { return getObjectLikeUtils_1.withParsedProperties; } });
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseSchema, Schema } from "../../Schema";
|
|
2
|
+
export declare type ObjectLikeSchema<Raw, Parsed> = Schema<Raw, Parsed> & BaseSchema<Raw, Parsed> & ObjectLikeUtils<Raw, Parsed>;
|
|
3
|
+
export interface ObjectLikeUtils<Raw, Parsed> {
|
|
4
|
+
withParsedProperties: <T extends Record<string, any>>(properties: {
|
|
5
|
+
[K in keyof T]: T[K] | ((parsed: Parsed) => T[K]);
|
|
6
|
+
}) => ObjectLikeSchema<Raw, Parsed & T>;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const any: () => import("../../Schema").Schema<any, any>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.any = void 0;
|
|
4
|
+
const Schema_1 = require("../../Schema");
|
|
5
|
+
const createIdentitySchemaCreator_1 = require("../../utils/createIdentitySchemaCreator");
|
|
6
|
+
exports.any = (0, createIdentitySchemaCreator_1.createIdentitySchemaCreator)(Schema_1.SchemaType.ANY, (value) => ({ ok: true, value }));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const boolean: () => import("../../Schema").Schema<boolean, boolean>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.boolean = void 0;
|
|
4
|
+
const Schema_1 = require("../../Schema");
|
|
5
|
+
const createIdentitySchemaCreator_1 = require("../../utils/createIdentitySchemaCreator");
|
|
6
|
+
const getErrorMessageForIncorrectType_1 = require("../../utils/getErrorMessageForIncorrectType");
|
|
7
|
+
exports.boolean = (0, createIdentitySchemaCreator_1.createIdentitySchemaCreator)(Schema_1.SchemaType.BOOLEAN, (value, { breadcrumbsPrefix = [] } = {}) => {
|
|
8
|
+
if (typeof value === "boolean") {
|
|
9
|
+
return {
|
|
10
|
+
ok: true,
|
|
11
|
+
value,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return {
|
|
16
|
+
ok: false,
|
|
17
|
+
errors: [
|
|
18
|
+
{
|
|
19
|
+
path: breadcrumbsPrefix,
|
|
20
|
+
message: (0, getErrorMessageForIncorrectType_1.getErrorMessageForIncorrectType)(value, "boolean"),
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unknown = exports.string = exports.number = exports.boolean = exports.any = void 0;
|
|
4
|
+
var any_1 = require("./any");
|
|
5
|
+
Object.defineProperty(exports, "any", { enumerable: true, get: function () { return any_1.any; } });
|
|
6
|
+
var boolean_1 = require("./boolean");
|
|
7
|
+
Object.defineProperty(exports, "boolean", { enumerable: true, get: function () { return boolean_1.boolean; } });
|
|
8
|
+
var number_1 = require("./number");
|
|
9
|
+
Object.defineProperty(exports, "number", { enumerable: true, get: function () { return number_1.number; } });
|
|
10
|
+
var string_1 = require("./string");
|
|
11
|
+
Object.defineProperty(exports, "string", { enumerable: true, get: function () { return string_1.string; } });
|
|
12
|
+
var unknown_1 = require("./unknown");
|
|
13
|
+
Object.defineProperty(exports, "unknown", { enumerable: true, get: function () { return unknown_1.unknown; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const number: () => import("../../Schema").Schema<number, number>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.number = void 0;
|
|
4
|
+
const Schema_1 = require("../../Schema");
|
|
5
|
+
const createIdentitySchemaCreator_1 = require("../../utils/createIdentitySchemaCreator");
|
|
6
|
+
const getErrorMessageForIncorrectType_1 = require("../../utils/getErrorMessageForIncorrectType");
|
|
7
|
+
exports.number = (0, createIdentitySchemaCreator_1.createIdentitySchemaCreator)(Schema_1.SchemaType.NUMBER, (value, { breadcrumbsPrefix = [] } = {}) => {
|
|
8
|
+
if (typeof value === "number") {
|
|
9
|
+
return {
|
|
10
|
+
ok: true,
|
|
11
|
+
value,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return {
|
|
16
|
+
ok: false,
|
|
17
|
+
errors: [
|
|
18
|
+
{
|
|
19
|
+
path: breadcrumbsPrefix,
|
|
20
|
+
message: (0, getErrorMessageForIncorrectType_1.getErrorMessageForIncorrectType)(value, "number"),
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const string: () => import("../../Schema").Schema<string, string>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.string = void 0;
|
|
4
|
+
const Schema_1 = require("../../Schema");
|
|
5
|
+
const createIdentitySchemaCreator_1 = require("../../utils/createIdentitySchemaCreator");
|
|
6
|
+
const getErrorMessageForIncorrectType_1 = require("../../utils/getErrorMessageForIncorrectType");
|
|
7
|
+
exports.string = (0, createIdentitySchemaCreator_1.createIdentitySchemaCreator)(Schema_1.SchemaType.STRING, (value, { breadcrumbsPrefix = [] } = {}) => {
|
|
8
|
+
if (typeof value === "string") {
|
|
9
|
+
return {
|
|
10
|
+
ok: true,
|
|
11
|
+
value,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return {
|
|
16
|
+
ok: false,
|
|
17
|
+
errors: [
|
|
18
|
+
{
|
|
19
|
+
path: breadcrumbsPrefix,
|
|
20
|
+
message: (0, getErrorMessageForIncorrectType_1.getErrorMessageForIncorrectType)(value, "string"),
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const unknown: () => import("../../Schema").Schema<unknown, unknown>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unknown = void 0;
|
|
4
|
+
const Schema_1 = require("../../Schema");
|
|
5
|
+
const createIdentitySchemaCreator_1 = require("../../utils/createIdentitySchemaCreator");
|
|
6
|
+
exports.unknown = (0, createIdentitySchemaCreator_1.createIdentitySchemaCreator)(Schema_1.SchemaType.UNKNOWN, (value) => ({ ok: true, value }));
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Schema } from "../../Schema";
|
|
2
|
+
import { RecordSchema } from "./types";
|
|
3
|
+
export declare function record<RawKey extends string | number, RawValue, ParsedValue, ParsedKey extends string | number>(keySchema: Schema<RawKey, ParsedKey>, valueSchema: Schema<RawValue, ParsedValue>): RecordSchema<RawKey, RawValue, ParsedKey, ParsedValue>;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.record = void 0;
|
|
4
|
+
const Schema_1 = require("../../Schema");
|
|
5
|
+
const entries_1 = require("../../utils/entries");
|
|
6
|
+
const getErrorMessageForIncorrectType_1 = require("../../utils/getErrorMessageForIncorrectType");
|
|
7
|
+
const isPlainObject_1 = require("../../utils/isPlainObject");
|
|
8
|
+
const maybeSkipValidation_1 = require("../../utils/maybeSkipValidation");
|
|
9
|
+
const schema_utils_1 = require("../schema-utils");
|
|
10
|
+
function record(keySchema, valueSchema) {
|
|
11
|
+
const baseSchema = {
|
|
12
|
+
parse: (raw, opts) => {
|
|
13
|
+
return validateAndTransformRecord({
|
|
14
|
+
value: raw,
|
|
15
|
+
isKeyNumeric: keySchema.getType() === Schema_1.SchemaType.NUMBER,
|
|
16
|
+
transformKey: (key) => {
|
|
17
|
+
var _a;
|
|
18
|
+
return keySchema.parse(key, Object.assign(Object.assign({}, opts), { breadcrumbsPrefix: [...((_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : []), `${key} (key)`] }));
|
|
19
|
+
},
|
|
20
|
+
transformValue: (value, key) => {
|
|
21
|
+
var _a;
|
|
22
|
+
return valueSchema.parse(value, Object.assign(Object.assign({}, opts), { breadcrumbsPrefix: [...((_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : []), `${key}`] }));
|
|
23
|
+
},
|
|
24
|
+
breadcrumbsPrefix: opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix,
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
json: (parsed, opts) => {
|
|
28
|
+
return validateAndTransformRecord({
|
|
29
|
+
value: parsed,
|
|
30
|
+
isKeyNumeric: keySchema.getType() === Schema_1.SchemaType.NUMBER,
|
|
31
|
+
transformKey: (key) => {
|
|
32
|
+
var _a;
|
|
33
|
+
return keySchema.json(key, Object.assign(Object.assign({}, opts), { breadcrumbsPrefix: [...((_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : []), `${key} (key)`] }));
|
|
34
|
+
},
|
|
35
|
+
transformValue: (value, key) => {
|
|
36
|
+
var _a;
|
|
37
|
+
return valueSchema.json(value, Object.assign(Object.assign({}, opts), { breadcrumbsPrefix: [...((_a = opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix) !== null && _a !== void 0 ? _a : []), `${key}`] }));
|
|
38
|
+
},
|
|
39
|
+
breadcrumbsPrefix: opts === null || opts === void 0 ? void 0 : opts.breadcrumbsPrefix,
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
getType: () => Schema_1.SchemaType.RECORD,
|
|
43
|
+
};
|
|
44
|
+
return Object.assign(Object.assign({}, (0, maybeSkipValidation_1.maybeSkipValidation)(baseSchema)), (0, schema_utils_1.getSchemaUtils)(baseSchema));
|
|
45
|
+
}
|
|
46
|
+
exports.record = record;
|
|
47
|
+
function validateAndTransformRecord({ value, isKeyNumeric, transformKey, transformValue, breadcrumbsPrefix = [], }) {
|
|
48
|
+
if (!(0, isPlainObject_1.isPlainObject)(value)) {
|
|
49
|
+
return {
|
|
50
|
+
ok: false,
|
|
51
|
+
errors: [
|
|
52
|
+
{
|
|
53
|
+
path: breadcrumbsPrefix,
|
|
54
|
+
message: (0, getErrorMessageForIncorrectType_1.getErrorMessageForIncorrectType)(value, "object"),
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return (0, entries_1.entries)(value).reduce((accPromise, [stringKey, value]) => {
|
|
60
|
+
// skip nullish keys
|
|
61
|
+
if (value == null) {
|
|
62
|
+
return accPromise;
|
|
63
|
+
}
|
|
64
|
+
const acc = accPromise;
|
|
65
|
+
let key = stringKey;
|
|
66
|
+
if (isKeyNumeric) {
|
|
67
|
+
const numberKey = stringKey.length > 0 ? Number(stringKey) : NaN;
|
|
68
|
+
if (!isNaN(numberKey)) {
|
|
69
|
+
key = numberKey;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const transformedKey = transformKey(key);
|
|
73
|
+
const transformedValue = transformValue(value, key);
|
|
74
|
+
if (acc.ok && transformedKey.ok && transformedValue.ok) {
|
|
75
|
+
return {
|
|
76
|
+
ok: true,
|
|
77
|
+
value: Object.assign(Object.assign({}, acc.value), { [transformedKey.value]: transformedValue.value }),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const errors = [];
|
|
81
|
+
if (!acc.ok) {
|
|
82
|
+
errors.push(...acc.errors);
|
|
83
|
+
}
|
|
84
|
+
if (!transformedKey.ok) {
|
|
85
|
+
errors.push(...transformedKey.errors);
|
|
86
|
+
}
|
|
87
|
+
if (!transformedValue.ok) {
|
|
88
|
+
errors.push(...transformedValue.errors);
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
ok: false,
|
|
92
|
+
errors,
|
|
93
|
+
};
|
|
94
|
+
}, { ok: true, value: {} });
|
|
95
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { BaseSchema } from "../../Schema";
|
|
2
|
+
import { SchemaUtils } from "../schema-utils";
|
|
3
|
+
export declare type RecordSchema<RawKey extends string | number, RawValue, ParsedKey extends string | number, ParsedValue> = BaseRecordSchema<RawKey, RawValue, ParsedKey, ParsedValue> & SchemaUtils<Record<RawKey, RawValue>, Record<ParsedKey, ParsedValue>>;
|
|
4
|
+
export declare type BaseRecordSchema<RawKey extends string | number, RawValue, ParsedKey extends string | number, ParsedValue> = BaseSchema<Record<RawKey, RawValue>, Record<ParsedKey, ParsedValue>>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JsonError = void 0;
|
|
4
|
+
const stringifyValidationErrors_1 = require("./stringifyValidationErrors");
|
|
5
|
+
class JsonError extends Error {
|
|
6
|
+
constructor(errors) {
|
|
7
|
+
super(errors.map(stringifyValidationErrors_1.stringifyValidationError).join("; "));
|
|
8
|
+
this.errors = errors;
|
|
9
|
+
Object.setPrototypeOf(this, JsonError.prototype);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.JsonError = JsonError;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParseError = void 0;
|
|
4
|
+
const stringifyValidationErrors_1 = require("./stringifyValidationErrors");
|
|
5
|
+
class ParseError extends Error {
|
|
6
|
+
constructor(errors) {
|
|
7
|
+
super(errors.map(stringifyValidationErrors_1.stringifyValidationError).join("; "));
|
|
8
|
+
this.errors = errors;
|
|
9
|
+
Object.setPrototypeOf(this, ParseError.prototype);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.ParseError = ParseError;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseSchema, Schema, SchemaOptions } from "../../Schema";
|
|
2
|
+
export interface SchemaUtils<Raw, Parsed> {
|
|
3
|
+
optional: () => Schema<Raw | null | undefined, Parsed | undefined>;
|
|
4
|
+
transform: <Transformed>(transformer: SchemaTransformer<Parsed, Transformed>) => Schema<Raw, Transformed>;
|
|
5
|
+
parseOrThrow: (raw: unknown, opts?: SchemaOptions) => Parsed;
|
|
6
|
+
jsonOrThrow: (raw: unknown, opts?: SchemaOptions) => Raw;
|
|
7
|
+
}
|
|
8
|
+
export interface SchemaTransformer<Parsed, Transformed> {
|
|
9
|
+
transform: (parsed: Parsed) => Transformed;
|
|
10
|
+
untransform: (transformed: any) => Parsed;
|
|
11
|
+
}
|
|
12
|
+
export declare function getSchemaUtils<Raw, Parsed>(schema: BaseSchema<Raw, Parsed>): SchemaUtils<Raw, Parsed>;
|
|
13
|
+
/**
|
|
14
|
+
* schema utils are defined in one file to resolve issues with circular imports
|
|
15
|
+
*/
|
|
16
|
+
export declare function optional<Raw, Parsed>(schema: BaseSchema<Raw, Parsed>): Schema<Raw | null | undefined, Parsed | undefined>;
|
|
17
|
+
export declare function transform<Raw, Parsed, Transformed>(schema: BaseSchema<Raw, Parsed>, transformer: SchemaTransformer<Parsed, Transformed>): Schema<Raw, Transformed>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.transform = exports.optional = exports.getSchemaUtils = void 0;
|
|
4
|
+
const Schema_1 = require("../../Schema");
|
|
5
|
+
const JsonError_1 = require("./JsonError");
|
|
6
|
+
const ParseError_1 = require("./ParseError");
|
|
7
|
+
function getSchemaUtils(schema) {
|
|
8
|
+
return {
|
|
9
|
+
optional: () => optional(schema),
|
|
10
|
+
transform: (transformer) => transform(schema, transformer),
|
|
11
|
+
parseOrThrow: (raw, opts) => {
|
|
12
|
+
const parsed = schema.parse(raw, opts);
|
|
13
|
+
if (parsed.ok) {
|
|
14
|
+
return parsed.value;
|
|
15
|
+
}
|
|
16
|
+
throw new ParseError_1.ParseError(parsed.errors);
|
|
17
|
+
},
|
|
18
|
+
jsonOrThrow: (parsed, opts) => {
|
|
19
|
+
const raw = schema.json(parsed, opts);
|
|
20
|
+
if (raw.ok) {
|
|
21
|
+
return raw.value;
|
|
22
|
+
}
|
|
23
|
+
throw new JsonError_1.JsonError(raw.errors);
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.getSchemaUtils = getSchemaUtils;
|
|
28
|
+
/**
|
|
29
|
+
* schema utils are defined in one file to resolve issues with circular imports
|
|
30
|
+
*/
|
|
31
|
+
function optional(schema) {
|
|
32
|
+
const baseSchema = {
|
|
33
|
+
parse: (raw, opts) => {
|
|
34
|
+
if (raw == null) {
|
|
35
|
+
return {
|
|
36
|
+
ok: true,
|
|
37
|
+
value: undefined,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return schema.parse(raw, opts);
|
|
41
|
+
},
|
|
42
|
+
json: (parsed, opts) => {
|
|
43
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.omitUndefined) && parsed === undefined) {
|
|
44
|
+
return {
|
|
45
|
+
ok: true,
|
|
46
|
+
value: undefined,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (parsed == null) {
|
|
50
|
+
return {
|
|
51
|
+
ok: true,
|
|
52
|
+
value: null,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return schema.json(parsed, opts);
|
|
56
|
+
},
|
|
57
|
+
getType: () => Schema_1.SchemaType.OPTIONAL,
|
|
58
|
+
};
|
|
59
|
+
return Object.assign(Object.assign({}, baseSchema), getSchemaUtils(baseSchema));
|
|
60
|
+
}
|
|
61
|
+
exports.optional = optional;
|
|
62
|
+
function transform(schema, transformer) {
|
|
63
|
+
const baseSchema = {
|
|
64
|
+
parse: (raw, opts) => {
|
|
65
|
+
const parsed = schema.parse(raw, opts);
|
|
66
|
+
if (!parsed.ok) {
|
|
67
|
+
return parsed;
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
ok: true,
|
|
71
|
+
value: transformer.transform(parsed.value),
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
json: (transformed, opts) => {
|
|
75
|
+
const parsed = transformer.untransform(transformed);
|
|
76
|
+
return schema.json(parsed, opts);
|
|
77
|
+
},
|
|
78
|
+
getType: () => schema.getType(),
|
|
79
|
+
};
|
|
80
|
+
return Object.assign(Object.assign({}, baseSchema), getSchemaUtils(baseSchema));
|
|
81
|
+
}
|
|
82
|
+
exports.transform = transform;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParseError = exports.JsonError = exports.transform = exports.optional = exports.getSchemaUtils = void 0;
|
|
4
|
+
var getSchemaUtils_1 = require("./getSchemaUtils");
|
|
5
|
+
Object.defineProperty(exports, "getSchemaUtils", { enumerable: true, get: function () { return getSchemaUtils_1.getSchemaUtils; } });
|
|
6
|
+
Object.defineProperty(exports, "optional", { enumerable: true, get: function () { return getSchemaUtils_1.optional; } });
|
|
7
|
+
Object.defineProperty(exports, "transform", { enumerable: true, get: function () { return getSchemaUtils_1.transform; } });
|
|
8
|
+
var JsonError_1 = require("./JsonError");
|
|
9
|
+
Object.defineProperty(exports, "JsonError", { enumerable: true, get: function () { return JsonError_1.JsonError; } });
|
|
10
|
+
var ParseError_1 = require("./ParseError");
|
|
11
|
+
Object.defineProperty(exports, "ParseError", { enumerable: true, get: function () { return ParseError_1.ParseError; } });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stringifyValidationError = void 0;
|
|
4
|
+
function stringifyValidationError(error) {
|
|
5
|
+
if (error.path.length === 0) {
|
|
6
|
+
return error.message;
|
|
7
|
+
}
|
|
8
|
+
return `${error.path.join(" -> ")}: ${error.message}`;
|
|
9
|
+
}
|
|
10
|
+
exports.stringifyValidationError = stringifyValidationError;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { set } from "./set";
|