typia 6.0.0-dev.20240122 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/lib/CamelCase.d.ts +2 -2
- package/lib/IRandomGenerator.d.ts +19 -5
- package/lib/PascalCase.d.ts +2 -2
- package/lib/Resolved.d.ts +1 -1
- package/lib/SnakeCase.d.ts +1 -1
- package/lib/TypeGuardError.js +4 -1
- package/lib/TypeGuardError.js.map +1 -1
- package/lib/executable/TypiaGenerateWizard.js +24 -23
- package/lib/executable/TypiaGenerateWizard.js.map +1 -1
- package/lib/executable/TypiaPatchWizard.js +9 -9
- package/lib/executable/TypiaPatchWizard.js.map +1 -1
- package/lib/executable/TypiaSetupWizard.js +31 -22
- package/lib/executable/TypiaSetupWizard.js.map +1 -1
- package/lib/executable/setup/ArgumentParser.js +5 -5
- package/lib/executable/setup/ArgumentParser.js.map +1 -1
- package/lib/executable/setup/PackageManager.js +8 -8
- package/lib/executable/setup/PackageManager.js.map +1 -1
- package/lib/executable/setup/PluginConfigurator.js +5 -4
- package/lib/executable/setup/PluginConfigurator.js.map +1 -1
- package/lib/executable/typia.js +21 -21
- package/lib/executable/typia.js.map +1 -1
- package/lib/factories/CommentFactory.js +2 -0
- package/lib/factories/CommentFactory.js.map +1 -1
- package/lib/factories/IdentifierFactory.d.ts +1 -1
- package/lib/factories/IdentifierFactory.js +2 -0
- package/lib/factories/IdentifierFactory.js.map +1 -1
- package/lib/factories/LiteralFactory.js +1 -0
- package/lib/factories/LiteralFactory.js.map +1 -1
- package/lib/factories/MetadataCollection.js +19 -1
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/MetadataCommentTagFactory.js +79 -39
- package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
- package/lib/factories/MetadataFactory.js +9 -1
- package/lib/factories/MetadataFactory.js.map +1 -1
- package/lib/factories/MetadataTypeTagFactory.js +61 -17
- package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
- package/lib/factories/MetadataTypeTagSchemaFactory.d.ts +4 -0
- package/lib/factories/MetadataTypeTagSchemaFactory.js +84 -0
- package/lib/factories/MetadataTypeTagSchemaFactory.js.map +1 -0
- package/lib/factories/ProtobufFactory.js +46 -1
- package/lib/factories/ProtobufFactory.js.map +1 -1
- package/lib/factories/TypeFactory.js +9 -0
- package/lib/factories/TypeFactory.js.map +1 -1
- package/lib/factories/internal/metadata/MetadataHelper.js +7 -1
- package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
- package/lib/factories/internal/metadata/emend_metadata_atomics.js +15 -5
- package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_alias.js +2 -0
- package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_array_type.js +2 -0
- package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_object.js +18 -2
- package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_tuple.js +4 -0
- package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
- package/lib/factories/internal/metadata/explore_metadata.js +2 -0
- package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata.js +4 -2
- package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_alias.js +1 -0
- package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_array.js +54 -1
- package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_atomic.js +2 -0
- package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_constant.js +9 -2
- package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
- package/lib/factories/internal/metadata/{iterate_metadata_resolve.d.ts → iterate_metadata_escape.d.ts} +1 -1
- package/lib/factories/internal/metadata/{iterate_metadata_resolve.js → iterate_metadata_escape.js} +4 -4
- package/lib/factories/internal/metadata/iterate_metadata_escape.js.map +1 -0
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js +49 -138
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_native.js +20 -21
- package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_sort.js +49 -23
- package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_template.js +2 -0
- package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
- package/lib/functional/$FormDataReader/$FormDataReader.d.ts +7 -0
- package/lib/functional/$FormDataReader/$FormDataReader.js +86 -0
- package/lib/functional/$FormDataReader/$FormDataReader.js.map +1 -0
- package/lib/functional/$FormDataReader/index.d.ts +1 -0
- package/lib/functional/$FormDataReader/index.js +28 -0
- package/lib/functional/$FormDataReader/index.js.map +1 -0
- package/lib/functional/$HeadersReader/$HeadersReader.d.ts +4 -0
- package/lib/functional/$HeadersReader/$HeadersReader.js +36 -0
- package/lib/functional/$HeadersReader/$HeadersReader.js.map +1 -0
- package/lib/functional/$HeadersReader/index.d.ts +1 -0
- package/lib/functional/$HeadersReader/index.js +28 -0
- package/lib/functional/$HeadersReader/index.js.map +1 -0
- package/lib/functional/$ParameterReader/$ParameterReader.d.ts +4 -0
- package/lib/functional/$ParameterReader/$ParameterReader.js +36 -0
- package/lib/functional/$ParameterReader/$ParameterReader.js.map +1 -0
- package/lib/functional/$ParameterReader/index.d.ts +1 -0
- package/lib/functional/$ParameterReader/index.js +28 -0
- package/lib/functional/$ParameterReader/index.js.map +1 -0
- package/lib/functional/$ProtobufReader.d.ts +35 -1
- package/lib/functional/$ProtobufReader.js +13 -11
- package/lib/functional/$ProtobufReader.js.map +1 -1
- package/lib/functional/$ProtobufSizer.d.ts +36 -1
- package/lib/functional/$ProtobufSizer.js +28 -13
- package/lib/functional/$ProtobufSizer.js.map +1 -1
- package/lib/functional/$ProtobufWriter.d.ts +45 -1
- package/lib/functional/$ProtobufWriter.js +11 -9
- package/lib/functional/$ProtobufWriter.js.map +1 -1
- package/lib/functional/$QueryReader/$QueryReader.d.ts +6 -0
- package/lib/functional/$QueryReader/$QueryReader.js +55 -0
- package/lib/functional/$QueryReader/$QueryReader.js.map +1 -0
- package/lib/functional/$QueryReader/index.d.ts +1 -0
- package/lib/functional/$QueryReader/index.js +28 -0
- package/lib/functional/$QueryReader/index.js.map +1 -0
- package/lib/functional/$any.d.ts +1 -0
- package/lib/functional/$any.js +9 -0
- package/lib/functional/$any.js.map +1 -0
- package/lib/functional/$clone.d.ts +2 -1
- package/lib/functional/$clone.js +1 -1
- package/lib/functional/$clone.js.map +1 -1
- package/lib/functional/$convention.d.ts +1 -1
- package/lib/functional/$convention.js.map +1 -1
- package/lib/functional/$dictionary.d.ts +2 -0
- package/lib/functional/$dictionary.js +18 -0
- package/lib/functional/$dictionary.js.map +1 -0
- package/lib/functional/$every.d.ts +2 -0
- package/lib/functional/$every.js +12 -0
- package/lib/functional/$every.js.map +1 -0
- package/lib/functional/$guard.js +5 -2
- package/lib/functional/$guard.js.map +1 -1
- package/lib/functional/$is_between.d.ts +1 -1
- package/lib/functional/$is_between.js.map +1 -1
- package/lib/functional/$join.d.ts +1 -1
- package/lib/functional/$join.js.map +1 -1
- package/lib/functional/$number.d.ts +1 -1
- package/lib/functional/$number.js.map +1 -1
- package/lib/functional/$report.d.ts +2 -1
- package/lib/functional/$report.js.map +1 -1
- package/lib/functional/$rest.d.ts +1 -1
- package/lib/functional/$rest.js.map +1 -1
- package/lib/functional/$stoll.d.ts +1 -1
- package/lib/functional/$stoll.js.map +1 -1
- package/lib/functional/$string.js +20 -9
- package/lib/functional/$string.js.map +1 -1
- package/lib/functional/$strlen.d.ts +1 -1
- package/lib/functional/$strlen.js.map +1 -1
- package/lib/functional/$tail.js +3 -0
- package/lib/functional/$tail.js.map +1 -1
- package/lib/functional/$throws.d.ts +2 -1
- package/lib/functional/$throws.js.map +1 -1
- package/lib/functional/$varint.d.ts +6 -0
- package/lib/functional/$varint.js +100 -0
- package/lib/functional/$varint.js.map +1 -0
- package/lib/functional/$zigzag.d.ts +4 -0
- package/lib/functional/$zigzag.js +36 -0
- package/lib/functional/$zigzag.js.map +1 -0
- package/lib/functional/IProtobufWriter.d.ts +15 -1
- package/lib/functional/Namespace/functional.d.ts +4 -0
- package/lib/functional/Namespace/functional.js +9 -0
- package/lib/functional/Namespace/functional.js.map +1 -0
- package/lib/functional/Namespace/http.d.ts +8 -0
- package/lib/functional/Namespace/http.js +16 -0
- package/lib/functional/Namespace/http.js.map +1 -0
- package/lib/functional/Namespace/index.d.ts +30 -0
- package/lib/functional/Namespace/index.js +85 -0
- package/lib/functional/Namespace/index.js.map +1 -0
- package/lib/functional/Namespace/json.d.ts +9 -0
- package/lib/functional/Namespace/json.js +23 -0
- package/lib/functional/Namespace/json.js.map +1 -0
- package/lib/functional/Namespace/misc.d.ts +11 -0
- package/lib/functional/Namespace/misc.js +22 -0
- package/lib/functional/Namespace/misc.js.map +1 -0
- package/lib/functional/Namespace/notations.d.ts +18 -0
- package/lib/functional/Namespace/notations.js +26 -0
- package/lib/functional/Namespace/notations.js.map +1 -0
- package/lib/functional/Namespace/protobuf.d.ts +17 -0
- package/lib/functional/Namespace/protobuf.js +25 -0
- package/lib/functional/Namespace/protobuf.js.map +1 -0
- package/lib/functional/is.js +14 -0
- package/lib/functional/is.js.map +1 -0
- package/lib/functional.d.ts +526 -0
- package/lib/functional.js +195 -0
- package/lib/functional.js.map +1 -0
- package/lib/http.d.ts +265 -369
- package/lib/http.js +226 -19
- package/lib/http.js.map +1 -1
- package/lib/json.d.ts +81 -58
- package/lib/json.js +109 -14
- package/lib/json.js.map +1 -1
- package/lib/misc.d.ts +81 -38
- package/lib/misc.js +133 -16
- package/lib/misc.js.map +1 -1
- package/lib/module.d.ts +91 -38
- package/lib/module.js +102 -21
- package/lib/module.js.map +1 -1
- package/lib/notations.d.ts +106 -45
- package/lib/notations.js +188 -24
- package/lib/notations.js.map +1 -1
- package/lib/programmers/AssertProgrammer.d.ts +6 -1
- package/lib/programmers/AssertProgrammer.js +48 -5
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.js +57 -2
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/FeatureProgrammer.js +11 -0
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.js +10 -1
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +49 -4
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/TypiaProgrammer.js +41 -44
- package/lib/programmers/TypiaProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +5 -5
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.d.ts +14 -0
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +81 -0
- package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -0
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.d.ts +7 -0
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +75 -0
- package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -0
- package/lib/programmers/functional/FunctionalAssertReturnProgrammer.d.ts +10 -0
- package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +46 -0
- package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -0
- package/lib/programmers/functional/FunctionalIsFunctionProgrammer.d.ts +7 -0
- package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js +68 -0
- package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js.map +1 -0
- package/lib/programmers/functional/FunctionalIsParametersProgrammer.d.ts +7 -0
- package/lib/programmers/functional/FunctionalIsParametersProgrammer.js +72 -0
- package/lib/programmers/functional/FunctionalIsParametersProgrammer.js.map +1 -0
- package/lib/programmers/functional/FunctionalIsReturnProgrammer.d.ts +10 -0
- package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +46 -0
- package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -0
- package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.d.ts +11 -0
- package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js +74 -0
- package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js.map +1 -0
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.d.ts +7 -0
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +98 -0
- package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -0
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.d.ts +10 -0
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +53 -0
- package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -0
- package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.d.ts +9 -0
- package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.js +25 -0
- package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.js.map +1 -0
- package/lib/programmers/helpers/AtomicPredicator.js +2 -3
- package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
- package/lib/programmers/helpers/FunctionImporeter.d.ts +1 -0
- package/lib/programmers/helpers/FunctionImporeter.js +18 -0
- package/lib/programmers/helpers/FunctionImporeter.js.map +1 -0
- package/lib/programmers/helpers/FunctionImporter.d.ts +2 -2
- package/lib/programmers/helpers/FunctionImporter.js +8 -24
- package/lib/programmers/helpers/FunctionImporter.js.map +1 -1
- package/lib/programmers/helpers/ProtobufUtil.js +2 -2
- package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
- package/lib/programmers/helpers/PruneJoiner.js +9 -5
- package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
- package/lib/programmers/helpers/RandomJoiner.js +2 -0
- package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
- package/lib/programmers/helpers/RandomRanger.js +8 -0
- package/lib/programmers/helpers/RandomRanger.js.map +1 -1
- package/lib/programmers/helpers/StringifyJoinder.js +5 -1
- package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
- package/lib/programmers/helpers/UnionExplorer.js +10 -0
- package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
- package/lib/programmers/helpers/UnionPredicator.js +5 -0
- package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
- package/lib/programmers/helpers/disable_function_importer_declare.js +2 -4
- package/lib/programmers/helpers/disable_function_importer_declare.js.map +1 -1
- package/lib/programmers/http/HttpAssertFormDataProgrammer.d.ts +6 -0
- package/lib/programmers/http/HttpAssertFormDataProgrammer.js +47 -0
- package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -0
- package/lib/programmers/http/HttpAssertHeadersProgrammer.d.ts +1 -1
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js +9 -3
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertQueryProgrammer.d.ts +1 -1
- package/lib/programmers/http/HttpAssertQueryProgrammer.js +9 -3
- package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpFormDataProgrammer.d.ts +9 -0
- package/lib/programmers/http/HttpFormDataProgrammer.js +193 -0
- package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -0
- package/lib/programmers/http/HttpHeadersProgrammer.js +27 -9
- package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsFormDataProgrammer.d.ts +6 -0
- package/lib/programmers/http/HttpIsFormDataProgrammer.js +47 -0
- package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -0
- package/lib/programmers/http/HttpIsHeadersProgrammer.js +5 -3
- package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsQueryProgrammer.js +5 -3
- package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpParameterProgrammer.js +4 -2
- package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQueryProgrammer.js +20 -5
- package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateFormDataProgrammer.d.ts +6 -0
- package/lib/programmers/http/HttpValidateFormDataProgrammer.js +41 -0
- package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -0
- package/lib/programmers/http/HttpValidateHeadersProgrammer.js +2 -2
- package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateQueryProgrammer.js +2 -2
- package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
- package/lib/programmers/internal/application_array.js +10 -99
- package/lib/programmers/internal/application_array.js.map +1 -1
- package/lib/programmers/internal/application_boolean.js +8 -32
- package/lib/programmers/internal/application_boolean.js.map +1 -1
- package/lib/programmers/internal/application_escaped.d.ts +1 -4
- package/lib/programmers/internal/application_escaped.js +29 -22
- package/lib/programmers/internal/application_escaped.js.map +1 -1
- package/lib/programmers/internal/application_number.js +8 -137
- package/lib/programmers/internal/application_number.js.map +1 -1
- package/lib/programmers/internal/application_plugin.js +55 -0
- package/lib/programmers/internal/application_plugin.js.map +1 -0
- package/lib/programmers/internal/application_string.js +8 -107
- package/lib/programmers/internal/application_string.js.map +1 -1
- package/lib/programmers/internal/application_templates.js +7 -8
- package/lib/programmers/internal/application_templates.js.map +1 -1
- package/lib/programmers/internal/application_v30_alias.js +44 -0
- package/lib/programmers/internal/application_v30_alias.js.map +1 -0
- package/lib/programmers/internal/application_v30_constant.js +13 -0
- package/lib/programmers/internal/application_v30_constant.js.map +1 -0
- package/lib/programmers/internal/application_v30_native.js +34 -0
- package/lib/programmers/internal/application_v30_native.js.map +1 -0
- package/lib/programmers/internal/application_v30_object.js +154 -0
- package/lib/programmers/internal/application_v30_object.js.map +1 -0
- package/lib/programmers/internal/application_v30_schema.js +228 -0
- package/lib/programmers/internal/application_v30_schema.js.map +1 -0
- package/lib/programmers/internal/application_v30_tuple.js +33 -0
- package/lib/programmers/internal/application_v30_tuple.js.map +1 -0
- package/lib/programmers/internal/application_v31_alias.js +38 -0
- package/lib/programmers/internal/application_v31_alias.js.map +1 -0
- package/lib/programmers/internal/application_v31_constant.js +19 -0
- package/lib/programmers/internal/application_v31_constant.js.map +1 -0
- package/lib/programmers/internal/application_v31_native.js +29 -0
- package/lib/programmers/internal/application_v31_native.js.map +1 -0
- package/lib/programmers/internal/application_v31_object.js +146 -0
- package/lib/programmers/internal/application_v31_object.js.map +1 -0
- package/lib/programmers/internal/application_v31_schema.js +224 -0
- package/lib/programmers/internal/application_v31_schema.js.map +1 -0
- package/lib/programmers/internal/application_v31_tuple.js +22 -0
- package/lib/programmers/internal/application_v31_tuple.js.map +1 -0
- package/lib/programmers/internal/check_array_length.js +3 -0
- package/lib/programmers/internal/check_array_length.js.map +1 -1
- package/lib/programmers/internal/check_bigint.js +6 -0
- package/lib/programmers/internal/check_bigint.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_key.js +7 -1
- package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_properties.js +29 -4
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/check_everything.js +3 -0
- package/lib/programmers/internal/check_everything.js.map +1 -1
- package/lib/programmers/internal/check_native.js +3 -0
- package/lib/programmers/internal/check_native.js.map +1 -1
- package/lib/programmers/internal/check_number.js +8 -1
- package/lib/programmers/internal/check_number.js.map +1 -1
- package/lib/programmers/internal/check_object.js +9 -0
- package/lib/programmers/internal/check_object.js.map +1 -1
- package/lib/programmers/internal/check_string.js +6 -0
- package/lib/programmers/internal/check_string.js.map +1 -1
- package/lib/programmers/internal/check_template.js +7 -1
- package/lib/programmers/internal/check_template.js.map +1 -1
- package/lib/programmers/internal/check_union_array_like.js +4 -0
- package/lib/programmers/internal/check_union_array_like.js.map +1 -1
- package/lib/programmers/internal/decode_union_object.js +52 -10
- package/lib/programmers/internal/decode_union_object.js.map +1 -1
- package/lib/programmers/internal/feature_object_entries.js +3 -0
- package/lib/programmers/internal/feature_object_entries.js.map +1 -1
- package/lib/programmers/internal/metadata_to_pattern.js +10 -4
- package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
- package/lib/programmers/internal/prune_object_properties.js +3 -0
- package/lib/programmers/internal/prune_object_properties.js.map +1 -1
- package/lib/programmers/internal/random_custom.js +3 -0
- package/lib/programmers/internal/random_custom.js.map +1 -1
- package/lib/programmers/internal/stringify_dynamic_properties.js +11 -0
- package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/stringify_native.js +3 -0
- package/lib/programmers/internal/stringify_native.js.map +1 -1
- package/lib/programmers/internal/stringify_regular_properties.js +7 -0
- package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
- package/lib/programmers/internal/template_to_pattern.js +3 -0
- package/lib/programmers/internal/template_to_pattern.js.map +1 -1
- package/lib/programmers/json/JsonApplicationProgrammer.d.ts +2 -5
- package/lib/programmers/json/JsonApplicationProgrammer.js +85 -34
- package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonAssertParseProgrammer.d.ts +1 -1
- package/lib/programmers/json/JsonAssertParseProgrammer.js +11 -3
- package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonAssertStringifyProgrammer.d.ts +1 -1
- package/lib/programmers/json/JsonAssertStringifyProgrammer.js +9 -3
- package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonIsParseProgrammer.js +3 -1
- package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js +43 -4
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertCloneProgrammer.d.ts +1 -1
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js +11 -3
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertPruneProgrammer.d.ts +1 -1
- package/lib/programmers/misc/MiscAssertPruneProgrammer.js +9 -3
- package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +30 -4
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscIsCloneProgrammer.js +3 -1
- package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscLiteralsProgrammer.js +1 -2
- package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js +21 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.d.ts +1 -1
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +9 -3
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.js +189 -175
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.d.ts +1 -1
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +9 -3
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.d.ts +1 -1
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +9 -3
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +16 -4
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +39 -19
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +3 -1
- package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +7 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
- package/lib/protobuf.d.ts +72 -31
- package/lib/protobuf.js +136 -16
- package/lib/protobuf.js.map +1 -1
- package/lib/reflect.d.ts +4 -2
- package/lib/reflect.js +8 -1
- package/lib/reflect.js.map +1 -1
- package/lib/schemas/json/IJsonApplication.d.ts +13 -7
- package/lib/schemas/metadata/IMetadataConstant.d.ts +2 -1
- package/lib/schemas/metadata/IMetadataConstantValue.d.ts +6 -0
- package/lib/schemas/metadata/IMetadataConstantValue.js +3 -0
- package/lib/schemas/metadata/IMetadataConstantValue.js.map +1 -0
- package/lib/schemas/metadata/IMetadataTypeTag.d.ts +1 -0
- package/lib/schemas/metadata/Metadata.d.ts +1 -1
- package/lib/schemas/metadata/Metadata.js +84 -8
- package/lib/schemas/metadata/Metadata.js.map +1 -1
- package/lib/schemas/metadata/MetadataAlias.js +13 -1
- package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
- package/lib/schemas/metadata/MetadataApplication.js +7 -1
- package/lib/schemas/metadata/MetadataApplication.js.map +1 -1
- package/lib/schemas/metadata/MetadataArray.js +4 -1
- package/lib/schemas/metadata/MetadataArray.js.map +1 -1
- package/lib/schemas/metadata/MetadataArrayType.js +10 -1
- package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
- package/lib/schemas/metadata/MetadataAtomic.js +20 -17
- package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
- package/lib/schemas/metadata/MetadataComponents.js +4 -1
- package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
- package/lib/schemas/metadata/MetadataConstant.d.ts +2 -1
- package/lib/schemas/metadata/MetadataConstant.js +5 -9
- package/lib/schemas/metadata/MetadataConstant.js.map +1 -1
- package/lib/schemas/metadata/MetadataConstantValue.d.ts +13 -0
- package/lib/schemas/metadata/MetadataConstantValue.js +44 -0
- package/lib/schemas/metadata/MetadataConstantValue.js.map +1 -0
- package/lib/schemas/metadata/MetadataEscaped.js +10 -1
- package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
- package/lib/schemas/metadata/MetadataObject.js +28 -1
- package/lib/schemas/metadata/MetadataObject.js.map +1 -1
- package/lib/schemas/metadata/MetadataProperty.js +13 -1
- package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
- package/lib/schemas/metadata/MetadataTuple.js +7 -1
- package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
- package/lib/schemas/metadata/MetadataTupleType.js +7 -1
- package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
- package/lib/tags/Constant.d.ts +10 -0
- package/lib/{schemas/json/IJsonSchema.js → tags/Constant.js} +1 -1
- package/lib/tags/Constant.js.map +1 -0
- package/lib/tags/ContentMediaType.d.ts +9 -0
- package/lib/{schemas/json/IJsonComponents.js → tags/ContentMediaType.js} +1 -1
- package/lib/tags/ContentMediaType.js.map +1 -0
- package/lib/tags/Default.d.ts +3 -0
- package/lib/tags/ExclusiveMaximum.d.ts +4 -0
- package/lib/tags/ExclusiveMinimum.d.ts +4 -0
- package/lib/tags/Format.d.ts +10 -3
- package/lib/tags/JsonSchemaPlugin.d.ts +7 -0
- package/lib/tags/JsonSchemaPlugin.js +3 -0
- package/lib/tags/JsonSchemaPlugin.js.map +1 -0
- package/lib/tags/MaxItems.d.ts +3 -0
- package/lib/tags/MaxLength.d.ts +3 -0
- package/lib/tags/Maximum.d.ts +3 -0
- package/lib/tags/MinItems.d.ts +3 -0
- package/lib/tags/MinLength.d.ts +3 -0
- package/lib/tags/Minimum.d.ts +3 -0
- package/lib/tags/MultipleOf.d.ts +3 -0
- package/lib/tags/Pattern.d.ts +3 -0
- package/lib/tags/TagBase.d.ts +6 -2
- package/lib/tags/Type.d.ts +3 -0
- package/lib/tags/index.d.ts +3 -0
- package/lib/tags/index.js +3 -0
- package/lib/tags/index.js.map +1 -1
- package/lib/tags/internal/FormatCheatSheet.d.ts +27 -0
- package/lib/tags/internal/FormatCheatSheet.js +38 -0
- package/lib/tags/internal/FormatCheatSheet.js.map +1 -0
- package/lib/transformers/CallExpressionTransformer.js +195 -1
- package/lib/transformers/CallExpressionTransformer.js.map +1 -1
- package/lib/transformers/FileTransformer.js +2 -0
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/TransformerError.js +2 -1
- package/lib/transformers/TransformerError.js.map +1 -1
- package/lib/transformers/features/AssertTransformer.js.map +1 -1
- package/lib/transformers/features/CreateAssertTransformer.js.map +1 -1
- package/lib/transformers/features/CreateRandomTransformer.js +3 -0
- package/lib/transformers/features/CreateRandomTransformer.js.map +1 -1
- package/lib/transformers/features/RandomTransformer.js +3 -0
- package/lib/transformers/features/RandomTransformer.js.map +1 -1
- package/lib/transformers/features/functional/FunctionalGenericTransformer.d.ts +10 -0
- package/lib/transformers/features/functional/FunctionalGenericTransformer.js +39 -0
- package/lib/transformers/features/functional/FunctionalGenericTransformer.js.map +1 -0
- package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.d.ts +4 -0
- package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.js +12 -0
- package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.js.map +1 -0
- package/lib/transformers/features/http/CreateHttpFormDataTransformer.d.ts +4 -0
- package/lib/transformers/features/http/CreateHttpFormDataTransformer.js +10 -0
- package/lib/transformers/features/http/CreateHttpFormDataTransformer.js.map +1 -0
- package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.d.ts +4 -0
- package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.js +10 -0
- package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.js.map +1 -0
- package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.d.ts +4 -0
- package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.js +12 -0
- package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.js.map +1 -0
- package/lib/transformers/features/http/HttpAssertFormDataTransformer.d.ts +4 -0
- package/lib/transformers/features/http/HttpAssertFormDataTransformer.js +12 -0
- package/lib/transformers/features/http/HttpAssertFormDataTransformer.js.map +1 -0
- package/lib/transformers/features/http/HttpFormDataTransformer.d.ts +4 -0
- package/lib/transformers/features/http/HttpFormDataTransformer.js +10 -0
- package/lib/transformers/features/http/HttpFormDataTransformer.js.map +1 -0
- package/lib/transformers/features/http/HttpIsFormDataTransformer.d.ts +4 -0
- package/lib/transformers/features/http/HttpIsFormDataTransformer.js +10 -0
- package/lib/transformers/features/http/HttpIsFormDataTransformer.js.map +1 -0
- package/lib/transformers/features/http/HttpValidateFormDataTransformer.d.ts +4 -0
- package/lib/transformers/features/http/HttpValidateFormDataTransformer.js +12 -0
- package/lib/transformers/features/http/HttpValidateFormDataTransformer.js.map +1 -0
- package/lib/transformers/features/json/JsonApplicationTransformer.js +20 -17
- package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscLiteralsTransformer.js +3 -0
- package/lib/transformers/features/misc/MiscLiteralsTransformer.js.map +1 -1
- package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +3 -0
- package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
- package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +4 -0
- package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
- package/lib/transformers/internal/GenericTransformer.d.ts +1 -1
- package/lib/transformers/internal/GenericTransformer.js +9 -3
- package/lib/transformers/internal/GenericTransformer.js.map +1 -1
- package/lib/utils/ArrayUtil.d.ts +0 -1
- package/lib/utils/ArrayUtil.js +0 -29
- package/lib/utils/ArrayUtil.js.map +1 -1
- package/lib/utils/NamingConvention/NamingConvention.d.ts +3 -0
- package/lib/utils/{NamingConvention.js → NamingConvention/NamingConvention.js} +55 -51
- package/lib/utils/NamingConvention/NamingConvention.js.map +1 -0
- package/lib/utils/NamingConvention/index.d.ts +1 -0
- package/lib/utils/NamingConvention/index.js +28 -0
- package/lib/utils/NamingConvention/index.js.map +1 -0
- package/lib/utils/PatternUtil.js +3 -3
- package/lib/utils/PatternUtil.js.map +1 -1
- package/lib/utils/RandomGenerator/RandomGenerator.d.ts +31 -0
- package/lib/utils/RandomGenerator/RandomGenerator.js +167 -0
- package/lib/utils/RandomGenerator/RandomGenerator.js.map +1 -0
- package/lib/utils/RandomGenerator/index.d.ts +1 -0
- package/lib/utils/RandomGenerator/index.js +28 -0
- package/lib/utils/RandomGenerator/index.js.map +1 -0
- package/lib/utils/Singleton.js +1 -1
- package/lib/utils/StringUtil/StringUtil.d.ts +2 -0
- package/lib/utils/StringUtil/StringUtil.js +14 -0
- package/lib/utils/StringUtil/StringUtil.js.map +1 -0
- package/lib/utils/StringUtil/index.d.ts +1 -0
- package/lib/utils/StringUtil/index.js +28 -0
- package/lib/utils/StringUtil/index.js.map +1 -0
- package/package.json +14 -10
- package/src/CamelCase.ts +68 -61
- package/src/IRandomGenerator.ts +30 -5
- package/src/PascalCase.ts +68 -61
- package/src/Primitive.ts +48 -47
- package/src/Resolved.ts +61 -58
- package/src/SnakeCase.ts +67 -62
- package/src/executable/TypiaSetupWizard.ts +5 -5
- package/src/factories/IdentifierFactory.ts +1 -1
- package/src/factories/MetadataCommentTagFactory.ts +72 -157
- package/src/factories/MetadataFactory.ts +6 -1
- package/src/factories/MetadataTypeTagFactory.ts +38 -15
- package/src/factories/MetadataTypeTagSchemaFactory.ts +59 -0
- package/src/factories/ProtobufFactory.ts +9 -1
- package/src/factories/TypeFactory.ts +14 -14
- package/src/factories/internal/metadata/MetadataHelper.ts +7 -1
- package/src/factories/internal/metadata/emend_metadata_atomics.ts +15 -7
- package/src/factories/internal/metadata/emplace_metadata_object.ts +2 -1
- package/src/factories/internal/metadata/iterate_metadata.ts +2 -2
- package/src/factories/internal/metadata/iterate_metadata_array.ts +34 -1
- package/src/factories/internal/metadata/iterate_metadata_constant.ts +17 -2
- package/src/factories/internal/metadata/{iterate_metadata_resolve.ts → iterate_metadata_escape.ts} +1 -1
- package/src/factories/internal/metadata/iterate_metadata_intersection.ts +51 -97
- package/src/factories/internal/metadata/iterate_metadata_native.ts +21 -20
- package/src/factories/internal/metadata/iterate_metadata_object.ts +0 -10
- package/src/factories/internal/metadata/iterate_metadata_sort.ts +15 -2
- package/src/functional/$FormDataReader/$FormDataReader.ts +83 -0
- package/src/functional/$FormDataReader/index.ts +1 -0
- package/src/functional/$HeadersReader/$HeadersReader.ts +26 -0
- package/src/functional/$HeadersReader/index.ts +1 -0
- package/src/functional/$ParameterReader/$ParameterReader.ts +29 -0
- package/src/functional/$ParameterReader/index.ts +1 -0
- package/src/functional/$ProtobufReader.ts +5 -19
- package/src/functional/$ProtobufSizer.ts +11 -21
- package/src/functional/$ProtobufWriter.ts +8 -33
- package/src/functional/$QueryReader/$QueryReader.ts +46 -0
- package/src/functional/$QueryReader/index.ts +1 -0
- package/src/functional/$any.ts +4 -0
- package/src/functional/$clone.ts +1 -4
- package/src/functional/$convention.ts +0 -3
- package/src/functional/$dictionary.ts +22 -0
- package/src/functional/$every.ts +11 -0
- package/src/functional/$guard.ts +6 -20
- package/src/functional/$is_between.ts +0 -3
- package/src/functional/$join.ts +0 -12
- package/src/functional/$number.ts +0 -3
- package/src/functional/$report.ts +0 -3
- package/src/functional/$rest.ts +0 -3
- package/src/functional/$stoll.ts +0 -3
- package/src/functional/$string.ts +3 -10
- package/src/functional/$strlen.ts +0 -3
- package/src/functional/$throws.ts +0 -3
- package/src/functional/$varint.ts +130 -0
- package/src/functional/$zigzag.ts +39 -0
- package/src/functional/IProtobufWriter.ts +0 -3
- package/src/functional/Namespace/functional.ts +5 -0
- package/src/functional/Namespace/http.ts +9 -0
- package/src/functional/Namespace/index.ts +76 -0
- package/src/functional/Namespace/json.ts +15 -0
- package/src/functional/Namespace/misc.ts +14 -0
- package/src/functional/Namespace/notations.ts +23 -0
- package/src/functional/Namespace/protobuf.ts +20 -0
- package/src/functional/is.ts +10 -0
- package/src/functional.ts +872 -0
- package/src/http.ts +566 -412
- package/src/json.ts +181 -80
- package/src/misc.ts +190 -60
- package/src/module.ts +205 -60
- package/src/notations.ts +312 -76
- package/src/programmers/AssertProgrammer.ts +90 -46
- package/src/programmers/CheckerProgrammer.ts +57 -3
- package/src/programmers/FeatureProgrammer.ts +27 -27
- package/src/programmers/IsProgrammer.ts +1 -1
- package/src/programmers/RandomProgrammer.ts +85 -22
- package/src/programmers/TypiaProgrammer.ts +10 -18
- package/src/programmers/ValidateProgrammer.ts +47 -48
- package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +130 -0
- package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +81 -0
- package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +77 -0
- package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +61 -0
- package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +73 -0
- package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +84 -0
- package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +113 -0
- package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +203 -0
- package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +107 -0
- package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +32 -0
- package/src/programmers/helpers/AtomicPredicator.ts +1 -2
- package/src/programmers/helpers/FunctionImporeter.ts +1 -0
- package/src/programmers/helpers/FunctionImporter.ts +17 -58
- package/src/programmers/helpers/ProtobufUtil.ts +2 -2
- package/src/programmers/helpers/PruneJoiner.ts +8 -10
- package/src/programmers/helpers/StringifyJoinder.ts +3 -2
- package/src/programmers/helpers/disable_function_importer_declare.ts +4 -5
- package/src/programmers/http/HttpAssertFormDataProgrammer.ts +87 -0
- package/src/programmers/http/HttpAssertHeadersProgrammer.ts +18 -6
- package/src/programmers/http/HttpAssertQueryProgrammer.ts +18 -6
- package/src/programmers/http/HttpFormDataProgrammer.ts +256 -0
- package/src/programmers/http/HttpHeadersProgrammer.ts +36 -25
- package/src/programmers/http/HttpIsFormDataProgrammer.ts +90 -0
- package/src/programmers/http/HttpIsHeadersProgrammer.ts +14 -6
- package/src/programmers/http/HttpIsQueryProgrammer.ts +14 -6
- package/src/programmers/http/HttpParameterProgrammer.ts +4 -6
- package/src/programmers/http/HttpQueryProgrammer.ts +38 -30
- package/src/programmers/http/HttpValidateFormDataProgrammer.ts +75 -0
- package/src/programmers/http/HttpValidateHeadersProgrammer.ts +2 -2
- package/src/programmers/http/HttpValidateQueryProgrammer.ts +2 -2
- package/src/programmers/internal/application_array.ts +27 -50
- package/src/programmers/internal/application_boolean.ts +18 -28
- package/src/programmers/internal/application_escaped.ts +40 -18
- package/src/programmers/internal/application_number.ts +17 -89
- package/src/programmers/internal/application_plugin.ts +19 -0
- package/src/programmers/internal/application_string.ts +17 -53
- package/src/programmers/internal/application_templates.ts +17 -16
- package/src/programmers/internal/application_v30_alias.ts +51 -0
- package/src/programmers/internal/application_v30_constant.ts +18 -0
- package/src/programmers/internal/application_v30_native.ts +28 -0
- package/src/programmers/internal/application_v30_object.ts +148 -0
- package/src/programmers/internal/application_v30_schema.ts +155 -0
- package/src/programmers/internal/application_v30_tuple.ts +33 -0
- package/src/programmers/internal/application_v31_alias.ts +43 -0
- package/src/programmers/internal/application_v31_constant.ts +22 -0
- package/src/programmers/internal/application_v31_native.ts +24 -0
- package/src/programmers/internal/application_v31_object.ts +141 -0
- package/src/programmers/internal/application_v31_schema.ts +150 -0
- package/src/programmers/internal/application_v31_tuple.ts +22 -0
- package/src/programmers/internal/check_dynamic_key.ts +5 -6
- package/src/programmers/internal/check_dynamic_properties.ts +20 -7
- package/src/programmers/internal/check_number.ts +35 -34
- package/src/programmers/internal/check_object.ts +5 -4
- package/src/programmers/internal/check_template.ts +1 -1
- package/src/programmers/internal/decode_union_object.ts +37 -16
- package/src/programmers/internal/feature_object_entries.ts +8 -8
- package/src/programmers/internal/metadata_to_pattern.ts +7 -6
- package/src/programmers/json/JsonApplicationProgrammer.ts +70 -37
- package/src/programmers/json/JsonAssertParseProgrammer.ts +21 -7
- package/src/programmers/json/JsonAssertStringifyProgrammer.ts +9 -3
- package/src/programmers/json/JsonIsParseProgrammer.ts +12 -4
- package/src/programmers/json/JsonStringifyProgrammer.ts +33 -26
- package/src/programmers/misc/MiscAssertCloneProgrammer.ts +21 -7
- package/src/programmers/misc/MiscAssertPruneProgrammer.ts +9 -3
- package/src/programmers/misc/MiscCloneProgrammer.ts +25 -19
- package/src/programmers/misc/MiscIsCloneProgrammer.ts +12 -4
- package/src/programmers/misc/MiscLiteralsProgrammer.ts +9 -11
- package/src/programmers/misc/MiscPruneProgrammer.ts +1 -1
- package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +9 -3
- package/src/programmers/notations/NotationGeneralProgrammer.ts +12 -23
- package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +18 -6
- package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +9 -3
- package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +52 -41
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +55 -58
- package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +12 -4
- package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +3 -3
- package/src/protobuf.ts +211 -51
- package/src/reflect.ts +9 -3
- package/src/schemas/json/IJsonApplication.ts +14 -7
- package/src/schemas/metadata/IMetadataConstant.ts +3 -1
- package/src/schemas/metadata/IMetadataConstantValue.ts +8 -0
- package/src/schemas/metadata/IMetadataTypeTag.ts +1 -0
- package/src/schemas/metadata/Metadata.ts +30 -13
- package/src/schemas/metadata/MetadataAtomic.ts +17 -15
- package/src/schemas/metadata/MetadataConstant.ts +5 -17
- package/src/schemas/metadata/MetadataConstantValue.ts +53 -0
- package/src/tags/Constant.ts +15 -0
- package/src/tags/ContentMediaType.ts +10 -0
- package/src/tags/Default.ts +7 -4
- package/src/tags/ExclusiveMaximum.ts +6 -0
- package/src/tags/ExclusiveMinimum.ts +6 -0
- package/src/tags/Format.ts +10 -24
- package/src/tags/JsonSchemaPlugin.ts +8 -0
- package/src/tags/MaxItems.ts +3 -0
- package/src/tags/MaxLength.ts +3 -0
- package/src/tags/Maximum.ts +5 -0
- package/src/tags/MinItems.ts +3 -0
- package/src/tags/MinLength.ts +3 -0
- package/src/tags/Minimum.ts +5 -0
- package/src/tags/MultipleOf.ts +5 -0
- package/src/tags/Pattern.ts +3 -0
- package/src/tags/TagBase.ts +9 -1
- package/src/tags/Type.ts +19 -14
- package/src/tags/index.ts +3 -0
- package/src/tags/internal/FormatCheatSheet.ts +71 -0
- package/src/transformers/CallExpressionTransformer.ts +146 -1
- package/src/transformers/features/AssertTransformer.ts +2 -2
- package/src/transformers/features/CreateAssertTransformer.ts +2 -2
- package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -0
- package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +12 -0
- package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +9 -0
- package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +9 -0
- package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +12 -0
- package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +10 -0
- package/src/transformers/features/http/HttpFormDataTransformer.ts +9 -0
- package/src/transformers/features/http/HttpIsFormDataTransformer.ts +9 -0
- package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +10 -0
- package/src/transformers/features/json/JsonApplicationTransformer.ts +8 -18
- package/src/transformers/internal/GenericTransformer.ts +12 -4
- package/src/utils/ArrayUtil.ts +0 -2
- package/src/utils/NamingConvention/NamingConvention.ts +86 -0
- package/src/utils/NamingConvention/index.ts +1 -0
- package/src/utils/RandomGenerator/RandomGenerator.ts +105 -0
- package/src/utils/RandomGenerator/index.ts +1 -0
- package/src/utils/StringUtil/StringUtil.ts +7 -0
- package/src/utils/StringUtil/index.ts +1 -0
- package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +0 -1
- package/lib/functional/$HeadersReader.js +0 -35
- package/lib/functional/$HeadersReader.js.map +0 -1
- package/lib/functional/$ParameterReader.js +0 -35
- package/lib/functional/$ParameterReader.js.map +0 -1
- package/lib/functional/$QueryReader.js +0 -60
- package/lib/functional/$QueryReader.js.map +0 -1
- package/lib/functional/$camel.js +0 -7
- package/lib/functional/$camel.js.map +0 -1
- package/lib/functional/$generator.js +0 -6
- package/lib/functional/$generator.js.map +0 -1
- package/lib/functional/$pascal.js +0 -7
- package/lib/functional/$pascal.js.map +0 -1
- package/lib/functional/$snake.js +0 -7
- package/lib/functional/$snake.js.map +0 -1
- package/lib/programmers/internal/JSON_SCHEMA_PREFIX.d.ts +0 -1
- package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js +0 -5
- package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js.map +0 -1
- package/lib/programmers/internal/application_alias.d.ts +0 -5
- package/lib/programmers/internal/application_alias.js +0 -67
- package/lib/programmers/internal/application_alias.js.map +0 -1
- package/lib/programmers/internal/application_constant.js +0 -21
- package/lib/programmers/internal/application_constant.js.map +0 -1
- package/lib/programmers/internal/application_default.js +0 -40
- package/lib/programmers/internal/application_default.js.map +0 -1
- package/lib/programmers/internal/application_default_string.js +0 -63
- package/lib/programmers/internal/application_default_string.js.map +0 -1
- package/lib/programmers/internal/application_native.js +0 -33
- package/lib/programmers/internal/application_native.js.map +0 -1
- package/lib/programmers/internal/application_object.js +0 -202
- package/lib/programmers/internal/application_object.js.map +0 -1
- package/lib/programmers/internal/application_schema.js +0 -236
- package/lib/programmers/internal/application_schema.js.map +0 -1
- package/lib/programmers/internal/application_tuple.js +0 -46
- package/lib/programmers/internal/application_tuple.js.map +0 -1
- package/lib/schemas/json/IJsonComponents.d.ts +0 -18
- package/lib/schemas/json/IJsonComponents.js.map +0 -1
- package/lib/schemas/json/IJsonSchema.d.ts +0 -88
- package/lib/schemas/json/IJsonSchema.js.map +0 -1
- package/lib/utils/NamingConvention.d.ts +0 -5
- package/lib/utils/NamingConvention.js.map +0 -1
- package/lib/utils/RandomGenerator.d.ts +0 -1
- package/lib/utils/RandomGenerator.js +0 -66
- package/lib/utils/RandomGenerator.js.map +0 -1
- package/lib/utils/StringUtil.d.ts +0 -3
- package/lib/utils/StringUtil.js +0 -10
- package/lib/utils/StringUtil.js.map +0 -1
- package/src/functional/$HeadersReader.ts +0 -37
- package/src/functional/$ParameterReader.ts +0 -40
- package/src/functional/$QueryReader.ts +0 -65
- package/src/functional/$camel.ts +0 -8
- package/src/functional/$generator.ts +0 -6
- package/src/functional/$pascal.ts +0 -8
- package/src/functional/$snake.ts +0 -8
- package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +0 -1
- package/src/programmers/internal/application_alias.ts +0 -74
- package/src/programmers/internal/application_constant.ts +0 -25
- package/src/programmers/internal/application_default.ts +0 -17
- package/src/programmers/internal/application_default_string.ts +0 -33
- package/src/programmers/internal/application_native.ts +0 -34
- package/src/programmers/internal/application_object.ts +0 -183
- package/src/programmers/internal/application_schema.ts +0 -165
- package/src/programmers/internal/application_tuple.ts +0 -54
- package/src/schemas/json/IJsonComponents.ts +0 -19
- package/src/schemas/json/IJsonSchema.ts +0 -122
- package/src/utils/NamingConvention.ts +0 -87
- package/src/utils/RandomGenerator.ts +0 -83
- package/src/utils/StringUtil.ts +0 -4
- /package/lib/functional/{$HeadersReader.d.ts → is.d.ts} +0 -0
- /package/lib/{functional/$ParameterReader.d.ts → programmers/internal/application_plugin.d.ts} +0 -0
- /package/lib/{functional/$QueryReader.d.ts → programmers/internal/application_v30_alias.d.ts} +0 -0
- /package/lib/{functional/$camel.d.ts → programmers/internal/application_v30_constant.d.ts} +0 -0
- /package/lib/{functional/$generator.d.ts → programmers/internal/application_v30_native.d.ts} +0 -0
- /package/lib/{functional/$pascal.d.ts → programmers/internal/application_v30_object.d.ts} +0 -0
- /package/lib/{functional/$snake.d.ts → programmers/internal/application_v30_schema.d.ts} +0 -0
- /package/lib/programmers/internal/{application_constant.d.ts → application_v30_tuple.d.ts} +0 -0
- /package/lib/programmers/internal/{application_default.d.ts → application_v31_alias.d.ts} +0 -0
- /package/lib/programmers/internal/{application_default_string.d.ts → application_v31_constant.d.ts} +0 -0
- /package/lib/programmers/internal/{application_native.d.ts → application_v31_native.d.ts} +0 -0
- /package/lib/programmers/internal/{application_object.d.ts → application_v31_object.d.ts} +0 -0
- /package/lib/programmers/internal/{application_schema.d.ts → application_v31_schema.d.ts} +0 -0
- /package/lib/programmers/internal/{application_tuple.d.ts → application_v31_tuple.d.ts} +0 -0
package/src/json.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import * as Namespace from "./functional/Namespace";
|
|
2
|
+
|
|
1
3
|
import { IJsonApplication } from "./schemas/json/IJsonApplication";
|
|
2
4
|
|
|
3
5
|
import { IValidation } from "./IValidation";
|
|
4
6
|
import { Primitive } from "./Primitive";
|
|
7
|
+
import { TypeGuardError } from "./TypeGuardError";
|
|
5
8
|
|
|
6
9
|
/* ===========================================================
|
|
7
10
|
JSON
|
|
@@ -21,16 +24,9 @@ import { Primitive } from "./Primitive";
|
|
|
21
24
|
* components. Note that, all of the named types are stored in the
|
|
22
25
|
* {@link IJsonApplication.components} property for the `$ref` referencing.
|
|
23
26
|
*
|
|
24
|
-
* Also,
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* For an example, `ajv` has an extra property "$recursiveRef" that are not
|
|
28
|
-
* exists in the standard JSON schema definition spec. Otherwise, `swagger`
|
|
29
|
-
* can't identify the tuple definition.
|
|
30
|
-
*
|
|
31
|
-
* The next *Surplus* means whether to allow surplus properties starting with
|
|
32
|
-
* `x-typia-` or not. If `true`, the surplus properties like `x-typia-jsDocTags`
|
|
33
|
-
* would be registered into the JSON schema, otherwise, not.
|
|
27
|
+
* Also, you can specify the OpenAPI version by configuring the second generic
|
|
28
|
+
* argument `Version`. For reference, the default version is `"3.1"`, and key
|
|
29
|
+
* different of `"3.0"` and `"3.1"` is whether supporting the tuple type or not.
|
|
34
30
|
*
|
|
35
31
|
* @template Types Tuple of target types
|
|
36
32
|
* @template Purpose Purpose of the JSON schema
|
|
@@ -48,29 +44,20 @@ export function application(): never;
|
|
|
48
44
|
* components. Note that, all of the named types are stored in the
|
|
49
45
|
* {@link IJsonApplication.components} property for the `$ref` referencing.
|
|
50
46
|
*
|
|
51
|
-
* Also,
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* For an example, `ajv` has an extra property "$recursiveRef" that are not
|
|
55
|
-
* exists in the standard JSON schema definition spec. Otherwise, `swagger`
|
|
56
|
-
* can't identify the tuple definition.
|
|
57
|
-
*
|
|
58
|
-
* The next *Surplus* means whether to allow surplus properties starting with
|
|
59
|
-
* `x-typia-` or not. If `true`, the surplus properties like `x-typia-jsDocTags`
|
|
60
|
-
* would be registered into the JSON schema, otherwise, not.
|
|
47
|
+
* Also, you can specify the OpenAPI version by configuring the second generic
|
|
48
|
+
* argument `Version`. For reference, the default version is `"3.1"`, and key
|
|
49
|
+
* different of `"3.0"` and `"3.1"` is whether supporting the tuple type or not.
|
|
61
50
|
*
|
|
62
51
|
* @template Types Tuple of target types
|
|
63
|
-
* @template
|
|
64
|
-
* @template Surplus Allow surplus properties starting with `x-typia-` or not
|
|
52
|
+
* @template Version Version of OpenAPI specification. Default is 3.1
|
|
65
53
|
* @return JSON schema application
|
|
66
54
|
*
|
|
67
55
|
* @author Jeongho Nam - https://github.com/samchon
|
|
68
56
|
*/
|
|
69
57
|
export function application<
|
|
70
58
|
Types extends unknown[],
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
>(): IJsonApplication;
|
|
59
|
+
Version extends "3.0" | "3.1" = "3.1",
|
|
60
|
+
>(): IJsonApplication<Version>;
|
|
74
61
|
|
|
75
62
|
/**
|
|
76
63
|
* @internal
|
|
@@ -92,16 +79,20 @@ export function application(): never {
|
|
|
92
79
|
* to a `T` typed instance with type assertion.
|
|
93
80
|
*
|
|
94
81
|
* In such reason, when parsed JSON string value is not matched with the type `T`, it
|
|
95
|
-
* throws {@link TypeGuardError}
|
|
96
|
-
* the parsed value would be returned.
|
|
82
|
+
* throws {@link TypeGuardError} or custom error generated by *errorFactory*. Otherwise,
|
|
83
|
+
* there's no problem on the parsed value, the parsed value would be returned.
|
|
97
84
|
*
|
|
98
85
|
* @template T Expected type of parsed value
|
|
99
86
|
* @param input JSON string
|
|
87
|
+
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
100
88
|
* @returns Parsed value
|
|
101
89
|
*
|
|
102
90
|
* @author Jeongho Nam - https://github.com/samchon
|
|
103
91
|
*/
|
|
104
|
-
|
|
92
|
+
function assertParse(
|
|
93
|
+
input: string,
|
|
94
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
95
|
+
): never;
|
|
105
96
|
|
|
106
97
|
/**
|
|
107
98
|
* Safe `JSON.parse()` function with type assertion.
|
|
@@ -111,23 +102,33 @@ export function assertParse(input: string): never;
|
|
|
111
102
|
* to a `T` typed instance with type assertion.
|
|
112
103
|
*
|
|
113
104
|
* In such reason, when parsed JSON string value is not matched with the type `T`,
|
|
114
|
-
* it throws {@link TypeGuardError}
|
|
115
|
-
* value, the parsed value would be
|
|
105
|
+
* it throws {@link TypeGuardError} or custom error generated by *errorFactory*.
|
|
106
|
+
* Otherwise, there's no problem on the parsed value, the parsed value would be
|
|
107
|
+
* returned.
|
|
116
108
|
*
|
|
117
109
|
* @template T Expected type of parsed value
|
|
118
110
|
* @param input JSON string
|
|
111
|
+
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
119
112
|
* @returns Parsed value
|
|
120
113
|
*
|
|
121
114
|
* @author Jeongho Nam - https://github.com/samchon
|
|
122
115
|
*/
|
|
123
|
-
|
|
116
|
+
function assertParse<T>(
|
|
117
|
+
input: string,
|
|
118
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
119
|
+
): Primitive<T>;
|
|
124
120
|
|
|
125
121
|
/**
|
|
126
122
|
* @internal
|
|
127
123
|
*/
|
|
128
|
-
|
|
124
|
+
function assertParse<T>(): Primitive<T> {
|
|
129
125
|
halt("assertParse");
|
|
130
126
|
}
|
|
127
|
+
const assertParsePure = /** @__PURE__ */ Object.assign<typeof assertParse, {}>(
|
|
128
|
+
assertParse,
|
|
129
|
+
/** @__PURE__ */ Namespace.assert("json.assertParse"),
|
|
130
|
+
);
|
|
131
|
+
export { assertParsePure as assertParse };
|
|
131
132
|
|
|
132
133
|
/**
|
|
133
134
|
* > You must configure the generic argument `T`.
|
|
@@ -148,7 +149,7 @@ export function assertParse<T>(): Primitive<T> {
|
|
|
148
149
|
*
|
|
149
150
|
* @author Jeongho Nam - https://github.com/samchon
|
|
150
151
|
*/
|
|
151
|
-
|
|
152
|
+
function isParse(input: string): never;
|
|
152
153
|
|
|
153
154
|
/**
|
|
154
155
|
* Safe `JSON.parse()` function with type checking.
|
|
@@ -167,14 +168,19 @@ export function isParse(input: string): never;
|
|
|
167
168
|
*
|
|
168
169
|
* @author Jeongho Nam - https://github.com/samchon
|
|
169
170
|
*/
|
|
170
|
-
|
|
171
|
+
function isParse<T>(input: string): Primitive<T> | null;
|
|
171
172
|
|
|
172
173
|
/**
|
|
173
174
|
* @internal
|
|
174
175
|
*/
|
|
175
|
-
|
|
176
|
+
function isParse<T>(): Primitive<T> | null {
|
|
176
177
|
halt("isParse");
|
|
177
178
|
}
|
|
179
|
+
const isParsePure = /** @__PURE__ */ Object.assign<typeof isParse, {}>(
|
|
180
|
+
isParse,
|
|
181
|
+
/** @__PURE__ */ Namespace.is(),
|
|
182
|
+
);
|
|
183
|
+
export { isParsePure as isParse };
|
|
178
184
|
|
|
179
185
|
/**
|
|
180
186
|
* > You must configure the generic argument `T`.
|
|
@@ -196,7 +202,7 @@ export function isParse<T>(): Primitive<T> | null {
|
|
|
196
202
|
*
|
|
197
203
|
* @author Jeongho Nam - https://github.com/samchon
|
|
198
204
|
*/
|
|
199
|
-
|
|
205
|
+
function validateParse(input: string): never;
|
|
200
206
|
|
|
201
207
|
/**
|
|
202
208
|
* Safe `JSON.parse()` function with detailed type validation.
|
|
@@ -216,14 +222,19 @@ export function validateParse(input: string): never;
|
|
|
216
222
|
*
|
|
217
223
|
* @author Jeongho Nam - https://github.com/samchon
|
|
218
224
|
*/
|
|
219
|
-
|
|
225
|
+
function validateParse<T>(input: string): IValidation<Primitive<T>>;
|
|
220
226
|
|
|
221
227
|
/**
|
|
222
228
|
* @internal
|
|
223
229
|
*/
|
|
224
|
-
|
|
230
|
+
function validateParse<T>(): IValidation<Primitive<T>> {
|
|
225
231
|
halt("validateParse");
|
|
226
232
|
}
|
|
233
|
+
const validateParsePure = /** @__PURE__ */ Object.assign<
|
|
234
|
+
typeof validateParse,
|
|
235
|
+
{}
|
|
236
|
+
>(validateParse, /** @__PURE__ */ Namespace.validate());
|
|
237
|
+
export { validateParsePure as validateParse };
|
|
227
238
|
|
|
228
239
|
/* -----------------------------------------------------------
|
|
229
240
|
STRINGIFY
|
|
@@ -250,14 +261,19 @@ export function validateParse<T>(): IValidation<Primitive<T>> {
|
|
|
250
261
|
*
|
|
251
262
|
* @author Jeongho Nam - https://github.com/samchon
|
|
252
263
|
*/
|
|
253
|
-
|
|
264
|
+
function stringify<T>(input: T): string;
|
|
254
265
|
|
|
255
266
|
/**
|
|
256
267
|
* @internal
|
|
257
268
|
*/
|
|
258
|
-
|
|
269
|
+
function stringify(): never {
|
|
259
270
|
halt("stringify");
|
|
260
271
|
}
|
|
272
|
+
const stringifyPure = /** @__PURE__ */ Object.assign<typeof stringify, {}>(
|
|
273
|
+
stringify,
|
|
274
|
+
/** @__PURE__ */ Namespace.json.stringify("stringify"),
|
|
275
|
+
);
|
|
276
|
+
export { stringifyPure as stringify };
|
|
261
277
|
|
|
262
278
|
/**
|
|
263
279
|
* 5x faster `JSON.stringify()` function with type assertion.
|
|
@@ -267,8 +283,8 @@ export function stringify(): never {
|
|
|
267
283
|
* JSON (JavaScript Object Notation) string, with type assertion.
|
|
268
284
|
*
|
|
269
285
|
* In such reason, when `input` value is not matched with the type `T`, it throws an
|
|
270
|
-
* {@link TypeGuardError}
|
|
271
|
-
* string would be returned.
|
|
286
|
+
* {@link TypeGuardError} or custom error generated by *errorFactory*. Otherwise,
|
|
287
|
+
* there's no problem on the `input` value, JSON string would be returned.
|
|
272
288
|
*
|
|
273
289
|
* For reference, with type assertion, it is even 5x times faster than the native
|
|
274
290
|
* `JSON.stringify()` function. So, just enjoy the safe and fast JSON conversion
|
|
@@ -276,11 +292,15 @@ export function stringify(): never {
|
|
|
276
292
|
*
|
|
277
293
|
* @template T Type of the input value
|
|
278
294
|
* @param input A value to be asserted and converted
|
|
295
|
+
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
279
296
|
* @return JSON string value
|
|
280
297
|
*
|
|
281
298
|
* @author Jeongho Nam - https://github.com/samchon
|
|
282
299
|
*/
|
|
283
|
-
|
|
300
|
+
function assertStringify<T>(
|
|
301
|
+
input: T,
|
|
302
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
303
|
+
): string;
|
|
284
304
|
|
|
285
305
|
/**
|
|
286
306
|
* 5x faster `JSON.stringify()` function with type assertion.
|
|
@@ -290,8 +310,8 @@ export function assertStringify<T>(input: T): string;
|
|
|
290
310
|
* JSON (JavaScript Object Notation) string, with type assertion.
|
|
291
311
|
*
|
|
292
312
|
* In such reason, when `input` value is not matched with the type `T`, it throws an
|
|
293
|
-
* {@link TypeGuardError}
|
|
294
|
-
* string would be returned.
|
|
313
|
+
* {@link TypeGuardError} or custom error generated by *errorFactory*. Otherwise,
|
|
314
|
+
* there's no problem on the `input` value, JSON string would be returned.
|
|
295
315
|
*
|
|
296
316
|
* For reference, with type assertion, it is even 5x times faster than the native
|
|
297
317
|
* `JSON.stringify()` function. So, just enjoy the safe and fast JSON conversion
|
|
@@ -299,18 +319,32 @@ export function assertStringify<T>(input: T): string;
|
|
|
299
319
|
*
|
|
300
320
|
* @template T Type of the input value
|
|
301
321
|
* @param input A value to be asserted and converted
|
|
322
|
+
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
302
323
|
* @return JSON string value
|
|
303
324
|
*
|
|
304
325
|
* @author Jeongho Nam - https://github.com/samchon
|
|
305
326
|
*/
|
|
306
|
-
|
|
327
|
+
function assertStringify<T>(
|
|
328
|
+
input: T,
|
|
329
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
330
|
+
): unknown;
|
|
307
331
|
|
|
308
332
|
/**
|
|
309
333
|
* @internal
|
|
310
334
|
*/
|
|
311
|
-
|
|
335
|
+
function assertStringify(): string {
|
|
312
336
|
halt("assertStringify");
|
|
313
337
|
}
|
|
338
|
+
const assertStringifyPure = /** @__PURE__ */ Object.assign<
|
|
339
|
+
typeof assertStringify,
|
|
340
|
+
{},
|
|
341
|
+
{}
|
|
342
|
+
>(
|
|
343
|
+
assertStringify,
|
|
344
|
+
/** @__PURE__ */ Namespace.assert("json.assertStringify"),
|
|
345
|
+
/** @__PURE__ */ Namespace.json.stringify("assertStringify"),
|
|
346
|
+
);
|
|
347
|
+
export { assertStringifyPure as assertStringify };
|
|
314
348
|
|
|
315
349
|
/**
|
|
316
350
|
* 7x faster `JSON.stringify()` function with type checking.
|
|
@@ -333,7 +367,7 @@ export function assertStringify(): string {
|
|
|
333
367
|
*
|
|
334
368
|
* @author Jeongho Nam - https://github.com/samchon
|
|
335
369
|
*/
|
|
336
|
-
|
|
370
|
+
function isStringify<T>(input: T): string | null;
|
|
337
371
|
|
|
338
372
|
/**
|
|
339
373
|
* 7x faster `JSON.stringify()` function with type checking.
|
|
@@ -356,15 +390,26 @@ export function isStringify<T>(input: T): string | null;
|
|
|
356
390
|
*
|
|
357
391
|
* @author Jeongho Nam - https://github.com/samchon
|
|
358
392
|
*/
|
|
359
|
-
|
|
393
|
+
function isStringify<T>(input: unknown): string | null;
|
|
360
394
|
|
|
361
395
|
/**
|
|
362
396
|
* @internal
|
|
363
397
|
*/
|
|
364
|
-
|
|
398
|
+
function isStringify(): string | null {
|
|
365
399
|
halt("isStringify");
|
|
366
400
|
}
|
|
367
401
|
|
|
402
|
+
const isStringifyPure = /** @__PURE__ */ Object.assign<
|
|
403
|
+
typeof isStringify,
|
|
404
|
+
{},
|
|
405
|
+
{}
|
|
406
|
+
>(
|
|
407
|
+
isStringify,
|
|
408
|
+
/** @__PURE__ */ Namespace.is(),
|
|
409
|
+
/** @__PURE__ */ Namespace.json.stringify("isStringify"),
|
|
410
|
+
);
|
|
411
|
+
export { isStringifyPure as isStringify };
|
|
412
|
+
|
|
368
413
|
/**
|
|
369
414
|
* 5x faster `JSON.stringify()` function with detailed type validation.
|
|
370
415
|
*
|
|
@@ -387,7 +432,7 @@ export function isStringify(): string | null {
|
|
|
387
432
|
*
|
|
388
433
|
* @author Jeongho Nam - https://github.com/samchon
|
|
389
434
|
*/
|
|
390
|
-
|
|
435
|
+
function validateStringify<T>(input: T): IValidation<string>;
|
|
391
436
|
|
|
392
437
|
/**
|
|
393
438
|
* 5x faster `JSON.stringify()` function with detailed type validation.
|
|
@@ -411,14 +456,24 @@ export function validateStringify<T>(input: T): IValidation<string>;
|
|
|
411
456
|
*
|
|
412
457
|
* @author Jeongho Nam - https://github.com/samchon
|
|
413
458
|
*/
|
|
414
|
-
|
|
459
|
+
function validateStringify<T>(input: unknown): IValidation<string>;
|
|
415
460
|
|
|
416
461
|
/**
|
|
417
462
|
* @internal
|
|
418
463
|
*/
|
|
419
|
-
|
|
464
|
+
function validateStringify(): IValidation<string> {
|
|
420
465
|
halt("validateStringify");
|
|
421
466
|
}
|
|
467
|
+
const validateStringifyPure = /** @__PURE__ */ Object.assign<
|
|
468
|
+
typeof validateStringify,
|
|
469
|
+
{},
|
|
470
|
+
{}
|
|
471
|
+
>(
|
|
472
|
+
validateStringify,
|
|
473
|
+
/** @__PURE__ */ Namespace.validate(),
|
|
474
|
+
/** @__PURE__ */ Namespace.json.stringify("validateStringify"),
|
|
475
|
+
);
|
|
476
|
+
export { validateStringifyPure as validateStringify };
|
|
422
477
|
|
|
423
478
|
/* -----------------------------------------------------------
|
|
424
479
|
FACTORY FUNCTIONS
|
|
@@ -432,7 +487,7 @@ export function validateStringify(): IValidation<string> {
|
|
|
432
487
|
*
|
|
433
488
|
* @author Jeongho Nam - https://github.com/samchon
|
|
434
489
|
*/
|
|
435
|
-
|
|
490
|
+
function createIsParse(): never;
|
|
436
491
|
|
|
437
492
|
/**
|
|
438
493
|
* Creates a reusable {@link isParse} function.
|
|
@@ -442,42 +497,58 @@ export function createIsParse(): never;
|
|
|
442
497
|
*
|
|
443
498
|
* @author Jeongho Nam - https://github.com/samchon
|
|
444
499
|
*/
|
|
445
|
-
|
|
500
|
+
function createIsParse<T>(): (input: string) => Primitive<T> | null;
|
|
446
501
|
|
|
447
502
|
/**
|
|
448
503
|
* @internal
|
|
449
504
|
*/
|
|
450
|
-
|
|
505
|
+
function createIsParse<T>(): (input: string) => Primitive<T> | null {
|
|
451
506
|
halt("createIsParse");
|
|
452
507
|
}
|
|
508
|
+
const createIsParsePure = /** @__PURE__ */ Object.assign<
|
|
509
|
+
typeof createIsParse,
|
|
510
|
+
{}
|
|
511
|
+
>(createIsParse, isParsePure);
|
|
512
|
+
export { createIsParsePure as createIsParse };
|
|
453
513
|
|
|
454
514
|
/**
|
|
455
515
|
* Creates a reusable {@link assertParse} function.
|
|
456
516
|
*
|
|
457
517
|
* @danger You must configure the generic argument `T`
|
|
458
518
|
* @returns Nothing until you configure the generic argument `T`
|
|
519
|
+
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
459
520
|
* @throws compile error
|
|
460
521
|
*
|
|
461
522
|
* @author Jeongho Nam - https://github.com/samchon
|
|
462
523
|
*/
|
|
463
|
-
|
|
524
|
+
function createAssertParse(
|
|
525
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
526
|
+
): never;
|
|
464
527
|
|
|
465
528
|
/**
|
|
466
529
|
* Creates a reusable {@link assertParse} function.
|
|
467
530
|
*
|
|
468
531
|
* @template T Expected type of parsed value
|
|
532
|
+
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
469
533
|
* @returns A reusable `assertParse` function
|
|
470
534
|
*
|
|
471
535
|
* @author Jeongho Nam - https://github.com/samchon
|
|
472
536
|
*/
|
|
473
|
-
|
|
537
|
+
function createAssertParse<T>(
|
|
538
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
539
|
+
): (input: string) => Primitive<T>;
|
|
474
540
|
|
|
475
541
|
/**
|
|
476
542
|
* @internal
|
|
477
543
|
*/
|
|
478
|
-
|
|
544
|
+
function createAssertParse<T>(): (input: string) => Primitive<T> {
|
|
479
545
|
halt("createAssertParse");
|
|
480
546
|
}
|
|
547
|
+
const createAssertParsePure = /** @__PURE__ */ Object.assign<
|
|
548
|
+
typeof createAssertParse,
|
|
549
|
+
{}
|
|
550
|
+
>(createAssertParse, assertParsePure);
|
|
551
|
+
export { createAssertParsePure as createAssertParse };
|
|
481
552
|
|
|
482
553
|
/**
|
|
483
554
|
* Creates a reusable {@link validateParse} function.
|
|
@@ -488,7 +559,7 @@ export function createAssertParse<T>(): (input: string) => Primitive<T> {
|
|
|
488
559
|
*
|
|
489
560
|
* @author Jeongho Nam - https://github.com/samchon
|
|
490
561
|
*/
|
|
491
|
-
|
|
562
|
+
function createValidateParse(): never;
|
|
492
563
|
|
|
493
564
|
/**
|
|
494
565
|
* Creates a reusable {@link validateParse} function.
|
|
@@ -498,19 +569,23 @@ export function createValidateParse(): never;
|
|
|
498
569
|
*
|
|
499
570
|
* @author Jeongho Nam - https://github.com/samchon
|
|
500
571
|
*/
|
|
501
|
-
|
|
502
|
-
input: string,
|
|
503
|
-
) => IValidation<Primitive<T>>;
|
|
572
|
+
function createValidateParse<T>(): (input: string) => IValidation<Primitive<T>>;
|
|
504
573
|
|
|
505
574
|
/**
|
|
506
575
|
* @internal
|
|
507
576
|
*/
|
|
508
|
-
|
|
577
|
+
function createValidateParse<T>(): (
|
|
509
578
|
input: string,
|
|
510
579
|
) => IValidation<Primitive<T>> {
|
|
511
580
|
halt("createValidateParse");
|
|
512
581
|
}
|
|
513
582
|
|
|
583
|
+
const createValidateParsePure = /** @__PURE__ */ Object.assign<
|
|
584
|
+
typeof createValidateParse,
|
|
585
|
+
{}
|
|
586
|
+
>(createValidateParse, validateParsePure);
|
|
587
|
+
export { createValidateParsePure as createValidateParse };
|
|
588
|
+
|
|
514
589
|
/**
|
|
515
590
|
* Creates a reusable {@link stringify} function.
|
|
516
591
|
*
|
|
@@ -520,7 +595,7 @@ export function createValidateParse<T>(): (
|
|
|
520
595
|
*
|
|
521
596
|
* @author Jeongho Nam - https://github.com/samchon
|
|
522
597
|
*/
|
|
523
|
-
|
|
598
|
+
function createStringify(): never;
|
|
524
599
|
|
|
525
600
|
/**
|
|
526
601
|
* Creates a reusable {@link stringify} function.
|
|
@@ -530,43 +605,61 @@ export function createStringify(): never;
|
|
|
530
605
|
*
|
|
531
606
|
* @author Jeongho Nam - https://github.com/samchon
|
|
532
607
|
*/
|
|
533
|
-
|
|
608
|
+
function createStringify<T>(): (input: T) => string;
|
|
534
609
|
|
|
535
610
|
/**
|
|
536
611
|
* @internal
|
|
537
612
|
*/
|
|
538
|
-
|
|
613
|
+
function createStringify<T>(): (input: T) => string {
|
|
539
614
|
halt("createStringify");
|
|
540
615
|
}
|
|
541
616
|
|
|
617
|
+
const createStringifyPure = /** @__PURE__ */ Object.assign<
|
|
618
|
+
typeof createStringify,
|
|
619
|
+
{}
|
|
620
|
+
>(createStringify, stringifyPure);
|
|
621
|
+
export { createStringifyPure as createStringify };
|
|
622
|
+
|
|
542
623
|
/**
|
|
543
624
|
* Creates a reusable {@link assertStringify} function.
|
|
544
625
|
*
|
|
545
626
|
* @danger You must configure the generic argument `T`
|
|
627
|
+
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
546
628
|
* @returns Nothing until you configure the generic argument `T`
|
|
547
629
|
* @throws compile error
|
|
548
630
|
*
|
|
549
631
|
* @author Jeongho Nam - https://github.com/samchon
|
|
550
632
|
*/
|
|
551
|
-
|
|
633
|
+
function createAssertStringify(
|
|
634
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
635
|
+
): never;
|
|
552
636
|
|
|
553
637
|
/**
|
|
554
638
|
* Creates a reusable {@link assertStringify} function.
|
|
555
639
|
*
|
|
556
640
|
* @template T Type of the input value
|
|
641
|
+
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
557
642
|
* @returns A reusable `assertStringify` function
|
|
558
643
|
*
|
|
559
644
|
* @author Jeongho Nam - https://github.com/samchon
|
|
560
645
|
*/
|
|
561
|
-
|
|
646
|
+
function createAssertStringify<T>(
|
|
647
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
648
|
+
): (input: unknown) => string;
|
|
562
649
|
|
|
563
650
|
/**
|
|
564
651
|
* @internal
|
|
565
652
|
*/
|
|
566
|
-
|
|
653
|
+
function createAssertStringify(): (input: unknown) => string {
|
|
567
654
|
halt("createAssertStringify");
|
|
568
655
|
}
|
|
569
656
|
|
|
657
|
+
const createAssertStringifyPure = /** @__PURE__ */ Object.assign<
|
|
658
|
+
typeof createAssertStringify,
|
|
659
|
+
{}
|
|
660
|
+
>(createAssertStringify, assertStringifyPure);
|
|
661
|
+
export { createAssertStringifyPure as createAssertStringify };
|
|
662
|
+
|
|
570
663
|
/**
|
|
571
664
|
* Creates a reusable {@link isStringify} function.
|
|
572
665
|
*
|
|
@@ -576,7 +669,7 @@ export function createAssertStringify(): (input: unknown) => string {
|
|
|
576
669
|
*
|
|
577
670
|
* @author Jeongho Nam - https://github.com/samchon
|
|
578
671
|
*/
|
|
579
|
-
|
|
672
|
+
function createIsStringify(): never;
|
|
580
673
|
|
|
581
674
|
/**
|
|
582
675
|
* Creates a reusable {@link isStringify} function.
|
|
@@ -586,15 +679,21 @@ export function createIsStringify(): never;
|
|
|
586
679
|
*
|
|
587
680
|
* @author Jeongho Nam - https://github.com/samchon
|
|
588
681
|
*/
|
|
589
|
-
|
|
682
|
+
function createIsStringify<T>(): (input: unknown) => string | null;
|
|
590
683
|
|
|
591
684
|
/**
|
|
592
685
|
* @internal
|
|
593
686
|
*/
|
|
594
|
-
|
|
687
|
+
function createIsStringify(): (input: unknown) => string | null {
|
|
595
688
|
halt("createIsStringify");
|
|
596
689
|
}
|
|
597
690
|
|
|
691
|
+
const createIsStringifyPure = /** @__PURE__ */ Object.assign<
|
|
692
|
+
typeof createIsStringify,
|
|
693
|
+
{}
|
|
694
|
+
>(createIsStringify, isStringifyPure);
|
|
695
|
+
export { createIsStringifyPure as createIsStringify };
|
|
696
|
+
|
|
598
697
|
/**
|
|
599
698
|
* Creates a reusable {@link validateStringify} function.
|
|
600
699
|
*
|
|
@@ -604,7 +703,7 @@ export function createIsStringify(): (input: unknown) => string | null {
|
|
|
604
703
|
*
|
|
605
704
|
* @author Jeongho Nam - https://github.com/samchon
|
|
606
705
|
*/
|
|
607
|
-
|
|
706
|
+
function createValidateStringify(): never;
|
|
608
707
|
|
|
609
708
|
/**
|
|
610
709
|
* Creates a reusable {@link validateStringify} function.
|
|
@@ -614,19 +713,21 @@ export function createValidateStringify(): never;
|
|
|
614
713
|
|
|
615
714
|
* @author Jeongho Nam - https://github.com/samchon
|
|
616
715
|
*/
|
|
617
|
-
|
|
618
|
-
input: unknown,
|
|
619
|
-
) => IValidation<string>;
|
|
716
|
+
function createValidateStringify<T>(): (input: unknown) => IValidation<string>;
|
|
620
717
|
|
|
621
718
|
/**
|
|
622
719
|
* @internal
|
|
623
720
|
*/
|
|
624
|
-
|
|
625
|
-
input: unknown,
|
|
626
|
-
) => IValidation<string> {
|
|
721
|
+
function createValidateStringify(): (input: unknown) => IValidation<string> {
|
|
627
722
|
halt("createValidateStringify");
|
|
628
723
|
}
|
|
629
724
|
|
|
725
|
+
const createValidateStringifyPure = /** @__PURE__ */ Object.assign<
|
|
726
|
+
typeof createValidateStringify,
|
|
727
|
+
{}
|
|
728
|
+
>(createValidateStringify, validateStringifyPure);
|
|
729
|
+
export { createValidateStringifyPure as createValidateStringify };
|
|
730
|
+
|
|
630
731
|
/**
|
|
631
732
|
* @internal
|
|
632
733
|
*/
|