vellum-ai 0.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 +25 -0
- package/Client.js +165 -0
- package/README.md +58 -0
- package/api/client/index.d.ts +1 -0
- package/api/client/index.js +17 -0
- package/api/client/requests/GenerateRequestBodyRequest.d.ts +14 -0
- package/api/client/requests/GenerateRequestBodyRequest.js +5 -0
- package/api/client/requests/SearchRequestBodyRequest.d.ts +14 -0
- package/api/client/requests/SearchRequestBodyRequest.js +5 -0
- package/api/client/requests/SubmitCompletionActualsRequestRequest.d.ts +12 -0
- package/api/client/requests/SubmitCompletionActualsRequestRequest.js +5 -0
- package/api/client/requests/index.d.ts +3 -0
- package/api/client/requests/index.js +2 -0
- package/api/index.d.ts +3 -0
- package/api/index.js +19 -0
- package/api/resources/documents/client/Client.d.ts +20 -0
- package/api/resources/documents/client/Client.js +145 -0
- package/api/resources/documents/client/index.d.ts +1 -0
- package/api/resources/documents/client/index.js +17 -0
- package/api/resources/documents/client/requests/ListDocumentsRequest.d.ts +9 -0
- package/api/resources/documents/client/requests/ListDocumentsRequest.js +5 -0
- package/api/resources/documents/client/requests/UploadDocumentRequestBodyRequest.d.ts +13 -0
- package/api/resources/documents/client/requests/UploadDocumentRequestBodyRequest.js +5 -0
- package/api/resources/documents/client/requests/index.d.ts +2 -0
- package/api/resources/documents/client/requests/index.js +2 -0
- package/api/resources/documents/index.d.ts +1 -0
- package/api/resources/documents/index.js +17 -0
- package/api/resources/index.d.ts +3 -0
- package/api/resources/index.js +32 -0
- package/api/resources/modelVersions/client/Client.d.ts +17 -0
- package/api/resources/modelVersions/client/Client.js +80 -0
- package/api/resources/modelVersions/client/index.d.ts +1 -0
- package/api/resources/modelVersions/client/index.js +2 -0
- package/api/resources/modelVersions/index.d.ts +1 -0
- package/api/resources/modelVersions/index.js +17 -0
- package/api/types/BlockTypeEnum.d.ts +10 -0
- package/api/types/BlockTypeEnum.js +12 -0
- package/api/types/ChatRoleEnum.d.ts +9 -0
- package/api/types/ChatRoleEnum.js +11 -0
- package/api/types/Document.d.ts +11 -0
- package/api/types/Document.js +5 -0
- package/api/types/DocumentDocumentToDocumentIndex.d.ts +12 -0
- package/api/types/DocumentDocumentToDocumentIndex.js +5 -0
- package/api/types/EnrichedNormalizedCompletion.d.ts +18 -0
- package/api/types/EnrichedNormalizedCompletion.js +5 -0
- package/api/types/FinishReasonEnum.d.ts +9 -0
- package/api/types/FinishReasonEnum.js +11 -0
- package/api/types/GenerateErrorResponse.d.ts +7 -0
- package/api/types/GenerateErrorResponse.js +5 -0
- package/api/types/GenerateOptionsRequest.d.ts +8 -0
- package/api/types/GenerateOptionsRequest.js +5 -0
- package/api/types/GenerateRequestRequest.d.ts +9 -0
- package/api/types/GenerateRequestRequest.js +5 -0
- package/api/types/GenerateResponse.d.ts +8 -0
- package/api/types/GenerateResponse.js +5 -0
- package/api/types/GenerateResult.d.ts +10 -0
- package/api/types/GenerateResult.js +5 -0
- package/api/types/GenerateResultData.d.ts +8 -0
- package/api/types/GenerateResultData.js +5 -0
- package/api/types/GenerateResultError.d.ts +7 -0
- package/api/types/GenerateResultError.js +5 -0
- package/api/types/IndexingStateEnum.d.ts +11 -0
- package/api/types/IndexingStateEnum.js +13 -0
- package/api/types/LogprobsEnum.d.ts +8 -0
- package/api/types/LogprobsEnum.js +10 -0
- package/api/types/ModelTypeEnum.d.ts +8 -0
- package/api/types/ModelTypeEnum.js +10 -0
- package/api/types/ModelVersionBuildConfig.d.ts +10 -0
- package/api/types/ModelVersionBuildConfig.js +5 -0
- package/api/types/ModelVersionExecConfigParameters.d.ts +13 -0
- package/api/types/ModelVersionExecConfigParameters.js +5 -0
- package/api/types/ModelVersionExecConfigRead.d.ts +13 -0
- package/api/types/ModelVersionExecConfigRead.js +5 -0
- package/api/types/ModelVersionRead.d.ts +23 -0
- package/api/types/ModelVersionRead.js +5 -0
- package/api/types/ModelVersionReadStatusEnum.d.ts +10 -0
- package/api/types/ModelVersionReadStatusEnum.js +12 -0
- package/api/types/ModelVersionSandboxSnapshot.d.ts +9 -0
- package/api/types/ModelVersionSandboxSnapshot.js +5 -0
- package/api/types/NormalizedLogProbs.d.ts +8 -0
- package/api/types/NormalizedLogProbs.js +5 -0
- package/api/types/NormalizedTokenLogProbs.d.ts +9 -0
- package/api/types/NormalizedTokenLogProbs.js +5 -0
- package/api/types/PaginatedSlimDocumentList.d.ts +10 -0
- package/api/types/PaginatedSlimDocumentList.js +5 -0
- package/api/types/ProcessingStateEnum.d.ts +10 -0
- package/api/types/ProcessingStateEnum.js +12 -0
- package/api/types/PromptTemplateBlock.d.ts +8 -0
- package/api/types/PromptTemplateBlock.js +5 -0
- package/api/types/PromptTemplateBlockData.d.ts +8 -0
- package/api/types/PromptTemplateBlockData.js +5 -0
- package/api/types/PromptTemplateBlockProperties.d.ts +10 -0
- package/api/types/PromptTemplateBlockProperties.js +5 -0
- package/api/types/ProviderEnum.d.ts +12 -0
- package/api/types/ProviderEnum.js +14 -0
- package/api/types/SearchErrorResponse.d.ts +7 -0
- package/api/types/SearchErrorResponse.js +5 -0
- package/api/types/SearchFiltersRequest.d.ts +7 -0
- package/api/types/SearchFiltersRequest.js +5 -0
- package/api/types/SearchRequestOptionsRequest.d.ts +14 -0
- package/api/types/SearchRequestOptionsRequest.js +5 -0
- package/api/types/SearchResponse.d.ts +8 -0
- package/api/types/SearchResponse.js +5 -0
- package/api/types/SearchResult.d.ts +13 -0
- package/api/types/SearchResult.js +5 -0
- package/api/types/SearchResultMergingRequest.d.ts +7 -0
- package/api/types/SearchResultMergingRequest.js +5 -0
- package/api/types/SearchWeightsRequest.d.ts +9 -0
- package/api/types/SearchWeightsRequest.js +5 -0
- package/api/types/SlimDocument.d.ts +21 -0
- package/api/types/SlimDocument.js +5 -0
- package/api/types/SlimDocumentStatusEnum.d.ts +7 -0
- package/api/types/SlimDocumentStatusEnum.js +9 -0
- package/api/types/SubmitCompletionActualRequest.d.ts +15 -0
- package/api/types/SubmitCompletionActualRequest.js +5 -0
- package/api/types/SubmitCompletionActualsErrorResponse.d.ts +6 -0
- package/api/types/SubmitCompletionActualsErrorResponse.js +5 -0
- package/api/types/UploadDocumentErrorResponse.d.ts +6 -0
- package/api/types/UploadDocumentErrorResponse.js +5 -0
- package/api/types/UploadDocumentResponse.d.ts +7 -0
- package/api/types/UploadDocumentResponse.js +5 -0
- package/api/types/index.d.ts +43 -0
- package/api/types/index.js +59 -0
- package/core/fetcher/APIResponse.d.ts +9 -0
- package/core/fetcher/APIResponse.js +2 -0
- package/core/fetcher/Fetcher.d.ts +36 -0
- package/core/fetcher/Fetcher.js +87 -0
- package/core/fetcher/Supplier.d.ts +4 -0
- package/core/fetcher/Supplier.js +13 -0
- package/core/fetcher/index.d.ts +3 -0
- package/core/fetcher/index.js +7 -0
- package/core/form-data-utils/getFormDataContentLength.d.ts +2 -0
- package/core/form-data-utils/getFormDataContentLength.js +16 -0
- package/core/form-data-utils/index.d.ts +1 -0
- package/core/form-data-utils/index.js +5 -0
- package/core/index.d.ts +3 -0
- package/core/index.js +32 -0
- package/core/schemas/Schema.d.ts +62 -0
- package/core/schemas/Schema.js +20 -0
- package/core/schemas/builders/date/date.d.ts +2 -0
- package/core/schemas/builders/date/date.js +55 -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 +29 -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 +13 -0
- package/core/schemas/builders/index.js +29 -0
- package/core/schemas/builders/lazy/index.d.ts +2 -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 +28 -0
- package/core/schemas/builders/lazy/lazyObject.d.ts +3 -0
- package/core/schemas/builders/lazy/lazyObject.js +21 -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 +53 -0
- package/core/schemas/builders/literals/index.d.ts +1 -0
- package/core/schemas/builders/literals/index.js +5 -0
- package/core/schemas/builders/literals/stringLiteral.d.ts +2 -0
- package/core/schemas/builders/literals/stringLiteral.js +28 -0
- package/core/schemas/builders/object/index.d.ts +3 -0
- package/core/schemas/builders/object/index.js +9 -0
- package/core/schemas/builders/object/object.d.ts +3 -0
- package/core/schemas/builders/object/object.js +237 -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 +62 -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 +24 -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 +24 -0
- package/core/schemas/builders/primitives/string.d.ts +1 -0
- package/core/schemas/builders/primitives/string.js +24 -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 +91 -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 +13 -0
- package/core/schemas/builders/schema-utils/ParseError.d.ts +5 -0
- package/core/schemas/builders/schema-utils/ParseError.js +13 -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 +3 -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 +37 -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 +3 -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 +120 -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 +18 -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/isPlainObject.d.ts +2 -0
- package/core/schemas/utils/isPlainObject.js +19 -0
- package/core/schemas/utils/keys.d.ts +1 -0
- package/core/schemas/utils/keys.js +7 -0
- package/core/schemas/utils/partition.d.ts +1 -0
- package/core/schemas/utils/partition.js +16 -0
- package/dist/Client.d.ts +25 -0
- package/dist/Client.js +165 -0
- package/dist/api/client/index.d.ts +1 -0
- package/dist/api/client/index.js +17 -0
- package/dist/api/client/requests/GenerateRequestBodyRequest.d.ts +14 -0
- package/dist/api/client/requests/GenerateRequestBodyRequest.js +5 -0
- package/dist/api/client/requests/SearchRequestBodyRequest.d.ts +14 -0
- package/dist/api/client/requests/SearchRequestBodyRequest.js +5 -0
- package/dist/api/client/requests/SubmitCompletionActualsRequestRequest.d.ts +12 -0
- package/dist/api/client/requests/SubmitCompletionActualsRequestRequest.js +5 -0
- package/dist/api/client/requests/index.d.ts +3 -0
- package/dist/api/client/requests/index.js +2 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.js +19 -0
- package/dist/api/resources/documents/client/Client.d.ts +20 -0
- package/dist/api/resources/documents/client/Client.js +145 -0
- package/dist/api/resources/documents/client/index.d.ts +1 -0
- package/dist/api/resources/documents/client/index.js +17 -0
- package/dist/api/resources/documents/client/requests/ListDocumentsRequest.d.ts +9 -0
- package/dist/api/resources/documents/client/requests/ListDocumentsRequest.js +5 -0
- package/dist/api/resources/documents/client/requests/UploadDocumentRequestBodyRequest.d.ts +13 -0
- package/dist/api/resources/documents/client/requests/UploadDocumentRequestBodyRequest.js +5 -0
- package/dist/api/resources/documents/client/requests/index.d.ts +2 -0
- package/dist/api/resources/documents/client/requests/index.js +2 -0
- package/dist/api/resources/documents/index.d.ts +1 -0
- package/dist/api/resources/documents/index.js +17 -0
- package/dist/api/resources/index.d.ts +3 -0
- package/dist/api/resources/index.js +32 -0
- package/dist/api/resources/modelVersions/client/Client.d.ts +17 -0
- package/dist/api/resources/modelVersions/client/Client.js +80 -0
- package/dist/api/resources/modelVersions/client/index.d.ts +1 -0
- package/dist/api/resources/modelVersions/client/index.js +2 -0
- package/dist/api/resources/modelVersions/index.d.ts +1 -0
- package/dist/api/resources/modelVersions/index.js +17 -0
- package/dist/api/types/BlockTypeEnum.d.ts +10 -0
- package/dist/api/types/BlockTypeEnum.js +12 -0
- package/dist/api/types/ChatRoleEnum.d.ts +9 -0
- package/dist/api/types/ChatRoleEnum.js +11 -0
- package/dist/api/types/Document.d.ts +11 -0
- package/dist/api/types/Document.js +5 -0
- package/dist/api/types/DocumentDocumentToDocumentIndex.d.ts +12 -0
- package/dist/api/types/DocumentDocumentToDocumentIndex.js +5 -0
- package/dist/api/types/EnrichedNormalizedCompletion.d.ts +18 -0
- package/dist/api/types/EnrichedNormalizedCompletion.js +5 -0
- package/dist/api/types/FinishReasonEnum.d.ts +9 -0
- package/dist/api/types/FinishReasonEnum.js +11 -0
- package/dist/api/types/GenerateErrorResponse.d.ts +7 -0
- package/dist/api/types/GenerateErrorResponse.js +5 -0
- package/dist/api/types/GenerateOptionsRequest.d.ts +8 -0
- package/dist/api/types/GenerateOptionsRequest.js +5 -0
- package/dist/api/types/GenerateRequestRequest.d.ts +9 -0
- package/dist/api/types/GenerateRequestRequest.js +5 -0
- package/dist/api/types/GenerateResponse.d.ts +8 -0
- package/dist/api/types/GenerateResponse.js +5 -0
- package/dist/api/types/GenerateResult.d.ts +10 -0
- package/dist/api/types/GenerateResult.js +5 -0
- package/dist/api/types/GenerateResultData.d.ts +8 -0
- package/dist/api/types/GenerateResultData.js +5 -0
- package/dist/api/types/GenerateResultError.d.ts +7 -0
- package/dist/api/types/GenerateResultError.js +5 -0
- package/dist/api/types/IndexingStateEnum.d.ts +11 -0
- package/dist/api/types/IndexingStateEnum.js +13 -0
- package/dist/api/types/LogprobsEnum.d.ts +8 -0
- package/dist/api/types/LogprobsEnum.js +10 -0
- package/dist/api/types/ModelTypeEnum.d.ts +8 -0
- package/dist/api/types/ModelTypeEnum.js +10 -0
- package/dist/api/types/ModelVersionBuildConfig.d.ts +10 -0
- package/dist/api/types/ModelVersionBuildConfig.js +5 -0
- package/dist/api/types/ModelVersionExecConfigParameters.d.ts +13 -0
- package/dist/api/types/ModelVersionExecConfigParameters.js +5 -0
- package/dist/api/types/ModelVersionExecConfigRead.d.ts +13 -0
- package/dist/api/types/ModelVersionExecConfigRead.js +5 -0
- package/dist/api/types/ModelVersionRead.d.ts +23 -0
- package/dist/api/types/ModelVersionRead.js +5 -0
- package/dist/api/types/ModelVersionReadStatusEnum.d.ts +10 -0
- package/dist/api/types/ModelVersionReadStatusEnum.js +12 -0
- package/dist/api/types/ModelVersionSandboxSnapshot.d.ts +9 -0
- package/dist/api/types/ModelVersionSandboxSnapshot.js +5 -0
- package/dist/api/types/NormalizedLogProbs.d.ts +8 -0
- package/dist/api/types/NormalizedLogProbs.js +5 -0
- package/dist/api/types/NormalizedTokenLogProbs.d.ts +9 -0
- package/dist/api/types/NormalizedTokenLogProbs.js +5 -0
- package/dist/api/types/PaginatedSlimDocumentList.d.ts +10 -0
- package/dist/api/types/PaginatedSlimDocumentList.js +5 -0
- package/dist/api/types/ProcessingStateEnum.d.ts +10 -0
- package/dist/api/types/ProcessingStateEnum.js +12 -0
- package/dist/api/types/PromptTemplateBlock.d.ts +8 -0
- package/dist/api/types/PromptTemplateBlock.js +5 -0
- package/dist/api/types/PromptTemplateBlockData.d.ts +8 -0
- package/dist/api/types/PromptTemplateBlockData.js +5 -0
- package/dist/api/types/PromptTemplateBlockProperties.d.ts +10 -0
- package/dist/api/types/PromptTemplateBlockProperties.js +5 -0
- package/dist/api/types/ProviderEnum.d.ts +12 -0
- package/dist/api/types/ProviderEnum.js +14 -0
- package/dist/api/types/SearchErrorResponse.d.ts +7 -0
- package/dist/api/types/SearchErrorResponse.js +5 -0
- package/dist/api/types/SearchFiltersRequest.d.ts +7 -0
- package/dist/api/types/SearchFiltersRequest.js +5 -0
- package/dist/api/types/SearchRequestOptionsRequest.d.ts +14 -0
- package/dist/api/types/SearchRequestOptionsRequest.js +5 -0
- package/dist/api/types/SearchResponse.d.ts +8 -0
- package/dist/api/types/SearchResponse.js +5 -0
- package/dist/api/types/SearchResult.d.ts +13 -0
- package/dist/api/types/SearchResult.js +5 -0
- package/dist/api/types/SearchResultMergingRequest.d.ts +7 -0
- package/dist/api/types/SearchResultMergingRequest.js +5 -0
- package/dist/api/types/SearchWeightsRequest.d.ts +9 -0
- package/dist/api/types/SearchWeightsRequest.js +5 -0
- package/dist/api/types/SlimDocument.d.ts +21 -0
- package/dist/api/types/SlimDocument.js +5 -0
- package/dist/api/types/SlimDocumentStatusEnum.d.ts +7 -0
- package/dist/api/types/SlimDocumentStatusEnum.js +9 -0
- package/dist/api/types/SubmitCompletionActualRequest.d.ts +15 -0
- package/dist/api/types/SubmitCompletionActualRequest.js +5 -0
- package/dist/api/types/SubmitCompletionActualsErrorResponse.d.ts +6 -0
- package/dist/api/types/SubmitCompletionActualsErrorResponse.js +5 -0
- package/dist/api/types/UploadDocumentErrorResponse.d.ts +6 -0
- package/dist/api/types/UploadDocumentErrorResponse.js +5 -0
- package/dist/api/types/UploadDocumentResponse.d.ts +7 -0
- package/dist/api/types/UploadDocumentResponse.js +5 -0
- package/dist/api/types/index.d.ts +43 -0
- package/dist/api/types/index.js +59 -0
- package/dist/core/fetcher/APIResponse.d.ts +9 -0
- package/dist/core/fetcher/APIResponse.js +2 -0
- package/dist/core/fetcher/Fetcher.d.ts +36 -0
- package/dist/core/fetcher/Fetcher.js +87 -0
- package/dist/core/fetcher/Supplier.d.ts +4 -0
- package/dist/core/fetcher/Supplier.js +13 -0
- package/dist/core/fetcher/index.d.ts +3 -0
- package/dist/core/fetcher/index.js +7 -0
- package/dist/core/form-data-utils/getFormDataContentLength.d.ts +2 -0
- package/dist/core/form-data-utils/getFormDataContentLength.js +16 -0
- package/dist/core/form-data-utils/index.d.ts +1 -0
- package/dist/core/form-data-utils/index.js +5 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.js +32 -0
- package/dist/core/schemas/Schema.d.ts +62 -0
- package/dist/core/schemas/Schema.js +20 -0
- package/dist/core/schemas/builders/date/date.d.ts +2 -0
- package/dist/core/schemas/builders/date/date.js +55 -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 +29 -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 +13 -0
- package/dist/core/schemas/builders/index.js +29 -0
- package/dist/core/schemas/builders/lazy/index.d.ts +2 -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 +28 -0
- package/dist/core/schemas/builders/lazy/lazyObject.d.ts +3 -0
- package/dist/core/schemas/builders/lazy/lazyObject.js +21 -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 +53 -0
- package/dist/core/schemas/builders/literals/index.d.ts +1 -0
- package/dist/core/schemas/builders/literals/index.js +5 -0
- package/dist/core/schemas/builders/literals/stringLiteral.d.ts +2 -0
- package/dist/core/schemas/builders/literals/stringLiteral.js +28 -0
- package/dist/core/schemas/builders/object/index.d.ts +3 -0
- package/dist/core/schemas/builders/object/index.js +9 -0
- package/dist/core/schemas/builders/object/object.d.ts +3 -0
- package/dist/core/schemas/builders/object/object.js +237 -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 +62 -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 +24 -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 +24 -0
- package/dist/core/schemas/builders/primitives/string.d.ts +1 -0
- package/dist/core/schemas/builders/primitives/string.js +24 -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 +91 -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 +13 -0
- package/dist/core/schemas/builders/schema-utils/ParseError.d.ts +5 -0
- package/dist/core/schemas/builders/schema-utils/ParseError.js +13 -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 +3 -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 +37 -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 +3 -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 +120 -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 +18 -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/isPlainObject.d.ts +2 -0
- package/dist/core/schemas/utils/isPlainObject.js +19 -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/partition.d.ts +1 -0
- package/dist/core/schemas/utils/partition.js +16 -0
- package/dist/environments.d.ts +16 -0
- package/dist/environments.js +13 -0
- package/dist/errors/VellumError.d.ts +12 -0
- package/dist/errors/VellumError.js +21 -0
- package/dist/errors/VellumTimeoutError.d.ts +6 -0
- package/dist/errors/VellumTimeoutError.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 +34 -0
- package/dist/serialization/client/index.d.ts +1 -0
- package/dist/serialization/client/index.js +17 -0
- package/dist/serialization/client/requests/GenerateRequestBodyRequest.d.ts +15 -0
- package/dist/serialization/client/requests/GenerateRequestBodyRequest.js +36 -0
- package/dist/serialization/client/requests/SearchRequestBodyRequest.d.ts +15 -0
- package/dist/serialization/client/requests/SearchRequestBodyRequest.js +36 -0
- package/dist/serialization/client/requests/SubmitCompletionActualsRequestRequest.d.ts +14 -0
- package/dist/serialization/client/requests/SubmitCompletionActualsRequestRequest.js +35 -0
- package/dist/serialization/client/requests/index.d.ts +3 -0
- package/dist/serialization/client/requests/index.js +9 -0
- package/dist/serialization/index.d.ts +2 -0
- package/dist/serialization/index.js +18 -0
- package/dist/serialization/types/BlockTypeEnum.d.ts +10 -0
- package/dist/serialization/types/BlockTypeEnum.js +31 -0
- package/dist/serialization/types/ChatRoleEnum.d.ts +10 -0
- package/dist/serialization/types/ChatRoleEnum.js +31 -0
- package/dist/serialization/types/Document.d.ts +14 -0
- package/dist/serialization/types/Document.js +35 -0
- package/dist/serialization/types/DocumentDocumentToDocumentIndex.d.ts +14 -0
- package/dist/serialization/types/DocumentDocumentToDocumentIndex.js +35 -0
- package/dist/serialization/types/EnrichedNormalizedCompletion.d.ts +17 -0
- package/dist/serialization/types/EnrichedNormalizedCompletion.js +38 -0
- package/dist/serialization/types/FinishReasonEnum.d.ts +10 -0
- package/dist/serialization/types/FinishReasonEnum.js +31 -0
- package/dist/serialization/types/GenerateErrorResponse.d.ts +12 -0
- package/dist/serialization/types/GenerateErrorResponse.js +33 -0
- package/dist/serialization/types/GenerateOptionsRequest.d.ts +12 -0
- package/dist/serialization/types/GenerateOptionsRequest.js +33 -0
- package/dist/serialization/types/GenerateRequestRequest.d.ts +13 -0
- package/dist/serialization/types/GenerateRequestRequest.js +34 -0
- package/dist/serialization/types/GenerateResponse.d.ts +12 -0
- package/dist/serialization/types/GenerateResponse.js +33 -0
- package/dist/serialization/types/GenerateResult.d.ts +13 -0
- package/dist/serialization/types/GenerateResult.js +34 -0
- package/dist/serialization/types/GenerateResultData.d.ts +12 -0
- package/dist/serialization/types/GenerateResultData.js +33 -0
- package/dist/serialization/types/GenerateResultError.d.ts +12 -0
- package/dist/serialization/types/GenerateResultError.js +33 -0
- package/dist/serialization/types/IndexingStateEnum.d.ts +10 -0
- package/dist/serialization/types/IndexingStateEnum.js +31 -0
- package/dist/serialization/types/LogprobsEnum.d.ts +10 -0
- package/dist/serialization/types/LogprobsEnum.js +31 -0
- package/dist/serialization/types/ModelTypeEnum.d.ts +10 -0
- package/dist/serialization/types/ModelTypeEnum.js +31 -0
- package/dist/serialization/types/ModelVersionBuildConfig.d.ts +13 -0
- package/dist/serialization/types/ModelVersionBuildConfig.js +34 -0
- package/dist/serialization/types/ModelVersionExecConfigParameters.d.ts +19 -0
- package/dist/serialization/types/ModelVersionExecConfigParameters.js +40 -0
- package/dist/serialization/types/ModelVersionExecConfigRead.d.ts +15 -0
- package/dist/serialization/types/ModelVersionExecConfigRead.js +36 -0
- package/dist/serialization/types/ModelVersionRead.d.ts +20 -0
- package/dist/serialization/types/ModelVersionRead.js +41 -0
- package/dist/serialization/types/ModelVersionReadStatusEnum.d.ts +10 -0
- package/dist/serialization/types/ModelVersionReadStatusEnum.js +31 -0
- package/dist/serialization/types/ModelVersionSandboxSnapshot.d.ts +13 -0
- package/dist/serialization/types/ModelVersionSandboxSnapshot.js +34 -0
- package/dist/serialization/types/NormalizedLogProbs.d.ts +13 -0
- package/dist/serialization/types/NormalizedLogProbs.js +34 -0
- package/dist/serialization/types/NormalizedTokenLogProbs.d.ts +15 -0
- package/dist/serialization/types/NormalizedTokenLogProbs.js +36 -0
- package/dist/serialization/types/PaginatedSlimDocumentList.d.ts +15 -0
- package/dist/serialization/types/PaginatedSlimDocumentList.js +38 -0
- package/dist/serialization/types/ProcessingStateEnum.d.ts +10 -0
- package/dist/serialization/types/ProcessingStateEnum.js +31 -0
- package/dist/serialization/types/PromptTemplateBlock.d.ts +13 -0
- package/dist/serialization/types/PromptTemplateBlock.js +34 -0
- package/dist/serialization/types/PromptTemplateBlockData.d.ts +13 -0
- package/dist/serialization/types/PromptTemplateBlockData.js +34 -0
- package/dist/serialization/types/PromptTemplateBlockProperties.d.ts +15 -0
- package/dist/serialization/types/PromptTemplateBlockProperties.js +38 -0
- package/dist/serialization/types/ProviderEnum.d.ts +10 -0
- package/dist/serialization/types/ProviderEnum.js +31 -0
- package/dist/serialization/types/SearchErrorResponse.d.ts +12 -0
- package/dist/serialization/types/SearchErrorResponse.js +33 -0
- package/dist/serialization/types/SearchFiltersRequest.d.ts +12 -0
- package/dist/serialization/types/SearchFiltersRequest.js +33 -0
- package/dist/serialization/types/SearchRequestOptionsRequest.d.ts +15 -0
- package/dist/serialization/types/SearchRequestOptionsRequest.js +36 -0
- package/dist/serialization/types/SearchResponse.d.ts +12 -0
- package/dist/serialization/types/SearchResponse.js +33 -0
- package/dist/serialization/types/SearchResult.d.ts +15 -0
- package/dist/serialization/types/SearchResult.js +36 -0
- package/dist/serialization/types/SearchResultMergingRequest.d.ts +12 -0
- package/dist/serialization/types/SearchResultMergingRequest.js +33 -0
- package/dist/serialization/types/SearchWeightsRequest.d.ts +13 -0
- package/dist/serialization/types/SearchWeightsRequest.js +34 -0
- package/dist/serialization/types/SlimDocument.d.ts +19 -0
- package/dist/serialization/types/SlimDocument.js +40 -0
- package/dist/serialization/types/SlimDocumentStatusEnum.d.ts +10 -0
- package/dist/serialization/types/SlimDocumentStatusEnum.js +31 -0
- package/dist/serialization/types/SubmitCompletionActualRequest.d.ts +16 -0
- package/dist/serialization/types/SubmitCompletionActualRequest.js +37 -0
- package/dist/serialization/types/SubmitCompletionActualsErrorResponse.d.ts +12 -0
- package/dist/serialization/types/SubmitCompletionActualsErrorResponse.js +33 -0
- package/dist/serialization/types/UploadDocumentErrorResponse.d.ts +12 -0
- package/dist/serialization/types/UploadDocumentErrorResponse.js +33 -0
- package/dist/serialization/types/UploadDocumentResponse.d.ts +12 -0
- package/dist/serialization/types/UploadDocumentResponse.js +33 -0
- package/dist/serialization/types/index.d.ts +43 -0
- package/dist/serialization/types/index.js +59 -0
- package/environments.d.ts +16 -0
- package/environments.js +13 -0
- package/errors/VellumError.d.ts +12 -0
- package/errors/VellumError.js +21 -0
- package/errors/VellumTimeoutError.d.ts +6 -0
- package/errors/VellumTimeoutError.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/package.json +26 -0
- package/serialization/client/index.d.ts +1 -0
- package/serialization/client/index.js +17 -0
- package/serialization/client/requests/GenerateRequestBodyRequest.d.ts +15 -0
- package/serialization/client/requests/GenerateRequestBodyRequest.js +36 -0
- package/serialization/client/requests/SearchRequestBodyRequest.d.ts +15 -0
- package/serialization/client/requests/SearchRequestBodyRequest.js +36 -0
- package/serialization/client/requests/SubmitCompletionActualsRequestRequest.d.ts +14 -0
- package/serialization/client/requests/SubmitCompletionActualsRequestRequest.js +35 -0
- package/serialization/client/requests/index.d.ts +3 -0
- package/serialization/client/requests/index.js +9 -0
- package/serialization/index.d.ts +2 -0
- package/serialization/index.js +18 -0
- package/serialization/types/BlockTypeEnum.d.ts +10 -0
- package/serialization/types/BlockTypeEnum.js +31 -0
- package/serialization/types/ChatRoleEnum.d.ts +10 -0
- package/serialization/types/ChatRoleEnum.js +31 -0
- package/serialization/types/Document.d.ts +14 -0
- package/serialization/types/Document.js +35 -0
- package/serialization/types/DocumentDocumentToDocumentIndex.d.ts +14 -0
- package/serialization/types/DocumentDocumentToDocumentIndex.js +35 -0
- package/serialization/types/EnrichedNormalizedCompletion.d.ts +17 -0
- package/serialization/types/EnrichedNormalizedCompletion.js +38 -0
- package/serialization/types/FinishReasonEnum.d.ts +10 -0
- package/serialization/types/FinishReasonEnum.js +31 -0
- package/serialization/types/GenerateErrorResponse.d.ts +12 -0
- package/serialization/types/GenerateErrorResponse.js +33 -0
- package/serialization/types/GenerateOptionsRequest.d.ts +12 -0
- package/serialization/types/GenerateOptionsRequest.js +33 -0
- package/serialization/types/GenerateRequestRequest.d.ts +13 -0
- package/serialization/types/GenerateRequestRequest.js +34 -0
- package/serialization/types/GenerateResponse.d.ts +12 -0
- package/serialization/types/GenerateResponse.js +33 -0
- package/serialization/types/GenerateResult.d.ts +13 -0
- package/serialization/types/GenerateResult.js +34 -0
- package/serialization/types/GenerateResultData.d.ts +12 -0
- package/serialization/types/GenerateResultData.js +33 -0
- package/serialization/types/GenerateResultError.d.ts +12 -0
- package/serialization/types/GenerateResultError.js +33 -0
- package/serialization/types/IndexingStateEnum.d.ts +10 -0
- package/serialization/types/IndexingStateEnum.js +31 -0
- package/serialization/types/LogprobsEnum.d.ts +10 -0
- package/serialization/types/LogprobsEnum.js +31 -0
- package/serialization/types/ModelTypeEnum.d.ts +10 -0
- package/serialization/types/ModelTypeEnum.js +31 -0
- package/serialization/types/ModelVersionBuildConfig.d.ts +13 -0
- package/serialization/types/ModelVersionBuildConfig.js +34 -0
- package/serialization/types/ModelVersionExecConfigParameters.d.ts +19 -0
- package/serialization/types/ModelVersionExecConfigParameters.js +40 -0
- package/serialization/types/ModelVersionExecConfigRead.d.ts +15 -0
- package/serialization/types/ModelVersionExecConfigRead.js +36 -0
- package/serialization/types/ModelVersionRead.d.ts +20 -0
- package/serialization/types/ModelVersionRead.js +41 -0
- package/serialization/types/ModelVersionReadStatusEnum.d.ts +10 -0
- package/serialization/types/ModelVersionReadStatusEnum.js +31 -0
- package/serialization/types/ModelVersionSandboxSnapshot.d.ts +13 -0
- package/serialization/types/ModelVersionSandboxSnapshot.js +34 -0
- package/serialization/types/NormalizedLogProbs.d.ts +13 -0
- package/serialization/types/NormalizedLogProbs.js +34 -0
- package/serialization/types/NormalizedTokenLogProbs.d.ts +15 -0
- package/serialization/types/NormalizedTokenLogProbs.js +36 -0
- package/serialization/types/PaginatedSlimDocumentList.d.ts +15 -0
- package/serialization/types/PaginatedSlimDocumentList.js +38 -0
- package/serialization/types/ProcessingStateEnum.d.ts +10 -0
- package/serialization/types/ProcessingStateEnum.js +31 -0
- package/serialization/types/PromptTemplateBlock.d.ts +13 -0
- package/serialization/types/PromptTemplateBlock.js +34 -0
- package/serialization/types/PromptTemplateBlockData.d.ts +13 -0
- package/serialization/types/PromptTemplateBlockData.js +34 -0
- package/serialization/types/PromptTemplateBlockProperties.d.ts +15 -0
- package/serialization/types/PromptTemplateBlockProperties.js +38 -0
- package/serialization/types/ProviderEnum.d.ts +10 -0
- package/serialization/types/ProviderEnum.js +31 -0
- package/serialization/types/SearchErrorResponse.d.ts +12 -0
- package/serialization/types/SearchErrorResponse.js +33 -0
- package/serialization/types/SearchFiltersRequest.d.ts +12 -0
- package/serialization/types/SearchFiltersRequest.js +33 -0
- package/serialization/types/SearchRequestOptionsRequest.d.ts +15 -0
- package/serialization/types/SearchRequestOptionsRequest.js +36 -0
- package/serialization/types/SearchResponse.d.ts +12 -0
- package/serialization/types/SearchResponse.js +33 -0
- package/serialization/types/SearchResult.d.ts +15 -0
- package/serialization/types/SearchResult.js +36 -0
- package/serialization/types/SearchResultMergingRequest.d.ts +12 -0
- package/serialization/types/SearchResultMergingRequest.js +33 -0
- package/serialization/types/SearchWeightsRequest.d.ts +13 -0
- package/serialization/types/SearchWeightsRequest.js +34 -0
- package/serialization/types/SlimDocument.d.ts +19 -0
- package/serialization/types/SlimDocument.js +40 -0
- package/serialization/types/SlimDocumentStatusEnum.d.ts +10 -0
- package/serialization/types/SlimDocumentStatusEnum.js +31 -0
- package/serialization/types/SubmitCompletionActualRequest.d.ts +16 -0
- package/serialization/types/SubmitCompletionActualRequest.js +37 -0
- package/serialization/types/SubmitCompletionActualsErrorResponse.d.ts +12 -0
- package/serialization/types/SubmitCompletionActualsErrorResponse.js +33 -0
- package/serialization/types/UploadDocumentErrorResponse.d.ts +12 -0
- package/serialization/types/UploadDocumentErrorResponse.js +33 -0
- package/serialization/types/UploadDocumentResponse.d.ts +12 -0
- package/serialization/types/UploadDocumentResponse.js +33 -0
- package/serialization/types/index.d.ts +43 -0
- package/serialization/types/index.js +59 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getObjectUtils = exports.object = void 0;
|
|
4
|
+
const Schema_1 = require("../../Schema");
|
|
5
|
+
const entries_1 = require("../../utils/entries");
|
|
6
|
+
const filterObject_1 = require("../../utils/filterObject");
|
|
7
|
+
const isPlainObject_1 = require("../../utils/isPlainObject");
|
|
8
|
+
const keys_1 = require("../../utils/keys");
|
|
9
|
+
const partition_1 = require("../../utils/partition");
|
|
10
|
+
const object_like_1 = require("../object-like");
|
|
11
|
+
const schema_utils_1 = require("../schema-utils");
|
|
12
|
+
const property_1 = require("./property");
|
|
13
|
+
function object(schemas) {
|
|
14
|
+
const baseSchema = {
|
|
15
|
+
_getRawProperties: () => Promise.resolve(Object.entries(schemas).map(([parsedKey, propertySchema]) => (0, property_1.isProperty)(propertySchema) ? propertySchema.rawKey : parsedKey)),
|
|
16
|
+
_getParsedProperties: () => Promise.resolve((0, keys_1.keys)(schemas)),
|
|
17
|
+
parse: async (raw, opts) => {
|
|
18
|
+
const rawKeyToProperty = {};
|
|
19
|
+
const requiredKeys = [];
|
|
20
|
+
for (const [parsedKey, schemaOrObjectProperty] of (0, entries_1.entries)(schemas)) {
|
|
21
|
+
const rawKey = (0, property_1.isProperty)(schemaOrObjectProperty) ? schemaOrObjectProperty.rawKey : parsedKey;
|
|
22
|
+
const valueSchema = (0, property_1.isProperty)(schemaOrObjectProperty)
|
|
23
|
+
? schemaOrObjectProperty.valueSchema
|
|
24
|
+
: schemaOrObjectProperty;
|
|
25
|
+
const property = {
|
|
26
|
+
rawKey,
|
|
27
|
+
parsedKey: parsedKey,
|
|
28
|
+
valueSchema,
|
|
29
|
+
};
|
|
30
|
+
rawKeyToProperty[rawKey] = property;
|
|
31
|
+
if (await isSchemaRequired(valueSchema)) {
|
|
32
|
+
requiredKeys.push(rawKey);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return validateAndTransformObject({
|
|
36
|
+
value: raw,
|
|
37
|
+
requiredKeys,
|
|
38
|
+
getProperty: (rawKey) => {
|
|
39
|
+
const property = rawKeyToProperty[rawKey];
|
|
40
|
+
if (property == null) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
transformedKey: property.parsedKey,
|
|
45
|
+
transform: (propertyValue) => property.valueSchema.parse(propertyValue, opts),
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
unrecognizedObjectKeys: opts?.unrecognizedObjectKeys,
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
json: async (parsed, opts) => {
|
|
52
|
+
const requiredKeys = [];
|
|
53
|
+
for (const [parsedKey, schemaOrObjectProperty] of (0, entries_1.entries)(schemas)) {
|
|
54
|
+
const valueSchema = (0, property_1.isProperty)(schemaOrObjectProperty)
|
|
55
|
+
? schemaOrObjectProperty.valueSchema
|
|
56
|
+
: schemaOrObjectProperty;
|
|
57
|
+
if (await isSchemaRequired(valueSchema)) {
|
|
58
|
+
requiredKeys.push(parsedKey);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return validateAndTransformObject({
|
|
62
|
+
value: parsed,
|
|
63
|
+
requiredKeys,
|
|
64
|
+
getProperty: (parsedKey) => {
|
|
65
|
+
const property = schemas[parsedKey];
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
67
|
+
if (property == null) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
if ((0, property_1.isProperty)(property)) {
|
|
71
|
+
return {
|
|
72
|
+
transformedKey: property.rawKey,
|
|
73
|
+
transform: (propertyValue) => property.valueSchema.json(propertyValue, opts),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return {
|
|
78
|
+
transformedKey: parsedKey,
|
|
79
|
+
transform: (propertyValue) => property.json(propertyValue, opts),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
unrecognizedObjectKeys: opts?.unrecognizedObjectKeys,
|
|
84
|
+
});
|
|
85
|
+
},
|
|
86
|
+
getType: () => Schema_1.SchemaType.OBJECT,
|
|
87
|
+
};
|
|
88
|
+
return {
|
|
89
|
+
...baseSchema,
|
|
90
|
+
...(0, schema_utils_1.getSchemaUtils)(baseSchema),
|
|
91
|
+
...(0, object_like_1.getObjectLikeUtils)(baseSchema),
|
|
92
|
+
...getObjectUtils(baseSchema),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
exports.object = object;
|
|
96
|
+
async function validateAndTransformObject({ value, requiredKeys, getProperty, unrecognizedObjectKeys = "fail", }) {
|
|
97
|
+
if (!(0, isPlainObject_1.isPlainObject)(value)) {
|
|
98
|
+
return {
|
|
99
|
+
ok: false,
|
|
100
|
+
errors: [
|
|
101
|
+
{
|
|
102
|
+
path: [],
|
|
103
|
+
message: isPlainObject_1.NOT_AN_OBJECT_ERROR_MESSAGE,
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
const missingRequiredKeys = new Set(requiredKeys);
|
|
109
|
+
const errors = [];
|
|
110
|
+
const transformed = {};
|
|
111
|
+
for (const [preTransformedKey, preTransformedItemValue] of Object.entries(value)) {
|
|
112
|
+
const property = getProperty(preTransformedKey);
|
|
113
|
+
if (property != null) {
|
|
114
|
+
missingRequiredKeys.delete(preTransformedKey);
|
|
115
|
+
const value = await property.transform(preTransformedItemValue);
|
|
116
|
+
if (value.ok) {
|
|
117
|
+
transformed[property.transformedKey] = value.value;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
errors.push(...value.errors.map((error) => ({
|
|
121
|
+
path: [preTransformedKey, ...error.path],
|
|
122
|
+
message: error.message,
|
|
123
|
+
})));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
switch (unrecognizedObjectKeys) {
|
|
128
|
+
case "fail":
|
|
129
|
+
errors.push({
|
|
130
|
+
path: [preTransformedKey],
|
|
131
|
+
message: `Unrecognized key "${preTransformedKey}"`,
|
|
132
|
+
});
|
|
133
|
+
break;
|
|
134
|
+
case "strip":
|
|
135
|
+
break;
|
|
136
|
+
case "passthrough":
|
|
137
|
+
transformed[preTransformedKey] = preTransformedItemValue;
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
errors.push(...requiredKeys
|
|
143
|
+
.filter((key) => missingRequiredKeys.has(key))
|
|
144
|
+
.map((key) => ({
|
|
145
|
+
path: [],
|
|
146
|
+
message: `Missing required key "${key}"`,
|
|
147
|
+
})));
|
|
148
|
+
if (errors.length === 0) {
|
|
149
|
+
return {
|
|
150
|
+
ok: true,
|
|
151
|
+
value: transformed,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
return {
|
|
156
|
+
ok: false,
|
|
157
|
+
errors,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
function getObjectUtils(schema) {
|
|
162
|
+
return {
|
|
163
|
+
extend: (extension) => {
|
|
164
|
+
const baseSchema = {
|
|
165
|
+
_getParsedProperties: async () => [
|
|
166
|
+
...(await schema._getParsedProperties()),
|
|
167
|
+
...(await extension._getParsedProperties()),
|
|
168
|
+
],
|
|
169
|
+
_getRawProperties: async () => [
|
|
170
|
+
...(await schema._getRawProperties()),
|
|
171
|
+
...(await extension._getRawProperties()),
|
|
172
|
+
],
|
|
173
|
+
parse: async (raw, opts) => {
|
|
174
|
+
return validateAndTransformExtendedObject({
|
|
175
|
+
extensionKeys: await extension._getRawProperties(),
|
|
176
|
+
value: raw,
|
|
177
|
+
transformBase: (rawBase) => schema.parse(rawBase, opts),
|
|
178
|
+
transformExtension: (rawExtension) => extension.parse(rawExtension, opts),
|
|
179
|
+
});
|
|
180
|
+
},
|
|
181
|
+
json: async (parsed, opts) => {
|
|
182
|
+
return validateAndTransformExtendedObject({
|
|
183
|
+
extensionKeys: await extension._getParsedProperties(),
|
|
184
|
+
value: parsed,
|
|
185
|
+
transformBase: (parsedBase) => schema.json(parsedBase, opts),
|
|
186
|
+
transformExtension: (parsedExtension) => extension.json(parsedExtension, opts),
|
|
187
|
+
});
|
|
188
|
+
},
|
|
189
|
+
getType: () => Schema_1.SchemaType.OBJECT,
|
|
190
|
+
};
|
|
191
|
+
return {
|
|
192
|
+
...baseSchema,
|
|
193
|
+
...(0, schema_utils_1.getSchemaUtils)(baseSchema),
|
|
194
|
+
...(0, object_like_1.getObjectLikeUtils)(baseSchema),
|
|
195
|
+
...getObjectUtils(baseSchema),
|
|
196
|
+
};
|
|
197
|
+
},
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
exports.getObjectUtils = getObjectUtils;
|
|
201
|
+
async function validateAndTransformExtendedObject({ extensionKeys, value, transformBase, transformExtension, }) {
|
|
202
|
+
const extensionPropertiesSet = new Set(extensionKeys);
|
|
203
|
+
const [extensionProperties, baseProperties] = (0, partition_1.partition)((0, keys_1.keys)(value), (key) => extensionPropertiesSet.has(key));
|
|
204
|
+
const transformedBase = await transformBase((0, filterObject_1.filterObject)(value, baseProperties));
|
|
205
|
+
const transformedExtension = await transformExtension((0, filterObject_1.filterObject)(value, extensionProperties));
|
|
206
|
+
if (transformedBase.ok && transformedExtension.ok) {
|
|
207
|
+
return {
|
|
208
|
+
ok: true,
|
|
209
|
+
value: {
|
|
210
|
+
...transformedBase.value,
|
|
211
|
+
...transformedExtension.value,
|
|
212
|
+
},
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
return {
|
|
217
|
+
ok: false,
|
|
218
|
+
errors: [
|
|
219
|
+
...(transformedBase.ok ? [] : transformedBase.errors),
|
|
220
|
+
...(transformedExtension.ok ? [] : transformedExtension.errors),
|
|
221
|
+
],
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
async function isSchemaRequired(schema) {
|
|
226
|
+
return !(await isSchemaOptional(schema));
|
|
227
|
+
}
|
|
228
|
+
async function isSchemaOptional(schema) {
|
|
229
|
+
switch (await schema.getType()) {
|
|
230
|
+
case Schema_1.SchemaType.ANY:
|
|
231
|
+
case Schema_1.SchemaType.UNKNOWN:
|
|
232
|
+
case Schema_1.SchemaType.OPTIONAL:
|
|
233
|
+
return true;
|
|
234
|
+
default:
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
@@ -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: () => Promise<(keyof Raw)[]>;
|
|
9
|
+
_getParsedProperties: () => Promise<(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,62 @@
|
|
|
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 isPlainObject_1 = require("../../utils/isPlainObject");
|
|
6
|
+
const schema_utils_1 = require("../schema-utils");
|
|
7
|
+
function getObjectLikeUtils(schema) {
|
|
8
|
+
return {
|
|
9
|
+
withParsedProperties: (properties) => withParsedProperties(schema, properties),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
exports.getObjectLikeUtils = getObjectLikeUtils;
|
|
13
|
+
/**
|
|
14
|
+
* object-like utils are defined in one file to resolve issues with circular imports
|
|
15
|
+
*/
|
|
16
|
+
function withParsedProperties(objectLike, properties) {
|
|
17
|
+
const objectSchema = {
|
|
18
|
+
parse: async (raw, opts) => {
|
|
19
|
+
const parsedObject = await objectLike.parse(raw, opts);
|
|
20
|
+
if (!parsedObject.ok) {
|
|
21
|
+
return parsedObject;
|
|
22
|
+
}
|
|
23
|
+
const additionalProperties = Object.entries(properties).reduce((processed, [key, value]) => {
|
|
24
|
+
return {
|
|
25
|
+
...processed,
|
|
26
|
+
[key]: typeof value === "function" ? value(parsedObject.value) : value,
|
|
27
|
+
};
|
|
28
|
+
}, {});
|
|
29
|
+
return {
|
|
30
|
+
ok: true,
|
|
31
|
+
value: {
|
|
32
|
+
...parsedObject.value,
|
|
33
|
+
...additionalProperties,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
json: (parsed, opts) => {
|
|
38
|
+
if (!(0, isPlainObject_1.isPlainObject)(parsed)) {
|
|
39
|
+
return {
|
|
40
|
+
ok: false,
|
|
41
|
+
errors: [
|
|
42
|
+
{
|
|
43
|
+
path: [],
|
|
44
|
+
message: isPlainObject_1.NOT_AN_OBJECT_ERROR_MESSAGE,
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
// strip out added properties
|
|
50
|
+
const addedPropertyKeys = new Set(Object.keys(properties));
|
|
51
|
+
const parsedWithoutAddedProperties = (0, filterObject_1.filterObject)(parsed, Object.keys(parsed).filter((key) => !addedPropertyKeys.has(key)));
|
|
52
|
+
return objectLike.json(parsedWithoutAddedProperties, opts);
|
|
53
|
+
},
|
|
54
|
+
getType: () => objectLike.getType(),
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
...objectSchema,
|
|
58
|
+
...(0, schema_utils_1.getSchemaUtils)(objectSchema),
|
|
59
|
+
...getObjectLikeUtils(objectSchema),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
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,24 @@
|
|
|
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
|
+
exports.boolean = (0, createIdentitySchemaCreator_1.createIdentitySchemaCreator)(Schema_1.SchemaType.BOOLEAN, (value) => {
|
|
7
|
+
if (typeof value === "boolean") {
|
|
8
|
+
return {
|
|
9
|
+
ok: true,
|
|
10
|
+
value,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return {
|
|
15
|
+
ok: false,
|
|
16
|
+
errors: [
|
|
17
|
+
{
|
|
18
|
+
path: [],
|
|
19
|
+
message: "Not a boolean",
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
});
|
|
@@ -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,24 @@
|
|
|
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
|
+
exports.number = (0, createIdentitySchemaCreator_1.createIdentitySchemaCreator)(Schema_1.SchemaType.NUMBER, (value) => {
|
|
7
|
+
if (typeof value === "number") {
|
|
8
|
+
return {
|
|
9
|
+
ok: true,
|
|
10
|
+
value,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return {
|
|
15
|
+
ok: false,
|
|
16
|
+
errors: [
|
|
17
|
+
{
|
|
18
|
+
path: [],
|
|
19
|
+
message: "Not a number",
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const string: () => import("../../Schema").Schema<string, string>;
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
exports.string = (0, createIdentitySchemaCreator_1.createIdentitySchemaCreator)(Schema_1.SchemaType.STRING, (value) => {
|
|
7
|
+
if (typeof value === "string") {
|
|
8
|
+
return {
|
|
9
|
+
ok: true,
|
|
10
|
+
value,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return {
|
|
15
|
+
ok: false,
|
|
16
|
+
errors: [
|
|
17
|
+
{
|
|
18
|
+
path: [],
|
|
19
|
+
message: "Not a string",
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
});
|
|
@@ -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,91 @@
|
|
|
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 isPlainObject_1 = require("../../utils/isPlainObject");
|
|
7
|
+
const schema_utils_1 = require("../schema-utils");
|
|
8
|
+
function record(keySchema, valueSchema) {
|
|
9
|
+
const baseSchema = {
|
|
10
|
+
parse: async (raw, opts) => {
|
|
11
|
+
return validateAndTransformRecord({
|
|
12
|
+
value: raw,
|
|
13
|
+
isKeyNumeric: (await keySchema.getType()) === Schema_1.SchemaType.NUMBER,
|
|
14
|
+
transformKey: (key) => keySchema.parse(key, opts),
|
|
15
|
+
transformValue: (value) => valueSchema.parse(value, opts),
|
|
16
|
+
});
|
|
17
|
+
},
|
|
18
|
+
json: async (parsed, opts) => {
|
|
19
|
+
return validateAndTransformRecord({
|
|
20
|
+
value: parsed,
|
|
21
|
+
isKeyNumeric: (await keySchema.getType()) === Schema_1.SchemaType.NUMBER,
|
|
22
|
+
transformKey: (key) => keySchema.json(key, opts),
|
|
23
|
+
transformValue: (value) => valueSchema.json(value, opts),
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
getType: () => Schema_1.SchemaType.RECORD,
|
|
27
|
+
};
|
|
28
|
+
return {
|
|
29
|
+
...baseSchema,
|
|
30
|
+
...(0, schema_utils_1.getSchemaUtils)(baseSchema),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
exports.record = record;
|
|
34
|
+
async function validateAndTransformRecord({ value, isKeyNumeric, transformKey, transformValue, }) {
|
|
35
|
+
if (!(0, isPlainObject_1.isPlainObject)(value)) {
|
|
36
|
+
return {
|
|
37
|
+
ok: false,
|
|
38
|
+
errors: [
|
|
39
|
+
{
|
|
40
|
+
path: [],
|
|
41
|
+
message: isPlainObject_1.NOT_AN_OBJECT_ERROR_MESSAGE,
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return (0, entries_1.entries)(value).reduce(async (accPromise, [stringKey, value]) => {
|
|
47
|
+
// skip nullish keys
|
|
48
|
+
if (value == null) {
|
|
49
|
+
return accPromise;
|
|
50
|
+
}
|
|
51
|
+
const acc = await accPromise;
|
|
52
|
+
let key = stringKey;
|
|
53
|
+
if (isKeyNumeric) {
|
|
54
|
+
const numberKey = stringKey.length > 0 ? Number(stringKey) : NaN;
|
|
55
|
+
if (!isNaN(numberKey)) {
|
|
56
|
+
key = numberKey;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const transformedKey = await transformKey(key);
|
|
60
|
+
const transformedValue = await transformValue(value);
|
|
61
|
+
if (acc.ok && transformedKey.ok && transformedValue.ok) {
|
|
62
|
+
return {
|
|
63
|
+
ok: true,
|
|
64
|
+
value: {
|
|
65
|
+
...acc.value,
|
|
66
|
+
[transformedKey.value]: transformedValue.value,
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
const errors = [];
|
|
71
|
+
if (!acc.ok) {
|
|
72
|
+
errors.push(...acc.errors);
|
|
73
|
+
}
|
|
74
|
+
if (!transformedKey.ok) {
|
|
75
|
+
errors.push(...transformedKey.errors.map((error) => ({
|
|
76
|
+
path: [`${key} (key)`, ...error.path],
|
|
77
|
+
message: error.message,
|
|
78
|
+
})));
|
|
79
|
+
}
|
|
80
|
+
if (!transformedValue.ok) {
|
|
81
|
+
errors.push(...transformedValue.errors.map((error) => ({
|
|
82
|
+
path: [stringKey, ...error.path],
|
|
83
|
+
message: error.message,
|
|
84
|
+
})));
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
ok: false,
|
|
88
|
+
errors,
|
|
89
|
+
};
|
|
90
|
+
}, Promise.resolve({ ok: true, value: {} }));
|
|
91
|
+
}
|
|
@@ -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>>;
|