typia 15.0.0 → 15.1.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/lib/TypeGuardError.d.ts +20 -4
- package/lib/TypeGuardError.mjs.map +1 -1
- package/lib/basic.d.ts +787 -0
- package/lib/basic.js +104 -0
- package/lib/basic.js.map +1 -0
- package/lib/basic.mjs +86 -0
- package/lib/basic.mjs.map +1 -0
- package/lib/compare.d.ts +21 -0
- package/lib/compare.js.map +1 -1
- package/lib/compare.mjs.map +1 -1
- package/lib/functional.d.ts +42 -0
- package/lib/functional.js.map +1 -1
- package/lib/functional.mjs.map +1 -1
- package/lib/http.d.ts +124 -24
- package/lib/http.js.map +1 -1
- package/lib/http.mjs.map +1 -1
- package/lib/index.mjs +2 -1
- package/lib/index.mjs.map +1 -1
- package/lib/internal/_IProtobufWriter.d.ts +115 -0
- package/lib/internal/_ProtobufReader.d.ts +159 -1
- package/lib/internal/_ProtobufReader.js +159 -1
- package/lib/internal/_ProtobufReader.js.map +1 -1
- package/lib/internal/_ProtobufReader.mjs +159 -1
- package/lib/internal/_ProtobufReader.mjs.map +1 -1
- package/lib/internal/_ProtobufSizer.d.ts +135 -4
- package/lib/internal/_ProtobufSizer.js +134 -2
- package/lib/internal/_ProtobufSizer.js.map +1 -1
- package/lib/internal/_ProtobufSizer.mjs +133 -2
- package/lib/internal/_ProtobufSizer.mjs.map +1 -1
- package/lib/internal/_ProtobufWriter.d.ts +151 -0
- package/lib/internal/_ProtobufWriter.js +154 -1
- package/lib/internal/_ProtobufWriter.js.map +1 -1
- package/lib/internal/_ProtobufWriter.mjs +153 -2
- package/lib/internal/_ProtobufWriter.mjs.map +1 -1
- package/lib/internal/_accessExpressionAsString.d.ts +11 -0
- package/lib/internal/_accessExpressionAsString.js +11 -0
- package/lib/internal/_accessExpressionAsString.js.map +1 -1
- package/lib/internal/_accessExpressionAsString.mjs +11 -0
- package/lib/internal/_accessExpressionAsString.mjs.map +1 -1
- package/lib/internal/_assertGuard.d.ts +12 -0
- package/lib/internal/_assertGuard.js +12 -0
- package/lib/internal/_assertGuard.js.map +1 -1
- package/lib/internal/_assertGuard.mjs +12 -0
- package/lib/internal/_assertGuard.mjs.map +1 -1
- package/lib/internal/_coerceLlmArguments.d.ts +10 -0
- package/lib/internal/_coerceLlmArguments.js +10 -0
- package/lib/internal/_coerceLlmArguments.js.map +1 -1
- package/lib/internal/_coerceLlmArguments.mjs +10 -0
- package/lib/internal/_coerceLlmArguments.mjs.map +1 -1
- package/lib/internal/_createLlmEvaluation.js +9 -46
- package/lib/internal/_createLlmEvaluation.js.map +1 -1
- package/lib/internal/_createLlmEvaluation.mjs +7 -35
- package/lib/internal/_createLlmEvaluation.mjs.map +1 -1
- package/lib/internal/_createStandardSchema.d.ts +13 -0
- package/lib/internal/_createStandardSchema.js +13 -0
- package/lib/internal/_createStandardSchema.js.map +1 -1
- package/lib/internal/_createStandardSchema.mjs +13 -0
- package/lib/internal/_createStandardSchema.mjs.map +1 -1
- package/lib/internal/_decimal.d.ts +75 -0
- package/lib/internal/_decimal.js +55 -0
- package/lib/internal/_decimal.js.map +1 -1
- package/lib/internal/_decimal.mjs +55 -0
- package/lib/internal/_decimal.mjs.map +1 -1
- package/lib/internal/_functionalTypeGuardErrorFactory.d.ts +8 -0
- package/lib/internal/_functionalTypeGuardErrorFactory.js +8 -0
- package/lib/internal/_functionalTypeGuardErrorFactory.js.map +1 -1
- package/lib/internal/_functionalTypeGuardErrorFactory.mjs +8 -0
- package/lib/internal/_functionalTypeGuardErrorFactory.mjs.map +1 -1
- package/lib/internal/_httpFormDataReadArray.d.ts +9 -0
- package/lib/internal/_httpFormDataReadArray.js +9 -0
- package/lib/internal/_httpFormDataReadArray.js.map +1 -1
- package/lib/internal/_httpFormDataReadArray.mjs +9 -0
- package/lib/internal/_httpFormDataReadArray.mjs.map +1 -1
- package/lib/internal/_httpFormDataReadBigint.d.ts +12 -0
- package/lib/internal/_httpFormDataReadBigint.js +19 -5
- package/lib/internal/_httpFormDataReadBigint.js.map +1 -1
- package/lib/internal/_httpFormDataReadBigint.mjs +13 -1
- package/lib/internal/_httpFormDataReadBigint.mjs.map +1 -1
- package/lib/internal/_httpFormDataReadBlob.d.ts +11 -0
- package/lib/internal/_httpFormDataReadBlob.js +11 -0
- package/lib/internal/_httpFormDataReadBlob.js.map +1 -1
- package/lib/internal/_httpFormDataReadBlob.mjs +11 -0
- package/lib/internal/_httpFormDataReadBlob.mjs.map +1 -1
- package/lib/internal/_httpFormDataReadBoolean.d.ts +11 -0
- package/lib/internal/_httpFormDataReadBoolean.js +23 -10
- package/lib/internal/_httpFormDataReadBoolean.js.map +1 -1
- package/lib/internal/_httpFormDataReadBoolean.mjs +12 -1
- package/lib/internal/_httpFormDataReadBoolean.mjs.map +1 -1
- package/lib/internal/_httpFormDataReadFile.d.ts +11 -0
- package/lib/internal/_httpFormDataReadFile.js +11 -0
- package/lib/internal/_httpFormDataReadFile.js.map +1 -1
- package/lib/internal/_httpFormDataReadFile.mjs +11 -0
- package/lib/internal/_httpFormDataReadFile.mjs.map +1 -1
- package/lib/internal/_httpFormDataReadNumber.d.ts +11 -0
- package/lib/internal/_httpFormDataReadNumber.js +18 -5
- package/lib/internal/_httpFormDataReadNumber.js.map +1 -1
- package/lib/internal/_httpFormDataReadNumber.mjs +12 -1
- package/lib/internal/_httpFormDataReadNumber.mjs.map +1 -1
- package/lib/internal/_httpFormDataReadString.d.ts +14 -1
- package/lib/internal/_httpFormDataReadString.js +15 -2
- package/lib/internal/_httpFormDataReadString.js.map +1 -1
- package/lib/internal/_httpFormDataReadString.mjs +14 -1
- package/lib/internal/_httpFormDataReadString.mjs.map +1 -1
- package/lib/internal/_httpHeaderReadBigint.d.ts +11 -0
- package/lib/internal/_httpHeaderReadBigint.js +16 -1
- package/lib/internal/_httpHeaderReadBigint.js.map +1 -1
- package/lib/internal/_httpHeaderReadBigint.mjs +13 -1
- package/lib/internal/_httpHeaderReadBigint.mjs.map +1 -1
- package/lib/internal/_httpHeaderReadBoolean.d.ts +12 -0
- package/lib/internal/_httpHeaderReadBoolean.js +12 -0
- package/lib/internal/_httpHeaderReadBoolean.js.map +1 -1
- package/lib/internal/_httpHeaderReadBoolean.mjs +12 -0
- package/lib/internal/_httpHeaderReadBoolean.mjs.map +1 -1
- package/lib/internal/_httpHeaderReadNumber.d.ts +11 -0
- package/lib/internal/_httpHeaderReadNumber.js +16 -1
- package/lib/internal/_httpHeaderReadNumber.js.map +1 -1
- package/lib/internal/_httpHeaderReadNumber.mjs +13 -1
- package/lib/internal/_httpHeaderReadNumber.mjs.map +1 -1
- package/lib/internal/_httpParameterReadBigint.d.ts +11 -0
- package/lib/internal/_httpParameterReadBigint.js +15 -0
- package/lib/internal/_httpParameterReadBigint.js.map +1 -1
- package/lib/internal/_httpParameterReadBigint.mjs +12 -0
- package/lib/internal/_httpParameterReadBigint.mjs.map +1 -1
- package/lib/internal/_httpParameterReadBoolean.d.ts +11 -0
- package/lib/internal/_httpParameterReadBoolean.js +11 -0
- package/lib/internal/_httpParameterReadBoolean.js.map +1 -1
- package/lib/internal/_httpParameterReadBoolean.mjs +11 -0
- package/lib/internal/_httpParameterReadBoolean.mjs.map +1 -1
- package/lib/internal/_httpParameterReadNumber.d.ts +11 -0
- package/lib/internal/_httpParameterReadNumber.js +15 -0
- package/lib/internal/_httpParameterReadNumber.js.map +1 -1
- package/lib/internal/_httpParameterReadNumber.mjs +12 -0
- package/lib/internal/_httpParameterReadNumber.mjs.map +1 -1
- package/lib/internal/_httpParameterReadString.d.ts +14 -1
- package/lib/internal/_httpParameterReadString.js +14 -1
- package/lib/internal/_httpParameterReadString.js.map +1 -1
- package/lib/internal/_httpParameterReadString.mjs +14 -1
- package/lib/internal/_httpParameterReadString.mjs.map +1 -1
- package/lib/internal/_httpQueryParseURLSearchParams.d.ts +14 -0
- package/lib/internal/_httpQueryParseURLSearchParams.js +14 -0
- package/lib/internal/_httpQueryParseURLSearchParams.js.map +1 -1
- package/lib/internal/_httpQueryParseURLSearchParams.mjs +14 -0
- package/lib/internal/_httpQueryParseURLSearchParams.mjs.map +1 -1
- package/lib/internal/_httpQueryReadArray.d.ts +9 -0
- package/lib/internal/_httpQueryReadArray.js +9 -0
- package/lib/internal/_httpQueryReadArray.js.map +1 -1
- package/lib/internal/_httpQueryReadArray.mjs +9 -0
- package/lib/internal/_httpQueryReadArray.mjs.map +1 -1
- package/lib/internal/_httpQueryReadBigint.d.ts +11 -0
- package/lib/internal/_httpQueryReadBigint.js +19 -1
- package/lib/internal/_httpQueryReadBigint.js.map +1 -1
- package/lib/internal/_httpQueryReadBigint.mjs +12 -1
- package/lib/internal/_httpQueryReadBigint.mjs.map +1 -1
- package/lib/internal/_httpQueryReadBoolean.d.ts +12 -0
- package/lib/internal/_httpQueryReadBoolean.js +16 -1
- package/lib/internal/_httpQueryReadBoolean.js.map +1 -1
- package/lib/internal/_httpQueryReadBoolean.mjs +13 -1
- package/lib/internal/_httpQueryReadBoolean.mjs.map +1 -1
- package/lib/internal/_httpQueryReadNumber.d.ts +11 -0
- package/lib/internal/_httpQueryReadNumber.js +19 -1
- package/lib/internal/_httpQueryReadNumber.js.map +1 -1
- package/lib/internal/_httpQueryReadNumber.mjs +12 -1
- package/lib/internal/_httpQueryReadNumber.mjs.map +1 -1
- package/lib/internal/_httpQueryReadString.d.ts +14 -1
- package/lib/internal/_httpQueryReadString.js +14 -1
- package/lib/internal/_httpQueryReadString.js.map +1 -1
- package/lib/internal/_httpQueryReadString.mjs +14 -1
- package/lib/internal/_httpQueryReadString.mjs.map +1 -1
- package/lib/internal/_isBetween.d.ts +8 -0
- package/lib/internal/_isBetween.js +8 -0
- package/lib/internal/_isBetween.js.map +1 -1
- package/lib/internal/_isBetween.mjs +8 -0
- package/lib/internal/_isBetween.mjs.map +1 -1
- package/lib/internal/_isBigintString.d.ts +11 -0
- package/lib/internal/_isBigintString.js +11 -0
- package/lib/internal/_isBigintString.js.map +1 -1
- package/lib/internal/_isBigintString.mjs +11 -0
- package/lib/internal/_isBigintString.mjs.map +1 -1
- package/lib/internal/_isFormatByte.d.ts +12 -0
- package/lib/internal/_isFormatByte.js +12 -0
- package/lib/internal/_isFormatByte.js.map +1 -1
- package/lib/internal/_isFormatByte.mjs +12 -0
- package/lib/internal/_isFormatByte.mjs.map +1 -1
- package/lib/internal/_isFormatDate.d.ts +11 -0
- package/lib/internal/_isFormatDate.js +11 -0
- package/lib/internal/_isFormatDate.js.map +1 -1
- package/lib/internal/_isFormatDate.mjs +11 -0
- package/lib/internal/_isFormatDate.mjs.map +1 -1
- package/lib/internal/_isFormatDateTime.d.ts +13 -0
- package/lib/internal/_isFormatDateTime.js +13 -0
- package/lib/internal/_isFormatDateTime.js.map +1 -1
- package/lib/internal/_isFormatDateTime.mjs +13 -0
- package/lib/internal/_isFormatDateTime.mjs.map +1 -1
- package/lib/internal/_isFormatDuration.d.ts +13 -0
- package/lib/internal/_isFormatDuration.js +13 -0
- package/lib/internal/_isFormatDuration.js.map +1 -1
- package/lib/internal/_isFormatDuration.mjs +13 -0
- package/lib/internal/_isFormatDuration.mjs.map +1 -1
- package/lib/internal/_isFormatEmail.d.ts +13 -0
- package/lib/internal/_isFormatEmail.js +13 -0
- package/lib/internal/_isFormatEmail.js.map +1 -1
- package/lib/internal/_isFormatEmail.mjs +13 -0
- package/lib/internal/_isFormatEmail.mjs.map +1 -1
- package/lib/internal/_isFormatHostname.d.ts +12 -0
- package/lib/internal/_isFormatHostname.js +12 -0
- package/lib/internal/_isFormatHostname.js.map +1 -1
- package/lib/internal/_isFormatHostname.mjs +12 -0
- package/lib/internal/_isFormatHostname.mjs.map +1 -1
- package/lib/internal/_isFormatIdnEmail.d.ts +14 -0
- package/lib/internal/_isFormatIdnEmail.js +14 -0
- package/lib/internal/_isFormatIdnEmail.js.map +1 -1
- package/lib/internal/_isFormatIdnEmail.mjs +14 -0
- package/lib/internal/_isFormatIdnEmail.mjs.map +1 -1
- package/lib/internal/_isFormatIdnHostname.d.ts +14 -0
- package/lib/internal/_isFormatIdnHostname.js +14 -0
- package/lib/internal/_isFormatIdnHostname.js.map +1 -1
- package/lib/internal/_isFormatIdnHostname.mjs +14 -0
- package/lib/internal/_isFormatIdnHostname.mjs.map +1 -1
- package/lib/internal/_isFormatIpv4.d.ts +11 -0
- package/lib/internal/_isFormatIpv4.js +11 -0
- package/lib/internal/_isFormatIpv4.js.map +1 -1
- package/lib/internal/_isFormatIpv4.mjs +11 -0
- package/lib/internal/_isFormatIpv4.mjs.map +1 -1
- package/lib/internal/_isFormatIpv6.d.ts +12 -0
- package/lib/internal/_isFormatIpv6.js +12 -0
- package/lib/internal/_isFormatIpv6.js.map +1 -1
- package/lib/internal/_isFormatIpv6.mjs +12 -0
- package/lib/internal/_isFormatIpv6.mjs.map +1 -1
- package/lib/internal/_isFormatIri.d.ts +11 -0
- package/lib/internal/_isFormatIri.js +11 -0
- package/lib/internal/_isFormatIri.js.map +1 -1
- package/lib/internal/_isFormatIri.mjs +11 -0
- package/lib/internal/_isFormatIri.mjs.map +1 -1
- package/lib/internal/_isFormatIriReference.d.ts +13 -0
- package/lib/internal/_isFormatIriReference.js +13 -0
- package/lib/internal/_isFormatIriReference.js.map +1 -1
- package/lib/internal/_isFormatIriReference.mjs +13 -0
- package/lib/internal/_isFormatIriReference.mjs.map +1 -1
- package/lib/internal/_isFormatJsonPointer.d.ts +11 -0
- package/lib/internal/_isFormatJsonPointer.js +11 -0
- package/lib/internal/_isFormatJsonPointer.js.map +1 -1
- package/lib/internal/_isFormatJsonPointer.mjs +11 -0
- package/lib/internal/_isFormatJsonPointer.mjs.map +1 -1
- package/lib/internal/_isFormatPassword.d.ts +11 -0
- package/lib/internal/_isFormatPassword.js +11 -0
- package/lib/internal/_isFormatPassword.js.map +1 -1
- package/lib/internal/_isFormatPassword.mjs +11 -0
- package/lib/internal/_isFormatPassword.mjs.map +1 -1
- package/lib/internal/_isFormatRegex.d.ts +11 -0
- package/lib/internal/_isFormatRegex.js +11 -0
- package/lib/internal/_isFormatRegex.js.map +1 -1
- package/lib/internal/_isFormatRegex.mjs +11 -0
- package/lib/internal/_isFormatRegex.mjs.map +1 -1
- package/lib/internal/_isFormatRelativeJsonPointer.d.ts +11 -0
- package/lib/internal/_isFormatRelativeJsonPointer.js +11 -0
- package/lib/internal/_isFormatRelativeJsonPointer.js.map +1 -1
- package/lib/internal/_isFormatRelativeJsonPointer.mjs +11 -0
- package/lib/internal/_isFormatRelativeJsonPointer.mjs.map +1 -1
- package/lib/internal/_isFormatTime.d.ts +12 -0
- package/lib/internal/_isFormatTime.js +12 -0
- package/lib/internal/_isFormatTime.js.map +1 -1
- package/lib/internal/_isFormatTime.mjs +12 -0
- package/lib/internal/_isFormatTime.mjs.map +1 -1
- package/lib/internal/_isFormatUri.d.ts +15 -0
- package/lib/internal/_isFormatUri.js +15 -0
- package/lib/internal/_isFormatUri.js.map +1 -1
- package/lib/internal/_isFormatUri.mjs +15 -0
- package/lib/internal/_isFormatUri.mjs.map +1 -1
- package/lib/internal/_isFormatUriReference.d.ts +11 -0
- package/lib/internal/_isFormatUriReference.js +11 -0
- package/lib/internal/_isFormatUriReference.js.map +1 -1
- package/lib/internal/_isFormatUriReference.mjs +11 -0
- package/lib/internal/_isFormatUriReference.mjs.map +1 -1
- package/lib/internal/_isFormatUriTemplate.d.ts +13 -0
- package/lib/internal/_isFormatUriTemplate.js +14 -1
- package/lib/internal/_isFormatUriTemplate.js.map +1 -1
- package/lib/internal/_isFormatUriTemplate.mjs +14 -1
- package/lib/internal/_isFormatUriTemplate.mjs.map +1 -1
- package/lib/internal/_isFormatUrl.d.ts +15 -0
- package/lib/internal/_isFormatUrl.js +15 -0
- package/lib/internal/_isFormatUrl.js.map +1 -1
- package/lib/internal/_isFormatUrl.mjs +15 -0
- package/lib/internal/_isFormatUrl.mjs.map +1 -1
- package/lib/internal/_isFormatUuid.d.ts +11 -0
- package/lib/internal/_isFormatUuid.js +11 -0
- package/lib/internal/_isFormatUuid.js.map +1 -1
- package/lib/internal/_isFormatUuid.mjs +11 -0
- package/lib/internal/_isFormatUuid.mjs.map +1 -1
- package/lib/internal/_isMultipleOf.d.ts +11 -0
- package/lib/internal/_isMultipleOf.js +11 -0
- package/lib/internal/_isMultipleOf.js.map +1 -1
- package/lib/internal/_isMultipleOf.mjs +11 -0
- package/lib/internal/_isMultipleOf.mjs.map +1 -1
- package/lib/internal/_isTypeFloat.d.ts +9 -0
- package/lib/internal/_isTypeFloat.js +9 -0
- package/lib/internal/_isTypeFloat.js.map +1 -1
- package/lib/internal/_isTypeFloat.mjs +9 -0
- package/lib/internal/_isTypeFloat.mjs.map +1 -1
- package/lib/internal/_isTypeInt16.d.ts +8 -0
- package/lib/internal/_isTypeInt16.js +8 -0
- package/lib/internal/_isTypeInt16.js.map +1 -1
- package/lib/internal/_isTypeInt16.mjs +8 -0
- package/lib/internal/_isTypeInt16.mjs.map +1 -1
- package/lib/internal/_isTypeInt32.d.ts +8 -0
- package/lib/internal/_isTypeInt32.js +8 -0
- package/lib/internal/_isTypeInt32.js.map +1 -1
- package/lib/internal/_isTypeInt32.mjs +8 -0
- package/lib/internal/_isTypeInt32.mjs.map +1 -1
- package/lib/internal/_isTypeInt64.d.ts +11 -0
- package/lib/internal/_isTypeInt64.js +11 -0
- package/lib/internal/_isTypeInt64.js.map +1 -1
- package/lib/internal/_isTypeInt64.mjs +11 -0
- package/lib/internal/_isTypeInt64.mjs.map +1 -1
- package/lib/internal/_isTypeInt64Bigint.d.ts +8 -0
- package/lib/internal/_isTypeInt64Bigint.js +8 -0
- package/lib/internal/_isTypeInt64Bigint.js.map +1 -1
- package/lib/internal/_isTypeInt64Bigint.mjs +8 -0
- package/lib/internal/_isTypeInt64Bigint.mjs.map +1 -1
- package/lib/internal/_isTypeInt8.d.ts +8 -0
- package/lib/internal/_isTypeInt8.js +8 -0
- package/lib/internal/_isTypeInt8.js.map +1 -1
- package/lib/internal/_isTypeInt8.mjs +8 -0
- package/lib/internal/_isTypeInt8.mjs.map +1 -1
- package/lib/internal/_isTypeUint16.d.ts +8 -0
- package/lib/internal/_isTypeUint16.js +8 -0
- package/lib/internal/_isTypeUint16.js.map +1 -1
- package/lib/internal/_isTypeUint16.mjs +8 -0
- package/lib/internal/_isTypeUint16.mjs.map +1 -1
- package/lib/internal/_isTypeUint32.d.ts +8 -0
- package/lib/internal/_isTypeUint32.js +8 -0
- package/lib/internal/_isTypeUint32.js.map +1 -1
- package/lib/internal/_isTypeUint32.mjs +8 -0
- package/lib/internal/_isTypeUint32.mjs.map +1 -1
- package/lib/internal/_isTypeUint64.d.ts +11 -0
- package/lib/internal/_isTypeUint64.js +11 -0
- package/lib/internal/_isTypeUint64.js.map +1 -1
- package/lib/internal/_isTypeUint64.mjs +11 -0
- package/lib/internal/_isTypeUint64.mjs.map +1 -1
- package/lib/internal/_isTypeUint64Bigint.d.ts +8 -0
- package/lib/internal/_isTypeUint64Bigint.js +8 -0
- package/lib/internal/_isTypeUint64Bigint.js.map +1 -1
- package/lib/internal/_isTypeUint64Bigint.mjs +8 -0
- package/lib/internal/_isTypeUint64Bigint.mjs.map +1 -1
- package/lib/internal/_isTypeUint8.d.ts +8 -0
- package/lib/internal/_isTypeUint8.js +8 -0
- package/lib/internal/_isTypeUint8.js.map +1 -1
- package/lib/internal/_isTypeUint8.mjs +8 -0
- package/lib/internal/_isTypeUint8.mjs.map +1 -1
- package/lib/internal/_isUniqueItems.d.ts +17 -0
- package/lib/internal/_isUniqueItems.js +58 -0
- package/lib/internal/_isUniqueItems.js.map +1 -1
- package/lib/internal/_isUniqueItems.mjs +41 -0
- package/lib/internal/_isUniqueItems.mjs.map +1 -1
- package/lib/internal/_jsonStringifyArray.js +2 -0
- package/lib/internal/_jsonStringifyArray.js.map +1 -1
- package/lib/internal/_jsonStringifyArray.mjs +2 -0
- package/lib/internal/_jsonStringifyArray.mjs.map +1 -1
- package/lib/internal/_jsonStringifyElement.js +2 -0
- package/lib/internal/_jsonStringifyElement.js.map +1 -1
- package/lib/internal/_jsonStringifyElement.mjs +2 -0
- package/lib/internal/_jsonStringifyElement.mjs.map +1 -1
- package/lib/internal/_jsonStringifyNumber.d.ts +9 -0
- package/lib/internal/_jsonStringifyNumber.js +9 -0
- package/lib/internal/_jsonStringifyNumber.js.map +1 -1
- package/lib/internal/_jsonStringifyNumber.mjs +9 -0
- package/lib/internal/_jsonStringifyNumber.mjs.map +1 -1
- package/lib/internal/_jsonStringifyProperty.js +3 -1
- package/lib/internal/_jsonStringifyProperty.js.map +1 -1
- package/lib/internal/_jsonStringifyProperty.mjs +3 -1
- package/lib/internal/_jsonStringifyProperty.mjs.map +1 -1
- package/lib/internal/_jsonStringifyRest.d.ts +11 -0
- package/lib/internal/_jsonStringifyRest.js +11 -0
- package/lib/internal/_jsonStringifyRest.js.map +1 -1
- package/lib/internal/_jsonStringifyRest.mjs +11 -0
- package/lib/internal/_jsonStringifyRest.mjs.map +1 -1
- package/lib/internal/_jsonStringifyString.d.ts +13 -0
- package/lib/internal/_jsonStringifyString.js +13 -0
- package/lib/internal/_jsonStringifyString.js.map +1 -1
- package/lib/internal/_jsonStringifyString.mjs +13 -0
- package/lib/internal/_jsonStringifyString.mjs.map +1 -1
- package/lib/internal/_jsonStringifyTail.d.ts +8 -0
- package/lib/internal/_jsonStringifyTail.js +8 -0
- package/lib/internal/_jsonStringifyTail.js.map +1 -1
- package/lib/internal/_jsonStringifyTail.mjs +8 -0
- package/lib/internal/_jsonStringifyTail.mjs.map +1 -1
- package/lib/internal/_llmApplicationFinalize.d.ts +13 -0
- package/lib/internal/_llmApplicationFinalize.js +13 -0
- package/lib/internal/_llmApplicationFinalize.js.map +1 -1
- package/lib/internal/_llmApplicationFinalize.mjs +13 -0
- package/lib/internal/_llmApplicationFinalize.mjs.map +1 -1
- package/lib/internal/_notationAny.d.ts +14 -0
- package/lib/internal/_notationAny.js +14 -0
- package/lib/internal/_notationAny.js.map +1 -1
- package/lib/internal/_notationAny.mjs +14 -0
- package/lib/internal/_notationAny.mjs.map +1 -1
- package/lib/internal/_notationAssign.d.ts +12 -0
- package/lib/internal/_notationAssign.js +12 -0
- package/lib/internal/_notationAssign.js.map +1 -1
- package/lib/internal/_notationAssign.mjs +12 -0
- package/lib/internal/_notationAssign.mjs.map +1 -1
- package/lib/internal/_notationKebab.d.ts +9 -0
- package/lib/internal/_notationKebab.js +9 -0
- package/lib/internal/_notationKebab.js.map +1 -1
- package/lib/internal/_notationKebab.mjs +9 -0
- package/lib/internal/_notationKebab.mjs.map +1 -1
- package/lib/internal/_notationKeyCollision.d.ts +8 -0
- package/lib/internal/_notationKeyCollision.js +8 -0
- package/lib/internal/_notationKeyCollision.js.map +1 -1
- package/lib/internal/_notationKeyCollision.mjs +8 -0
- package/lib/internal/_notationKeyCollision.mjs.map +1 -1
- package/lib/internal/_notationSnake.d.ts +12 -0
- package/lib/internal/_notationSnake.js +12 -0
- package/lib/internal/_notationSnake.js.map +1 -1
- package/lib/internal/_notationSnake.mjs +12 -0
- package/lib/internal/_notationSnake.mjs.map +1 -1
- package/lib/internal/_parseLlmArguments.d.ts +12 -0
- package/lib/internal/_parseLlmArguments.js +12 -0
- package/lib/internal/_parseLlmArguments.js.map +1 -1
- package/lib/internal/_parseLlmArguments.mjs +12 -0
- package/lib/internal/_parseLlmArguments.mjs.map +1 -1
- package/lib/internal/_plainCloneAny.d.ts +15 -0
- package/lib/internal/_plainCloneAny.js +15 -0
- package/lib/internal/_plainCloneAny.js.map +1 -1
- package/lib/internal/_plainCloneAny.mjs +15 -0
- package/lib/internal/_plainCloneAny.mjs.map +1 -1
- package/lib/internal/_randomArray.d.ts +19 -1
- package/lib/internal/_randomArray.js +32 -14
- package/lib/internal/_randomArray.js.map +1 -1
- package/lib/internal/_randomArray.mjs +24 -6
- package/lib/internal/_randomArray.mjs.map +1 -1
- package/lib/internal/_randomBigint.d.ts +17 -1
- package/lib/internal/_randomBigint.js +95 -2
- package/lib/internal/_randomBigint.js.map +1 -1
- package/lib/internal/_randomBigint.mjs +75 -2
- package/lib/internal/_randomBigint.mjs.map +1 -1
- package/lib/internal/_randomBoolean.d.ts +8 -0
- package/lib/internal/_randomBoolean.js +8 -0
- package/lib/internal/_randomBoolean.js.map +1 -1
- package/lib/internal/_randomBoolean.mjs +8 -0
- package/lib/internal/_randomBoolean.mjs.map +1 -1
- package/lib/internal/_randomFormatByte.d.ts +8 -0
- package/lib/internal/_randomFormatByte.js +8 -0
- package/lib/internal/_randomFormatByte.js.map +1 -1
- package/lib/internal/_randomFormatByte.mjs +8 -0
- package/lib/internal/_randomFormatByte.mjs.map +1 -1
- package/lib/internal/_randomFormatDate.d.ts +10 -0
- package/lib/internal/_randomFormatDate.js +10 -0
- package/lib/internal/_randomFormatDate.js.map +1 -1
- package/lib/internal/_randomFormatDate.mjs +10 -0
- package/lib/internal/_randomFormatDate.mjs.map +1 -1
- package/lib/internal/_randomFormatDatetime.d.ts +10 -0
- package/lib/internal/_randomFormatDatetime.js +10 -0
- package/lib/internal/_randomFormatDatetime.js.map +1 -1
- package/lib/internal/_randomFormatDatetime.mjs +10 -0
- package/lib/internal/_randomFormatDatetime.mjs.map +1 -1
- package/lib/internal/_randomFormatDuration.d.ts +8 -0
- package/lib/internal/_randomFormatDuration.js +8 -0
- package/lib/internal/_randomFormatDuration.js.map +1 -1
- package/lib/internal/_randomFormatDuration.mjs +8 -0
- package/lib/internal/_randomFormatDuration.mjs.map +1 -1
- package/lib/internal/_randomFormatEmail.d.ts +8 -0
- package/lib/internal/_randomFormatEmail.js +8 -0
- package/lib/internal/_randomFormatEmail.js.map +1 -1
- package/lib/internal/_randomFormatEmail.mjs +8 -0
- package/lib/internal/_randomFormatEmail.mjs.map +1 -1
- package/lib/internal/_randomFormatHostname.d.ts +15 -1
- package/lib/internal/_randomFormatHostname.js +15 -1
- package/lib/internal/_randomFormatHostname.js.map +1 -1
- package/lib/internal/_randomFormatHostname.mjs +15 -1
- package/lib/internal/_randomFormatHostname.mjs.map +1 -1
- package/lib/internal/_randomFormatIdnEmail.d.ts +13 -0
- package/lib/internal/_randomFormatIdnEmail.js +13 -0
- package/lib/internal/_randomFormatIdnEmail.js.map +1 -1
- package/lib/internal/_randomFormatIdnEmail.mjs +13 -0
- package/lib/internal/_randomFormatIdnEmail.mjs.map +1 -1
- package/lib/internal/_randomFormatIdnHostname.d.ts +12 -0
- package/lib/internal/_randomFormatIdnHostname.js +12 -0
- package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
- package/lib/internal/_randomFormatIdnHostname.mjs +12 -0
- package/lib/internal/_randomFormatIdnHostname.mjs.map +1 -1
- package/lib/internal/_randomFormatIpv4.d.ts +8 -0
- package/lib/internal/_randomFormatIpv4.js +8 -0
- package/lib/internal/_randomFormatIpv4.js.map +1 -1
- package/lib/internal/_randomFormatIpv4.mjs +8 -0
- package/lib/internal/_randomFormatIpv4.mjs.map +1 -1
- package/lib/internal/_randomFormatIpv6.d.ts +8 -0
- package/lib/internal/_randomFormatIpv6.js +8 -0
- package/lib/internal/_randomFormatIpv6.js.map +1 -1
- package/lib/internal/_randomFormatIpv6.mjs +8 -0
- package/lib/internal/_randomFormatIpv6.mjs.map +1 -1
- package/lib/internal/_randomFormatIri.d.ts +11 -0
- package/lib/internal/_randomFormatIri.js +11 -0
- package/lib/internal/_randomFormatIri.js.map +1 -1
- package/lib/internal/_randomFormatIri.mjs +11 -0
- package/lib/internal/_randomFormatIri.mjs.map +1 -1
- package/lib/internal/_randomFormatIriReference.d.ts +12 -0
- package/lib/internal/_randomFormatIriReference.js +12 -0
- package/lib/internal/_randomFormatIriReference.js.map +1 -1
- package/lib/internal/_randomFormatIriReference.mjs +12 -0
- package/lib/internal/_randomFormatIriReference.mjs.map +1 -1
- package/lib/internal/_randomFormatJsonPointer.d.ts +12 -0
- package/lib/internal/_randomFormatJsonPointer.js +12 -0
- package/lib/internal/_randomFormatJsonPointer.js.map +1 -1
- package/lib/internal/_randomFormatJsonPointer.mjs +12 -0
- package/lib/internal/_randomFormatJsonPointer.mjs.map +1 -1
- package/lib/internal/_randomFormatPassword.d.ts +13 -0
- package/lib/internal/_randomFormatPassword.js +13 -0
- package/lib/internal/_randomFormatPassword.js.map +1 -1
- package/lib/internal/_randomFormatPassword.mjs +13 -0
- package/lib/internal/_randomFormatPassword.mjs.map +1 -1
- package/lib/internal/_randomFormatRegex.d.ts +8 -0
- package/lib/internal/_randomFormatRegex.js +8 -0
- package/lib/internal/_randomFormatRegex.js.map +1 -1
- package/lib/internal/_randomFormatRegex.mjs +8 -0
- package/lib/internal/_randomFormatRegex.mjs.map +1 -1
- package/lib/internal/_randomFormatRelativeJsonPointer.d.ts +8 -0
- package/lib/internal/_randomFormatRelativeJsonPointer.js +8 -0
- package/lib/internal/_randomFormatRelativeJsonPointer.js.map +1 -1
- package/lib/internal/_randomFormatRelativeJsonPointer.mjs +8 -0
- package/lib/internal/_randomFormatRelativeJsonPointer.mjs.map +1 -1
- package/lib/internal/_randomFormatTime.d.ts +13 -0
- package/lib/internal/_randomFormatTime.js +13 -0
- package/lib/internal/_randomFormatTime.js.map +1 -1
- package/lib/internal/_randomFormatTime.mjs +13 -0
- package/lib/internal/_randomFormatTime.mjs.map +1 -1
- package/lib/internal/_randomFormatUri.d.ts +12 -0
- package/lib/internal/_randomFormatUri.js +12 -0
- package/lib/internal/_randomFormatUri.js.map +1 -1
- package/lib/internal/_randomFormatUri.mjs +12 -0
- package/lib/internal/_randomFormatUri.mjs.map +1 -1
- package/lib/internal/_randomFormatUriReference.d.ts +12 -0
- package/lib/internal/_randomFormatUriReference.js +12 -0
- package/lib/internal/_randomFormatUriReference.js.map +1 -1
- package/lib/internal/_randomFormatUriReference.mjs +12 -0
- package/lib/internal/_randomFormatUriReference.mjs.map +1 -1
- package/lib/internal/_randomFormatUriTemplate.d.ts +12 -0
- package/lib/internal/_randomFormatUriTemplate.js +12 -0
- package/lib/internal/_randomFormatUriTemplate.js.map +1 -1
- package/lib/internal/_randomFormatUriTemplate.mjs +12 -0
- package/lib/internal/_randomFormatUriTemplate.mjs.map +1 -1
- package/lib/internal/_randomFormatUrl.d.ts +12 -0
- package/lib/internal/_randomFormatUrl.js +12 -0
- package/lib/internal/_randomFormatUrl.js.map +1 -1
- package/lib/internal/_randomFormatUrl.mjs +12 -0
- package/lib/internal/_randomFormatUrl.mjs.map +1 -1
- package/lib/internal/_randomFormatUuid.d.ts +13 -0
- package/lib/internal/_randomFormatUuid.js +13 -0
- package/lib/internal/_randomFormatUuid.js.map +1 -1
- package/lib/internal/_randomFormatUuid.mjs +13 -0
- package/lib/internal/_randomFormatUuid.mjs.map +1 -1
- package/lib/internal/_randomInteger.d.ts +17 -1
- package/lib/internal/_randomInteger.js +74 -23
- package/lib/internal/_randomInteger.js.map +1 -1
- package/lib/internal/_randomInteger.mjs +62 -23
- package/lib/internal/_randomInteger.mjs.map +1 -1
- package/lib/internal/_randomMultiple.d.ts +18 -1
- package/lib/internal/_randomMultiple.js +30 -13
- package/lib/internal/_randomMultiple.js.map +1 -1
- package/lib/internal/_randomMultiple.mjs +30 -13
- package/lib/internal/_randomMultiple.mjs.map +1 -1
- package/lib/internal/_randomNumber.d.ts +17 -1
- package/lib/internal/_randomNumber.js +67 -18
- package/lib/internal/_randomNumber.js.map +1 -1
- package/lib/internal/_randomNumber.mjs +59 -22
- package/lib/internal/_randomNumber.mjs.map +1 -1
- package/lib/internal/_randomPattern.d.ts +12 -0
- package/lib/internal/_randomPattern.js +12 -0
- package/lib/internal/_randomPattern.js.map +1 -1
- package/lib/internal/_randomPattern.mjs +12 -0
- package/lib/internal/_randomPattern.mjs.map +1 -1
- package/lib/internal/_randomPick.d.ts +13 -1
- package/lib/internal/_randomPick.js +15 -3
- package/lib/internal/_randomPick.js.map +1 -1
- package/lib/internal/_randomPick.mjs +15 -3
- package/lib/internal/_randomPick.mjs.map +1 -1
- package/lib/internal/_randomString.d.ts +15 -1
- package/lib/internal/_randomString.js +19 -5
- package/lib/internal/_randomString.js.map +1 -1
- package/lib/internal/_randomString.mjs +19 -5
- package/lib/internal/_randomString.mjs.map +1 -1
- package/lib/internal/_randomStringLength.d.ts +30 -1
- package/lib/internal/_randomStringLength.js +23 -1
- package/lib/internal/_randomStringLength.js.map +1 -1
- package/lib/internal/_randomStringLength.mjs +23 -1
- package/lib/internal/_randomStringLength.mjs.map +1 -1
- package/lib/internal/_stringLength.d.ts +11 -0
- package/lib/internal/_stringLength.js +11 -0
- package/lib/internal/_stringLength.js.map +1 -1
- package/lib/internal/_stringLength.mjs +11 -0
- package/lib/internal/_stringLength.mjs.map +1 -1
- package/lib/internal/_stringLengthGte.d.ts +11 -0
- package/lib/internal/_stringLengthGte.js +11 -0
- package/lib/internal/_stringLengthGte.js.map +1 -1
- package/lib/internal/_stringLengthGte.mjs +11 -0
- package/lib/internal/_stringLengthGte.mjs.map +1 -1
- package/lib/internal/_stringLengthLte.d.ts +11 -0
- package/lib/internal/_stringLengthLte.js +11 -0
- package/lib/internal/_stringLengthLte.js.map +1 -1
- package/lib/internal/_stringLengthLte.mjs +11 -0
- package/lib/internal/_stringLengthLte.mjs.map +1 -1
- package/lib/internal/_throwTypeGuardError.d.ts +9 -0
- package/lib/internal/_throwTypeGuardError.js +9 -0
- package/lib/internal/_throwTypeGuardError.js.map +1 -1
- package/lib/internal/_throwTypeGuardError.mjs +9 -0
- package/lib/internal/_throwTypeGuardError.mjs.map +1 -1
- package/lib/internal/_validateReport.d.ts +15 -0
- package/lib/internal/_validateReport.js +15 -0
- package/lib/internal/_validateReport.js.map +1 -1
- package/lib/internal/_validateReport.mjs +15 -0
- package/lib/internal/_validateReport.mjs.map +1 -1
- package/lib/internal/private/__notationRename.d.ts +5 -0
- package/lib/internal/private/__notationRename.js +5 -0
- package/lib/internal/private/__notationRename.js.map +1 -1
- package/lib/internal/private/__notationRename.mjs +5 -0
- package/lib/internal/private/__notationRename.mjs.map +1 -1
- package/lib/internal/private/__randomComposition.d.ts +27 -3
- package/lib/internal/private/__randomComposition.js +27 -3
- package/lib/internal/private/__randomComposition.js.map +1 -1
- package/lib/internal/private/__randomComposition.mjs +27 -3
- package/lib/internal/private/__randomComposition.mjs.map +1 -1
- package/lib/internal/private/__randomEpoch.d.ts +15 -0
- package/lib/internal/private/__randomEpoch.js +5 -0
- package/lib/internal/private/__randomEpoch.js.map +1 -1
- package/lib/internal/private/__randomEpoch.mjs +5 -0
- package/lib/internal/private/__randomEpoch.mjs.map +1 -1
- package/lib/json.d.ts +49 -14
- package/lib/json.js.map +1 -1
- package/lib/json.mjs.map +1 -1
- package/lib/llm.d.ts +41 -25
- package/lib/llm.js.map +1 -1
- package/lib/llm.mjs.map +1 -1
- package/lib/module.d.ts +1 -702
- package/lib/module.js +1 -101
- package/lib/module.js.map +1 -1
- package/lib/module.mjs +1 -81
- package/lib/module.mjs.map +1 -1
- package/lib/notations.d.ts +60 -0
- package/lib/notations.js.map +1 -1
- package/lib/notations.mjs.map +1 -1
- package/lib/plain.d.ts +38 -0
- package/lib/plain.js.map +1 -1
- package/lib/plain.mjs.map +1 -1
- package/lib/protobuf.d.ts +38 -4
- package/lib/protobuf.js.map +1 -1
- package/lib/protobuf.mjs.map +1 -1
- package/lib/reflect.d.ts +16 -12
- package/lib/reflect.js.map +1 -1
- package/lib/reflect.mjs.map +1 -1
- package/lib/transform.d.ts +17 -0
- package/lib/transform.js +17 -0
- package/lib/transform.js.map +1 -1
- package/lib/transform.mjs +17 -0
- package/lib/transform.mjs.map +1 -1
- package/native/adapter/adapter.go +28 -3
- package/native/adapter/adapter_options_branch_matrix_test.go +39 -34
- package/native/adapter/plugin_options.go +5 -0
- package/native/adapter/plugin_options_payload_matrix_test.go +5 -0
- package/native/cmd/ttsc-typia/any_array_type_tags_transform_test.go +38 -131
- package/native/cmd/ttsc-typia/assert_guard_factory_contract_test.go +31 -58
- package/native/cmd/ttsc-typia/atomic_intersection_schema_transform_test.go +28 -79
- package/native/cmd/ttsc-typia/bigint_literal_precision_transform_test.go +16 -82
- package/native/cmd/ttsc-typia/build_diagnostics_preserve_details_test.go +41 -0
- package/native/cmd/ttsc-typia/build_no_emit_preserves_analysis_options_test.go +9 -10
- package/native/cmd/ttsc-typia/build_no_emit_transform_diagnostics_test.go +9 -7
- package/native/cmd/ttsc-typia/build_plugin_options_come_from_payload_test.go +9 -11
- package/native/cmd/ttsc-typia/build_transactional_emit_success_test.go +9 -7
- package/native/cmd/ttsc-typia/build_transform_failure_atomicity_test.go +9 -7
- package/native/cmd/ttsc-typia/callable_interface_function_semantics_transform_test.go +9 -164
- package/native/cmd/ttsc-typia/callable_type_literal_boundaries_transform_test.go +20 -580
- package/native/cmd/ttsc-typia/compare_equal_cover_transform_test.go +10 -127
- package/native/cmd/ttsc-typia/compare_functional_union_membership_transform_test.go +93 -289
- package/native/cmd/ttsc-typia/compare_less_nan_transform_test.go +15 -66
- package/native/cmd/ttsc-typia/compare_nondiscriminable_union_transform_test.go +9 -221
- package/native/cmd/ttsc-typia/create_assert_error_factory_arity_test.go +11 -82
- package/native/cmd/ttsc-typia/default_library_spoof_native_identity_transform_test.go +10 -100
- package/native/cmd/ttsc-typia/demo_rejects_bad_flag_test.go +15 -14
- package/native/cmd/ttsc-typia/dependency_collector_virtual_scheme_test.go +8 -17
- package/native/cmd/ttsc-typia/dynamic_key_path_helper_alias_transform_test.go +10 -70
- package/native/cmd/ttsc-typia/dynamic_key_tags_transform_test.go +9 -120
- package/native/cmd/ttsc-typia/exact_optional_family_emission_contract_test.go +252 -0
- package/native/cmd/ttsc-typia/exclude_type_tag_transform_test.go +10 -102
- package/native/cmd/ttsc-typia/fixture_directories_test.go +154 -0
- package/native/cmd/ttsc-typia/functional_promised_type_transform_test.go +11 -104
- package/native/cmd/ttsc-typia/functional_receiver_transform_test.go +16 -124
- package/native/cmd/ttsc-typia/inline_type_display_name_transform_test.go +10 -183
- package/native/cmd/ttsc-typia/instance_union_create_is_transform_test.go +11 -88
- package/native/cmd/ttsc-typia/intersection_nonsensible_backstop_transform_test.go +17 -30
- package/native/cmd/ttsc-typia/intersection_union_validation_transform_test.go +10 -404
- package/native/cmd/ttsc-typia/json_application_alias_function_validation_transform_test.go +10 -22
- package/native/cmd/ttsc-typia/json_is_stringify_scoped_checker_transform_test.go +10 -111
- package/native/cmd/ttsc-typia/json_schema_dynamic_key_determinism_transform_test.go +25 -110
- package/native/cmd/ttsc-typia/json_schema_nonsensible_intersection_diagnostic_test.go +10 -22
- package/native/cmd/ttsc-typia/json_stringify_constant_atomic_union_transform_test.go +10 -101
- package/native/cmd/ttsc-typia/lib_replacement_native_identity_transform_test.go +11 -98
- package/native/cmd/ttsc-typia/llm_evaluation_accepts_property_probability_test.go +5 -0
- package/native/cmd/ttsc-typia/llm_evaluation_accepts_unselected_source_probability_test.go +5 -0
- package/native/cmd/ttsc-typia/llm_evaluation_complete_object_shape_test.go +5 -0
- package/native/cmd/ttsc-typia/llm_evaluation_emits_configured_decimals_test.go +53 -0
- package/native/cmd/ttsc-typia/llm_evaluation_ignores_declaration_probability_without_call_test.go +5 -0
- package/native/cmd/ttsc-typia/llm_evaluation_plan_emission_transform_test.go +5 -0
- package/native/cmd/ttsc-typia/llm_evaluation_program_scan_dependencies_test.go +5 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_alias_comment_test.go +5 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_alias_refinement_test.go +5 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_computed_method_probability_test.go +5 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_conflicting_boolean_tags_test.go +52 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_finer_than_probability_decimals_test.go +100 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_imported_declaration_probability_test.go +6 -1
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_invalid_config_test.go +51 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_invalid_probability_test.go +14 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_oversized_questions_test.go +79 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_refinements_test.go +5 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_shared_values_test.go +128 -0
- package/native/cmd/ttsc-typia/llm_evaluation_rejects_undecidable_types_test.go +6 -12
- package/native/cmd/ttsc-typia/local_function_named_like_typia_operation_transform_test.go +9 -17
- package/native/cmd/ttsc-typia/metadata_type_tag_sole_malformed_diagnostic_test.go +10 -28
- package/native/cmd/ttsc-typia/native_collection_identity_is_transform_test.go +9 -129
- package/native/cmd/ttsc-typia/native_generic_name_guard_is_transform_test.go +10 -95
- package/native/cmd/ttsc-typia/native_name_collision_is_transform_test.go +9 -122
- package/native/cmd/ttsc-typia/native_named_intersection_union_transform_test.go +10 -135
- package/native/cmd/ttsc-typia/node_buffer_native_exports_is_transform_test.go +18 -234
- package/native/cmd/ttsc-typia/non_trailing_rest_tuple_transform_test.go +19 -71
- package/native/cmd/ttsc-typia/notation_kebab_case_transform_test.go +10 -109
- package/native/cmd/ttsc-typia/notation_pascal_case_transform_test.go +10 -142
- package/native/cmd/ttsc-typia/notation_unicode_key_transform_test.go +9 -201
- package/native/cmd/ttsc-typia/nullable_primitive_property_is_transform_test.go +10 -102
- package/native/cmd/ttsc-typia/object_custom_tag_validation_transform_test.go +10 -112
- package/native/cmd/ttsc-typia/object_union_explicit_pointer_schema_transform_test.go +68 -114
- package/native/cmd/ttsc-typia/package_declaration_native_identity_is_transform_test.go +10 -114
- package/native/cmd/ttsc-typia/pattern_line_terminator_escape_transform_test.go +45 -123
- package/native/cmd/ttsc-typia/plain_classify_class_ref_transform_test.go +12 -97
- package/native/cmd/ttsc-typia/plain_classify_container_seed_transform_test.go +12 -74
- package/native/cmd/ttsc-typia/plain_classify_cross_module_extra_transform_test.go +15 -91
- package/native/cmd/ttsc-typia/plain_classify_cross_module_transform_test.go +40 -0
- package/native/cmd/ttsc-typia/plain_classify_deep_nested_transform_test.go +12 -103
- package/native/cmd/ttsc-typia/plain_classify_field_copy_transform_test.go +10 -120
- package/native/cmd/ttsc-typia/plain_classify_from_new_transform_test.go +12 -255
- package/native/cmd/ttsc-typia/plain_classify_generic_private_rejected_test.go +30 -0
- package/native/cmd/ttsc-typia/plain_classify_inherited_private_rejected_test.go +33 -0
- package/native/cmd/ttsc-typia/plain_classify_named_interface_field_copy_test.go +33 -0
- package/native/cmd/ttsc-typia/plain_classify_private_field_rejected_test.go +36 -0
- package/native/cmd/ttsc-typia/plain_classify_recursive_anonymous_object_test.go +30 -0
- package/native/cmd/ttsc-typia/plain_classify_self_ref_private_rejected_test.go +33 -0
- package/native/cmd/ttsc-typia/plain_classify_static_private_allowed_test.go +35 -0
- package/native/cmd/ttsc-typia/plain_classify_strategy_edges_transform_test.go +16 -291
- package/native/cmd/ttsc-typia/plain_classify_unbound_anonymous_class_test.go +35 -0
- package/native/cmd/ttsc-typia/plain_classify_union_transform_test.go +12 -73
- package/native/cmd/ttsc-typia/plain_classify_validated_union_transform_test.go +11 -146
- package/native/cmd/ttsc-typia/plain_clone_bigint_wrapper_transform_test.go +10 -80
- package/native/cmd/ttsc-typia/private_field_filter_is_transform_test.go +10 -137
- package/native/cmd/ttsc-typia/project_catalog_transform_coverage_test.go +4 -0
- package/native/cmd/ttsc-typia/project_dependencies_barrel_reexport_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_callee_argument_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_callee_barrel_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_callee_inference_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_callee_shape_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_callee_untransformed_barrel_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_collapsed_alias_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_complete_diagnostic_transform_test.go +7 -11
- package/native/cmd/ttsc-typia/project_dependencies_complete_envelope_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_complete_inferred_type_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_complete_replaced_library_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_complete_untouched_reprint_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_computed_key_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_custom_lib_name_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_default_barrel_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_empty_heritage_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_enum_member_value_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_envelope_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_index_signature_alias_transform_test.go +9 -12
- package/native/cmd/ttsc-typia/project_dependencies_inferred_declaration_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_jsdoc_typedef_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_local_reexport_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_named_tuple_member_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_qualified_barrel_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_signature_alias_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_star_barrel_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_dependencies_type_parameter_default_transform_test.go +6 -10
- package/native/cmd/ttsc-typia/project_reference_graph_envelope_transform_test.go +10 -32
- package/native/cmd/ttsc-typia/protobuf_diagnostic_code_transform_test.go +9 -31
- package/native/cmd/ttsc-typia/protobuf_is_encode_finite_number_transform_test.go +10 -23
- package/native/cmd/ttsc-typia/protobuf_object_generic_union_encode_transform_test.go +12 -114
- package/native/cmd/ttsc-typia/protobuf_sequence_field_numbers_transform_test.go +9 -26
- package/native/cmd/ttsc-typia/random_recursive_min_items_diagnostic_test.go +26 -22
- package/native/cmd/ttsc-typia/random_unsatisfiable_recursive_diagnostic_test.go +10 -26
- package/native/cmd/ttsc-typia/recursive_conditional_alias_name_transform_test.go +10 -185
- package/native/cmd/ttsc-typia/recursive_visit_tracking_transform_test.go +10 -291
- package/native/cmd/ttsc-typia/reflect_literals_non_literal_rejection_transform_test.go +9 -28
- package/native/cmd/ttsc-typia/schema_dts_role_transform_test.go +11 -206
- package/native/cmd/ttsc-typia/schema_literal_helpers_test.go +110 -0
- package/native/cmd/ttsc-typia/shadowed_typia_module_declaration_diagnostic_test.go +9 -17
- package/native/cmd/ttsc-typia/shallow_depth_argument_error_transform_test.go +10 -24
- package/native/cmd/ttsc-typia/shallow_depth_limit_transform_test.go +10 -105
- package/native/cmd/ttsc-typia/shallow_nested_depth_transform_test.go +10 -24
- package/native/cmd/ttsc-typia/symbol_key_member_filter_transform_test.go +10 -147
- package/native/cmd/ttsc-typia/template_interpolation_type_tags_transform_test.go +10 -272
- package/native/cmd/ttsc-typia/template_literal_type_tags_transform_test.go +10 -92
- package/native/cmd/ttsc-typia/transform_diagnostics_preserve_details_test.go +9 -86
- package/native/cmd/ttsc-typia/transform_fixtures_emit_coverage_test.go +48 -29
- package/native/cmd/ttsc-typia/transform_helpers_test.go +41 -360
- package/native/cmd/ttsc-typia/transform_plugin_options_come_from_payload_test.go +9 -12
- package/native/cmd/ttsc-typia/transform_project_diagnostics_preserve_details_test.go +54 -0
- package/native/cmd/ttsc-typia/transform_single_file_failure_atomicity_test.go +9 -11
- package/native/cmd/ttsc-typia/transform_single_file_failure_writes_no_stdout_test.go +9 -8
- package/native/cmd/ttsc-typia/transform_single_file_js_distinguishes_same_basename_sources_test.go +9 -14
- package/native/cmd/ttsc-typia/transform_single_file_js_locates_output_across_layouts_test.go +9 -16
- package/native/cmd/ttsc-typia/transform_single_file_success_publishes_artifact_test.go +9 -9
- package/native/cmd/ttsc-typia/transform_wasm_host_argv_reports_diagnostics_test.go +9 -10
- package/native/cmd/ttsc-typia/tuple_optional_compare_clone_transform_test.go +33 -181
- package/native/cmd/ttsc-typia/typia_diagnostic_formatting_test.go +46 -0
- package/native/cmd/ttsc-typia/uri_template_comment_dotted_variable_transform_test.go +57 -0
- package/native/cmd/ttsc-typia/user_global_native_identity_transform_test.go +16 -202
- package/native/cmd/ttsc-typia/wrong_type_tag_target_diagnostic_test.go +12 -12
- package/native/core/context/EmitFactory.go +10 -0
- package/native/core/context/IProgrammerProps.go +21 -4
- package/native/core/context/ITransformOptions.go +22 -4
- package/native/core/context/ITypiaContext.go +61 -11
- package/native/core/context/ImportProgrammer.go +144 -6
- package/native/core/context/TransformerError.go +74 -7
- package/native/core/context/import_programmer_default_type_only_needs_every_request_test.go +58 -0
- package/native/core/context/import_programmer_module_identifier_test.go +5 -0
- package/native/core/context/import_programmer_statement_coverage_test.go +106 -50
- package/native/core/context/transformer_error_formatting_test.go +82 -77
- package/native/core/factories/CommentFactory.go +8 -0
- package/native/core/factories/ExpressionFactory.go +121 -5
- package/native/core/factories/FormatCheatSheet.go +1 -1
- package/native/core/factories/JsonMetadataFactory.go +29 -4
- package/native/core/factories/LiteralFactory.go +24 -1
- package/native/core/factories/MetadataCommentTagFactory.go +177 -29
- package/native/core/factories/MetadataFactory.go +59 -5
- package/native/core/factories/ProtobufFactory.go +17 -4
- package/native/core/factories/StatementFactory.go +38 -5
- package/native/core/factories/TemplateFactory.go +10 -0
- package/native/core/factories/TypeFactory.go +33 -5
- package/native/core/factories/expression_factory_number_spells_non_finite_values_test.go +74 -0
- package/native/core/factories/factory_utility_coverage_test.go +8 -3
- package/native/core/factories/format_alias_resolves_to_cheat_sheet_test.go +5 -0
- package/native/core/factories/format_alias_table_targets_the_cheat_sheet_test.go +20 -30
- package/native/core/factories/identifier_factory_postfix_escapes_every_key_test.go +5 -0
- package/native/core/factories/identifier_factory_postfix_survives_every_code_point_test.go +5 -0
- package/native/core/factories/internal/metadata/IMetadataIteratorProps.go +115 -22
- package/native/core/factories/internal/metadata/MetadataHelper.go +64 -1
- package/native/core/factories/internal/metadata/comment_tags_coverage_test.go +167 -148
- package/native/core/factories/internal/metadata/emend_metadata_atomics.go +28 -1
- package/native/core/factories/internal/metadata/emplace_metadata_alias.go +10 -3
- package/native/core/factories/internal/metadata/emplace_metadata_array_type.go +17 -0
- package/native/core/factories/internal/metadata/emplace_metadata_object.go +12 -1
- package/native/core/factories/internal/metadata/emplace_metadata_tuple.go +10 -0
- package/native/core/factories/internal/metadata/explore_metadata.go +48 -9
- package/native/core/factories/internal/metadata/iterate_metadata.go +12 -0
- package/native/core/factories/internal/metadata/iterate_metadata_alias.go +8 -0
- package/native/core/factories/internal/metadata/iterate_metadata_array.go +7 -0
- package/native/core/factories/internal/metadata/iterate_metadata_atomic.go +7 -0
- package/native/core/factories/internal/metadata/iterate_metadata_coalesce.go +8 -0
- package/native/core/factories/internal/metadata/iterate_metadata_collection.go +8 -0
- package/native/core/factories/internal/metadata/iterate_metadata_collection_branch_matrix_test.go +148 -143
- package/native/core/factories/internal/metadata/iterate_metadata_comment_tags.go +7 -0
- package/native/core/factories/internal/metadata/iterate_metadata_constant.go +68 -0
- package/native/core/factories/internal/metadata/iterate_metadata_escape.go +7 -0
- package/native/core/factories/internal/metadata/iterate_metadata_function.go +33 -10
- package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +22 -11
- package/native/core/factories/internal/metadata/iterate_metadata_intersection_brand_coverage_test.go +5 -0
- package/native/core/factories/internal/metadata/iterate_metadata_intersection_coverage_test.go +88 -83
- package/native/core/factories/internal/metadata/iterate_metadata_intersection_shareable_name_test.go +4 -0
- package/native/core/factories/internal/metadata/iterate_metadata_map.go +7 -0
- package/native/core/factories/internal/metadata/iterate_metadata_native.go +11 -1
- package/native/core/factories/internal/metadata/iterate_metadata_object.go +8 -0
- package/native/core/factories/internal/metadata/iterate_metadata_set.go +7 -0
- package/native/core/factories/internal/metadata/iterate_metadata_sort.go +11 -0
- package/native/core/factories/internal/metadata/iterate_metadata_template.go +7 -0
- package/native/core/factories/internal/metadata/iterate_metadata_tuple.go +7 -0
- package/native/core/factories/internal/metadata/iterate_metadata_union.go +10 -0
- package/native/core/factories/internal/metadata/js_doc_link_text_test.go +5 -0
- package/native/core/factories/internal/metadata/js_doc_parameter_name_reads_qualified_name_test.go +31 -26
- package/native/core/factories/internal/metadata/js_doc_type_tag_blank_separation_test.go +88 -0
- package/native/core/factories/internal/metadata/sort_constants_coverage_test.go +50 -39
- package/native/core/factories/internal/metadata/type_arguments_precondition_test.go +5 -0
- package/native/core/factories/json_metadata_factory_dedupes_bigint_diagnostics_test.go +5 -0
- package/native/core/factories/json_metadata_factory_rejects_bigint_native_test.go +5 -0
- package/native/core/factories/literal_factory_null_survives_objects_test.go +5 -0
- package/native/core/factories/literal_factory_ordered_object_marshals_json_test.go +5 -0
- package/native/core/factories/metadata_comment_tag_factory_coverage_test.go +5 -0
- package/native/core/factories/metadata_comment_tag_factory_exclusivity_matches_interface_test.go +10 -5
- package/native/core/factories/metadata_comment_tag_factory_holds_bigint_tags_exact_test.go +173 -0
- package/native/core/factories/metadata_comment_tag_factory_reads_javascript_numbers_test.go +163 -0
- package/native/core/factories/metadata_comment_tag_factory_rejects_out_of_range_integer_test.go +7 -2
- package/native/core/factories/metadata_comment_tag_factory_string_length_helpers_test.go +5 -0
- package/native/core/factories/metadata_type_tag_factory_accepts_legal_tag_combinations_test.go +6 -1
- package/native/core/factories/metadata_type_tag_factory_keeps_bool_form_exclusivity_test.go +5 -0
- package/native/core/factories/metadata_type_tag_factory_rejects_cross_kind_exclusive_tags_test.go +5 -0
- package/native/core/factories/metadata_type_tag_factory_rejects_duplicated_array_form_tags_test.go +5 -0
- package/native/core/factories/metadata_type_tag_factory_reports_all_invalid_candidates_test.go +5 -0
- package/native/core/factories/numeric_range_factory_enforces_64bit_bounds_test.go +58 -2
- package/native/core/factories/protobuf_factory_bigint_keeps_each_width_test.go +47 -0
- package/native/core/factories/protobuf_factory_rejects_invalid_field_names_test.go +5 -0
- package/native/core/factories/protobuf_recovery_ownership_test.go +5 -0
- package/native/core/programmers/AssertProgrammer.go +27 -0
- package/native/core/programmers/IsProgrammer.go +67 -1
- package/native/core/programmers/RandomProgrammer.go +39 -22
- package/native/core/programmers/ValidateProgrammer.go +28 -1
- package/native/core/programmers/compare/CompareEqualProgrammer.go +26 -3
- package/native/core/programmers/compare/CompareLessProgrammer.go +17 -3
- package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +47 -6
- package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +70 -13
- package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +76 -12
- package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +31 -5
- package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +169 -18
- package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +67 -11
- package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +31 -5
- package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +63 -12
- package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +68 -11
- package/native/core/programmers/functional/internal/FunctionalGeneralProgrammer.go +22 -2
- package/native/core/programmers/helpers/ClassifyJoiner.go +14 -6
- package/native/core/programmers/helpers/CloneJoiner.go +29 -0
- package/native/core/programmers/helpers/FunctionProgrammer.go +98 -0
- package/native/core/programmers/helpers/ICheckEntry.go +16 -0
- package/native/core/programmers/helpers/IExpressionEntry.go +8 -0
- package/native/core/programmers/helpers/ModuloText.go +5 -0
- package/native/core/programmers/helpers/NotationJoiner.go +23 -0
- package/native/core/programmers/helpers/ProtobufWire.go +8 -0
- package/native/core/programmers/helpers/PruneJoiner.go +21 -0
- package/native/core/programmers/helpers/RandomJoiner.go +52 -5
- package/native/core/programmers/helpers/StringifyJoinder.go +31 -12
- package/native/core/programmers/helpers/UnionExplorer.go +202 -70
- package/native/core/programmers/helpers/UnionPredicator.go +9 -0
- package/native/core/programmers/helpers/clone_joiner_optional_condition_test.go +14 -1
- package/native/core/programmers/helpers/function_programmer_unique_names_test.go +5 -0
- package/native/core/programmers/helpers/joiner_branch_coverage_test.go +5 -0
- package/native/core/programmers/helpers/option_predicator_contract_matrix_test.go +84 -0
- package/native/core/programmers/helpers/random_joiner_recursive_array_guard_test.go +5 -0
- package/native/core/programmers/helpers/union_explorer_coverage_test.go +120 -112
- package/native/core/programmers/helpers/union_predicator_checks_neighbor_flag_test.go +5 -0
- package/native/core/programmers/helpers/union_predicator_skips_atomic_like_native_fields_test.go +5 -0
- package/native/core/programmers/helpers/union_predicator_skips_collection_bucket_fields_test.go +5 -0
- package/native/core/programmers/helpers/union_predicator_skips_shared_native_names_test.go +5 -0
- package/native/core/programmers/helpers/union_predicator_skips_shared_object_fields_test.go +5 -0
- package/native/core/programmers/helpers/union_predicator_skips_shared_template_fields_test.go +5 -0
- package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +9 -0
- package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +9 -0
- package/native/core/programmers/http/HttpAssertQueryProgrammer.go +20 -0
- package/native/core/programmers/http/HttpFormDataProgrammer.go +48 -2
- package/native/core/programmers/http/HttpHeadersProgrammer.go +63 -4
- package/native/core/programmers/http/HttpIsFormDataProgrammer.go +8 -0
- package/native/core/programmers/http/HttpIsHeadersProgrammer.go +8 -0
- package/native/core/programmers/http/HttpIsQueryProgrammer.go +19 -1
- package/native/core/programmers/http/HttpParameterProgrammer.go +1 -3
- package/native/core/programmers/http/HttpQueryProgrammer.go +44 -44
- package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +8 -0
- package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +8 -0
- package/native/core/programmers/http/HttpValidateQueryProgrammer.go +18 -1
- package/native/core/programmers/http/http_programmer_helper_coverage_test.go +98 -93
- package/native/core/programmers/internal/CheckerProgrammer.go +162 -18
- package/native/core/programmers/internal/FeatureProgrammer.go +254 -38
- package/native/core/programmers/internal/feature_programmer_visit_guard_test.go +82 -55
- package/native/core/programmers/internal/internal_utility_coverage_test.go +338 -345
- package/native/core/programmers/iterate/check_array_length.go +15 -0
- package/native/core/programmers/iterate/check_bigint.go +14 -0
- package/native/core/programmers/iterate/check_dynamic_key.go +33 -19
- package/native/core/programmers/iterate/check_dynamic_key_tag_rows_test.go +59 -32
- package/native/core/programmers/iterate/check_dynamic_properties.go +70 -16
- package/native/core/programmers/iterate/check_everything.go +7 -0
- package/native/core/programmers/iterate/check_native.go +14 -0
- package/native/core/programmers/iterate/check_number.go +16 -0
- package/native/core/programmers/iterate/check_number_option_contract_matrix_test.go +84 -0
- package/native/core/programmers/iterate/check_object.go +28 -0
- package/native/core/programmers/iterate/check_object_strict_optional_undefined_test.go +6 -1
- package/native/core/programmers/iterate/check_object_type_tags.go +15 -0
- package/native/core/programmers/iterate/check_string.go +14 -0
- package/native/core/programmers/iterate/check_template.go +15 -0
- package/native/core/programmers/iterate/decode_union_object.go +35 -2
- package/native/core/programmers/iterate/exact_optional_checker_entry_contract_test.go +142 -0
- package/native/core/programmers/iterate/exact_optional_graph_clone_random_contract_test.go +213 -0
- package/native/core/programmers/iterate/feature_object_entries.go +40 -0
- package/native/core/programmers/iterate/iterate_utility_coverage_test.go +30 -5
- package/native/core/programmers/iterate/json_schema_array.go +16 -0
- package/native/core/programmers/iterate/json_schema_bigint.go +7 -0
- package/native/core/programmers/iterate/json_schema_boolean.go +7 -0
- package/native/core/programmers/iterate/json_schema_discriminator_declaration_syntax_test.go +10 -5
- package/native/core/programmers/iterate/json_schema_jsDocTags.go +10 -3
- package/native/core/programmers/iterate/json_schema_jsdoc_tags_cast_reads_javascript_numbers_test.go +69 -0
- package/native/core/programmers/iterate/json_schema_native.go +27 -0
- package/native/core/programmers/iterate/json_schema_number.go +7 -0
- package/native/core/programmers/iterate/json_schema_pattern_property_order_test.go +5 -0
- package/native/core/programmers/iterate/json_schema_plugin.go +7 -0
- package/native/core/programmers/iterate/json_schema_station.go +16 -0
- package/native/core/programmers/iterate/json_schema_string.go +7 -0
- package/native/core/programmers/iterate/openapi_v3_downgrader.go +29 -10
- package/native/core/programmers/iterate/openapi_v3_downgrader_boolean_default_test.go +9 -4
- package/native/core/programmers/iterate/openapi_v3_downgrader_test.go +9 -4
- package/native/core/programmers/iterate/postfix_of_tuple.go +8 -0
- package/native/core/programmers/iterate/template_interpolation_tags_test.go +46 -4
- package/native/core/programmers/iterate/template_runtime_pattern.go +10 -4
- package/native/core/programmers/iterate/wrap_metadata_rest_tuple.go +8 -0
- package/native/core/programmers/json/JsonApplicationProgrammer.go +9 -0
- package/native/core/programmers/json/JsonAssertParseProgrammer.go +9 -0
- package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +9 -0
- package/native/core/programmers/json/JsonIsParseProgrammer.go +7 -0
- package/native/core/programmers/json/JsonIsStringifyProgrammer.go +8 -0
- package/native/core/programmers/json/JsonSchemaProgrammer.go +15 -0
- package/native/core/programmers/json/JsonSchemasProgrammer.go +16 -0
- package/native/core/programmers/json/JsonStringifyProgrammer.go +20 -32
- package/native/core/programmers/json/JsonValidateParseProgrammer.go +8 -0
- package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +8 -0
- package/native/core/programmers/json/json_schema_programmer_coverage_test.go +176 -171
- package/native/core/programmers/json/json_schemas_programmer_dedupes_bigint_diagnostics_test.go +5 -0
- package/native/core/programmers/json/json_schemas_programmer_rejects_bigint_native_test.go +5 -0
- package/native/core/programmers/json/json_stringify_programmer_coverage_test.go +400 -398
- package/native/core/programmers/llm/LlmApplicationProgrammer.go +10 -9
- package/native/core/programmers/llm/LlmCoerceProgrammer.go +16 -9
- package/native/core/programmers/llm/LlmControllerProgrammer.go +10 -0
- package/native/core/programmers/llm/LlmEvaluationProgrammer.go +107 -11
- package/native/core/programmers/llm/LlmParametersProgrammer.go +8 -9
- package/native/core/programmers/llm/LlmParseProgrammer.go +24 -9
- package/native/core/programmers/llm/LlmSchemaProgrammer.go +50 -13
- package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +8 -9
- package/native/core/programmers/llm/llm_application_programmer_coverage_test.go +146 -141
- package/native/core/programmers/llm/llm_reference_codec_test.go +5 -0
- package/native/core/programmers/llm/llm_reference_description_test.go +13 -3
- package/native/core/programmers/llm/llm_schema_programmer_coverage_test.go +255 -250
- package/native/core/programmers/llm/llm_schema_programmer_dedupes_bigint_diagnostics_test.go +5 -0
- package/native/core/programmers/llm/llm_schema_programmer_rejects_bigint_native_test.go +5 -0
- package/native/core/programmers/llm/llm_schema_programmer_rejects_exclude_tag_in_strict_test.go +7 -3
- package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +32 -4
- package/native/core/programmers/notations/NotationGeneralProgrammer.go +70 -42
- package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +29 -3
- package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +32 -4
- package/native/core/programmers/notations/notation_general_helpers_test.go +363 -367
- package/native/core/programmers/notations/notation_general_programmer_pascal_multiword_test.go +5 -0
- package/native/core/programmers/notations/notation_general_programmer_snake_prefix_test.go +5 -0
- package/native/core/programmers/notations/notation_general_programmer_underscore_boundary_test.go +5 -0
- package/native/core/programmers/plain/PlainAssertClassifyProgrammer.go +23 -3
- package/native/core/programmers/plain/PlainAssertCloneProgrammer.go +22 -3
- package/native/core/programmers/plain/PlainAssertPruneProgrammer.go +22 -3
- package/native/core/programmers/plain/PlainClassifyProgrammer.go +61 -85
- package/native/core/programmers/plain/PlainCloneProgrammer.go +34 -38
- package/native/core/programmers/plain/PlainIsCloneProgrammer.go +18 -2
- package/native/core/programmers/plain/PlainIsPruneProgrammer.go +18 -2
- package/native/core/programmers/plain/PlainPruneProgrammer.go +29 -10
- package/native/core/programmers/plain/PlainValidateClassifyProgrammer.go +22 -3
- package/native/core/programmers/plain/PlainValidateCloneProgrammer.go +22 -3
- package/native/core/programmers/plain/PlainValidatePruneProgrammer.go +22 -3
- package/native/core/programmers/plain/plain_programmer_helper_coverage_test.go +6 -3
- package/native/core/programmers/plain/plain_prune_programmer_branch_matrix_test.go +5 -0
- package/native/core/programmers/plain/plain_tuple_seed_recovery_ownership_test.go +5 -0
- package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +19 -0
- package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +19 -0
- package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +19 -1
- package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +30 -30
- package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +19 -1
- package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +19 -1
- package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +11 -5
- package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +19 -1
- package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +19 -1
- package/native/core/programmers/protobuf/protobuf_programmer_helper_coverage_test.go +493 -453
- package/native/core/programmers/random_programmer_helper_coverage_test.go +350 -342
- package/native/core/programmers/random_programmer_length_argument_test.go +32 -1
- package/native/core/programmers/random_programmer_min_items_tag_test.go +5 -0
- package/native/core/programmers/random_programmer_pick_hook_test.go +88 -0
- package/native/core/programmers/reflect/ReflectLiteralsProgrammer.go +15 -0
- package/native/core/schemas/metadata/IMetadataTypeTagSequence.go +12 -1
- package/native/core/schemas/metadata/MetadataAlias.go +41 -1
- package/native/core/schemas/metadata/MetadataAliasType.go +57 -21
- package/native/core/schemas/metadata/MetadataArray.go +37 -1
- package/native/core/schemas/metadata/MetadataArrayType.go +52 -18
- package/native/core/schemas/metadata/MetadataAtomic.go +44 -10
- package/native/core/schemas/metadata/MetadataBigint.go +20 -4
- package/native/core/schemas/metadata/MetadataCollection.go +264 -53
- package/native/core/schemas/metadata/MetadataComponents.go +13 -116
- package/native/core/schemas/metadata/MetadataConstant.go +35 -13
- package/native/core/schemas/metadata/MetadataConstantValue.go +87 -20
- package/native/core/schemas/metadata/MetadataDefaultLibrary.go +20 -0
- package/native/core/schemas/metadata/MetadataDependency.go +52 -2
- package/native/core/schemas/metadata/MetadataEscaped.go +48 -8
- package/native/core/schemas/metadata/MetadataFunction.go +42 -16
- package/native/core/schemas/metadata/MetadataMap.go +53 -4
- package/native/core/schemas/metadata/MetadataNative.go +65 -9
- package/native/core/schemas/metadata/MetadataObject.go +37 -1
- package/native/core/schemas/metadata/MetadataObjectType.go +117 -74
- package/native/core/schemas/metadata/MetadataParameter.go +51 -16
- package/native/core/schemas/metadata/MetadataProperty.go +49 -19
- package/native/core/schemas/metadata/MetadataSchema.go +324 -198
- package/native/core/schemas/metadata/MetadataSet.go +49 -2
- package/native/core/schemas/metadata/MetadataTemplate.go +61 -15
- package/native/core/schemas/metadata/MetadataTuple.go +21 -0
- package/native/core/schemas/metadata/MetadataTupleType.go +61 -19
- package/native/core/schemas/metadata/metadata_atomic_tags_are_owned_test.go +75 -0
- package/native/core/schemas/metadata/metadata_bigint_is_comparable_test.go +5 -0
- package/native/core/schemas/metadata/metadata_collection_generic_argument_dot_test.go +13 -8
- package/native/core/schemas/metadata/metadata_collection_name_allocation_test.go +9 -2
- package/native/core/schemas/metadata/metadata_collection_openapi_name_cascade_test.go +5 -0
- package/native/core/schemas/metadata/metadata_collection_openapi_name_test.go +7 -1
- package/native/core/schemas/metadata/metadata_object_coverage_compares_property_values_test.go +61 -0
- package/native/core/schemas/metadata/metadata_object_type_required_literal_property_test.go +7 -1
- package/native/core/schemas/metadata/metadata_schema_covers_tag_matrix_test.go +8 -3
- package/native/core/schemas/metadata/metadata_schema_merge_keeps_inputs_test.go +117 -0
- package/native/core/schemas/metadata/metadata_schema_optional_root_isolation_test.go +59 -0
- package/native/core/schemas/metadata/metadata_schema_shallow_clone_names_test.go +36 -0
- package/native/core/schemas/metadata/metadata_schema_sole_literal_caches_pointer_test.go +5 -0
- package/native/core/schemas/metadata/schema_sequence_and_json_coverage_test.go +289 -387
- package/native/core/schemas/protobuf/IProtobufProperty.go +11 -0
- package/native/core/schemas/protobuf/IProtobufPropertyType.go +94 -0
- package/native/core/schemas/protobuf/IProtobufSchema.go +89 -5
- package/native/core/utils/NumberUtil.go +201 -0
- package/native/core/utils/PromiseTypeFactory.go +12 -1
- package/native/core/utils/number_util_rational_keeps_written_value_test.go +67 -0
- package/native/core/utils/number_util_reads_javascript_number_grammar_test.go +152 -0
- package/native/core/utils/promise_type_factory_semantics_test.go +5 -0
- package/native/transform/CallExpressionTransformer.go +42 -10
- package/native/transform/FileTransformer.go +72 -53
- package/native/transform/ITransformProps.go +7 -0
- package/native/transform/NodeTransformer.go +10 -1
- package/native/transform/TransformerError.go +31 -0
- package/native/transform/call_expression_transformer_registry_coverage_test.go +40 -31
- package/native/transform/call_expression_transformer_target_test.go +33 -4
- package/native/transform/features/CreateIsTransformer.go +0 -1
- package/native/transform/features/CreateShallowTransformer.go +0 -1
- package/native/transform/features/CreateValidateTransformer.go +0 -1
- package/native/transform/features/IsTransformer.go +0 -1
- package/native/transform/features/ShallowTransformer.go +0 -1
- package/native/transform/features/ValidateTransformer.go +0 -1
- package/native/transform/features/functional/FunctionalGenericTransformer.go +46 -7
- package/native/transform/features/http/CreateHttpIsQueryTransformer.go +0 -1
- package/native/transform/features/http/CreateHttpQueryTransformer.go +0 -1
- package/native/transform/features/http/CreateHttpValidateQueryTransformer.go +0 -1
- package/native/transform/features/http/HttpIsQueryTransformer.go +0 -1
- package/native/transform/features/http/HttpQueryTransformer.go +0 -1
- package/native/transform/features/http/HttpValidateQueryTransformer.go +0 -1
- package/native/transform/features/llm/LlmEvaluationProbabilityDeclarations_test.go +6 -1
- package/native/transform/features/llm/LlmEvaluationTransformer.go +55 -1
- package/native/transform/features/notations/notation_transformer_capitalize_test.go +29 -0
- package/native/transform/features/protobuf/ProtobufCreateDecodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufCreateEncodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufCreateIsDecodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufCreateIsEncodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufCreateValidateDecodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufCreateValidateEncodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufDecodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufEncodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufIsDecodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufIsEncodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufValidateDecodeTransformer.go +1 -1
- package/native/transform/features/protobuf/ProtobufValidateEncodeTransformer.go +1 -1
- package/native/transform/features/reflect/reflect_metadata_transformer_edge_branches_test.go +42 -30
- package/native/transform/file_transformer_coverage_test.go +17 -3
- package/native/transform/internal/GenericTransformer.go +67 -113
- package/native/transform/transform.go +16 -2
- package/package.json +7 -6
- package/src/TypeGuardError.ts +20 -4
- package/src/basic.ts +1020 -0
- package/src/compare.ts +21 -0
- package/src/functional.ts +42 -0
- package/src/http.ts +136 -34
- package/src/internal/_IProtobufWriter.ts +115 -0
- package/src/internal/_ProtobufReader.ts +159 -1
- package/src/internal/_ProtobufSizer.ts +137 -5
- package/src/internal/_ProtobufWriter.ts +154 -1
- package/src/internal/_accessExpressionAsString.ts +11 -0
- package/src/internal/_assertGuard.ts +12 -0
- package/src/internal/_coerceLlmArguments.ts +10 -0
- package/src/internal/_createLlmEvaluation.ts +10 -53
- package/src/internal/_createStandardSchema.ts +13 -0
- package/src/internal/_decimal.ts +77 -0
- package/src/internal/_functionalTypeGuardErrorFactory.ts +8 -0
- package/src/internal/_httpFormDataReadArray.ts +9 -0
- package/src/internal/_httpFormDataReadBigint.ts +15 -1
- package/src/internal/_httpFormDataReadBlob.ts +11 -0
- package/src/internal/_httpFormDataReadBoolean.ts +14 -1
- package/src/internal/_httpFormDataReadFile.ts +11 -0
- package/src/internal/_httpFormDataReadNumber.ts +14 -1
- package/src/internal/_httpFormDataReadString.ts +15 -1
- package/src/internal/_httpHeaderReadBigint.ts +17 -1
- package/src/internal/_httpHeaderReadBoolean.ts +12 -0
- package/src/internal/_httpHeaderReadNumber.ts +17 -1
- package/src/internal/_httpParameterReadBigint.ts +14 -0
- package/src/internal/_httpParameterReadBoolean.ts +11 -0
- package/src/internal/_httpParameterReadNumber.ts +14 -0
- package/src/internal/_httpParameterReadString.ts +17 -2
- package/src/internal/_httpQueryParseURLSearchParams.ts +14 -0
- package/src/internal/_httpQueryReadArray.ts +9 -0
- package/src/internal/_httpQueryReadBigint.ts +18 -1
- package/src/internal/_httpQueryReadBoolean.ts +15 -1
- package/src/internal/_httpQueryReadNumber.ts +18 -1
- package/src/internal/_httpQueryReadString.ts +15 -1
- package/src/internal/_isBetween.ts +8 -0
- package/src/internal/_isBigintString.ts +11 -0
- package/src/internal/_isFormatByte.ts +12 -0
- package/src/internal/_isFormatDate.ts +11 -0
- package/src/internal/_isFormatDateTime.ts +13 -0
- package/src/internal/_isFormatDuration.ts +13 -0
- package/src/internal/_isFormatEmail.ts +13 -0
- package/src/internal/_isFormatHostname.ts +12 -0
- package/src/internal/_isFormatIdnEmail.ts +14 -0
- package/src/internal/_isFormatIdnHostname.ts +14 -0
- package/src/internal/_isFormatIpv4.ts +11 -0
- package/src/internal/_isFormatIpv6.ts +12 -0
- package/src/internal/_isFormatIri.ts +11 -0
- package/src/internal/_isFormatIriReference.ts +13 -0
- package/src/internal/_isFormatJsonPointer.ts +11 -0
- package/src/internal/_isFormatPassword.ts +11 -0
- package/src/internal/_isFormatRegex.ts +11 -0
- package/src/internal/_isFormatRelativeJsonPointer.ts +11 -0
- package/src/internal/_isFormatTime.ts +12 -0
- package/src/internal/_isFormatUri.ts +15 -0
- package/src/internal/_isFormatUriReference.ts +11 -0
- package/src/internal/_isFormatUriTemplate.ts +14 -1
- package/src/internal/_isFormatUrl.ts +15 -0
- package/src/internal/_isFormatUuid.ts +11 -0
- package/src/internal/_isMultipleOf.ts +11 -0
- package/src/internal/_isTypeFloat.ts +9 -0
- package/src/internal/_isTypeInt16.ts +8 -0
- package/src/internal/_isTypeInt32.ts +8 -0
- package/src/internal/_isTypeInt64.ts +11 -0
- package/src/internal/_isTypeInt64Bigint.ts +8 -0
- package/src/internal/_isTypeInt8.ts +8 -0
- package/src/internal/_isTypeUint16.ts +8 -0
- package/src/internal/_isTypeUint32.ts +8 -0
- package/src/internal/_isTypeUint64.ts +11 -0
- package/src/internal/_isTypeUint64Bigint.ts +8 -0
- package/src/internal/_isTypeUint8.ts +8 -0
- package/src/internal/_isUniqueItems.ts +46 -0
- package/src/internal/_jsonStringifyArray.ts +2 -0
- package/src/internal/_jsonStringifyElement.ts +2 -0
- package/src/internal/_jsonStringifyNumber.ts +9 -0
- package/src/internal/_jsonStringifyProperty.ts +3 -1
- package/src/internal/_jsonStringifyRest.ts +11 -0
- package/src/internal/_jsonStringifyString.ts +13 -0
- package/src/internal/_jsonStringifyTail.ts +8 -0
- package/src/internal/_llmApplicationFinalize.ts +13 -0
- package/src/internal/_notationAny.ts +14 -0
- package/src/internal/_notationAssign.ts +12 -0
- package/src/internal/_notationKebab.ts +9 -0
- package/src/internal/_notationKeyCollision.ts +8 -0
- package/src/internal/_notationSnake.ts +12 -0
- package/src/internal/_parseLlmArguments.ts +12 -0
- package/src/internal/_plainCloneAny.ts +15 -0
- package/src/internal/_randomArray.ts +42 -20
- package/src/internal/_randomBigint.ts +116 -3
- package/src/internal/_randomBoolean.ts +8 -0
- package/src/internal/_randomFormatByte.ts +8 -0
- package/src/internal/_randomFormatDate.ts +10 -0
- package/src/internal/_randomFormatDatetime.ts +10 -0
- package/src/internal/_randomFormatDuration.ts +8 -0
- package/src/internal/_randomFormatEmail.ts +8 -0
- package/src/internal/_randomFormatHostname.ts +15 -1
- package/src/internal/_randomFormatIdnEmail.ts +13 -0
- package/src/internal/_randomFormatIdnHostname.ts +12 -0
- package/src/internal/_randomFormatIpv4.ts +8 -0
- package/src/internal/_randomFormatIpv6.ts +8 -0
- package/src/internal/_randomFormatIri.ts +11 -0
- package/src/internal/_randomFormatIriReference.ts +12 -0
- package/src/internal/_randomFormatJsonPointer.ts +12 -0
- package/src/internal/_randomFormatPassword.ts +13 -0
- package/src/internal/_randomFormatRegex.ts +8 -0
- package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -0
- package/src/internal/_randomFormatTime.ts +13 -0
- package/src/internal/_randomFormatUri.ts +12 -0
- package/src/internal/_randomFormatUriReference.ts +12 -0
- package/src/internal/_randomFormatUriTemplate.ts +12 -0
- package/src/internal/_randomFormatUrl.ts +12 -0
- package/src/internal/_randomFormatUuid.ts +13 -0
- package/src/internal/_randomInteger.ts +99 -33
- package/src/internal/_randomMultiple.ts +47 -15
- package/src/internal/_randomNumber.ts +107 -38
- package/src/internal/_randomPattern.ts +12 -0
- package/src/internal/_randomPick.ts +25 -7
- package/src/internal/_randomString.ts +36 -13
- package/src/internal/_randomStringLength.ts +31 -1
- package/src/internal/_stringLength.ts +11 -0
- package/src/internal/_stringLengthGte.ts +11 -0
- package/src/internal/_stringLengthLte.ts +11 -0
- package/src/internal/_throwTypeGuardError.ts +9 -0
- package/src/internal/_validateReport.ts +15 -0
- package/src/internal/private/__notationRename.ts +5 -0
- package/src/internal/private/__randomComposition.ts +27 -3
- package/src/internal/private/__randomEpoch.ts +15 -0
- package/src/json.ts +49 -14
- package/src/llm.ts +45 -26
- package/src/module.ts +1 -935
- package/src/notations.ts +60 -0
- package/src/plain.ts +38 -0
- package/src/protobuf.ts +41 -7
- package/src/reflect.ts +16 -12
- package/src/transform.ts +17 -0
- package/native/cmd/ttsc-typia/boolean_literal_discriminant_schema_transform_test.go +0 -374
- package/native/cmd/ttsc-typia/build_reports_semantic_diagnostics_test.go +0 -34
- package/native/cmd/ttsc-typia/build_reports_syntactic_diagnostics_test.go +0 -34
- package/native/cmd/ttsc-typia/command_routes_and_diagnostics_coverage_test.go +0 -316
- package/native/cmd/ttsc-typia/compare_less_transform_test.go +0 -180
- package/native/cmd/ttsc-typia/compare_method_delegation_transform_test.go +0 -173
- package/native/cmd/ttsc-typia/compare_native_object_overmatch_transform_test.go +0 -161
- package/native/cmd/ttsc-typia/compare_template_literal_union_transform_test.go +0 -241
- package/native/cmd/ttsc-typia/compare_union_discrimination_transform_test.go +0 -289
- package/native/cmd/ttsc-typia/escaped_property_key_path_transform_test.go +0 -193
- package/native/cmd/ttsc-typia/finite_option_number_leaf_transform_test.go +0 -240
- package/native/cmd/ttsc-typia/intersection_all_never_union_transform_test.go +0 -168
- package/native/cmd/ttsc-typia/intersection_brand_transform_test.go +0 -267
- package/native/cmd/ttsc-typia/is_object_function_member_transform_test.go +0 -205
- package/native/cmd/ttsc-typia/json_is_stringify_finite_number_transform_test.go +0 -198
- package/native/cmd/ttsc-typia/json_stringify_contextual_undefined_transform_test.go +0 -556
- package/native/cmd/ttsc-typia/json_stringify_special_key_transform_test.go +0 -238
- package/native/cmd/ttsc-typia/notation_dynamic_keys_transform_test.go +0 -286
- package/native/cmd/ttsc-typia/notation_literal_collision_transform_test.go +0 -164
- package/native/cmd/ttsc-typia/plain_prune_union_object_overmatch_transform_test.go +0 -219
- package/native/cmd/ttsc-typia/recursive_container_helper_index_transform_test.go +0 -206
- package/native/cmd/ttsc-typia/reflect_literals_bigint_transform_test.go +0 -148
- package/native/cmd/ttsc-typia/reflect_schema_bigint_transform_test.go +0 -173
- package/native/cmd/ttsc-typia/run_default_build_route_test.go +0 -31
- package/native/cmd/ttsc-typia/shallow_depth_runtime_test.go +0 -173
- package/native/cmd/ttsc-typia/shallow_factory_depth_runtime_test.go +0 -171
- package/native/cmd/ttsc-typia/symbol_index_domain_transform_test.go +0 -316
- package/native/cmd/ttsc-typia/transform_declaration_source_produces_no_javascript_test.go +0 -67
- package/native/cmd/ttsc-typia/transform_single_file_js_empty_emit_reports_no_output_test.go +0 -100
- package/native/core/factories/internal/metadata/optional_coalesce_coverage_test.go +0 -38
- package/native/core/programmers/functional/functional_assert_helper_coverage_test.go +0 -26
- package/native/core/programmers/iterate/iterate_check_coverage_test.go +0 -96
- package/native/core/programmers/programmer_direct_helper_coverage_test.go +0 -70
- package/native/core/schemas/metadata/IMetadataDictionary.go +0 -8
- package/native/core/schemas/protobuf/protobuf_marker_coverage_test.go +0 -58
- package/native/core/typings/Writable.go +0 -5
- package/native/transform/ImportTransformer.go +0 -285
- package/native/transform/TypiaGenerator.go +0 -171
- package/native/transform/features/feature_transformer_entry_coverage_test.go +0 -59
- package/native/transform/features/http/http_transformer_entry_coverage_test.go +0 -65
- package/native/transform/features/json/json_transformer_entry_coverage_test.go +0 -56
- package/native/transform/features/llm/llm_transformer_entry_coverage_test.go +0 -50
- package/native/transform/features/notations/notation_transformer_entry_coverage_test.go +0 -58
- package/native/transform/features/plain/plain_transformer_entry_coverage_test.go +0 -61
- package/native/transform/features/protobuf/protobuf_transformer_entry_coverage_test.go +0 -56
- package/native/transform/features/reflect/reflect_transformer_entry_coverage_test.go +0 -47
- package/native/transform/import_transformer_coverage_test.go +0 -153
- package/native/transform/typia_generator_helpers_coverage_test.go +0 -166
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
package main
|
|
2
2
|
|
|
3
3
|
import (
|
|
4
|
-
"os"
|
|
5
|
-
"os/exec"
|
|
6
|
-
"path/filepath"
|
|
7
4
|
"strings"
|
|
8
5
|
"testing"
|
|
9
6
|
)
|
|
10
7
|
|
|
11
|
-
// TestPlainClassifyValidatedUnionTransform
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
8
|
+
// TestPlainClassifyValidatedUnionTransform verifies reconstruction of both validated union arms.
|
|
9
|
+
//
|
|
10
|
+
// Validation before classification cannot erase either accepted union member reconstruction strategy; static factories and seed constructors remain different contracts.
|
|
11
|
+
//
|
|
12
|
+
// 1. Checked direct/factory operations combine Ann and Bob arms, complementing the unchecked union strategy case.
|
|
13
|
+
// 2. The checked classify output retains Ann.from and new Bob.
|
|
14
|
+
//
|
|
15
|
+
// @evidence contracts/testing.md#behavioral-verification The checked classify output retains Ann.from and new Bob.
|
|
16
|
+
// @evidence contracts/testing.md#independent-expectations Validation before classification cannot erase either accepted union member reconstruction strategy; static factories and seed constructors remain different contracts.
|
|
17
|
+
// @evidence contracts/testing.md#distinguishing-cases Checked direct/factory operations combine Ann and Bob arms, complementing the unchecked union strategy case.
|
|
18
|
+
// @evidence contracts/testing.md#execution-ownership The native Go runner executes TestPlainClassifyValidatedUnionTransform as a unit test. Captured runTransform calls operate on the isolated fixture project in process; output assertions and cleanup remain owned by these helpers without a compiler or Node subprocess.
|
|
18
19
|
func TestPlainClassifyValidatedUnionTransform(t *testing.T) {
|
|
19
20
|
project := plainClassifyWriteProject(t, "plain-classify-vunion-", plainClassifyValidatedUnionSource)
|
|
20
21
|
out, errText, code := ttscTypiaTestCapture(func() int {
|
|
@@ -31,36 +32,6 @@ func TestPlainClassifyValidatedUnionTransform(t *testing.T) {
|
|
|
31
32
|
if !strings.Contains(out, "Ann.from(") || !strings.Contains(out, "new Bob(") {
|
|
32
33
|
t.Fatalf("the validated union should construct both from- (Ann.from) and new- (new Bob) members:\n%s", out)
|
|
33
34
|
}
|
|
34
|
-
plainClassifyValidatedUnionRun(t, project, out)
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
func plainClassifyValidatedUnionRun(t *testing.T, project string, js string) {
|
|
38
|
-
t.Helper()
|
|
39
|
-
node, err := exec.LookPath("node")
|
|
40
|
-
if err != nil {
|
|
41
|
-
t.Skip("node executable not found")
|
|
42
|
-
}
|
|
43
|
-
runtimeDir := filepath.Join(project, "runtime")
|
|
44
|
-
if err := os.MkdirAll(runtimeDir, 0o755); err != nil {
|
|
45
|
-
t.Fatalf("mkdir runtime dir: %v", err)
|
|
46
|
-
}
|
|
47
|
-
ttscTypiaTestWriteCommonRuntimeStubs(t, runtimeDir)
|
|
48
|
-
if err := os.WriteFile(filepath.Join(runtimeDir, "generic-internal-stub.cjs"), []byte(plainClassifyFromNewGenericStub), 0o644); err != nil {
|
|
49
|
-
t.Fatalf("write generic stub: %v", err)
|
|
50
|
-
}
|
|
51
|
-
if err := os.WriteFile(filepath.Join(runtimeDir, "main.cjs"), []byte(plainClassifyFromNewRewrite(t, js)), 0o644); err != nil {
|
|
52
|
-
t.Fatalf("write runtime module: %v", err)
|
|
53
|
-
}
|
|
54
|
-
runner := filepath.Join(runtimeDir, "run.cjs")
|
|
55
|
-
if err := os.WriteFile(runner, []byte(plainClassifyValidatedUnionRunner), 0o644); err != nil {
|
|
56
|
-
t.Fatalf("write runner: %v", err)
|
|
57
|
-
}
|
|
58
|
-
cmd := exec.Command(node, runner)
|
|
59
|
-
cmd.Dir = runtimeDir
|
|
60
|
-
output, err := cmd.CombinedOutput()
|
|
61
|
-
if err != nil {
|
|
62
|
-
t.Fatalf("classify validated-union runtime cases failed: %v\n%s", err, output)
|
|
63
|
-
}
|
|
64
35
|
}
|
|
65
36
|
|
|
66
37
|
const plainClassifyValidatedUnionSource = `import typia from "typia";
|
|
@@ -104,109 +75,3 @@ export class Cal {
|
|
|
104
75
|
export const assertShape = typia.plain.createAssertClassify<typeof Ann | typeof Bob | typeof Cal | number>();
|
|
105
76
|
export const validateShape = typia.plain.createValidateClassify<typeof Ann | typeof Bob | typeof Cal>();
|
|
106
77
|
`
|
|
107
|
-
|
|
108
|
-
const plainClassifyValidatedUnionRunner = `const mod = require("./main.cjs");
|
|
109
|
-
|
|
110
|
-
const assert = (cond, msg) => {
|
|
111
|
-
if (!cond) throw new Error(msg);
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
// assertClassify discriminates each member of the validated union and builds the
|
|
115
|
-
// RIGHT class — its construction ladder must use its own _yi helpers, not the
|
|
116
|
-
// assert side's (possibly reordered) _io helpers.
|
|
117
|
-
const an = mod.assertShape({ a: 1 });
|
|
118
|
-
assert(an instanceof mod.Ann, "seed {a} -> Ann (from), got: " + (an && an.constructor && an.constructor.name));
|
|
119
|
-
assert(an.tag() === "ann:1", "Ann.from reconstruct, got: " + an.tag());
|
|
120
|
-
|
|
121
|
-
const bo = mod.assertShape({ b: "x" });
|
|
122
|
-
assert(bo instanceof mod.Bob, "seed {b} -> Bob (new), got: " + (bo && bo.constructor && bo.constructor.name));
|
|
123
|
-
assert(bo.tag() === "bob:x", "new Bob reconstruct");
|
|
124
|
-
|
|
125
|
-
const ca = mod.assertShape({ c: true });
|
|
126
|
-
assert(ca instanceof mod.Cal, "seed {c} -> Cal (new), got: " + (ca && ca.constructor && ca.constructor.name));
|
|
127
|
-
assert(ca.tag() === "cal:true", "new Cal reconstruct");
|
|
128
|
-
|
|
129
|
-
// the interleaved primitive passes through unchanged
|
|
130
|
-
assert(mod.assertShape(42) === 42, "a number must pass through the assert union unchanged");
|
|
131
|
-
|
|
132
|
-
// validateClassify of the same union returns success and the right instance
|
|
133
|
-
const r = mod.validateShape({ b: "y" });
|
|
134
|
-
assert(r.success === true, "validateClassify should succeed on a valid seed, got: " + JSON.stringify(r.errors));
|
|
135
|
-
assert(r.data instanceof mod.Bob, "validateClassify should build the Bob instance");
|
|
136
|
-
assert(r.data.tag() === "bob:y", "validateClassify reconstruct");
|
|
137
|
-
`
|
|
138
|
-
|
|
139
|
-
// TestPlainClassifyNestedValidatedUnion exercises a VALIDATED class union whose
|
|
140
|
-
// members carry a NESTED object-union — the discrimination of that nested union
|
|
141
|
-
// must reference classify's own _yi helpers (emitted from the classify
|
|
142
|
-
// collection), not the assert side's _io (a SEPARATE GetUnionType collection
|
|
143
|
-
// that dedups/reorders), or it would `ReferenceError: _io<n> is not defined`.
|
|
144
|
-
func TestPlainClassifyNestedValidatedUnion(t *testing.T) {
|
|
145
|
-
project := plainClassifyWriteProject(t, "plain-classify-nested-vunion-", plainClassifyNestedVUnionSource)
|
|
146
|
-
out, errText, code := ttscTypiaTestCapture(func() int {
|
|
147
|
-
return runTransform([]string{
|
|
148
|
-
"--cwd", project,
|
|
149
|
-
"--tsconfig", "tsconfig.json",
|
|
150
|
-
"--file", "src/main.ts",
|
|
151
|
-
"--output", "js",
|
|
152
|
-
})
|
|
153
|
-
})
|
|
154
|
-
if code != 0 {
|
|
155
|
-
t.Fatalf("nested validated-union transform failed: code=%d\n%s", code, errText)
|
|
156
|
-
}
|
|
157
|
-
plainClassifyRunNode(t, project, out, plainClassifyNestedVUnionRunner)
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
const plainClassifyNestedVUnionSource = `import typia from "typia";
|
|
161
|
-
|
|
162
|
-
// Two discriminable classes (by ` + "`kind`" + `) that SHARE a nested object-union
|
|
163
|
-
// payload. classify's discrimination of that nested { k1 } | { k2 } union, in the
|
|
164
|
-
// VALIDATED path, must use its own _yi helpers — the assert side analyzes the
|
|
165
|
-
// seeds through GetUnionType (which dedups the shared payload), so an _i index
|
|
166
|
-
// would diverge.
|
|
167
|
-
export class Holder {
|
|
168
|
-
kind!: "holder";
|
|
169
|
-
payload!: { k1: string } | { k2: number };
|
|
170
|
-
constructor(seed: { kind: "holder"; payload: { k1: string } | { k2: number } }) {
|
|
171
|
-
this.kind = seed.kind;
|
|
172
|
-
this.payload = seed.payload;
|
|
173
|
-
}
|
|
174
|
-
describe(): string {
|
|
175
|
-
return "holder:" + JSON.stringify(this.payload);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
export class Twin {
|
|
179
|
-
kind!: "twin";
|
|
180
|
-
payload!: { k1: string } | { k2: number };
|
|
181
|
-
constructor(seed: { kind: "twin"; payload: { k1: string } | { k2: number } }) {
|
|
182
|
-
this.kind = seed.kind;
|
|
183
|
-
this.payload = seed.payload;
|
|
184
|
-
}
|
|
185
|
-
describe(): string {
|
|
186
|
-
return "twin:" + JSON.stringify(this.payload);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
export const assertShape = typia.plain.createAssertClassify<typeof Holder | typeof Twin>();
|
|
191
|
-
export const validateShape = typia.plain.createValidateClassify<typeof Holder | typeof Twin>();
|
|
192
|
-
`
|
|
193
|
-
|
|
194
|
-
const plainClassifyNestedVUnionRunner = `const mod = require("./main.cjs");
|
|
195
|
-
|
|
196
|
-
const assert = (cond, msg) => {
|
|
197
|
-
if (!cond) throw new Error(msg);
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
// nested object-union discrimination must not ReferenceError and builds the right class
|
|
201
|
-
const h = mod.assertShape({ kind: "holder", payload: { k1: "x" } });
|
|
202
|
-
assert(h instanceof mod.Holder, "kind holder -> Holder, got: " + (h && h.constructor && h.constructor.name));
|
|
203
|
-
assert(h.describe() === 'holder:{"k1":"x"}', "Holder payload k1, got: " + h.describe());
|
|
204
|
-
|
|
205
|
-
const tw = mod.assertShape({ kind: "twin", payload: { k2: 5 } });
|
|
206
|
-
assert(tw instanceof mod.Twin, "kind twin -> Twin, got: " + (tw && tw.constructor && tw.constructor.name));
|
|
207
|
-
assert(tw.describe() === 'twin:{"k2":5}', "Twin payload k2, got: " + tw.describe());
|
|
208
|
-
|
|
209
|
-
const r = mod.validateShape({ kind: "holder", payload: { k2: 9 } });
|
|
210
|
-
assert(r.success === true, "validateClassify success, got: " + JSON.stringify(r.errors));
|
|
211
|
-
assert(r.data instanceof mod.Holder && r.data.describe() === 'holder:{"k2":9}', "validate builds Holder with k2 payload");
|
|
212
|
-
`
|
|
@@ -2,25 +2,22 @@ package main
|
|
|
2
2
|
|
|
3
3
|
import (
|
|
4
4
|
"os"
|
|
5
|
-
"os/exec"
|
|
6
5
|
"path/filepath"
|
|
7
6
|
"strings"
|
|
8
7
|
"testing"
|
|
9
8
|
)
|
|
10
9
|
|
|
11
|
-
// TestPlainCloneBigIntWrapperTransform verifies BigInt
|
|
10
|
+
// TestPlainCloneBigIntWrapperTransform verifies unboxing BigInt wrappers in clone emission.
|
|
12
11
|
//
|
|
13
|
-
//
|
|
14
|
-
// notation programmers into their native arms. Those arms must unbox the four
|
|
15
|
-
// primitive wrappers through `valueOf()`; before the fix the default branch
|
|
16
|
-
// emitted a bare zero-argument `BigInt()`, which throws for every input, so
|
|
17
|
-
// clone of a valid `BigInt` value always failed at runtime.
|
|
12
|
+
// A boxed bigint stores its value behind valueOf; calling BigInt without that value cannot reconstruct the source content.
|
|
18
13
|
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
14
|
+
// 1. The wrapper fixture exercises boxed bigint while rejecting the empty-constructor spelling; primitive and deep graph clone behavior belongs to the dedicated clone cases.
|
|
15
|
+
// 2. The output invokes valueOf and does not emit a bare zero-argument BigInt constructor.
|
|
16
|
+
//
|
|
17
|
+
// @evidence contracts/testing.md#behavioral-verification The output invokes valueOf and does not emit a bare zero-argument BigInt constructor.
|
|
18
|
+
// @evidence contracts/testing.md#independent-expectations A boxed bigint stores its value behind valueOf; calling BigInt without that value cannot reconstruct the source content.
|
|
19
|
+
// @evidence contracts/testing.md#distinguishing-cases The wrapper fixture exercises boxed bigint while rejecting the empty-constructor spelling; primitive and deep graph clone behavior belongs to the dedicated clone cases.
|
|
20
|
+
// @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestPlainCloneBigIntWrapperTransform as a unit test. The fixture and captured Go operation execute in process; helper assertions retain the same source inputs and failure identity without launching a compiler or JavaScript subprocess.
|
|
24
21
|
func TestPlainCloneBigIntWrapperTransform(t *testing.T) {
|
|
25
22
|
project := plainCloneBigIntWrapperProject(t)
|
|
26
23
|
out, errText, code := ttscTypiaTestCapture(func() int {
|
|
@@ -40,23 +37,11 @@ func TestPlainCloneBigIntWrapperTransform(t *testing.T) {
|
|
|
40
37
|
if strings.Contains(out, "BigInt()") {
|
|
41
38
|
t.Fatalf("bigint wrapper clone must not emit a bare BigInt() call:\n%s", out)
|
|
42
39
|
}
|
|
43
|
-
plainCloneBigIntWrapperRunRuntimeCases(t, project, out)
|
|
44
40
|
}
|
|
45
41
|
|
|
46
42
|
func plainCloneBigIntWrapperProject(t *testing.T) string {
|
|
47
43
|
t.Helper()
|
|
48
|
-
|
|
49
|
-
base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
|
|
50
|
-
if err := os.MkdirAll(base, 0o755); err != nil {
|
|
51
|
-
t.Fatalf("mkdir temp base: %v", err)
|
|
52
|
-
}
|
|
53
|
-
dir, err := os.MkdirTemp(base, "plain-clone-bigint-")
|
|
54
|
-
if err != nil {
|
|
55
|
-
t.Fatalf("create temp fixture: %v", err)
|
|
56
|
-
}
|
|
57
|
-
t.Cleanup(func() {
|
|
58
|
-
_ = os.RemoveAll(dir)
|
|
59
|
-
})
|
|
44
|
+
dir := ttscTypiaTestFixtureDirectory(t, "plain-clone-bigint-")
|
|
60
45
|
src := filepath.Join(dir, "src")
|
|
61
46
|
if err := os.MkdirAll(src, 0o755); err != nil {
|
|
62
47
|
t.Fatalf("mkdir fixture src: %v", err)
|
|
@@ -70,33 +55,6 @@ func plainCloneBigIntWrapperProject(t *testing.T) string {
|
|
|
70
55
|
return dir
|
|
71
56
|
}
|
|
72
57
|
|
|
73
|
-
func plainCloneBigIntWrapperRunRuntimeCases(t *testing.T, project string, js string) {
|
|
74
|
-
t.Helper()
|
|
75
|
-
node, err := exec.LookPath("node")
|
|
76
|
-
if err != nil {
|
|
77
|
-
t.Skip("node executable not found")
|
|
78
|
-
}
|
|
79
|
-
runtimeDir := filepath.Join(project, "runtime")
|
|
80
|
-
if err := os.MkdirAll(runtimeDir, 0o755); err != nil {
|
|
81
|
-
t.Fatalf("mkdir runtime dir: %v", err)
|
|
82
|
-
}
|
|
83
|
-
ttscTypiaTestWriteCommonRuntimeStubs(t, runtimeDir)
|
|
84
|
-
runtimeJS := ttscTypiaTestRewriteCommonJS(t, js)
|
|
85
|
-
if err := os.WriteFile(filepath.Join(runtimeDir, "main.cjs"), []byte(runtimeJS), 0o644); err != nil {
|
|
86
|
-
t.Fatalf("write runtime module: %v", err)
|
|
87
|
-
}
|
|
88
|
-
runner := filepath.Join(runtimeDir, "run.cjs")
|
|
89
|
-
if err := os.WriteFile(runner, []byte(plainCloneBigIntWrapperRuntimeRunner), 0o644); err != nil {
|
|
90
|
-
t.Fatalf("write runtime runner: %v", err)
|
|
91
|
-
}
|
|
92
|
-
cmd := exec.Command(node, runner)
|
|
93
|
-
cmd.Dir = runtimeDir
|
|
94
|
-
output, err := cmd.CombinedOutput()
|
|
95
|
-
if err != nil {
|
|
96
|
-
t.Fatalf("bigint wrapper clone runtime cases failed: %v\n%s", err, output)
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
58
|
const plainCloneBigIntWrapperTSConfig = `{
|
|
101
59
|
"compilerOptions": {
|
|
102
60
|
"target": "ES2022",
|
|
@@ -123,31 +81,3 @@ export const cloneUnion = typia.plain.createClone<bigint | BigInt>();
|
|
|
123
81
|
export const assertCloneInterface = typia.plain.createAssertClone<BigInt>();
|
|
124
82
|
export const camelRecord = typia.notations.createCamel<BoxedRecord>();
|
|
125
83
|
`
|
|
126
|
-
|
|
127
|
-
const plainCloneBigIntWrapperRuntimeRunner = `const mod = require("./main.cjs");
|
|
128
|
-
|
|
129
|
-
const boxed = Object(1n);
|
|
130
|
-
const expectPrimitive = (name, value, expected) => {
|
|
131
|
-
if (typeof value !== "bigint" || value !== expected) {
|
|
132
|
-
throw new Error(name + " should produce primitive " + expected + "n, got " + String(value) + " (" + typeof value + ")");
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
expectPrimitive("cloneInterface(1n)", mod.cloneInterface(1n), 1n);
|
|
137
|
-
expectPrimitive("cloneInterface(Object(1n))", mod.cloneInterface(boxed), 1n);
|
|
138
|
-
expectPrimitive("cloneUnion(1n)", mod.cloneUnion(1n), 1n);
|
|
139
|
-
expectPrimitive("cloneUnion(Object(1n))", mod.cloneUnion(boxed), 1n);
|
|
140
|
-
expectPrimitive("assertCloneInterface(1n)", mod.assertCloneInterface(1n), 1n);
|
|
141
|
-
expectPrimitive("assertCloneInterface(Object(1n))", mod.assertCloneInterface(boxed), 1n);
|
|
142
|
-
|
|
143
|
-
expectPrimitive(
|
|
144
|
-
"camelRecord({big_value: Object(2n)}).bigValue",
|
|
145
|
-
mod.camelRecord({ big_value: Object(2n) }).bigValue,
|
|
146
|
-
2n,
|
|
147
|
-
);
|
|
148
|
-
expectPrimitive(
|
|
149
|
-
"camelRecord({big_value: 3n}).bigValue",
|
|
150
|
-
mod.camelRecord({ big_value: 3n }).bigValue,
|
|
151
|
-
3n,
|
|
152
|
-
);
|
|
153
|
-
`
|
|
@@ -2,30 +2,22 @@ package main
|
|
|
2
2
|
|
|
3
3
|
import (
|
|
4
4
|
"os"
|
|
5
|
-
"os/exec"
|
|
6
5
|
"path/filepath"
|
|
7
6
|
"strings"
|
|
8
7
|
"testing"
|
|
9
8
|
)
|
|
10
9
|
|
|
11
|
-
// TestPrivateFieldFilterIsTransform verifies
|
|
12
|
-
// excluded from a class's validated shape, so a real instance passes its own
|
|
13
|
-
// `is`/`assert`/`validate` guard (#2213).
|
|
10
|
+
// TestPrivateFieldFilterIsTransform verifies public properties without private binder keys in emitted validation.
|
|
14
11
|
//
|
|
15
|
-
//
|
|
16
|
-
// index access, so it is not part of a type's structural, externally-observable
|
|
17
|
-
// shape. Before the fix the member filter excluded only the TypeScript keyword
|
|
18
|
-
// `private`/`protected` members, so a `#private` field leaked into the validated
|
|
19
|
-
// shape as a mangled key (`input["�#1@#secret"]`) that no runtime object
|
|
20
|
-
// carries — making the guard unconditionally false.
|
|
12
|
+
// JavaScript private fields are not publicly accessible structural properties; including their internal binder names would emit invalid access while dropping public data would weaken validation.
|
|
21
13
|
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
//
|
|
14
|
+
// 1. Classes with private and public members share one fixture, so exclusion is paired with positive public property preservation.
|
|
15
|
+
// 2. The output retains all authored public members and contains no mangled private-key marker.
|
|
16
|
+
//
|
|
17
|
+
// @evidence contracts/testing.md#behavioral-verification The output retains all authored public members and contains no mangled private-key marker.
|
|
18
|
+
// @evidence contracts/testing.md#independent-expectations JavaScript private fields are not publicly accessible structural properties; including their internal binder names would emit invalid access while dropping public data would weaken validation.
|
|
19
|
+
// @evidence contracts/testing.md#distinguishing-cases Classes with private and public members share one fixture, so exclusion is paired with positive public property preservation.
|
|
20
|
+
// @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestPrivateFieldFilterIsTransform as a unit test. The fixture and captured Go operation execute in process; helper assertions retain the same source inputs and failure identity without launching a compiler or JavaScript subprocess.
|
|
29
21
|
func TestPrivateFieldFilterIsTransform(t *testing.T) {
|
|
30
22
|
project := privateFieldFilterProject(t)
|
|
31
23
|
|
|
@@ -45,27 +37,11 @@ func TestPrivateFieldFilterIsTransform(t *testing.T) {
|
|
|
45
37
|
}
|
|
46
38
|
}
|
|
47
39
|
|
|
48
|
-
privateFieldFilterRunRuntimeCases(
|
|
49
|
-
t,
|
|
50
|
-
project,
|
|
51
|
-
privateFieldFilterTransform(t, project, "js"),
|
|
52
|
-
)
|
|
53
40
|
}
|
|
54
41
|
|
|
55
42
|
func privateFieldFilterProject(t *testing.T) string {
|
|
56
43
|
t.Helper()
|
|
57
|
-
|
|
58
|
-
base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
|
|
59
|
-
if err := os.MkdirAll(base, 0o755); err != nil {
|
|
60
|
-
t.Fatalf("mkdir temp base: %v", err)
|
|
61
|
-
}
|
|
62
|
-
dir, err := os.MkdirTemp(base, "private-field-filter-")
|
|
63
|
-
if err != nil {
|
|
64
|
-
t.Fatalf("create temp fixture: %v", err)
|
|
65
|
-
}
|
|
66
|
-
t.Cleanup(func() {
|
|
67
|
-
_ = os.RemoveAll(dir)
|
|
68
|
-
})
|
|
44
|
+
dir := ttscTypiaTestFixtureDirectory(t, "private-field-filter-")
|
|
69
45
|
src := filepath.Join(dir, "src")
|
|
70
46
|
if err := os.MkdirAll(src, 0o755); err != nil {
|
|
71
47
|
t.Fatalf("mkdir fixture src: %v", err)
|
|
@@ -95,32 +71,6 @@ func privateFieldFilterTransform(t *testing.T, project string, output string) st
|
|
|
95
71
|
return out
|
|
96
72
|
}
|
|
97
73
|
|
|
98
|
-
func privateFieldFilterRunRuntimeCases(t *testing.T, project string, js string) {
|
|
99
|
-
t.Helper()
|
|
100
|
-
node, err := exec.LookPath("node")
|
|
101
|
-
if err != nil {
|
|
102
|
-
t.Skip("node executable not found")
|
|
103
|
-
}
|
|
104
|
-
runtimeDir := filepath.Join(project, "runtime")
|
|
105
|
-
if err := os.MkdirAll(runtimeDir, 0o755); err != nil {
|
|
106
|
-
t.Fatalf("mkdir runtime dir: %v", err)
|
|
107
|
-
}
|
|
108
|
-
ttscTypiaTestWriteCommonRuntimeStubs(t, runtimeDir)
|
|
109
|
-
runtimeJS := ttscTypiaTestRewriteCommonJS(t, js)
|
|
110
|
-
if err := os.WriteFile(filepath.Join(runtimeDir, "main.cjs"), []byte(runtimeJS), 0o644); err != nil {
|
|
111
|
-
t.Fatalf("write runtime module: %v", err)
|
|
112
|
-
}
|
|
113
|
-
runner := filepath.Join(runtimeDir, "run.cjs")
|
|
114
|
-
if err := os.WriteFile(runner, []byte(privateFieldFilterRuntimeRunner), 0o644); err != nil {
|
|
115
|
-
t.Fatalf("write runtime runner: %v", err)
|
|
116
|
-
}
|
|
117
|
-
cmd := exec.Command(node, runner)
|
|
118
|
-
cmd.Dir = runtimeDir
|
|
119
|
-
if output, err := cmd.CombinedOutput(); err != nil {
|
|
120
|
-
t.Fatalf("private field filter runtime cases failed: %v\n%s", err, output)
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
74
|
const privateFieldFilterTSConfig = `{
|
|
125
75
|
"compilerOptions": {
|
|
126
76
|
"target": "ES2022",
|
|
@@ -199,80 +149,3 @@ export const isSolo = typia.createIs<SoloPrivate>();
|
|
|
199
149
|
export const isMethod = typia.createIs<MethodPrivate>();
|
|
200
150
|
export const isKeyword = typia.createIs<KeywordBox>();
|
|
201
151
|
`
|
|
202
|
-
|
|
203
|
-
const privateFieldFilterRuntimeRunner = `const mod = require("./main.cjs");
|
|
204
|
-
|
|
205
|
-
class Box {
|
|
206
|
-
#secret;
|
|
207
|
-
label;
|
|
208
|
-
constructor(label, secret) {
|
|
209
|
-
this.label = label;
|
|
210
|
-
this.#secret = secret;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
class SubBox extends Box {
|
|
214
|
-
#extra;
|
|
215
|
-
tag;
|
|
216
|
-
constructor() {
|
|
217
|
-
super("hi", true);
|
|
218
|
-
this.#extra = 1;
|
|
219
|
-
this.tag = "t";
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
class SoloPrivate {
|
|
223
|
-
#solo;
|
|
224
|
-
constructor() {
|
|
225
|
-
this.#solo = "x";
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
class MethodPrivate {
|
|
229
|
-
label;
|
|
230
|
-
#hidden() {
|
|
231
|
-
return 1;
|
|
232
|
-
}
|
|
233
|
-
get #view() {
|
|
234
|
-
return 2;
|
|
235
|
-
}
|
|
236
|
-
set #view(_next) {}
|
|
237
|
-
constructor(label) {
|
|
238
|
-
this.label = label;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
const expect = (label, actual, expected) => {
|
|
243
|
-
if (actual !== expected) {
|
|
244
|
-
throw new Error(label + ": expected " + expected + " but got " + actual);
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
// A real instance carrying #private members passes its own guard.
|
|
249
|
-
expect("is real Box instance", mod.isBox(new Box("hi", true)), true);
|
|
250
|
-
expect("is real SubBox instance", mod.isSubBox(new SubBox()), true);
|
|
251
|
-
expect("is real SoloPrivate instance", mod.isSolo(new SoloPrivate()), true);
|
|
252
|
-
expect("is real MethodPrivate instance", mod.isMethod(new MethodPrivate("hi")), true);
|
|
253
|
-
|
|
254
|
-
// The #private field is not part of the structural shape: a plain object with
|
|
255
|
-
// only the public members is accepted, exactly like a keyword-private class.
|
|
256
|
-
expect("is plain public Box shape", mod.isBox({ label: "hi" }), true);
|
|
257
|
-
expect("is plain public SubBox shape", mod.isSubBox({ label: "hi", tag: "t" }), true);
|
|
258
|
-
expect("is empty SoloPrivate shape", mod.isSolo({}), true);
|
|
259
|
-
expect("is plain public MethodPrivate shape", mod.isMethod({ label: "hi" }), true);
|
|
260
|
-
expect("is plain public KeywordBox shape", mod.isKeyword({ label: "hi" }), true);
|
|
261
|
-
|
|
262
|
-
// The public shape is still validated structurally.
|
|
263
|
-
expect("reject wrong public label type", mod.isBox({ label: 123 }), false);
|
|
264
|
-
expect("reject missing public label", mod.isBox({}), false);
|
|
265
|
-
|
|
266
|
-
// assert / validate accept a real instance without touching a mangled key.
|
|
267
|
-
expect("assert real Box returns input", mod.assertBox(new Box("hi", true)) instanceof Box, true);
|
|
268
|
-
expect("validate real Box succeeds", mod.validateBox(new Box("hi", true)).success, true);
|
|
269
|
-
expect("validate plain public Box succeeds", mod.validateBox({ label: "hi" }).success, true);
|
|
270
|
-
|
|
271
|
-
let threw = false;
|
|
272
|
-
try {
|
|
273
|
-
mod.assertBox({ label: 123 });
|
|
274
|
-
} catch (_exp) {
|
|
275
|
-
threw = true;
|
|
276
|
-
}
|
|
277
|
-
expect("assert rejects wrong public label", threw, true);
|
|
278
|
-
`
|
|
@@ -30,6 +30,10 @@ import (
|
|
|
30
30
|
// 2. Run project transform mode so every source file contributes call sites.
|
|
31
31
|
// 3. Require JSON project output to include a TypeScript map.
|
|
32
32
|
// 4. Hold each project to its own purpose's diagnostic contract.
|
|
33
|
+
// @evidence contracts/testing.md#behavioral-verification Project transformation accepts eight valid public API projects, rejects the intentional error corpus with exit 3 and reports nonempty transformed sources and consistent diagnostics for debug.
|
|
34
|
+
// @evidence contracts/testing.md#independent-expectations Valid projects and intentional rejection fixtures have different public contracts. Debug may contain either valid or invalid samples, but must load sources and report an exit matching its diagnostic envelope.
|
|
35
|
+
// @evidence contracts/testing.md#distinguishing-cases The positive catalog, negative error corpus and content-agnostic debug cases separate source loading, success, transformation rejection and publication of a nonempty result.
|
|
36
|
+
// @evidence contracts/testing.md#execution-ownership The native tagged Go runner discovers TestProjectCatalogTransformCoverage as a unit test. The command functions operate in process on project fixtures and captured output; no compiler or JavaScript subprocess is launched.
|
|
33
37
|
func TestProjectCatalogTransformCoverage(t *testing.T) {
|
|
34
38
|
root := transformCoverageRepoRoot(t)
|
|
35
39
|
for _, project := range []string{
|
|
@@ -25,6 +25,11 @@ import (
|
|
|
25
25
|
// 3. Assert `dependencies["src/a.ts"]` contains both barrels (`barrel.ts`,
|
|
26
26
|
// `inner.ts`) and the concrete module `alpha.ts`.
|
|
27
27
|
// 4. Assert it does NOT contain `beta.ts`, which no consulted type reaches.
|
|
28
|
+
//
|
|
29
|
+
// @evidence contracts/testing.md#behavioral-verification Decoded dependencies include barrel, inner and alpha and omit the unused beta export.
|
|
30
|
+
// @evidence contracts/testing.md#independent-expectations Repointing either re-export changes the validated declaration; an unconsumed sibling cannot affect it.
|
|
31
|
+
// @evidence contracts/testing.md#distinguishing-cases The two-hop consumed chain is paired with beta exported by the same barrel but not consulted.
|
|
32
|
+
// @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestProjectDependenciesBarrelReexportTransform as a unit test. Its fixture project and captured runTransform call exercise the owning Go operation in process; no consumer installation or compiler subprocess is used. Fixture helpers retain their source inputs and cleanup, and assertions inspect the resulting envelope or emitted output.
|
|
28
33
|
func TestProjectDependenciesBarrelReexportTransform(t *testing.T) {
|
|
29
34
|
project := projectDependenciesBarrelReexportProject(t)
|
|
30
35
|
out, errText, code := ttscTypiaTestCapture(func() int {
|
|
@@ -64,16 +69,7 @@ func TestProjectDependenciesBarrelReexportTransform(t *testing.T) {
|
|
|
64
69
|
|
|
65
70
|
func projectDependenciesBarrelReexportProject(t *testing.T) string {
|
|
66
71
|
t.Helper()
|
|
67
|
-
|
|
68
|
-
base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
|
|
69
|
-
if err := os.MkdirAll(base, 0o755); err != nil {
|
|
70
|
-
t.Fatalf("mkdir temp base: %v", err)
|
|
71
|
-
}
|
|
72
|
-
dir, err := os.MkdirTemp(base, "project-dependencies-barrel-reexport-")
|
|
73
|
-
if err != nil {
|
|
74
|
-
t.Fatalf("create temp fixture: %v", err)
|
|
75
|
-
}
|
|
76
|
-
t.Cleanup(func() { _ = os.RemoveAll(dir) })
|
|
72
|
+
dir := ttscTypiaTestFixtureDirectory(t, "project-dependencies-barrel-reexport-")
|
|
77
73
|
src := filepath.Join(dir, "src")
|
|
78
74
|
if err := os.MkdirAll(src, 0o755); err != nil {
|
|
79
75
|
t.Fatalf("mkdir fixture src: %v", err)
|
|
@@ -38,6 +38,11 @@ import (
|
|
|
38
38
|
// 6. Assert the tagged-template spelling of the same pass-through --
|
|
39
39
|
// “tag`x${ns}`.is<Foo>(input)“ -- reports `src/ns.ts` as well, because a
|
|
40
40
|
// template is what its tag is applied to.
|
|
41
|
+
//
|
|
42
|
+
// @evidence contracts/testing.md#behavioral-verification Pass-through and tagged-template calls emit validators and report ns/pick; callback-only hidden is omitted while all bounded callers remain complete.
|
|
43
|
+
// @evidence contracts/testing.md#independent-expectations A namespace supplied as a callee argument selects typia identity, whereas a callback body cannot select the outer array method.
|
|
44
|
+
// @evidence contracts/testing.md#distinguishing-cases Ordinary and tagged argument indirection are contrasted with a chain callback whose body names hidden.
|
|
45
|
+
// @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestProjectDependenciesCalleeArgumentTransform as a unit test. Its fixture project and captured runTransform call exercise the owning Go operation in process; no consumer installation or compiler subprocess is used. Fixture helpers retain their source inputs and cleanup, and assertions inspect the resulting envelope or emitted output.
|
|
41
46
|
func TestProjectDependenciesCalleeArgumentTransform(t *testing.T) {
|
|
42
47
|
project := projectDependenciesCalleeArgumentProject(t)
|
|
43
48
|
out, errText, code := ttscTypiaTestCapture(func() int {
|
|
@@ -104,16 +109,7 @@ func TestProjectDependenciesCalleeArgumentTransform(t *testing.T) {
|
|
|
104
109
|
|
|
105
110
|
func projectDependenciesCalleeArgumentProject(t *testing.T) string {
|
|
106
111
|
t.Helper()
|
|
107
|
-
|
|
108
|
-
base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
|
|
109
|
-
if err := os.MkdirAll(base, 0o755); err != nil {
|
|
110
|
-
t.Fatalf("mkdir temp base: %v", err)
|
|
111
|
-
}
|
|
112
|
-
dir, err := os.MkdirTemp(base, "project-dependencies-callee-argument-")
|
|
113
|
-
if err != nil {
|
|
114
|
-
t.Fatalf("create temp fixture: %v", err)
|
|
115
|
-
}
|
|
116
|
-
t.Cleanup(func() { _ = os.RemoveAll(dir) })
|
|
112
|
+
dir := ttscTypiaTestFixtureDirectory(t, "project-dependencies-callee-argument-")
|
|
117
113
|
src := filepath.Join(dir, "src")
|
|
118
114
|
if err := os.MkdirAll(src, 0o755); err != nil {
|
|
119
115
|
t.Fatalf("mkdir fixture src: %v", err)
|
|
@@ -28,6 +28,11 @@ import (
|
|
|
28
28
|
// 4. Assert `dependencies["src/consumer.ts"]` contains `src/barrel.ts`, and
|
|
29
29
|
// not `src/unused.ts`, which the barrel also re-exports but this reference
|
|
30
30
|
// never traverses.
|
|
31
|
+
//
|
|
32
|
+
// @evidence contracts/testing.md#behavioral-verification The re-exported call is rewritten and its barrel dependency is present, while unused is absent.
|
|
33
|
+
// @evidence contracts/testing.md#independent-expectations A barrel choosing typia rather than a local is function can change whether the caller is transformed; unrelated exports do not.
|
|
34
|
+
// @evidence contracts/testing.md#distinguishing-cases A consumed typia re-export and an unconsumed sibling share one barrel.
|
|
35
|
+
// @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestProjectDependenciesCalleeBarrelTransform as a unit test. Its fixture project and captured runTransform call exercise the owning Go operation in process; no consumer installation or compiler subprocess is used. Fixture helpers retain their source inputs and cleanup, and assertions inspect the resulting envelope or emitted output.
|
|
31
36
|
func TestProjectDependenciesCalleeBarrelTransform(t *testing.T) {
|
|
32
37
|
project := projectDependenciesCalleeBarrelProject(t)
|
|
33
38
|
out, errText, code := ttscTypiaTestCapture(func() int {
|
|
@@ -65,16 +70,7 @@ func TestProjectDependenciesCalleeBarrelTransform(t *testing.T) {
|
|
|
65
70
|
|
|
66
71
|
func projectDependenciesCalleeBarrelProject(t *testing.T) string {
|
|
67
72
|
t.Helper()
|
|
68
|
-
|
|
69
|
-
base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
|
|
70
|
-
if err := os.MkdirAll(base, 0o755); err != nil {
|
|
71
|
-
t.Fatalf("mkdir temp base: %v", err)
|
|
72
|
-
}
|
|
73
|
-
dir, err := os.MkdirTemp(base, "project-dependencies-callee-barrel-")
|
|
74
|
-
if err != nil {
|
|
75
|
-
t.Fatalf("create temp fixture: %v", err)
|
|
76
|
-
}
|
|
77
|
-
t.Cleanup(func() { _ = os.RemoveAll(dir) })
|
|
73
|
+
dir := ttscTypiaTestFixtureDirectory(t, "project-dependencies-callee-barrel-")
|
|
78
74
|
src := filepath.Join(dir, "src")
|
|
79
75
|
if err := os.MkdirAll(src, 0o755); err != nil {
|
|
80
76
|
t.Fatalf("mkdir fixture src: %v", err)
|
|
@@ -49,6 +49,11 @@ import (
|
|
|
49
49
|
// callee resolves to a local `const helper = () => ...` keeps its
|
|
50
50
|
// declaration -- that name decides nothing, and charging it costs 65 more
|
|
51
51
|
// files across the test workspaces than the fix needs.
|
|
52
|
+
//
|
|
53
|
+
// @evidence contracts/testing.md#behavioral-verification The emitted validators are checked before testing omission of inferred-return callers from completeness and retention of annotated twins.
|
|
54
|
+
// @evidence contracts/testing.md#independent-expectations An inferred nested return can depend on initializer values outside the reported name chain; a written return type bounds that identity.
|
|
55
|
+
// @evidence contracts/testing.md#distinguishing-cases Computed arguments/callees and inferred function returns contrast with annotated forms and an outer local helper. The borrowed-value overload remains an explicitly unpinned fixture limitation.
|
|
56
|
+
// @evidence contracts/testing.md#execution-ownership The native Go runner discovers TestProjectDependenciesCalleeInferenceTransform as a unit test. Its fixture project and captured runTransform call exercise the owning Go operation in process; no consumer installation or compiler subprocess is used. Fixture helpers retain their source inputs and cleanup, and assertions inspect the resulting envelope or emitted output.
|
|
52
57
|
func TestProjectDependenciesCalleeInferenceTransform(t *testing.T) {
|
|
53
58
|
project := projectDependenciesCalleeInferenceProject(t)
|
|
54
59
|
out, errText, code := ttscTypiaTestCapture(func() int {
|
|
@@ -133,16 +138,7 @@ func TestProjectDependenciesCalleeInferenceTransform(t *testing.T) {
|
|
|
133
138
|
|
|
134
139
|
func projectDependenciesCalleeInferenceProject(t *testing.T) string {
|
|
135
140
|
t.Helper()
|
|
136
|
-
|
|
137
|
-
base := filepath.Join(root, "packages", "typia", "native", ".tmp-ttsc-typia-tests")
|
|
138
|
-
if err := os.MkdirAll(base, 0o755); err != nil {
|
|
139
|
-
t.Fatalf("mkdir temp base: %v", err)
|
|
140
|
-
}
|
|
141
|
-
dir, err := os.MkdirTemp(base, "project-dependencies-callee-inference-")
|
|
142
|
-
if err != nil {
|
|
143
|
-
t.Fatalf("create temp fixture: %v", err)
|
|
144
|
-
}
|
|
145
|
-
t.Cleanup(func() { _ = os.RemoveAll(dir) })
|
|
141
|
+
dir := ttscTypiaTestFixtureDirectory(t, "project-dependencies-callee-inference-")
|
|
146
142
|
src := filepath.Join(dir, "src")
|
|
147
143
|
if err := os.MkdirAll(src, 0o755); err != nil {
|
|
148
144
|
t.Fatalf("mkdir fixture src: %v", err)
|