typia 13.1.1 → 13.2.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 +3 -0
- package/lib/_virtual/_rolldown/runtime.mjs +1 -5
- package/lib/executable/FileSystemIdentity.d.ts +44 -0
- package/lib/executable/FileSystemIdentity.js +213 -0
- package/lib/executable/FileSystemIdentity.js.map +1 -0
- package/lib/executable/FileSystemIdentity.mjs +133 -0
- package/lib/executable/FileSystemIdentity.mjs.map +1 -0
- package/lib/executable/TypiaGenerateWizard.js +272 -106
- package/lib/executable/TypiaGenerateWizard.js.map +1 -1
- package/lib/executable/TypiaGenerateWizard.mjs +239 -95
- package/lib/executable/TypiaGenerateWizard.mjs.map +1 -1
- package/lib/functional.d.ts +15 -12
- package/lib/functional.js.map +1 -1
- package/lib/functional.mjs.map +1 -1
- package/lib/internal/_ProtobufReader.d.ts +32 -0
- package/lib/internal/_ProtobufReader.js +148 -48
- package/lib/internal/_ProtobufReader.js.map +1 -1
- package/lib/internal/_ProtobufReader.mjs +137 -41
- package/lib/internal/_ProtobufReader.mjs.map +1 -1
- package/lib/internal/_createStandardSchema.js +18 -1
- package/lib/internal/_createStandardSchema.js.map +1 -1
- package/lib/internal/_createStandardSchema.mjs +12 -1
- package/lib/internal/_createStandardSchema.mjs.map +1 -1
- package/lib/internal/_decimal.d.ts +14 -0
- package/lib/internal/_decimal.js +61 -0
- package/lib/internal/_decimal.js.map +1 -0
- package/lib/internal/_decimal.mjs +49 -0
- package/lib/internal/_decimal.mjs.map +1 -0
- package/lib/internal/_httpQueryParseURLSearchParams.js +23 -2
- package/lib/internal/_httpQueryParseURLSearchParams.js.map +1 -1
- package/lib/internal/_httpQueryParseURLSearchParams.mjs +20 -2
- package/lib/internal/_httpQueryParseURLSearchParams.mjs.map +1 -1
- package/lib/internal/_isFormatByte.js +2 -5
- package/lib/internal/_isFormatByte.js.map +1 -1
- package/lib/internal/_isFormatByte.mjs +2 -5
- package/lib/internal/_isFormatByte.mjs.map +1 -1
- package/lib/internal/_isFormatDate.js +15 -2
- package/lib/internal/_isFormatDate.js.map +1 -1
- package/lib/internal/_isFormatDate.mjs +22 -2
- package/lib/internal/_isFormatDate.mjs.map +1 -1
- package/lib/internal/_isFormatDateTime.js +21 -2
- package/lib/internal/_isFormatDateTime.js.map +1 -1
- package/lib/internal/_isFormatDateTime.mjs +13 -2
- package/lib/internal/_isFormatDateTime.mjs.map +1 -1
- package/lib/internal/_isFormatIri.js +3 -2
- package/lib/internal/_isFormatIri.js.map +1 -1
- package/lib/internal/_isFormatIri.mjs +3 -2
- package/lib/internal/_isFormatIri.mjs.map +1 -1
- package/lib/internal/_isFormatIriReference.js +10 -2
- package/lib/internal/_isFormatIriReference.js.map +1 -1
- package/lib/internal/_isFormatIriReference.mjs +9 -2
- package/lib/internal/_isFormatIriReference.mjs.map +1 -1
- package/lib/internal/_isFormatUriReference.js +1 -1
- package/lib/internal/_isFormatUriReference.js.map +1 -1
- package/lib/internal/_isFormatUriReference.mjs +1 -1
- package/lib/internal/_isFormatUriReference.mjs.map +1 -1
- package/lib/internal/_isMultipleOf.d.ts +1 -0
- package/lib/internal/_isMultipleOf.js +13 -0
- package/lib/internal/_isMultipleOf.js.map +1 -0
- package/lib/internal/_isMultipleOf.mjs +12 -0
- package/lib/internal/_isMultipleOf.mjs.map +1 -0
- package/lib/internal/_isTypeFloat.js +1 -1
- package/lib/internal/_isTypeFloat.js.map +1 -1
- package/lib/internal/_isTypeFloat.mjs +1 -1
- package/lib/internal/_isTypeFloat.mjs.map +1 -1
- package/lib/internal/_isTypeInt64.js +1 -0
- package/lib/internal/_isTypeInt64.js.map +1 -1
- package/lib/internal/_isTypeInt64.mjs.map +1 -1
- package/lib/internal/_isTypeInt64Bigint.d.ts +1 -0
- package/lib/internal/_isTypeInt64Bigint.js +15 -0
- package/lib/internal/_isTypeInt64Bigint.js.map +1 -0
- package/lib/internal/_isTypeInt64Bigint.mjs +8 -0
- package/lib/internal/_isTypeInt64Bigint.mjs.map +1 -0
- package/lib/internal/_isTypeUint64.js +1 -0
- package/lib/internal/_isTypeUint64.js.map +1 -1
- package/lib/internal/_isTypeUint64.mjs.map +1 -1
- package/lib/internal/_isTypeUint64Bigint.d.ts +1 -0
- package/lib/internal/_isTypeUint64Bigint.js +10 -0
- package/lib/internal/_isTypeUint64Bigint.js.map +1 -0
- package/lib/internal/_isTypeUint64Bigint.mjs +8 -0
- package/lib/internal/_isTypeUint64Bigint.mjs.map +1 -0
- package/lib/internal/_isUniqueItems.js +96 -109
- package/lib/internal/_isUniqueItems.js.map +1 -1
- package/lib/internal/_isUniqueItems.mjs +62 -50
- package/lib/internal/_isUniqueItems.mjs.map +1 -1
- package/lib/internal/_jsonStringifyArray.d.ts +1 -0
- package/lib/internal/_jsonStringifyArray.js +48 -0
- package/lib/internal/_jsonStringifyArray.js.map +1 -0
- package/lib/internal/_jsonStringifyArray.mjs +40 -0
- package/lib/internal/_jsonStringifyArray.mjs.map +1 -0
- package/lib/internal/_jsonStringifyElement.d.ts +1 -0
- package/lib/internal/_jsonStringifyElement.js +23 -0
- package/lib/internal/_jsonStringifyElement.js.map +1 -0
- package/lib/internal/_jsonStringifyElement.mjs +23 -0
- package/lib/internal/_jsonStringifyElement.mjs.map +1 -0
- package/lib/internal/_jsonStringifyProperty.d.ts +1 -0
- package/lib/internal/_jsonStringifyProperty.js +31 -0
- package/lib/internal/_jsonStringifyProperty.js.map +1 -0
- package/lib/internal/_jsonStringifyProperty.mjs +31 -0
- package/lib/internal/_jsonStringifyProperty.mjs.map +1 -0
- package/lib/internal/_llmApplicationFinalize.js +1 -1
- package/lib/internal/_llmApplicationFinalize.js.map +1 -1
- package/lib/internal/_llmApplicationFinalize.mjs +1 -1
- package/lib/internal/_llmApplicationFinalize.mjs.map +1 -1
- package/lib/internal/_notationAny.js +8 -1
- package/lib/internal/_notationAny.js.map +1 -1
- package/lib/internal/_notationAny.mjs +7 -1
- package/lib/internal/_notationAny.mjs.map +1 -1
- package/lib/internal/_notationAssign.d.ts +1 -0
- package/lib/internal/_notationAssign.js +18 -0
- package/lib/internal/_notationAssign.js.map +1 -0
- package/lib/internal/_notationAssign.mjs +17 -0
- package/lib/internal/_notationAssign.mjs.map +1 -0
- package/lib/internal/_notationCamel.js +30 -9
- package/lib/internal/_notationCamel.js.map +1 -1
- package/lib/internal/_notationCamel.mjs +13 -5
- package/lib/internal/_notationCamel.mjs.map +1 -1
- package/lib/internal/_notationKebab.d.ts +1 -0
- package/lib/internal/_notationKebab.js +15 -0
- package/lib/internal/_notationKebab.js.map +1 -0
- package/lib/internal/_notationKebab.mjs +15 -0
- package/lib/internal/_notationKebab.mjs.map +1 -0
- package/lib/internal/_notationKeyCollision.d.ts +1 -0
- package/lib/internal/_notationKeyCollision.js +8 -0
- package/lib/internal/_notationKeyCollision.js.map +1 -0
- package/lib/internal/_notationKeyCollision.mjs +8 -0
- package/lib/internal/_notationKeyCollision.mjs.map +1 -0
- package/lib/internal/_notationPascal.js +20 -5
- package/lib/internal/_notationPascal.js.map +1 -1
- package/lib/internal/_notationPascal.mjs +10 -5
- package/lib/internal/_notationPascal.mjs.map +1 -1
- package/lib/internal/_notationSnake.js +25 -22
- package/lib/internal/_notationSnake.js.map +1 -1
- package/lib/internal/_notationSnake.mjs +11 -11
- package/lib/internal/_notationSnake.mjs.map +1 -1
- package/lib/internal/_plainCloneAny.js +174 -38
- package/lib/internal/_plainCloneAny.js.map +1 -1
- package/lib/internal/_plainCloneAny.mjs +126 -22
- package/lib/internal/_plainCloneAny.mjs.map +1 -1
- package/lib/internal/_randomArray.d.ts +1 -1
- package/lib/internal/_randomArray.js +11 -4
- package/lib/internal/_randomArray.js.map +1 -1
- package/lib/internal/_randomArray.mjs +9 -3
- package/lib/internal/_randomArray.mjs.map +1 -1
- package/lib/internal/_randomFormatByte.d.ts +2 -1
- package/lib/internal/_randomFormatByte.js +25 -1
- package/lib/internal/_randomFormatByte.js.map +1 -1
- package/lib/internal/_randomFormatByte.mjs +20 -1
- package/lib/internal/_randomFormatByte.mjs.map +1 -1
- package/lib/internal/_randomFormatDate.d.ts +3 -4
- package/lib/internal/_randomFormatDate.js +3 -10
- package/lib/internal/_randomFormatDate.js.map +1 -1
- package/lib/internal/_randomFormatDate.mjs +3 -6
- package/lib/internal/_randomFormatDate.mjs.map +1 -1
- package/lib/internal/_randomFormatDatetime.d.ts +3 -4
- package/lib/internal/_randomFormatDatetime.js +26 -8
- package/lib/internal/_randomFormatDatetime.js.map +1 -1
- package/lib/internal/_randomFormatDatetime.mjs +17 -6
- package/lib/internal/_randomFormatDatetime.mjs.map +1 -1
- package/lib/internal/_randomFormatDuration.d.ts +2 -1
- package/lib/internal/_randomFormatDuration.js +23 -14
- package/lib/internal/_randomFormatDuration.js.map +1 -1
- package/lib/internal/_randomFormatDuration.mjs +22 -13
- package/lib/internal/_randomFormatDuration.mjs.map +1 -1
- package/lib/internal/_randomFormatEmail.d.ts +2 -1
- package/lib/internal/_randomFormatEmail.js +8 -1
- package/lib/internal/_randomFormatEmail.js.map +1 -1
- package/lib/internal/_randomFormatEmail.mjs +5 -1
- package/lib/internal/_randomFormatEmail.mjs.map +1 -1
- package/lib/internal/_randomFormatHostname.d.ts +8 -1
- package/lib/internal/_randomFormatHostname.js +45 -2
- package/lib/internal/_randomFormatHostname.js.map +1 -1
- package/lib/internal/_randomFormatHostname.mjs +38 -2
- package/lib/internal/_randomFormatHostname.mjs.map +1 -1
- package/lib/internal/_randomFormatIdnEmail.d.ts +2 -1
- package/lib/internal/_randomFormatIdnEmail.js +16 -2
- package/lib/internal/_randomFormatIdnEmail.js.map +1 -1
- package/lib/internal/_randomFormatIdnEmail.mjs +11 -2
- package/lib/internal/_randomFormatIdnEmail.mjs.map +1 -1
- package/lib/internal/_randomFormatIdnHostname.d.ts +2 -1
- package/lib/internal/_randomFormatIdnHostname.js +26 -1
- package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
- package/lib/internal/_randomFormatIdnHostname.mjs +25 -2
- package/lib/internal/_randomFormatIdnHostname.mjs.map +1 -1
- package/lib/internal/_randomFormatIpv4.d.ts +2 -1
- package/lib/internal/_randomFormatIpv4.js +32 -1
- package/lib/internal/_randomFormatIpv4.js.map +1 -1
- package/lib/internal/_randomFormatIpv4.mjs +23 -1
- package/lib/internal/_randomFormatIpv4.mjs.map +1 -1
- package/lib/internal/_randomFormatIpv6.d.ts +2 -1
- package/lib/internal/_randomFormatIpv6.js +58 -1
- package/lib/internal/_randomFormatIpv6.js.map +1 -1
- package/lib/internal/_randomFormatIpv6.mjs +45 -1
- package/lib/internal/_randomFormatIpv6.mjs.map +1 -1
- package/lib/internal/_randomFormatIri.d.ts +2 -1
- package/lib/internal/_randomFormatIri.js +1 -1
- package/lib/internal/_randomFormatIri.js.map +1 -1
- package/lib/internal/_randomFormatIri.mjs +1 -1
- package/lib/internal/_randomFormatIri.mjs.map +1 -1
- package/lib/internal/_randomFormatIriReference.d.ts +2 -1
- package/lib/internal/_randomFormatIriReference.js +1 -1
- package/lib/internal/_randomFormatIriReference.js.map +1 -1
- package/lib/internal/_randomFormatIriReference.mjs +1 -1
- package/lib/internal/_randomFormatIriReference.mjs.map +1 -1
- package/lib/internal/_randomFormatJsonPointer.d.ts +2 -1
- package/lib/internal/_randomFormatJsonPointer.js +20 -1
- package/lib/internal/_randomFormatJsonPointer.js.map +1 -1
- package/lib/internal/_randomFormatJsonPointer.mjs +15 -1
- package/lib/internal/_randomFormatJsonPointer.mjs.map +1 -1
- package/lib/internal/_randomFormatPassword.d.ts +2 -1
- package/lib/internal/_randomFormatPassword.js +7 -5
- package/lib/internal/_randomFormatPassword.js.map +1 -1
- package/lib/internal/_randomFormatPassword.mjs +5 -1
- package/lib/internal/_randomFormatPassword.mjs.map +1 -1
- package/lib/internal/_randomFormatRegex.d.ts +2 -1
- package/lib/internal/_randomFormatRegex.js +15 -1
- package/lib/internal/_randomFormatRegex.js.map +1 -1
- package/lib/internal/_randomFormatRegex.mjs +14 -1
- package/lib/internal/_randomFormatRegex.mjs.map +1 -1
- package/lib/internal/_randomFormatRelativeJsonPointer.d.ts +2 -1
- package/lib/internal/_randomFormatRelativeJsonPointer.js +20 -5
- package/lib/internal/_randomFormatRelativeJsonPointer.js.map +1 -1
- package/lib/internal/_randomFormatRelativeJsonPointer.mjs +21 -5
- package/lib/internal/_randomFormatRelativeJsonPointer.mjs.map +1 -1
- package/lib/internal/_randomFormatTime.d.ts +2 -1
- package/lib/internal/_randomFormatTime.js +34 -7
- package/lib/internal/_randomFormatTime.js.map +1 -1
- package/lib/internal/_randomFormatTime.mjs +37 -4
- package/lib/internal/_randomFormatTime.mjs.map +1 -1
- package/lib/internal/_randomFormatUri.d.ts +2 -1
- package/lib/internal/_randomFormatUri.js +1 -1
- package/lib/internal/_randomFormatUri.js.map +1 -1
- package/lib/internal/_randomFormatUri.mjs +1 -1
- package/lib/internal/_randomFormatUri.mjs.map +1 -1
- package/lib/internal/_randomFormatUriReference.d.ts +2 -1
- package/lib/internal/_randomFormatUriReference.js +1 -1
- package/lib/internal/_randomFormatUriReference.js.map +1 -1
- package/lib/internal/_randomFormatUriReference.mjs +1 -1
- package/lib/internal/_randomFormatUriReference.mjs.map +1 -1
- package/lib/internal/_randomFormatUriTemplate.d.ts +2 -1
- package/lib/internal/_randomFormatUriTemplate.js +1 -1
- package/lib/internal/_randomFormatUriTemplate.js.map +1 -1
- package/lib/internal/_randomFormatUriTemplate.mjs +1 -1
- package/lib/internal/_randomFormatUriTemplate.mjs.map +1 -1
- package/lib/internal/_randomFormatUrl.d.ts +2 -1
- package/lib/internal/_randomFormatUrl.js +21 -1
- package/lib/internal/_randomFormatUrl.js.map +1 -1
- package/lib/internal/_randomFormatUrl.mjs +18 -1
- package/lib/internal/_randomFormatUrl.mjs.map +1 -1
- package/lib/internal/_randomFormatUuid.d.ts +2 -1
- package/lib/internal/_randomFormatUuid.js +3 -2
- package/lib/internal/_randomFormatUuid.js.map +1 -1
- package/lib/internal/_randomFormatUuid.mjs +3 -2
- package/lib/internal/_randomFormatUuid.mjs.map +1 -1
- package/lib/internal/_randomInteger.js +59 -28
- package/lib/internal/_randomInteger.js.map +1 -1
- package/lib/internal/_randomInteger.mjs +56 -16
- package/lib/internal/_randomInteger.mjs.map +1 -1
- package/lib/internal/_randomMultiple.d.ts +8 -0
- package/lib/internal/_randomMultiple.js +168 -0
- package/lib/internal/_randomMultiple.js.map +1 -0
- package/lib/internal/_randomMultiple.mjs +158 -0
- package/lib/internal/_randomMultiple.mjs.map +1 -0
- package/lib/internal/_randomNumber.js +42 -42
- package/lib/internal/_randomNumber.js.map +1 -1
- package/lib/internal/_randomNumber.mjs +41 -27
- package/lib/internal/_randomNumber.mjs.map +1 -1
- package/lib/internal/_randomPattern.d.ts +2 -1
- package/lib/internal/_randomPattern.js +19 -4
- package/lib/internal/_randomPattern.js.map +1 -1
- package/lib/internal/_randomPattern.mjs +10 -4
- package/lib/internal/_randomPattern.mjs.map +1 -1
- package/lib/internal/_randomStringLength.d.ts +64 -0
- package/lib/internal/_randomStringLength.js +84 -0
- package/lib/internal/_randomStringLength.js.map +1 -0
- package/lib/internal/_randomStringLength.mjs +79 -0
- package/lib/internal/_randomStringLength.mjs.map +1 -0
- package/lib/internal/_stringLength.d.ts +1 -0
- package/lib/internal/_stringLength.js +11 -0
- package/lib/internal/_stringLength.js.map +1 -0
- package/lib/internal/_stringLength.mjs +10 -0
- package/lib/internal/_stringLength.mjs.map +1 -0
- package/lib/internal/_validateReport.js +4 -1
- package/lib/internal/_validateReport.js.map +1 -1
- package/lib/internal/_validateReport.mjs +2 -1
- package/lib/internal/_validateReport.mjs.map +1 -1
- package/lib/internal/private/__notationRename.d.ts +14 -0
- package/lib/internal/private/__notationRename.js +25 -0
- package/lib/internal/private/__notationRename.js.map +1 -0
- package/lib/internal/private/__notationRename.mjs +24 -0
- package/lib/internal/private/__notationRename.mjs.map +1 -0
- package/lib/internal/private/__randomComposition.d.ts +23 -0
- package/lib/internal/private/__randomComposition.js +48 -0
- package/lib/internal/private/__randomComposition.js.map +1 -0
- package/lib/internal/private/__randomComposition.mjs +54 -0
- package/lib/internal/private/__randomComposition.mjs.map +1 -0
- package/lib/internal/private/__randomEpoch.d.ts +19 -0
- package/lib/internal/private/__randomEpoch.js +31 -0
- package/lib/internal/private/__randomEpoch.js.map +1 -0
- package/lib/internal/private/__randomEpoch.mjs +28 -0
- package/lib/internal/private/__randomEpoch.mjs.map +1 -0
- package/lib/json.d.ts +2 -2
- package/lib/json.mjs.map +1 -1
- package/lib/module.d.ts +2 -2
- package/lib/module.js.map +1 -1
- package/lib/module.mjs.map +1 -1
- package/lib/notations.d.ts +20 -4
- package/lib/notations.js.map +1 -1
- package/lib/notations.mjs.map +1 -1
- package/native/adapter/plugin_options.go +117 -0
- package/native/adapter/plugin_options_payload_matrix_test.go +181 -0
- package/native/cmd/ttsc-typia/any_array_type_tags_transform_test.go +63 -9
- package/native/cmd/ttsc-typia/assert_guard_factory_contract_test.go +152 -0
- package/native/cmd/ttsc-typia/build.go +84 -64
- package/native/cmd/ttsc-typia/build_no_emit_preserves_analysis_options_test.go +67 -0
- package/native/cmd/ttsc-typia/build_no_emit_transform_diagnostics_test.go +138 -0
- package/native/cmd/ttsc-typia/build_plugin_options_come_from_payload_test.go +48 -0
- package/native/cmd/ttsc-typia/build_transactional_emit_success_test.go +81 -0
- package/native/cmd/ttsc-typia/build_transform_failure_atomicity_test.go +138 -0
- package/native/cmd/ttsc-typia/callable_interface_function_semantics_transform_test.go +331 -0
- package/native/cmd/ttsc-typia/callable_type_literal_boundaries_transform_test.go +1184 -0
- package/native/cmd/ttsc-typia/command_routes_and_diagnostics_coverage_test.go +3 -1
- package/native/cmd/ttsc-typia/compare_functional_union_membership_transform_test.go +434 -0
- package/native/cmd/ttsc-typia/compare_less_nan_transform_test.go +98 -0
- package/native/cmd/ttsc-typia/compare_native_object_overmatch_transform_test.go +161 -0
- package/native/cmd/ttsc-typia/compare_nondiscriminable_union_transform_test.go +343 -0
- package/native/cmd/ttsc-typia/compare_template_literal_union_transform_test.go +241 -0
- package/native/cmd/ttsc-typia/compare_union_discrimination_transform_test.go +289 -0
- package/native/cmd/ttsc-typia/default_library_spoof_native_identity_transform_test.go +216 -0
- package/native/cmd/ttsc-typia/escaped_property_key_path_transform_test.go +193 -0
- package/native/cmd/ttsc-typia/finite_option_number_leaf_transform_test.go +240 -0
- package/native/cmd/ttsc-typia/functional_promised_type_transform_test.go +220 -0
- package/native/cmd/ttsc-typia/functional_receiver_transform_test.go +232 -0
- package/native/cmd/ttsc-typia/is_object_function_member_transform_test.go +205 -0
- package/native/cmd/ttsc-typia/json_application_alias_function_validation_transform_test.go +151 -0
- package/native/cmd/ttsc-typia/json_is_stringify_finite_number_transform_test.go +198 -0
- package/native/cmd/ttsc-typia/json_schema_dynamic_key_determinism_transform_test.go +246 -0
- package/native/cmd/ttsc-typia/json_stringify_contextual_undefined_transform_test.go +556 -0
- package/native/cmd/ttsc-typia/json_stringify_special_key_transform_test.go +238 -0
- package/native/cmd/ttsc-typia/lib_replacement_native_identity_transform_test.go +277 -0
- package/native/cmd/ttsc-typia/main_wasm.go +21 -2
- package/native/cmd/ttsc-typia/native_collection_identity_is_transform_test.go +234 -0
- package/native/cmd/ttsc-typia/native_generic_name_guard_is_transform_test.go +194 -0
- package/native/cmd/ttsc-typia/native_name_collision_is_transform_test.go +204 -0
- package/native/cmd/ttsc-typia/native_named_intersection_union_transform_test.go +390 -0
- package/native/cmd/ttsc-typia/node_buffer_native_exports_is_transform_test.go +526 -0
- package/native/cmd/ttsc-typia/non_trailing_rest_tuple_transform_test.go +23 -11
- package/native/cmd/ttsc-typia/notation_dynamic_keys_transform_test.go +286 -0
- package/native/cmd/ttsc-typia/notation_kebab_case_transform_test.go +1 -1
- package/native/cmd/ttsc-typia/notation_literal_collision_transform_test.go +164 -0
- package/native/cmd/ttsc-typia/notation_pascal_case_transform_test.go +230 -0
- package/native/cmd/ttsc-typia/notation_unicode_key_transform_test.go +309 -0
- package/native/cmd/ttsc-typia/package_declaration_native_identity_is_transform_test.go +293 -0
- package/native/cmd/ttsc-typia/pattern_line_terminator_escape_transform_test.go +224 -0
- package/native/cmd/ttsc-typia/plain_prune_union_object_overmatch_transform_test.go +219 -0
- package/native/cmd/ttsc-typia/plugin_options_payload_helpers_test.go +181 -0
- package/native/cmd/ttsc-typia/private_field_filter_is_transform_test.go +278 -0
- package/native/cmd/ttsc-typia/project_catalog_transform_coverage_test.go +73 -27
- package/native/cmd/ttsc-typia/project_dependencies_barrel_reexport_transform_test.go +120 -0
- package/native/cmd/ttsc-typia/project_dependencies_collapsed_alias_transform_test.go +134 -0
- package/native/cmd/ttsc-typia/project_dependencies_custom_lib_name_transform_test.go +135 -0
- package/native/cmd/ttsc-typia/project_dependencies_default_barrel_transform_test.go +114 -0
- package/native/cmd/ttsc-typia/project_dependencies_empty_heritage_transform_test.go +100 -0
- package/native/cmd/ttsc-typia/project_dependencies_envelope_transform_test.go +148 -0
- package/native/cmd/ttsc-typia/project_dependencies_index_signature_alias_transform_test.go +139 -0
- package/native/cmd/ttsc-typia/project_dependencies_local_reexport_transform_test.go +122 -0
- package/native/cmd/ttsc-typia/project_dependencies_signature_alias_transform_test.go +125 -0
- package/native/cmd/ttsc-typia/project_dependencies_star_barrel_transform_test.go +112 -0
- package/native/cmd/ttsc-typia/project_reference_graph_envelope_transform_test.go +190 -0
- package/native/cmd/ttsc-typia/protobuf_diagnostic_code_transform_test.go +167 -0
- package/native/cmd/ttsc-typia/protobuf_is_encode_finite_number_transform_test.go +98 -0
- package/native/cmd/ttsc-typia/protobuf_sequence_field_numbers_transform_test.go +52 -22
- package/native/cmd/ttsc-typia/symbol_index_domain_transform_test.go +316 -0
- package/native/cmd/ttsc-typia/symbol_key_member_filter_transform_test.go +279 -0
- package/native/cmd/ttsc-typia/template_interpolation_type_tags_transform_test.go +86 -23
- package/native/cmd/ttsc-typia/template_literal_type_tags_transform_test.go +3 -1
- package/native/cmd/ttsc-typia/transform.go +251 -39
- package/native/cmd/ttsc-typia/{transform_declaration_source_produces_no_js_test.go → transform_declaration_source_produces_no_javascript_test.go} +10 -2
- package/native/cmd/ttsc-typia/transform_fixtures_emit_coverage_test.go +21 -4
- package/native/cmd/ttsc-typia/transform_helpers_test.go +236 -3
- package/native/cmd/ttsc-typia/transform_plugin_options_come_from_payload_test.go +43 -0
- package/native/cmd/ttsc-typia/transform_single_file_failure_atomicity_test.go +114 -0
- package/native/cmd/ttsc-typia/transform_single_file_failure_writes_no_stdout_test.go +43 -0
- package/native/cmd/ttsc-typia/transform_single_file_js_distinguishes_same_basename_sources_test.go +81 -0
- package/native/cmd/ttsc-typia/transform_single_file_js_empty_emit_reports_no_output_test.go +100 -0
- package/native/cmd/ttsc-typia/transform_single_file_js_locates_output_across_layouts_test.go +160 -0
- package/native/cmd/ttsc-typia/transform_single_file_success_publishes_artifact_test.go +54 -0
- package/native/cmd/ttsc-typia/transform_wasm_host_argv_reports_diagnostics_test.go +39 -0
- package/native/cmd/ttsc-typia/tuple_optional_compare_clone_transform_test.go +227 -0
- package/native/cmd/ttsc-typia/user_global_native_identity_transform_test.go +484 -0
- package/native/core/factories/FormatCheatSheet.go +40 -7
- package/native/core/factories/IdentifierFactory.go +131 -4
- package/native/core/factories/MetadataCommentTagFactory.go +83 -40
- package/native/core/factories/MetadataTypeTagFactory.go +13 -1
- package/native/core/factories/NumericRangeFactory.go +60 -17
- package/native/core/factories/ProtobufFactory.go +13 -5
- package/native/core/factories/factory_utility_coverage_test.go +8 -2
- package/native/core/factories/format_alias_resolves_to_cheat_sheet_test.go +57 -0
- package/native/core/factories/format_alias_table_targets_the_cheat_sheet_test.go +44 -0
- package/native/core/factories/identifier_factory_postfix_escapes_every_key_test.go +147 -0
- package/native/core/factories/identifier_factory_postfix_survives_every_code_point_test.go +86 -0
- package/native/core/factories/internal/metadata/MetadataHelper.go +226 -17
- package/native/core/factories/internal/metadata/emplace_metadata_object.go +141 -8
- package/native/core/factories/internal/metadata/iterate_metadata.go +6 -0
- package/native/core/factories/internal/metadata/iterate_metadata_function.go +5 -12
- package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +111 -29
- package/native/core/factories/internal/metadata/iterate_metadata_map.go +5 -0
- package/native/core/factories/internal/metadata/iterate_metadata_native.go +45 -2
- package/native/core/factories/internal/metadata/iterate_metadata_set.go +5 -0
- package/native/core/factories/internal/metadata/type_arguments_precondition_test.go +70 -0
- package/native/core/factories/metadata_comment_tag_factory_coverage_test.go +39 -0
- package/native/core/factories/metadata_comment_tag_factory_exclusivity_matches_interface_test.go +84 -0
- package/native/core/factories/metadata_type_tag_factory_accepts_legal_tag_combinations_test.go +60 -0
- package/native/core/factories/metadata_type_tag_factory_declarations_test.go +86 -0
- package/native/core/factories/metadata_type_tag_factory_keeps_bool_form_exclusivity_test.go +38 -0
- package/native/core/factories/metadata_type_tag_factory_rejects_cross_kind_exclusive_tags_test.go +65 -0
- package/native/core/factories/metadata_type_tag_factory_rejects_duplicated_array_form_tags_test.go +41 -0
- package/native/core/factories/numeric_range_factory_enforces_64bit_bounds_test.go +69 -0
- package/native/core/factories/protobuf_recovery_ownership_test.go +64 -0
- package/native/core/programmers/IsProgrammer.go +15 -1
- package/native/core/programmers/RandomProgrammer.go +51 -14
- package/native/core/programmers/compare/CompareEqualProgrammer.go +410 -8
- package/native/core/programmers/compare/CompareLessProgrammer.go +4 -2
- package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +4 -6
- package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +5 -13
- package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +6 -14
- package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +4 -6
- package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +49 -14
- package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +5 -13
- package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +4 -6
- package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +5 -13
- package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +5 -13
- package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +4 -17
- package/native/core/programmers/helpers/CloneJoiner.go +32 -0
- package/native/core/programmers/helpers/FunctionProgrammer.go +6 -13
- package/native/core/programmers/helpers/NotationJoiner.go +86 -28
- package/native/core/programmers/helpers/StringifyJoinder.go +161 -51
- package/native/core/programmers/helpers/UnionExplorer.go +203 -61
- package/native/core/programmers/helpers/joiner_branch_coverage_test.go +116 -118
- package/native/core/programmers/helpers/union_explorer_coverage_test.go +1 -1
- package/native/core/programmers/internal/CheckerProgrammer.go +100 -48
- package/native/core/programmers/iterate/check_template.go +344 -32
- package/native/core/programmers/iterate/iterate_check_coverage_test.go +76 -158
- package/native/core/programmers/iterate/iterate_utility_coverage_test.go +231 -270
- package/native/core/programmers/iterate/json_schema_discriminator.go +36 -10
- package/native/core/programmers/iterate/json_schema_discriminator_declaration_syntax_test.go +205 -0
- package/native/core/programmers/iterate/json_schema_object.go +49 -7
- package/native/core/programmers/iterate/json_schema_pattern_property_order_test.go +44 -0
- package/native/core/programmers/iterate/openapi_v3_downgrader.go +674 -0
- package/native/core/programmers/iterate/openapi_v3_downgrader_boolean_default_test.go +95 -0
- package/native/core/programmers/iterate/openapi_v3_downgrader_test.go +123 -0
- package/native/core/programmers/iterate/template_interpolation_tags_test.go +40 -8
- package/native/core/programmers/iterate/template_runtime_pattern.go +63 -7
- package/native/core/programmers/json/JsonApplicationProgrammer.go +45 -11
- package/native/core/programmers/json/JsonSchemasProgrammer.go +12 -2
- package/native/core/programmers/json/JsonStringifyProgrammer.go +47 -6
- package/native/core/programmers/llm/LlmApplicationProgrammer.go +21 -11
- package/native/core/programmers/llm/LlmSchemaProgrammer.go +23 -6
- package/native/core/programmers/llm/llm_reference_codec_test.go +24 -0
- package/native/core/programmers/notations/NotationGeneralProgrammer.go +183 -67
- package/native/core/programmers/notations/notation_general_helpers_test.go +1 -3
- package/native/core/programmers/notations/notation_general_programmer_pascal_multiword_test.go +72 -0
- package/native/core/programmers/notations/notation_general_programmer_underscore_boundary_test.go +68 -0
- package/native/core/programmers/plain/PlainClassifyProgrammer.go +23 -15
- package/native/core/programmers/plain/PlainCloneProgrammer.go +20 -7
- package/native/core/programmers/plain/PlainPruneProgrammer.go +19 -5
- package/native/core/programmers/plain/plain_tuple_seed_recovery_ownership_test.go +25 -0
- package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +37 -28
- package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +41 -22
- package/native/core/programmers/protobuf/protobuf_programmer_helper_coverage_test.go +26 -0
- package/native/core/programmers/random_programmer_length_argument_test.go +53 -0
- package/native/core/schemas/metadata/MetadataCollection.go +266 -25
- package/native/core/schemas/metadata/MetadataDefaultLibrary.go +81 -0
- package/native/core/schemas/metadata/MetadataDependency.go +388 -0
- package/native/core/schemas/metadata/MetadataObjectType.go +24 -22
- package/native/core/schemas/metadata/metadata_collection_generic_argument_dot_test.go +122 -0
- package/native/core/schemas/metadata/metadata_collection_name_allocation_test.go +147 -0
- package/native/core/schemas/metadata/metadata_collection_openapi_name_cascade_test.go +55 -0
- package/native/core/schemas/metadata/metadata_collection_openapi_name_test.go +68 -0
- package/native/core/utils/PatternUtil.go +13 -0
- package/native/core/utils/PromiseTypeFactory.go +59 -0
- package/native/core/utils/ProtobufNameEncoder.go +8 -0
- package/native/core/utils/promise_type_factory_semantics_test.go +118 -0
- package/native/go.mod +9 -1
- package/native/transform/CallExpressionTransformer.go +12 -0
- package/native/transform/features/json/JsonApplicationTransformer.go +1 -1
- package/native/transform/features/json/JsonSchemaTransformer.go +1 -1
- package/native/transform/features/json/JsonSchemasTransformer.go +5 -4
- package/native/transform/features/protobuf/ProtobufMessageTransformer.go +1 -1
- package/package.json +12 -4
- package/src/executable/FileSystemIdentity.ts +222 -0
- package/src/executable/TypiaGenerateWizard.ts +386 -113
- package/src/functional.ts +30 -60
- package/src/internal/_ProtobufReader.ts +161 -46
- package/src/internal/_createStandardSchema.ts +15 -1
- package/src/internal/_decimal.ts +69 -0
- package/src/internal/_httpQueryParseURLSearchParams.ts +24 -2
- package/src/internal/_isFormatByte.ts +2 -5
- package/src/internal/_isFormatDate.ts +15 -2
- package/src/internal/_isFormatDateTime.ts +28 -2
- package/src/internal/_isFormatIri.ts +5 -2
- package/src/internal/_isFormatIriReference.ts +11 -3
- package/src/internal/_isFormatUriReference.ts +1 -1
- package/src/internal/_isMultipleOf.ts +8 -0
- package/src/internal/_isTypeFloat.ts +1 -1
- package/src/internal/_isTypeInt64.ts +1 -0
- package/src/internal/_isTypeInt64Bigint.ts +12 -0
- package/src/internal/_isTypeUint64.ts +1 -0
- package/src/internal/_isTypeUint64Bigint.ts +7 -0
- package/src/internal/_isUniqueItems.ts +134 -132
- package/src/internal/_jsonStringifyArray.ts +50 -0
- package/src/internal/_jsonStringifyElement.ts +19 -0
- package/src/internal/_jsonStringifyProperty.ts +30 -0
- package/src/internal/_llmApplicationFinalize.ts +6 -1
- package/src/internal/_notationAny.ts +9 -4
- package/src/internal/_notationAssign.ts +20 -0
- package/src/internal/_notationCamel.ts +31 -10
- package/src/internal/_notationKebab.ts +11 -0
- package/src/internal/_notationKeyCollision.ts +9 -0
- package/src/internal/_notationPascal.ts +19 -6
- package/src/internal/_notationSnake.ts +24 -21
- package/src/internal/_plainCloneAny.ts +208 -33
- package/src/internal/_randomArray.ts +13 -4
- package/src/internal/_randomFormatByte.ts +31 -1
- package/src/internal/_randomFormatDate.ts +6 -17
- package/src/internal/_randomFormatDatetime.ts +34 -15
- package/src/internal/_randomFormatDuration.ts +30 -13
- package/src/internal/_randomFormatEmail.ts +8 -2
- package/src/internal/_randomFormatHostname.ts +48 -1
- package/src/internal/_randomFormatIdnEmail.ts +18 -2
- package/src/internal/_randomFormatIdnHostname.ts +34 -2
- package/src/internal/_randomFormatIpv4.ts +43 -2
- package/src/internal/_randomFormatIpv6.ts +67 -2
- package/src/internal/_randomFormatIri.ts +3 -1
- package/src/internal/_randomFormatIriReference.ts +3 -1
- package/src/internal/_randomFormatJsonPointer.ts +28 -2
- package/src/internal/_randomFormatPassword.ts +11 -6
- package/src/internal/_randomFormatRegex.ts +22 -1
- package/src/internal/_randomFormatRelativeJsonPointer.ts +26 -6
- package/src/internal/_randomFormatTime.ts +46 -10
- package/src/internal/_randomFormatUri.ts +3 -1
- package/src/internal/_randomFormatUriReference.ts +3 -1
- package/src/internal/_randomFormatUriTemplate.ts +3 -1
- package/src/internal/_randomFormatUrl.ts +25 -2
- package/src/internal/_randomFormatUuid.ts +10 -6
- package/src/internal/_randomInteger.ts +87 -40
- package/src/internal/_randomMultiple.ts +245 -0
- package/src/internal/_randomNumber.ts +72 -55
- package/src/internal/_randomPattern.ts +29 -4
- package/src/internal/_randomStringLength.ts +116 -0
- package/src/internal/_stringLength.ts +5 -0
- package/src/internal/_validateReport.ts +5 -1
- package/src/internal/private/__notationRename.ts +21 -0
- package/src/internal/private/__randomComposition.ts +50 -0
- package/src/internal/private/__randomEpoch.ts +34 -0
- package/src/json.ts +2 -2
- package/src/module.ts +4 -6
- package/src/notations.ts +20 -4
- package/lib/internal/private/__notationCapitalize.d.ts +0 -1
- package/lib/internal/private/__notationCapitalize.js +0 -6
- package/lib/internal/private/__notationCapitalize.js.map +0 -1
- package/lib/internal/private/__notationCapitalize.mjs +0 -6
- package/lib/internal/private/__notationCapitalize.mjs.map +0 -1
- package/lib/internal/private/__notationUnsnake.d.ts +0 -4
- package/lib/internal/private/__notationUnsnake.js +0 -26
- package/lib/internal/private/__notationUnsnake.js.map +0 -1
- package/lib/internal/private/__notationUnsnake.mjs +0 -15
- package/lib/internal/private/__notationUnsnake.mjs.map +0 -1
- package/native/adapter/visit.go +0 -173
- package/native/adapter/visit_property_chain_edges_test.go +0 -129
- package/native/cmd/ttsc-typia/plugin_options_missing_config_test.go +0 -26
- package/native/cmd/ttsc-typia/plugin_options_undefined_false_test.go +0 -36
- package/native/core/programmers/helpers/disable_function_programmer_declare.go +0 -10
- package/native/core/programmers/iterate/check_union_array_like.go +0 -422
- package/native/core/programmers/iterate/prune_object_properties.go +0 -105
- package/native/core/programmers/iterate/stringify_dynamic_properties.go +0 -219
- package/native/core/programmers/iterate/stringify_native.go +0 -14
- package/native/core/programmers/iterate/stringify_regular_properties.go +0 -112
- package/native/core/schemas/metadata/MetadataApplication.go +0 -41
- package/src/internal/private/__notationCapitalize.ts +0 -2
- package/src/internal/private/__notationUnsnake.ts +0 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_isUniqueItems.mjs","names":[],"sources":["../../src/internal/_isUniqueItems.ts"],"sourcesContent":["export const _isUniqueItems = (elements: any[]): boolean => {\n
|
|
1
|
+
{"version":3,"file":"_isUniqueItems.mjs","names":[],"sources":["../../src/internal/_isUniqueItems.ts"],"sourcesContent":["export const _isUniqueItems = (elements: any[]): boolean => {\n for (let i = 0; i < elements.length; i++)\n for (let j = i + 1; j < elements.length; j++)\n if (equals(new WeakMap())(elements[i], elements[j])) return false;\n return true;\n};\n\nconst equals = (visited: WeakMap<object, WeakMap<object, boolean>>) => {\n const next = (a: any, b: any): boolean => {\n if (a === b) return true;\n if (\n a === null ||\n b === null ||\n typeof a !== \"object\" ||\n typeof b !== \"object\"\n )\n return false;\n\n const previous: boolean | undefined = visited.get(a)?.get(b);\n if (previous !== undefined) return previous;\n const pairs: WeakMap<object, boolean> =\n visited.get(a) ?? new WeakMap<object, boolean>();\n visited.set(a, pairs);\n pairs.set(b, true);\n\n const result: boolean = compare(a, b);\n pairs.set(b, result);\n return result;\n };\n\n const compare = (a: object, b: object): boolean => {\n if (Array.isArray(a)) {\n if (!Array.isArray(b) || a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n const aHas: boolean = Object.hasOwn(a, i);\n if (aHas !== Object.hasOwn(b, i) || (aHas && !next(a[i], b[i])))\n return false;\n }\n return true;\n }\n if (Array.isArray(b)) return false;\n\n if (a instanceof Set) {\n if (!(b instanceof Set) || a.size !== b.size) return false;\n const unmatched: any[] = [...b];\n for (const value of a) {\n const index: number = unmatched.findIndex((candidate) =>\n next(value, candidate),\n );\n if (index === -1) return false;\n unmatched.splice(index, 1);\n }\n return true;\n }\n if (a instanceof Map) {\n if (!(b instanceof Map) || a.size !== b.size) return false;\n const unmatched: [any, any][] = [...b];\n for (const [key, value] of a) {\n const index: number = unmatched.findIndex(\n ([candidateKey, candidateValue]) =>\n next(key, candidateKey) && next(value, candidateValue),\n );\n if (index === -1) return false;\n unmatched.splice(index, 1);\n }\n return true;\n }\n\n if (a instanceof Boolean)\n return b instanceof Boolean && a.valueOf() === b.valueOf();\n if (Object.prototype.toString.call(a) === \"[object BigInt]\")\n return (\n Object.prototype.toString.call(b) === \"[object BigInt]\" &&\n a.valueOf() === b.valueOf()\n );\n if (Object.prototype.toString.call(a) === \"[object Symbol]\")\n return (\n Object.prototype.toString.call(b) === \"[object Symbol]\" &&\n a.valueOf() === b.valueOf()\n );\n if (a instanceof Number)\n return b instanceof Number && a.valueOf() === b.valueOf();\n if (a instanceof String)\n return b instanceof String && a.valueOf() === b.valueOf();\n if (a instanceof Date)\n return b instanceof Date && a.getTime() === b.getTime();\n if (a instanceof RegExp)\n return (\n b instanceof RegExp && a.source === b.source && a.flags === b.flags\n );\n\n if (typeof File !== \"undefined\" && a instanceof File)\n return (\n b instanceof File &&\n a.name === b.name &&\n a.size === b.size &&\n a.type === b.type &&\n a.lastModified === b.lastModified\n );\n if (typeof Blob !== \"undefined\" && a instanceof Blob)\n return b instanceof Blob && a.size === b.size && a.type === b.type;\n\n if (a instanceof DataView) {\n if (!(b instanceof DataView) || a.byteLength !== b.byteLength)\n return false;\n return bytes(a.buffer, a.byteOffset, a.byteLength).every(\n (value, index) =>\n value === bytes(b.buffer, b.byteOffset, b.byteLength)[index],\n );\n }\n if (ArrayBuffer.isView(a)) {\n if (\n !ArrayBuffer.isView(b) ||\n b instanceof DataView ||\n Object.getPrototypeOf(a) !== Object.getPrototypeOf(b) ||\n a.byteLength !== b.byteLength\n )\n return false;\n const x: Uint8Array = bytes(a.buffer, a.byteOffset, a.byteLength);\n const y: Uint8Array = bytes(b.buffer, b.byteOffset, b.byteLength);\n return x.every((value, index) => value === y[index]);\n }\n if (a instanceof ArrayBuffer)\n return (\n b instanceof ArrayBuffer &&\n a.byteLength === b.byteLength &&\n bytes(a).every((value, index) => value === bytes(b)[index])\n );\n if (\n typeof SharedArrayBuffer !== \"undefined\" &&\n a instanceof SharedArrayBuffer\n )\n return (\n b instanceof SharedArrayBuffer &&\n a.byteLength === b.byteLength &&\n bytes(a).every((value, index) => value === bytes(b)[index])\n );\n\n const keys: PropertyKey[] = Reflect.ownKeys(a).filter((key) =>\n Object.prototype.propertyIsEnumerable.call(a, key),\n );\n return (\n keys.length ===\n Reflect.ownKeys(b).filter((key) =>\n Object.prototype.propertyIsEnumerable.call(b, key),\n ).length &&\n keys.every(\n (key) =>\n Object.prototype.propertyIsEnumerable.call(b, key) &&\n next((a as any)[key], (b as any)[key]),\n )\n );\n };\n return next;\n};\n\nconst bytes = (\n buffer: ArrayBufferLike,\n byteOffset: number = 0,\n byteLength: number = buffer.byteLength,\n): Uint8Array => new Uint8Array(buffer, byteOffset, byteLength);\n"],"mappings":";AAAA,MAAa,kBAAkB,aAA6B;CAC1D,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KACnC,KAAK,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KACvC,IAAI,uBAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,EAAE,GAAG,OAAO;CAChE,OAAO;AACT;AAEA,MAAM,UAAU,YAAuD;CACrE,MAAM,QAAQ,GAAQ,MAAoB;EACxC,IAAI,MAAM,GAAG,OAAO;EACpB,IACE,MAAM,QACN,MAAM,QACN,OAAO,MAAM,YACb,OAAO,MAAM,UAEb,OAAO;EAET,MAAM,WAAgC,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;EAC3D,IAAI,aAAa,KAAA,GAAW,OAAO;EACnC,MAAM,QACJ,QAAQ,IAAI,CAAC,qBAAK,IAAI,QAAyB;EACjD,QAAQ,IAAI,GAAG,KAAK;EACpB,MAAM,IAAI,GAAG,IAAI;EAEjB,MAAM,SAAkB,QAAQ,GAAG,CAAC;EACpC,MAAM,IAAI,GAAG,MAAM;EACnB,OAAO;CACT;CAEA,MAAM,WAAW,GAAW,MAAuB;EACjD,IAAI,MAAM,QAAQ,CAAC,GAAG;GACpB,IAAI,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,OAAO;GACvD,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;IACjC,MAAM,OAAgB,OAAO,OAAO,GAAG,CAAC;IACxC,IAAI,SAAS,OAAO,OAAO,GAAG,CAAC,KAAM,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAC3D,OAAO;GACX;GACA,OAAO;EACT;EACA,IAAI,MAAM,QAAQ,CAAC,GAAG,OAAO;EAE7B,IAAI,aAAa,KAAK;GACpB,IAAI,EAAE,aAAa,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO;GACrD,MAAM,YAAmB,CAAC,GAAG,CAAC;GAC9B,KAAK,MAAM,SAAS,GAAG;IACrB,MAAM,QAAgB,UAAU,WAAW,cACzC,KAAK,OAAO,SAAS,CACvB;IACA,IAAI,UAAU,IAAI,OAAO;IACzB,UAAU,OAAO,OAAO,CAAC;GAC3B;GACA,OAAO;EACT;EACA,IAAI,aAAa,KAAK;GACpB,IAAI,EAAE,aAAa,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO;GACrD,MAAM,YAA0B,CAAC,GAAG,CAAC;GACrC,KAAK,MAAM,CAAC,KAAK,UAAU,GAAG;IAC5B,MAAM,QAAgB,UAAU,WAC7B,CAAC,cAAc,oBACd,KAAK,KAAK,YAAY,KAAK,KAAK,OAAO,cAAc,CACzD;IACA,IAAI,UAAU,IAAI,OAAO;IACzB,UAAU,OAAO,OAAO,CAAC;GAC3B;GACA,OAAO;EACT;EAEA,IAAI,aAAa,SACf,OAAO,aAAa,WAAW,EAAE,QAAQ,MAAM,EAAE,QAAQ;EAC3D,IAAI,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,mBACxC,OACE,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBACtC,EAAE,QAAQ,MAAM,EAAE,QAAQ;EAE9B,IAAI,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,mBACxC,OACE,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM,qBACtC,EAAE,QAAQ,MAAM,EAAE,QAAQ;EAE9B,IAAI,aAAa,QACf,OAAO,aAAa,UAAU,EAAE,QAAQ,MAAM,EAAE,QAAQ;EAC1D,IAAI,aAAa,QACf,OAAO,aAAa,UAAU,EAAE,QAAQ,MAAM,EAAE,QAAQ;EAC1D,IAAI,aAAa,MACf,OAAO,aAAa,QAAQ,EAAE,QAAQ,MAAM,EAAE,QAAQ;EACxD,IAAI,aAAa,QACf,OACE,aAAa,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE;EAGlE,IAAI,OAAO,SAAS,eAAe,aAAa,MAC9C,OACE,aAAa,QACb,EAAE,SAAS,EAAE,QACb,EAAE,SAAS,EAAE,QACb,EAAE,SAAS,EAAE,QACb,EAAE,iBAAiB,EAAE;EAEzB,IAAI,OAAO,SAAS,eAAe,aAAa,MAC9C,OAAO,aAAa,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;EAEhE,IAAI,aAAa,UAAU;GACzB,IAAI,EAAE,aAAa,aAAa,EAAE,eAAe,EAAE,YACjD,OAAO;GACT,OAAO,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,OAChD,OAAO,UACN,UAAU,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,MAC1D;EACF;EACA,IAAI,YAAY,OAAO,CAAC,GAAG;GACzB,IACE,CAAC,YAAY,OAAO,CAAC,KACrB,aAAa,YACb,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,KACpD,EAAE,eAAe,EAAE,YAEnB,OAAO;GACT,MAAM,IAAgB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU;GAChE,MAAM,IAAgB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU;GAChE,OAAO,EAAE,OAAO,OAAO,UAAU,UAAU,EAAE,MAAM;EACrD;EACA,IAAI,aAAa,aACf,OACE,aAAa,eACb,EAAE,eAAe,EAAE,cACnB,MAAM,CAAC,CAAC,CAAC,OAAO,OAAO,UAAU,UAAU,MAAM,CAAC,CAAC,CAAC,MAAM;EAE9D,IACE,OAAO,sBAAsB,eAC7B,aAAa,mBAEb,OACE,aAAa,qBACb,EAAE,eAAe,EAAE,cACnB,MAAM,CAAC,CAAC,CAAC,OAAO,OAAO,UAAU,UAAU,MAAM,CAAC,CAAC,CAAC,MAAM;EAG9D,MAAM,OAAsB,QAAQ,QAAQ,CAAC,CAAC,CAAC,QAAQ,QACrD,OAAO,UAAU,qBAAqB,KAAK,GAAG,GAAG,CACnD;EACA,OACE,KAAK,WACH,QAAQ,QAAQ,CAAC,CAAC,CAAC,QAAQ,QACzB,OAAO,UAAU,qBAAqB,KAAK,GAAG,GAAG,CACnD,CAAC,CAAC,UACJ,KAAK,OACF,QACC,OAAO,UAAU,qBAAqB,KAAK,GAAG,GAAG,KACjD,KAAM,EAAU,MAAO,EAAU,IAAI,CACzC;CAEJ;CACA,OAAO;AACT;AAEA,MAAM,SACJ,QACA,aAAqB,GACrB,aAAqB,OAAO,eACb,IAAI,WAAW,QAAQ,YAAY,UAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._jsonStringifyArray = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Serializes the elements of an array the way ECMAScript `JSON.stringify` does.
|
|
6
|
+
*
|
|
7
|
+
* `SerializeJSONArray` walks index `0` to `LengthOfArrayLike(value) - 1` and
|
|
8
|
+
* writes `null` wherever the element serializes to `undefined`. Neither
|
|
9
|
+
* `Array.prototype.map` nor `Array.prototype.join` reproduces that:
|
|
10
|
+
*
|
|
11
|
+
* - `map` never visits a hole and leaves one behind, and `join` renders a hole as
|
|
12
|
+
* empty text, so a sparse array joined into malformed text such as `[,1]`. A
|
|
13
|
+
* hole exists at runtime whatever the element type declares, so this is not
|
|
14
|
+
* an `any` concern.
|
|
15
|
+
* - `join` renders a mapped `undefined` as empty text too, which is what an `any`
|
|
16
|
+
* or `unknown` element holding a function, a symbol, or a `toJSON` that
|
|
17
|
+
* returns nothing serializes to.
|
|
18
|
+
*
|
|
19
|
+
* The length is converted with `ToLength` and read once, which is both what
|
|
20
|
+
* `JSON.stringify` does and what `Array.prototype.every` - the traversal
|
|
21
|
+
* typia's own array checkers emit - does, so the checker and the serializer
|
|
22
|
+
* walk one index range rather than two that merely usually coincide.
|
|
23
|
+
*
|
|
24
|
+
* @param elements Array being serialized.
|
|
25
|
+
* @param mapper Serializer of one element, emitted by the transform.
|
|
26
|
+
* @returns Comma separated element text, without the enclosing brackets.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
const _jsonStringifyArray = (elements, mapper) => {
|
|
30
|
+
const length = Math.min(Math.max(Math.trunc(elements.length) || 0, 0), Number.MAX_SAFE_INTEGER);
|
|
31
|
+
let output = "";
|
|
32
|
+
for (let i = 0; i < length; ++i) {
|
|
33
|
+
const elem = elements[i];
|
|
34
|
+
// A hole and an explicit `undefined` are answered without calling the
|
|
35
|
+
// mapper, because the mapper is the element type's own serializer and a
|
|
36
|
+
// typed one has no answer for a missing value. Everything else is answered
|
|
37
|
+
// from the mapper's *result*: an element that is present but serializes to
|
|
38
|
+
// nothing — a function, a symbol, or a `toJSON` returning nothing in an
|
|
39
|
+
// `any` slot — is `null` in an array position, exactly as
|
|
40
|
+
// SerializeJSONArray specifies, and testing the input instead would let its
|
|
41
|
+
// text become the literal `undefined`.
|
|
42
|
+
const text = elem === undefined ? undefined : mapper(elem, i);
|
|
43
|
+
output += (i === 0 ? "" : ",") + (text === undefined ? "null" : text);
|
|
44
|
+
}
|
|
45
|
+
return output;
|
|
46
|
+
};
|
|
47
|
+
exports._jsonStringifyArray = _jsonStringifyArray;
|
|
48
|
+
//# sourceMappingURL=_jsonStringifyArray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_jsonStringifyArray.js","sourceRoot":"","sources":["../../src/internal/_jsonStringifyArray.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACI,MAAM,mBAAmB,GAAG,CACjC,QAAsB,EACtB,MAA0C,EAClC,EAAE;IACV,MAAM,MAAM,GAAW,IAAI,CAAC,GAAG,CAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAC7C,MAAM,CAAC,gBAAgB,CACxB,CAAC;IACF,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAkB,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxC,sEAAsE;QACtE,wEAAwE;QACxE,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,0DAA0D;QAC1D,4EAA4E;QAC5E,uCAAuC;QACvC,MAAM,IAAI,GACR,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAxBW,QAAA,mBAAmB,GAAnB,mBAAmB,CAwB9B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//#region src/internal/_jsonStringifyArray.ts
|
|
2
|
+
/**
|
|
3
|
+
* Serializes the elements of an array the way ECMAScript `JSON.stringify` does.
|
|
4
|
+
*
|
|
5
|
+
* `SerializeJSONArray` walks index `0` to `LengthOfArrayLike(value) - 1` and
|
|
6
|
+
* writes `null` wherever the element serializes to `undefined`. Neither
|
|
7
|
+
* `Array.prototype.map` nor `Array.prototype.join` reproduces that:
|
|
8
|
+
*
|
|
9
|
+
* - `map` never visits a hole and leaves one behind, and `join` renders a hole as
|
|
10
|
+
* empty text, so a sparse array joined into malformed text such as `[,1]`. A
|
|
11
|
+
* hole exists at runtime whatever the element type declares, so this is not
|
|
12
|
+
* an `any` concern.
|
|
13
|
+
* - `join` renders a mapped `undefined` as empty text too, which is what an `any`
|
|
14
|
+
* or `unknown` element holding a function, a symbol, or a `toJSON` that
|
|
15
|
+
* returns nothing serializes to.
|
|
16
|
+
*
|
|
17
|
+
* The length is converted with `ToLength` and read once, which is both what
|
|
18
|
+
* `JSON.stringify` does and what `Array.prototype.every` - the traversal
|
|
19
|
+
* typia's own array checkers emit - does, so the checker and the serializer
|
|
20
|
+
* walk one index range rather than two that merely usually coincide.
|
|
21
|
+
*
|
|
22
|
+
* @param elements Array being serialized.
|
|
23
|
+
* @param mapper Serializer of one element, emitted by the transform.
|
|
24
|
+
* @returns Comma separated element text, without the enclosing brackets.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
const _jsonStringifyArray = (elements, mapper) => {
|
|
28
|
+
const length = Math.min(Math.max(Math.trunc(elements.length) || 0, 0), Number.MAX_SAFE_INTEGER);
|
|
29
|
+
let output = "";
|
|
30
|
+
for (let i = 0; i < length; ++i) {
|
|
31
|
+
const elem = elements[i];
|
|
32
|
+
const text = elem === void 0 ? void 0 : mapper(elem, i);
|
|
33
|
+
output += (i === 0 ? "" : ",") + (text === void 0 ? "null" : text);
|
|
34
|
+
}
|
|
35
|
+
return output;
|
|
36
|
+
};
|
|
37
|
+
//#endregion
|
|
38
|
+
export { _jsonStringifyArray };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=_jsonStringifyArray.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_jsonStringifyArray.mjs","names":[],"sources":["../../src/internal/_jsonStringifyArray.ts"],"sourcesContent":["/**\n * Serializes the elements of an array the way ECMAScript `JSON.stringify` does.\n *\n * `SerializeJSONArray` walks index `0` to `LengthOfArrayLike(value) - 1` and\n * writes `null` wherever the element serializes to `undefined`. Neither\n * `Array.prototype.map` nor `Array.prototype.join` reproduces that:\n *\n * - `map` never visits a hole and leaves one behind, and `join` renders a hole as\n * empty text, so a sparse array joined into malformed text such as `[,1]`. A\n * hole exists at runtime whatever the element type declares, so this is not\n * an `any` concern.\n * - `join` renders a mapped `undefined` as empty text too, which is what an `any`\n * or `unknown` element holding a function, a symbol, or a `toJSON` that\n * returns nothing serializes to.\n *\n * The length is converted with `ToLength` and read once, which is both what\n * `JSON.stringify` does and what `Array.prototype.every` - the traversal\n * typia's own array checkers emit - does, so the checker and the serializer\n * walk one index range rather than two that merely usually coincide.\n *\n * @param elements Array being serialized.\n * @param mapper Serializer of one element, emitted by the transform.\n * @returns Comma separated element text, without the enclosing brackets.\n * @internal\n */\nexport const _jsonStringifyArray = <T>(\n elements: ArrayLike<T>,\n mapper: (elem: T, index: number) => string,\n): string => {\n const length: number = Math.min(\n Math.max(Math.trunc(elements.length) || 0, 0),\n Number.MAX_SAFE_INTEGER,\n );\n let output: string = \"\";\n for (let i: number = 0; i < length; ++i) {\n const elem: T | undefined = elements[i];\n // A hole and an explicit `undefined` are answered without calling the\n // mapper, because the mapper is the element type's own serializer and a\n // typed one has no answer for a missing value. Everything else is answered\n // from the mapper's *result*: an element that is present but serializes to\n // nothing — a function, a symbol, or a `toJSON` returning nothing in an\n // `any` slot — is `null` in an array position, exactly as\n // SerializeJSONArray specifies, and testing the input instead would let its\n // text become the literal `undefined`.\n const text: string | undefined =\n elem === undefined ? undefined : mapper(elem, i);\n output += (i === 0 ? \"\" : \",\") + (text === undefined ? \"null\" : text);\n }\n return output;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAa,uBACX,UACA,WACW;CACX,MAAM,SAAiB,KAAK,IAC1B,KAAK,IAAI,KAAK,MAAM,SAAS,MAAM,KAAK,GAAG,CAAC,GAC5C,OAAO,gBACT;CACA,IAAI,SAAiB;CACrB,KAAK,IAAI,IAAY,GAAG,IAAI,QAAQ,EAAE,GAAG;EACvC,MAAM,OAAsB,SAAS;EASrC,MAAM,OACJ,SAAS,KAAA,IAAY,KAAA,IAAY,OAAO,MAAM,CAAC;EACjD,WAAW,MAAM,IAAI,KAAK,QAAQ,SAAS,KAAA,IAAY,SAAS;CAClE;CACA,OAAO;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._jsonStringifyElement = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Writes one array or tuple element the way ECMAScript `JSON.stringify` writes
|
|
6
|
+
* it.
|
|
7
|
+
*
|
|
8
|
+
* `SerializeJSONArray` writes `null` wherever an element serializes to
|
|
9
|
+
* `undefined`, because an array position cannot be omitted without shifting
|
|
10
|
+
* every element after it. A present value with no serialization — a function, a
|
|
11
|
+
* symbol, or a `toJSON` returning nothing — is therefore `null`, not the
|
|
12
|
+
* literal text `undefined` and not an empty slot.
|
|
13
|
+
*
|
|
14
|
+
* This is the fixed-position counterpart of `_jsonStringifyArray`, which
|
|
15
|
+
* answers the same question while walking an array's own index range.
|
|
16
|
+
*
|
|
17
|
+
* @param text Serialized element value, or `undefined` when it has none.
|
|
18
|
+
* @returns Element text, or `null` when the element has no serialization.
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
const _jsonStringifyElement = (text) => text === undefined ? "null" : text;
|
|
22
|
+
exports._jsonStringifyElement = _jsonStringifyElement;
|
|
23
|
+
//# sourceMappingURL=_jsonStringifyElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_jsonStringifyElement.js","sourceRoot":"","sources":["../../src/internal/_jsonStringifyElement.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,qBAAqB,GAAG,CAAC,IAAwB,EAAU,EAAE,CACxE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AADxB,QAAA,qBAAqB,GAArB,qBAAqB,CACG"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/internal/_jsonStringifyElement.ts
|
|
2
|
+
/**
|
|
3
|
+
* Writes one array or tuple element the way ECMAScript `JSON.stringify` writes
|
|
4
|
+
* it.
|
|
5
|
+
*
|
|
6
|
+
* `SerializeJSONArray` writes `null` wherever an element serializes to
|
|
7
|
+
* `undefined`, because an array position cannot be omitted without shifting
|
|
8
|
+
* every element after it. A present value with no serialization — a function, a
|
|
9
|
+
* symbol, or a `toJSON` returning nothing — is therefore `null`, not the
|
|
10
|
+
* literal text `undefined` and not an empty slot.
|
|
11
|
+
*
|
|
12
|
+
* This is the fixed-position counterpart of `_jsonStringifyArray`, which
|
|
13
|
+
* answers the same question while walking an array's own index range.
|
|
14
|
+
*
|
|
15
|
+
* @param text Serialized element value, or `undefined` when it has none.
|
|
16
|
+
* @returns Element text, or `null` when the element has no serialization.
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
const _jsonStringifyElement = (text) => text === void 0 ? "null" : text;
|
|
20
|
+
//#endregion
|
|
21
|
+
export { _jsonStringifyElement };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=_jsonStringifyElement.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_jsonStringifyElement.mjs","names":[],"sources":["../../src/internal/_jsonStringifyElement.ts"],"sourcesContent":["/**\n * Writes one array or tuple element the way ECMAScript `JSON.stringify` writes\n * it.\n *\n * `SerializeJSONArray` writes `null` wherever an element serializes to\n * `undefined`, because an array position cannot be omitted without shifting\n * every element after it. A present value with no serialization — a function, a\n * symbol, or a `toJSON` returning nothing — is therefore `null`, not the\n * literal text `undefined` and not an empty slot.\n *\n * This is the fixed-position counterpart of `_jsonStringifyArray`, which\n * answers the same question while walking an array's own index range.\n *\n * @param text Serialized element value, or `undefined` when it has none.\n * @returns Element text, or `null` when the element has no serialization.\n * @internal\n */\nexport const _jsonStringifyElement = (text: string | undefined): string =>\n text === undefined ? \"null\" : text;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,MAAa,yBAAyB,SACpC,SAAS,KAAA,IAAY,SAAS"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._jsonStringifyProperty = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Writes one object member the way ECMAScript `JSON.stringify` writes it.
|
|
6
|
+
*
|
|
7
|
+
* `SerializeJSONObject` serializes each member first and drops the member
|
|
8
|
+
* entirely when that result is `undefined`. Deciding omission from the _input_
|
|
9
|
+
* instead cannot reach the same answer: a symbol and a `toJSON` returning
|
|
10
|
+
* nothing are both present, non-`undefined`, non-function values whose
|
|
11
|
+
* serialization is `undefined`, so the member's text became the literal
|
|
12
|
+
* `"k":undefined` — output that is not JSON at all.
|
|
13
|
+
*
|
|
14
|
+
* The serialized text is passed in already evaluated, so the member's value is
|
|
15
|
+
* serialized exactly once. Testing the input and then serializing would
|
|
16
|
+
* evaluate a `toJSON` twice, and a `toJSON` is free to answer differently each
|
|
17
|
+
* call.
|
|
18
|
+
*
|
|
19
|
+
* The trailing separator belongs to the member because a dropped member must
|
|
20
|
+
* take its comma with it; `_jsonStringifyTail` removes the one that is left
|
|
21
|
+
* behind when the last written member is the one that dropped.
|
|
22
|
+
*
|
|
23
|
+
* @param head Quoted key and colon, emitted by the transform.
|
|
24
|
+
* @param text Serialized member value, or `undefined` when it has none.
|
|
25
|
+
* @param tail Separator following this member, empty for the last one.
|
|
26
|
+
* @returns Member text, or an empty string when the member is omitted.
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
const _jsonStringifyProperty = (head, text, tail) => (text === undefined ? "" : head + text + tail);
|
|
30
|
+
exports._jsonStringifyProperty = _jsonStringifyProperty;
|
|
31
|
+
//# sourceMappingURL=_jsonStringifyProperty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_jsonStringifyProperty.js","sourceRoot":"","sources":["../../src/internal/_jsonStringifyProperty.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACI,MAAM,sBAAsB,GAAG,CACpC,IAAY,EACZ,IAAwB,EACxB,IAAY,EACJ,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;AAJ/C,QAAA,sBAAsB,GAAtB,sBAAsB,CAIyB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/internal/_jsonStringifyProperty.ts
|
|
2
|
+
/**
|
|
3
|
+
* Writes one object member the way ECMAScript `JSON.stringify` writes it.
|
|
4
|
+
*
|
|
5
|
+
* `SerializeJSONObject` serializes each member first and drops the member
|
|
6
|
+
* entirely when that result is `undefined`. Deciding omission from the _input_
|
|
7
|
+
* instead cannot reach the same answer: a symbol and a `toJSON` returning
|
|
8
|
+
* nothing are both present, non-`undefined`, non-function values whose
|
|
9
|
+
* serialization is `undefined`, so the member's text became the literal
|
|
10
|
+
* `"k":undefined` — output that is not JSON at all.
|
|
11
|
+
*
|
|
12
|
+
* The serialized text is passed in already evaluated, so the member's value is
|
|
13
|
+
* serialized exactly once. Testing the input and then serializing would
|
|
14
|
+
* evaluate a `toJSON` twice, and a `toJSON` is free to answer differently each
|
|
15
|
+
* call.
|
|
16
|
+
*
|
|
17
|
+
* The trailing separator belongs to the member because a dropped member must
|
|
18
|
+
* take its comma with it; `_jsonStringifyTail` removes the one that is left
|
|
19
|
+
* behind when the last written member is the one that dropped.
|
|
20
|
+
*
|
|
21
|
+
* @param head Quoted key and colon, emitted by the transform.
|
|
22
|
+
* @param text Serialized member value, or `undefined` when it has none.
|
|
23
|
+
* @param tail Separator following this member, empty for the last one.
|
|
24
|
+
* @returns Member text, or an empty string when the member is omitted.
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
const _jsonStringifyProperty = (head, text, tail) => text === void 0 ? "" : head + text + tail;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { _jsonStringifyProperty };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=_jsonStringifyProperty.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_jsonStringifyProperty.mjs","names":[],"sources":["../../src/internal/_jsonStringifyProperty.ts"],"sourcesContent":["/**\n * Writes one object member the way ECMAScript `JSON.stringify` writes it.\n *\n * `SerializeJSONObject` serializes each member first and drops the member\n * entirely when that result is `undefined`. Deciding omission from the _input_\n * instead cannot reach the same answer: a symbol and a `toJSON` returning\n * nothing are both present, non-`undefined`, non-function values whose\n * serialization is `undefined`, so the member's text became the literal\n * `\"k\":undefined` — output that is not JSON at all.\n *\n * The serialized text is passed in already evaluated, so the member's value is\n * serialized exactly once. Testing the input and then serializing would\n * evaluate a `toJSON` twice, and a `toJSON` is free to answer differently each\n * call.\n *\n * The trailing separator belongs to the member because a dropped member must\n * take its comma with it; `_jsonStringifyTail` removes the one that is left\n * behind when the last written member is the one that dropped.\n *\n * @param head Quoted key and colon, emitted by the transform.\n * @param text Serialized member value, or `undefined` when it has none.\n * @param tail Separator following this member, empty for the last one.\n * @returns Member text, or an empty string when the member is omitted.\n * @internal\n */\nexport const _jsonStringifyProperty = (\n head: string,\n text: string | undefined,\n tail: string,\n): string => (text === undefined ? \"\" : head + text + tail);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAa,0BACX,MACA,MACA,SACY,SAAS,KAAA,IAAY,KAAK,OAAO,OAAO"}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._llmApplicationFinalize = void 0;
|
|
4
4
|
const utils_1 = require("@typia/utils");
|
|
5
|
-
const _llmApplicationFinalize = (app, config) => { var _a; return (Object.assign(Object.assign({}, app), { config: Object.assign(Object.assign({}, utils_1.LlmSchemaConverter.getConfig()), { validate: (_a = config === null || config === void 0 ? void 0 : config.validate) !== null && _a !== void 0 ? _a : null }), functions: app.functions.map((func) => { var _a; var _b; return (Object.assign(Object.assign({}, func), { parse: (input) => utils_1.LlmJson.parse(input, func.parameters), coerce: (input) => utils_1.LlmJson.coerce(input, func.parameters), validate: (_b = (_a = config === null || config === void 0 ? void 0 : config.validate) === null || _a === void 0 ? void 0 : _a[func.name]) !== null && _b !== void 0 ? _b : func.validate })); }) })); };
|
|
5
|
+
const _llmApplicationFinalize = (app, config) => { var _a; return (Object.assign(Object.assign({}, app), { config: Object.assign(Object.assign({}, utils_1.LlmSchemaConverter.getConfig(app.config)), { validate: (_a = config === null || config === void 0 ? void 0 : config.validate) !== null && _a !== void 0 ? _a : null }), functions: app.functions.map((func) => { var _a; var _b; return (Object.assign(Object.assign({}, func), { parse: (input) => utils_1.LlmJson.parse(input, func.parameters), coerce: (input) => utils_1.LlmJson.coerce(input, func.parameters), validate: (_b = (_a = config === null || config === void 0 ? void 0 : config.validate) === null || _a === void 0 ? void 0 : _a[func.name]) !== null && _b !== void 0 ? _b : func.validate })); }) })); };
|
|
6
6
|
exports._llmApplicationFinalize = _llmApplicationFinalize;
|
|
7
7
|
//# sourceMappingURL=_llmApplicationFinalize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_llmApplicationFinalize.js","sourceRoot":"","sources":["../../src/internal/_llmApplicationFinalize.ts"],"names":[],"mappings":";;;AACA,wCAA2D;AAEpD,MAAM,uBAAuB,GAAG,CACrC,GAAwC,EACxC,MAA2D,EACnC,EAAE,kBAAC,iCACxB,GAAG,KACN,MAAM,
|
|
1
|
+
{"version":3,"file":"_llmApplicationFinalize.js","sourceRoot":"","sources":["../../src/internal/_llmApplicationFinalize.ts"],"names":[],"mappings":";;;AACA,wCAA2D;AAEpD,MAAM,uBAAuB,GAAG,CACrC,GAAwC,EACxC,MAA2D,EACnC,EAAE,kBAAC,iCACxB,GAAG,KACN,MAAM,kCAMD,0BAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAC3C,QAAQ,QAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,IAAI,KAEpC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,0BAAC,iCAClC,IAAI,KACP,KAAK,EAAE,CAAC,KAAa,EAA6B,EAAE,CAClD,eAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EACvC,MAAM,EAAE,CAAC,KAAc,EAAW,EAAE,CAAC,eAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,EAC3E,QAAQ,QAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAG,IAAI,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAC,QAAQ,IACxD,GAAA,CAAC,IACH,GAAA,CAAC;AArBU,QAAA,uBAAuB,GAAvB,uBAAuB,CAqBjC"}
|
|
@@ -3,7 +3,7 @@ import { LlmJson, LlmSchemaConverter } from "@typia/utils";
|
|
|
3
3
|
const _llmApplicationFinalize = (app, config) => ({
|
|
4
4
|
...app,
|
|
5
5
|
config: {
|
|
6
|
-
...LlmSchemaConverter.getConfig(),
|
|
6
|
+
...LlmSchemaConverter.getConfig(app.config),
|
|
7
7
|
validate: config?.validate ?? null
|
|
8
8
|
},
|
|
9
9
|
functions: app.functions.map((func) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_llmApplicationFinalize.mjs","names":[],"sources":["../../src/internal/_llmApplicationFinalize.ts"],"sourcesContent":["import { IJsonParseResult, ILlmApplication } from \"@typia/interface\";\nimport { LlmJson, LlmSchemaConverter } from \"@typia/utils\";\n\nexport const _llmApplicationFinalize = <Class extends object = any>(\n app: ILlmApplication.__IPrimitive<Class>,\n config?: Partial<Pick<ILlmApplication.IConfig, \"validate\">>,\n): ILlmApplication<Class> => ({\n ...app,\n config: {\n ...LlmSchemaConverter.getConfig(),\n validate: config?.validate ?? null,\n },\n functions: app.functions.map((func) => ({\n ...func,\n parse: (input: string): IJsonParseResult<unknown> =>\n LlmJson.parse(input, func.parameters),\n coerce: (input: unknown): unknown => LlmJson.coerce(input, func.parameters),\n validate: config?.validate?.[func.name] ?? func.validate,\n })),\n});\n"],"mappings":";;AAGA,MAAa,2BACX,KACA,YAC4B;CAC5B,GAAG;CACH,QAAQ;
|
|
1
|
+
{"version":3,"file":"_llmApplicationFinalize.mjs","names":[],"sources":["../../src/internal/_llmApplicationFinalize.ts"],"sourcesContent":["import { IJsonParseResult, ILlmApplication } from \"@typia/interface\";\nimport { LlmJson, LlmSchemaConverter } from \"@typia/utils\";\n\nexport const _llmApplicationFinalize = <Class extends object = any>(\n app: ILlmApplication.__IPrimitive<Class>,\n config?: Partial<Pick<ILlmApplication.IConfig, \"validate\">>,\n): ILlmApplication<Class> => ({\n ...app,\n config: {\n // The schema configuration comes from the emitted application, which is\n // where the `Config` generic was resolved. Rebuilding it from the\n // converter's defaults reported `strict: false` for a strict build, and\n // `@typia/mcp` then inverted a strict output schema without strict, which\n // drops every constraint it carries as a description tag (issue #2293).\n ...LlmSchemaConverter.getConfig(app.config),\n validate: config?.validate ?? null,\n },\n functions: app.functions.map((func) => ({\n ...func,\n parse: (input: string): IJsonParseResult<unknown> =>\n LlmJson.parse(input, func.parameters),\n coerce: (input: unknown): unknown => LlmJson.coerce(input, func.parameters),\n validate: config?.validate?.[func.name] ?? func.validate,\n })),\n});\n"],"mappings":";;AAGA,MAAa,2BACX,KACA,YAC4B;CAC5B,GAAG;CACH,QAAQ;EAMN,GAAG,mBAAmB,UAAU,IAAI,MAAM;EAC1C,UAAU,QAAQ,YAAY;CAChC;CACA,WAAW,IAAI,UAAU,KAAK,UAAU;EACtC,GAAG;EACH,QAAQ,UACN,QAAQ,MAAM,OAAO,KAAK,UAAU;EACtC,SAAS,UAA4B,QAAQ,OAAO,OAAO,KAAK,UAAU;EAC1E,UAAU,QAAQ,WAAW,KAAK,SAAS,KAAK;CAClD,EAAE;AACJ"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._notationAny = void 0;
|
|
4
|
+
const _notationAssign_1 = require("./_notationAssign");
|
|
4
5
|
const _notationAny = (rename) => {
|
|
5
6
|
const main = (input) => {
|
|
6
7
|
if (typeof input === "object")
|
|
@@ -32,7 +33,13 @@ const _notationAny = (rename) => {
|
|
|
32
33
|
return object(input);
|
|
33
34
|
return input;
|
|
34
35
|
};
|
|
35
|
-
const object = (input) =>
|
|
36
|
+
const object = (input) => {
|
|
37
|
+
const output = {};
|
|
38
|
+
const sources = Object.create(null);
|
|
39
|
+
for (const [key, value] of Object.entries(input))
|
|
40
|
+
(0, _notationAssign_1._notationAssign)(output, sources, key, main(value), rename);
|
|
41
|
+
return output;
|
|
42
|
+
};
|
|
36
43
|
return main;
|
|
37
44
|
};
|
|
38
45
|
exports._notationAny = _notationAny;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_notationAny.js","sourceRoot":"","sources":["../../src/internal/_notationAny.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"_notationAny.js","sourceRoot":"","sources":["../../src/internal/_notationAny.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAE7C,MAAM,YAAY,GAAG,CAAC,MAA+B,EAAE,EAAE;IAC9D,MAAM,IAAI,GAAG,CAAC,KAAU,EAAO,EAAE;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAC3B,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;iBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACjD,IACH,KAAK,YAAY,OAAO;gBACxB,KAAK,YAAY,MAAM;gBACvB,KAAK,YAAY,MAAM;gBACvB,KAAK,YAAY,MAAM;gBAEvB,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;iBACpB,IAAI,KAAK,YAAY,IAAI;gBAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;iBAClD,IACH,KAAK,YAAY,UAAU;gBAC3B,KAAK,YAAY,iBAAiB;gBAClC,KAAK,YAAY,WAAW;gBAC5B,KAAK,YAAY,WAAW;gBAC5B,KAAK,YAAY,cAAc;gBAC/B,KAAK,YAAY,SAAS;gBAC1B,KAAK,YAAY,UAAU;gBAC3B,KAAK,YAAY,UAAU;gBAC3B,KAAK,YAAY,aAAa;gBAC9B,KAAK,YAAY,YAAY;gBAC7B,KAAK,YAAY,YAAY;gBAC7B,KAAK,YAAY,QAAQ;gBAEzB,OAAO,KAAK,CAAC;;gBACV,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,KAA0B,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,MAAM,OAAO,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9C,IAAA,iCAAe,EAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAvCW,QAAA,YAAY,GAAZ,YAAY,CAuCvB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { _notationAssign } from "./_notationAssign.mjs";
|
|
1
2
|
//#region src/internal/_notationAny.ts
|
|
2
3
|
const _notationAny = (rename) => {
|
|
3
4
|
const main = (input) => {
|
|
@@ -9,7 +10,12 @@ const _notationAny = (rename) => {
|
|
|
9
10
|
else return object(input);
|
|
10
11
|
return input;
|
|
11
12
|
};
|
|
12
|
-
const object = (input) =>
|
|
13
|
+
const object = (input) => {
|
|
14
|
+
const output = {};
|
|
15
|
+
const sources = Object.create(null);
|
|
16
|
+
for (const [key, value] of Object.entries(input)) _notationAssign(output, sources, key, main(value), rename);
|
|
17
|
+
return output;
|
|
18
|
+
};
|
|
13
19
|
return main;
|
|
14
20
|
};
|
|
15
21
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_notationAny.mjs","names":[],"sources":["../../src/internal/_notationAny.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"_notationAny.mjs","names":[],"sources":["../../src/internal/_notationAny.ts"],"sourcesContent":["import { _notationAssign } from \"./_notationAssign\";\n\nexport const _notationAny = (rename: (str: string) => string) => {\n const main = (input: any): any => {\n if (typeof input === \"object\")\n if (input === null) return null;\n else if (Array.isArray(input)) return input.map(main);\n else if (\n input instanceof Boolean ||\n input instanceof BigInt ||\n input instanceof Number ||\n input instanceof String\n )\n return input.valueOf();\n else if (input instanceof Date) return new Date(input);\n else if (\n input instanceof Uint8Array ||\n input instanceof Uint8ClampedArray ||\n input instanceof Uint16Array ||\n input instanceof Uint32Array ||\n input instanceof BigUint64Array ||\n input instanceof Int8Array ||\n input instanceof Int16Array ||\n input instanceof Int32Array ||\n input instanceof BigInt64Array ||\n input instanceof Float32Array ||\n input instanceof Float64Array ||\n input instanceof DataView\n )\n return input;\n else return object(input);\n return input;\n };\n const object = (input: Record<string, any>) => {\n const output: Record<string, any> = {};\n const sources: Record<string, string> = Object.create(null);\n for (const [key, value] of Object.entries(input))\n _notationAssign(output, sources, key, main(value), rename);\n return output;\n };\n return main;\n};\n"],"mappings":";;AAEA,MAAa,gBAAgB,WAAoC;CAC/D,MAAM,QAAQ,UAAoB;EAChC,IAAI,OAAO,UAAU,UACnB,IAAI,UAAU,MAAM,OAAO;OACtB,IAAI,MAAM,QAAQ,KAAK,GAAG,OAAO,MAAM,IAAI,IAAI;OAC/C,IACH,iBAAiB,WACjB,iBAAiB,UACjB,iBAAiB,UACjB,iBAAiB,QAEjB,OAAO,MAAM,QAAQ;OAClB,IAAI,iBAAiB,MAAM,OAAO,IAAI,KAAK,KAAK;OAChD,IACH,iBAAiB,cACjB,iBAAiB,qBACjB,iBAAiB,eACjB,iBAAiB,eACjB,iBAAiB,kBACjB,iBAAiB,aACjB,iBAAiB,cACjB,iBAAiB,cACjB,iBAAiB,iBACjB,iBAAiB,gBACjB,iBAAiB,gBACjB,iBAAiB,UAEjB,OAAO;OACJ,OAAO,OAAO,KAAK;EAC1B,OAAO;CACT;CACA,MAAM,UAAU,UAA+B;EAC7C,MAAM,SAA8B,CAAC;EACrC,MAAM,UAAkC,OAAO,OAAO,IAAI;EAC1D,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,KAAK,GAC7C,gBAAgB,QAAQ,SAAS,KAAK,KAAK,KAAK,GAAG,MAAM;EAC3D,OAAO;CACT;CACA,OAAO;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const _notationAssign: (output: Record<string, any>, sources: Record<string, string>, source: string, value: any, rename: (str: string) => string) => void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._notationAssign = void 0;
|
|
4
|
+
const _notationKeyCollision_1 = require("./_notationKeyCollision");
|
|
5
|
+
const _notationAssign = (output, sources, source, value, rename) => {
|
|
6
|
+
const destination = rename(source);
|
|
7
|
+
if (Object.hasOwn(output, destination))
|
|
8
|
+
(0, _notationKeyCollision_1._notationKeyCollision)(sources[destination], source, destination);
|
|
9
|
+
Object.defineProperty(output, destination, {
|
|
10
|
+
configurable: true,
|
|
11
|
+
enumerable: true,
|
|
12
|
+
value,
|
|
13
|
+
writable: true,
|
|
14
|
+
});
|
|
15
|
+
sources[destination] = source;
|
|
16
|
+
};
|
|
17
|
+
exports._notationAssign = _notationAssign;
|
|
18
|
+
//# sourceMappingURL=_notationAssign.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_notationAssign.js","sourceRoot":"","sources":["../../src/internal/_notationAssign.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAEzD,MAAM,eAAe,GAAG,CAC7B,MAA2B,EAC3B,OAA+B,EAC/B,MAAc,EACd,KAAU,EACV,MAA+B,EACzB,EAAE;IACR,MAAM,WAAW,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;QACpC,IAAA,6CAAqB,EAAC,OAAO,CAAC,WAAW,CAAE,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;QACzC,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,KAAK;QACL,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;AAChC,CAAC,CAAC;AAjBW,QAAA,eAAe,GAAf,eAAe,CAiB1B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { _notationKeyCollision } from "./_notationKeyCollision.mjs";
|
|
2
|
+
//#region src/internal/_notationAssign.ts
|
|
3
|
+
const _notationAssign = (output, sources, source, value, rename) => {
|
|
4
|
+
const destination = rename(source);
|
|
5
|
+
if (Object.hasOwn(output, destination)) _notationKeyCollision(sources[destination], source, destination);
|
|
6
|
+
Object.defineProperty(output, destination, {
|
|
7
|
+
configurable: true,
|
|
8
|
+
enumerable: true,
|
|
9
|
+
value,
|
|
10
|
+
writable: true
|
|
11
|
+
});
|
|
12
|
+
sources[destination] = source;
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { _notationAssign };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=_notationAssign.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_notationAssign.mjs","names":[],"sources":["../../src/internal/_notationAssign.ts"],"sourcesContent":["import { _notationKeyCollision } from \"./_notationKeyCollision\";\n\nexport const _notationAssign = (\n output: Record<string, any>,\n sources: Record<string, string>,\n source: string,\n value: any,\n rename: (str: string) => string,\n): void => {\n const destination: string = rename(source);\n if (Object.hasOwn(output, destination))\n _notationKeyCollision(sources[destination]!, source, destination);\n Object.defineProperty(output, destination, {\n configurable: true,\n enumerable: true,\n value,\n writable: true,\n });\n sources[destination] = source;\n};\n"],"mappings":";;AAEA,MAAa,mBACX,QACA,SACA,QACA,OACA,WACS;CACT,MAAM,cAAsB,OAAO,MAAM;CACzC,IAAI,OAAO,OAAO,QAAQ,WAAW,GACnC,sBAAsB,QAAQ,cAAe,QAAQ,WAAW;CAClE,OAAO,eAAe,QAAQ,aAAa;EACzC,cAAc;EACd,YAAY;EACZ;EACA,UAAU;CACZ,CAAC;CACD,QAAQ,eAAe;AACzB"}
|
|
@@ -1,14 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports._notationCamel = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
const __notationRename_1 = require("./private/__notationRename");
|
|
5
|
+
const _notationCamelSnake = (str) => {
|
|
6
|
+
while (str.startsWith("_"))
|
|
7
|
+
str = str.substring(1);
|
|
8
|
+
if (str.length === 0)
|
|
9
|
+
return "";
|
|
10
|
+
const index = str.indexOf("_");
|
|
11
|
+
if (index < 0)
|
|
12
|
+
return str.toLowerCase();
|
|
13
|
+
const middle = str[index + 1];
|
|
14
|
+
// A trailing underscore has no character to uppercase, so `CamelizeSnakeString`
|
|
15
|
+
// falls through to lowercasing the whole key (`foo_` -> `foo_`).
|
|
16
|
+
if (middle === undefined)
|
|
17
|
+
return str.toLowerCase();
|
|
18
|
+
// A doubled underscore collapses to a single one before continuing.
|
|
19
|
+
return middle === "_"
|
|
20
|
+
? _notationCamelSnake(`${str.substring(0, index)}_${str.substring(index + 2)}`)
|
|
21
|
+
: `${str
|
|
22
|
+
.substring(0, index)
|
|
23
|
+
.toLowerCase()}${middle.toUpperCase()}${_notationCamelSnake(str.substring(index + 2))}`;
|
|
24
|
+
};
|
|
25
|
+
exports._notationCamel = (0, __notationRename_1.__notationRename)({
|
|
26
|
+
// `CamelCase<T>` lowercases an all-caps key and otherwise lowercases only the
|
|
27
|
+
// first character of an underscore-free key (`HTTP` -> `http`, `userID` stays).
|
|
28
|
+
plain: (str) => str === str.toUpperCase()
|
|
29
|
+
? str.toLowerCase()
|
|
30
|
+
: `${str[0].toLowerCase()}${str.substring(1)}`,
|
|
31
|
+
// With an underscore present, the character after each underscore is
|
|
32
|
+
// uppercased and the rest lowercased, matching `CamelizeSnakeString`.
|
|
33
|
+
snake: _notationCamelSnake,
|
|
13
34
|
});
|
|
14
35
|
//# sourceMappingURL=_notationCamel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_notationCamel.js","sourceRoot":"","sources":["../../src/internal/_notationCamel.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"_notationCamel.js","sourceRoot":"","sources":["../../src/internal/_notationCamel.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAE9D,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAU,EAAE;IAClD,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,KAAK,GAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,MAAM,GAAuB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAClD,gFAAgF;IAChF,iEAAiE;IACjE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IACnD,oEAAoE;IACpE,OAAO,MAAM,KAAK,GAAG;QACnB,CAAC,CAAC,mBAAmB,CACjB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CACzD;QACH,CAAC,CAAC,GAAG,GAAG;aACH,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;aACnB,WAAW,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,mBAAmB,CAC3D,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CACzB,EAAE,CAAC;AACV,CAAC,CAAC;AAEW,QAAA,cAAc,GAAG,IAAA,mCAAgB,EAAC;IAC7C,8EAA8E;IAC9E,gFAAgF;IAChF,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CACb,GAAG,KAAK,GAAG,CAAC,WAAW,EAAE;QACvB,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;QACnB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;IACnD,qEAAqE;IACrE,sEAAsE;IACtE,KAAK,EAAE,mBAAmB;CAC3B,CAAC,CAAC"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { __notationUnsnake } from "./private/__notationUnsnake.mjs";
|
|
1
|
+
import { __notationRename } from "./private/__notationRename.mjs";
|
|
3
2
|
//#region src/internal/_notationCamel.ts
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
const _notationCamelSnake = (str) => {
|
|
4
|
+
while (str.startsWith("_")) str = str.substring(1);
|
|
5
|
+
if (str.length === 0) return "";
|
|
6
|
+
const index = str.indexOf("_");
|
|
7
|
+
if (index < 0) return str.toLowerCase();
|
|
8
|
+
const middle = str[index + 1];
|
|
9
|
+
if (middle === void 0) return str.toLowerCase();
|
|
10
|
+
return middle === "_" ? _notationCamelSnake(`${str.substring(0, index)}_${str.substring(index + 2)}`) : `${str.substring(0, index).toLowerCase()}${middle.toUpperCase()}${_notationCamelSnake(str.substring(index + 2))}`;
|
|
11
|
+
};
|
|
12
|
+
const _notationCamel = __notationRename({
|
|
13
|
+
plain: (str) => str === str.toUpperCase() ? str.toLowerCase() : `${str[0].toLowerCase()}${str.substring(1)}`,
|
|
14
|
+
snake: _notationCamelSnake
|
|
7
15
|
});
|
|
8
16
|
//#endregion
|
|
9
17
|
export { _notationCamel };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_notationCamel.mjs","names":[],"sources":["../../src/internal/_notationCamel.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"_notationCamel.mjs","names":[],"sources":["../../src/internal/_notationCamel.ts"],"sourcesContent":["import { __notationRename } from \"./private/__notationRename\";\n\nconst _notationCamelSnake = (str: string): string => {\n while (str.startsWith(\"_\")) str = str.substring(1);\n if (str.length === 0) return \"\";\n const index: number = str.indexOf(\"_\");\n if (index < 0) return str.toLowerCase();\n const middle: string | undefined = str[index + 1];\n // A trailing underscore has no character to uppercase, so `CamelizeSnakeString`\n // falls through to lowercasing the whole key (`foo_` -> `foo_`).\n if (middle === undefined) return str.toLowerCase();\n // A doubled underscore collapses to a single one before continuing.\n return middle === \"_\"\n ? _notationCamelSnake(\n `${str.substring(0, index)}_${str.substring(index + 2)}`,\n )\n : `${str\n .substring(0, index)\n .toLowerCase()}${middle.toUpperCase()}${_notationCamelSnake(\n str.substring(index + 2),\n )}`;\n};\n\nexport const _notationCamel = __notationRename({\n // `CamelCase<T>` lowercases an all-caps key and otherwise lowercases only the\n // first character of an underscore-free key (`HTTP` -> `http`, `userID` stays).\n plain: (str) =>\n str === str.toUpperCase()\n ? str.toLowerCase()\n : `${str[0]!.toLowerCase()}${str.substring(1)}`,\n // With an underscore present, the character after each underscore is\n // uppercased and the rest lowercased, matching `CamelizeSnakeString`.\n snake: _notationCamelSnake,\n});\n"],"mappings":";;AAEA,MAAM,uBAAuB,QAAwB;CACnD,OAAO,IAAI,WAAW,GAAG,GAAG,MAAM,IAAI,UAAU,CAAC;CACjD,IAAI,IAAI,WAAW,GAAG,OAAO;CAC7B,MAAM,QAAgB,IAAI,QAAQ,GAAG;CACrC,IAAI,QAAQ,GAAG,OAAO,IAAI,YAAY;CACtC,MAAM,SAA6B,IAAI,QAAQ;CAG/C,IAAI,WAAW,KAAA,GAAW,OAAO,IAAI,YAAY;CAEjD,OAAO,WAAW,MACd,oBACE,GAAG,IAAI,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,UAAU,QAAQ,CAAC,GACvD,IACA,GAAG,IACA,UAAU,GAAG,KAAK,CAAC,CACnB,YAAY,IAAI,OAAO,YAAY,IAAI,oBACxC,IAAI,UAAU,QAAQ,CAAC,CACzB;AACN;AAEA,MAAa,iBAAiB,iBAAiB;CAG7C,QAAQ,QACN,QAAQ,IAAI,YAAY,IACpB,IAAI,YAAY,IAChB,GAAG,IAAI,EAAE,CAAE,YAAY,IAAI,IAAI,UAAU,CAAC;CAGhD,OAAO;AACT,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const _notationKebab: (str: string) => string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._notationKebab = void 0;
|
|
4
|
+
const _notationSnake_1 = require("./_notationSnake");
|
|
5
|
+
const _notationKebab = (str) => {
|
|
6
|
+
let snaked = (0, _notationSnake_1._notationSnake)(str);
|
|
7
|
+
let prefix = "";
|
|
8
|
+
while (snaked.startsWith("_")) {
|
|
9
|
+
prefix += "_";
|
|
10
|
+
snaked = snaked.substring(1);
|
|
11
|
+
}
|
|
12
|
+
return `${prefix}${snaked.replaceAll("_", "-")}`;
|
|
13
|
+
};
|
|
14
|
+
exports._notationKebab = _notationKebab;
|
|
15
|
+
//# sourceMappingURL=_notationKebab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_notationKebab.js","sourceRoot":"","sources":["../../src/internal/_notationKebab.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAE3C,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE;IACpD,IAAI,MAAM,GAAW,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC;IACzC,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC;QACd,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC,CAAC;AARW,QAAA,cAAc,GAAd,cAAc,CAQzB"}
|