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
|
@@ -12,13 +12,22 @@ type classifyJoinerNamespace struct{}
|
|
|
12
12
|
|
|
13
13
|
var ClassifyJoiner = classifyJoinerNamespace{}
|
|
14
14
|
|
|
15
|
+
// ClassifyJoiner_ObjectProps is the argument record of ClassifyJoiner.Object,
|
|
16
|
+
// which builds the object that `plain.classify` returns. ClassRef names the
|
|
17
|
+
// runtime class value whose prototype receives the copied fields; when it is
|
|
18
|
+
// nil, reconstruction falls back to a plain object.
|
|
19
|
+
//
|
|
20
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of ClassifyJoiner.Object, which builds the object that `plain.classify` returns; its 5 fields (Input, Entries, Object, ClassRef, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
21
|
+
// @evidence contracts/common.md#clear-and-simple-design A 5-field record with no methods.
|
|
22
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
23
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is and explains its non-obvious fields.
|
|
15
24
|
type ClassifyJoiner_ObjectProps struct {
|
|
16
25
|
Input *shimast.Expression
|
|
17
26
|
Entries []IExpressionEntry
|
|
18
27
|
Object *nativemetadata.MetadataObjectType
|
|
19
28
|
// ClassRef is the value reference to the class (a bare identifier when in
|
|
20
29
|
// lexical scope, or a resolved value import for a cross-module class). When
|
|
21
|
-
// nil
|
|
30
|
+
// nil reconstruction uses a plain object. Resolved by the classify programmer, which
|
|
22
31
|
// owns the importer and the call-site file.
|
|
23
32
|
ClassRef *shimast.Node
|
|
24
33
|
Emit *shimprinter.EmitContext
|
|
@@ -37,11 +46,10 @@ var classifyJoiner_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
|
37
46
|
// for (const [key, value] of Object.entries(input)) { ...dynamic keys... }
|
|
38
47
|
// return output;
|
|
39
48
|
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
// land in a later slice.)
|
|
49
|
+
// PlainClassifyProgrammer selects supported from/new seed construction at the
|
|
50
|
+
// root before reaching this joiner. This joiner owns field-copy reconstruction,
|
|
51
|
+
// including nested class values. Object.create preserves the available class
|
|
52
|
+
// prototype without calling its constructor or requiring a constructor seed.
|
|
45
53
|
//
|
|
46
54
|
// The class is referenced by props.ClassRef: a bare identifier when the class
|
|
47
55
|
// is in lexical scope at the classify() call site (the common same-file case),
|
|
@@ -16,18 +16,40 @@ type cloneJoinerNamespace struct{}
|
|
|
16
16
|
|
|
17
17
|
var CloneJoiner = cloneJoinerNamespace{}
|
|
18
18
|
|
|
19
|
+
// CloneJoiner_ObjectProps is the argument record of CloneJoiner.Object, which
|
|
20
|
+
// builds the cloned object.
|
|
21
|
+
//
|
|
22
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of CloneJoiner.Object, which builds the cloned object; its 3 fields (Input, Entries, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
23
|
+
// @evidence contracts/common.md#clear-and-simple-design A 3-field record with no methods.
|
|
24
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
25
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
19
26
|
type CloneJoiner_ObjectProps struct {
|
|
20
27
|
Input *shimast.Expression
|
|
21
28
|
Entries []IExpressionEntry
|
|
22
29
|
Emit *shimprinter.EmitContext
|
|
23
30
|
}
|
|
24
31
|
|
|
32
|
+
// CloneJoiner_TupleProps is the argument record of CloneJoiner.Tuple, which
|
|
33
|
+
// builds the cloned tuple from its element and rest expressions.
|
|
34
|
+
//
|
|
35
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of CloneJoiner.Tuple, which builds the cloned tuple from its element and rest expressions; its 3 fields (Elements, Rest, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
36
|
+
// @evidence contracts/common.md#clear-and-simple-design A 3-field record with no methods.
|
|
37
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
38
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
25
39
|
type CloneJoiner_TupleProps struct {
|
|
26
40
|
Elements []*shimast.Expression
|
|
27
41
|
Rest *shimast.Expression
|
|
28
42
|
Emit *shimprinter.EmitContext
|
|
29
43
|
}
|
|
30
44
|
|
|
45
|
+
// CloneJoiner_OptionalElementProps is the argument record of
|
|
46
|
+
// CloneJoiner.OptionalTupleElement, which clones an optional tuple element at
|
|
47
|
+
// Index.
|
|
48
|
+
//
|
|
49
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of CloneJoiner.OptionalTupleElement, which clones an optional tuple element at Index; its 4 fields (Input, Value, Index, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
50
|
+
// @evidence contracts/common.md#clear-and-simple-design A 4-field record with no methods.
|
|
51
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
52
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
31
53
|
type CloneJoiner_OptionalElementProps struct {
|
|
32
54
|
Input *shimast.Expression
|
|
33
55
|
Value *shimast.Expression
|
|
@@ -35,6 +57,13 @@ type CloneJoiner_OptionalElementProps struct {
|
|
|
35
57
|
Emit *shimprinter.EmitContext
|
|
36
58
|
}
|
|
37
59
|
|
|
60
|
+
// CloneJoiner_ArrayProps is the argument record of CloneJoiner.Array, which
|
|
61
|
+
// clones an array by mapping its elements with Arrow.
|
|
62
|
+
//
|
|
63
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of CloneJoiner.Array, which clones an array by mapping its elements with Arrow; its 3 fields (Input, Arrow, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
64
|
+
// @evidence contracts/common.md#clear-and-simple-design A 3-field record with no methods.
|
|
65
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
66
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
38
67
|
type CloneJoiner_ArrayProps struct {
|
|
39
68
|
Input *shimast.Expression
|
|
40
69
|
Arrow *shimast.Expression
|
|
@@ -9,7 +9,18 @@ import (
|
|
|
9
9
|
nativefactories "github.com/samchon/typia/packages/typia/native/core/factories"
|
|
10
10
|
)
|
|
11
11
|
|
|
12
|
+
// FunctionProgrammer is the per-call collector of generated helper functions and
|
|
13
|
+
// constants. It hands out collision-free names, records the unions and variables
|
|
14
|
+
// a feature emplaces and declares them as constants in first-use order. Visit
|
|
15
|
+
// tracking and the is-check prefix are per-call settings that recursive helpers
|
|
16
|
+
// read late, so they are fields and not arguments.
|
|
17
|
+
//
|
|
18
|
+
// @evidence contracts/common.md#principled-implementation It is the per-call collector of generated helper functions and constants. It hands out collision-free names, records the unions and variables a feature emplaces and declares them as constants in first-use order. Visit tracking and the is-check prefix are per-call settings that recursive helpers read late, so they are fields and not arguments.
|
|
19
|
+
// @evidence contracts/common.md#clear-and-simple-design One struct whose methods are short operations over its private tables.
|
|
20
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State is per instance and no package-level table is kept.
|
|
21
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states the collector role, and the field comments explain visit tracking, the emit context and the is-check prefix.
|
|
12
22
|
type FunctionProgrammer struct {
|
|
23
|
+
// Method is the source callee label used in generated errors.
|
|
13
24
|
Method string
|
|
14
25
|
local_ map[string]bool
|
|
15
26
|
unions_ map[string]*functionProgrammer_union
|
|
@@ -46,6 +57,13 @@ type functionProgrammer_union struct {
|
|
|
46
57
|
|
|
47
58
|
var functionProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
48
59
|
|
|
60
|
+
// NewFunctionProgrammer returns an empty FunctionProgrammer labeled with the
|
|
61
|
+
// typia method text and bound to an optional emit context.
|
|
62
|
+
//
|
|
63
|
+
// @evidence contracts/common.md#principled-implementation It returns an empty FunctionProgrammer labeled with the typia method text and bound to an optional emit context.
|
|
64
|
+
// @evidence contracts/common.md#clear-and-simple-design One constructor that allocates the empty tables.
|
|
65
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts Every instance owns its tables.
|
|
66
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
49
67
|
func NewFunctionProgrammer(method string, emit ...*shimprinter.EmitContext) *FunctionProgrammer {
|
|
50
68
|
p := &FunctionProgrammer{
|
|
51
69
|
Method: method,
|
|
@@ -64,33 +82,78 @@ func NewFunctionProgrammer(method string, emit ...*shimprinter.EmitContext) *Fun
|
|
|
64
82
|
return p
|
|
65
83
|
}
|
|
66
84
|
|
|
85
|
+
// UseLocal marks a helper function name as used and returns it, so declarations
|
|
86
|
+
// that were never referenced can be skipped.
|
|
87
|
+
//
|
|
88
|
+
// @evidence contracts/common.md#principled-implementation It marks a helper function name as used and returns it, so declarations that were never referenced can be skipped.
|
|
89
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
90
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
91
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
67
92
|
func (p *FunctionProgrammer) UseLocal(name string) string {
|
|
68
93
|
p.local_[name] = true
|
|
69
94
|
return name
|
|
70
95
|
}
|
|
71
96
|
|
|
97
|
+
// SetVisited turns per-invocation visit tracking on or off.
|
|
98
|
+
//
|
|
99
|
+
// @evidence contracts/common.md#principled-implementation It turns per-invocation visit tracking on or off.
|
|
100
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
101
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
102
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
72
103
|
func (p *FunctionProgrammer) SetVisited(value bool) {
|
|
73
104
|
p.visited_ = value
|
|
74
105
|
}
|
|
75
106
|
|
|
107
|
+
// Visited reports whether per-invocation visit tracking is on.
|
|
108
|
+
//
|
|
109
|
+
// @evidence contracts/common.md#principled-implementation It reports whether per-invocation visit tracking is on.
|
|
110
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
111
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
112
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
76
113
|
func (p *FunctionProgrammer) Visited() bool {
|
|
77
114
|
return p.visited_
|
|
78
115
|
}
|
|
79
116
|
|
|
117
|
+
// SetIsPrefix sets the is-check helper namespace that nested classify
|
|
118
|
+
// discriminations emit under.
|
|
119
|
+
//
|
|
120
|
+
// @evidence contracts/common.md#principled-implementation It sets the is-check helper namespace that nested classify discriminations emit under.
|
|
121
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
122
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
123
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
80
124
|
func (p *FunctionProgrammer) SetIsPrefix(prefix string) {
|
|
81
125
|
p.isPrefix_ = prefix
|
|
82
126
|
}
|
|
83
127
|
|
|
84
128
|
// IsPrefix returns the is-check helper namespace classify's nested
|
|
85
129
|
// discriminations emit under ("" => the default "_i"). See isPrefix_.
|
|
130
|
+
//
|
|
131
|
+
// @evidence contracts/common.md#principled-implementation The accessor exposes the is-check helper namespace that classify's nested discriminations emit under, where an empty string means the default `_i`, so recursive helpers read it from the per-function programmer instead of threading an argument.
|
|
132
|
+
// @evidence contracts/common.md#clear-and-simple-design One accessor over a private field.
|
|
133
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts The value is per-programmer state and not a package global.
|
|
134
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states the empty-string default and points at the field comment.
|
|
86
135
|
func (p *FunctionProgrammer) IsPrefix() string {
|
|
87
136
|
return p.isPrefix_
|
|
88
137
|
}
|
|
89
138
|
|
|
139
|
+
// HasLocal reports whether a helper function name was marked as used.
|
|
140
|
+
//
|
|
141
|
+
// @evidence contracts/common.md#principled-implementation It reports whether a helper function name was marked as used.
|
|
142
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
143
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
144
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
90
145
|
func (p *FunctionProgrammer) HasLocal(name string) bool {
|
|
91
146
|
return p.local_[name]
|
|
92
147
|
}
|
|
93
148
|
|
|
149
|
+
// Declare returns the constant declarations of every emplaced variable in
|
|
150
|
+
// emplacement order, followed by those of the emplaced unions unless
|
|
151
|
+
// includeUnions is false.
|
|
152
|
+
//
|
|
153
|
+
// @evidence contracts/common.md#principled-implementation Ordered key slices preserve first emplacement order independently of Go map iteration. Variables precede unions, and the optional flag controls only union declarations.
|
|
154
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
155
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
156
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
94
157
|
func (p *FunctionProgrammer) Declare(includeUnions ...bool) []*shimast.Node {
|
|
95
158
|
output := []*shimast.Node{}
|
|
96
159
|
for _, name := range p.variableOrder_ {
|
|
@@ -116,6 +179,13 @@ func (p *FunctionProgrammer) Declare(includeUnions ...bool) []*shimast.Node {
|
|
|
116
179
|
return output
|
|
117
180
|
}
|
|
118
181
|
|
|
182
|
+
// DeclareUnions returns only the constant declarations of the emplaced unions in
|
|
183
|
+
// emplacement order.
|
|
184
|
+
//
|
|
185
|
+
// @evidence contracts/common.md#principled-implementation The union-order slice indexes the same registered tuples and preserves first emplacement order without emitting variables.
|
|
186
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
187
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
188
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
119
189
|
func (p *FunctionProgrammer) DeclareUnions() []*shimast.Node {
|
|
120
190
|
output := []*shimast.Node{}
|
|
121
191
|
for _, key := range p.unionOrder_ {
|
|
@@ -128,11 +198,25 @@ func (p *FunctionProgrammer) DeclareUnions() []*shimast.Node {
|
|
|
128
198
|
return output
|
|
129
199
|
}
|
|
130
200
|
|
|
201
|
+
// Increment returns the next value of a per-call counter, which makes generated
|
|
202
|
+
// parameter names unique.
|
|
203
|
+
//
|
|
204
|
+
// @evidence contracts/common.md#principled-implementation It returns the next value of a per-call counter, which makes generated parameter names unique.
|
|
205
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
206
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
207
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
131
208
|
func (p *FunctionProgrammer) Increment() int {
|
|
132
209
|
p.sequence_++
|
|
133
210
|
return p.sequence_
|
|
134
211
|
}
|
|
135
212
|
|
|
213
|
+
// EmplaceUnion returns the name of the union function registered under prefix
|
|
214
|
+
// and name, creating it with factory on first use.
|
|
215
|
+
//
|
|
216
|
+
// @evidence contracts/common.md#principled-implementation The prefix/name key identifies a union within this emission. Registering its reserved name before invoking factory allows recursive factories to refer back to the same name; the completed AST is declared afterward.
|
|
217
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
218
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
219
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
136
220
|
func (p *FunctionProgrammer) EmplaceUnion(prefix string, name string, factory func() *shimast.Node) string {
|
|
137
221
|
key := prefix + "::" + name
|
|
138
222
|
if oldbie, ok := p.unions_[key]; ok {
|
|
@@ -146,6 +230,13 @@ func (p *FunctionProgrammer) EmplaceUnion(prefix string, name string, factory fu
|
|
|
146
230
|
return accessor
|
|
147
231
|
}
|
|
148
232
|
|
|
233
|
+
// EmplaceVariable registers a variable under name and returns an identifier for
|
|
234
|
+
// it.
|
|
235
|
+
//
|
|
236
|
+
// @evidence contracts/common.md#principled-implementation It registers a variable under name and returns an identifier for it.
|
|
237
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
238
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
239
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
149
240
|
func (p *FunctionProgrammer) EmplaceVariable(name string, value *shimast.Expression) *shimast.Node {
|
|
150
241
|
if _, ok := p.variables_[name]; !ok {
|
|
151
242
|
if p.isNameReserved(name) {
|
|
@@ -159,6 +250,13 @@ func (p *FunctionProgrammer) EmplaceVariable(name string, value *shimast.Express
|
|
|
159
250
|
return nativecontext.EmitFactoryOf(functionProgrammer_factory, p.emit_).NewIdentifier(name)
|
|
160
251
|
}
|
|
161
252
|
|
|
253
|
+
// EmplaceVariableByKey returns an identifier for the variable registered under
|
|
254
|
+
// prefix and key, creating it with factory on first use.
|
|
255
|
+
//
|
|
256
|
+
// @evidence contracts/common.md#principled-implementation It returns an identifier for the variable registered under prefix and key, creating it with factory on first use.
|
|
257
|
+
// @evidence contracts/common.md#clear-and-simple-design One small method on the per-call collector.
|
|
258
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts State lives on the receiver and not in a package global.
|
|
259
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
162
260
|
func (p *FunctionProgrammer) EmplaceVariableByKey(prefix string, key string, factory func(name string) *shimast.Expression) *shimast.Node {
|
|
163
261
|
compound := prefix + "::" + key
|
|
164
262
|
if name, ok := p.variableKeys_[compound]; ok {
|
|
@@ -2,12 +2,28 @@ package helpers
|
|
|
2
2
|
|
|
3
3
|
import shimast "github.com/microsoft/typescript-go/shim/ast"
|
|
4
4
|
|
|
5
|
+
// ICheckEntry is one check of a type: its expected description, an optional
|
|
6
|
+
// guard on the value itself, and type-tag conditions. Conditions are
|
|
7
|
+
// alternatives, each an and-list of conditions; the entry holds when Expression
|
|
8
|
+
// holds and one alternative holds.
|
|
9
|
+
//
|
|
10
|
+
// @evidence contracts/common.md#principled-implementation It is one check of a type: its expected description, an optional guard on the value itself, and type-tag conditions; its 3 fields (Expected, Expression, Conditions) are named so that a producer and a consumer cannot transpose them.
|
|
11
|
+
// @evidence contracts/common.md#clear-and-simple-design A 3-field record with no methods.
|
|
12
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
13
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is and explains its non-obvious fields.
|
|
5
14
|
type ICheckEntry struct {
|
|
6
15
|
Expected string
|
|
7
16
|
Expression *shimast.Node
|
|
8
17
|
Conditions [][]ICheckEntry_ICondition
|
|
9
18
|
}
|
|
10
19
|
|
|
20
|
+
// ICheckEntry_ICondition is one type-tag condition of a check entry, with its
|
|
21
|
+
// expected description and condition expression.
|
|
22
|
+
//
|
|
23
|
+
// @evidence contracts/common.md#principled-implementation It is one type-tag condition of a check entry, with its expected description and condition expression; its 2 fields (Expected, Expression) are named so that a producer and a consumer cannot transpose them.
|
|
24
|
+
// @evidence contracts/common.md#clear-and-simple-design A 2-field record with no methods.
|
|
25
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
26
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
11
27
|
type ICheckEntry_ICondition struct {
|
|
12
28
|
Expected string
|
|
13
29
|
Expression *shimast.Node
|
|
@@ -5,6 +5,14 @@ import (
|
|
|
5
5
|
nativemetadata "github.com/samchon/typia/packages/typia/native/core/schemas/metadata"
|
|
6
6
|
)
|
|
7
7
|
|
|
8
|
+
// IExpressionEntry is one property of an object, with the input accessor, the
|
|
9
|
+
// key and value metadata, the decoded expression and whether the property is
|
|
10
|
+
// exact-optional or strict-optional-undefined.
|
|
11
|
+
//
|
|
12
|
+
// @evidence contracts/common.md#principled-implementation It is one property of an object, with the input accessor, the key and value metadata, the decoded expression and whether the property is exact-optional or strict-optional-undefined; its 6 fields (Input, Key, Meta, Expression, OptionalProperty, StrictOptionalUndefined) are named so that a producer and a consumer cannot transpose them.
|
|
13
|
+
// @evidence contracts/common.md#clear-and-simple-design A 6-field record with no methods.
|
|
14
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
15
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
8
16
|
type IExpressionEntry struct {
|
|
9
17
|
Input *shimast.Node
|
|
10
18
|
Key *nativemetadata.MetadataSchema
|
|
@@ -15,6 +15,11 @@ import (
|
|
|
15
15
|
// transform must hand this the full call expression — Node.Text() panics on a
|
|
16
16
|
// PropertyAccessExpression, which is why GetTextOfNode (the source-span text)
|
|
17
17
|
// is used instead.
|
|
18
|
+
//
|
|
19
|
+
// @evidence contracts/common.md#principled-implementation The label embedded in TypeGuardError is the whole callee text, which is what the TypeScript transformer's `modulo.getText()` produced, so an identifier or string literal uses its text and any other expression is read from its source span because Node.Text() panics on a property access.
|
|
20
|
+
// @evidence contracts/common.md#clear-and-simple-design One function with a nil guard and two branches.
|
|
21
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts The label is read from the call expression and not rebuilt from the kind of typia call.
|
|
22
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states the mirrored TypeScript behavior and why the source-span text is used.
|
|
18
23
|
func ModuloMethodText(modulo *shimast.Node) string {
|
|
19
24
|
if modulo == nil {
|
|
20
25
|
return ""
|
|
@@ -12,6 +12,15 @@ type notationJoinerNamespace struct{}
|
|
|
12
12
|
|
|
13
13
|
var NotationJoiner = notationJoinerNamespace{}
|
|
14
14
|
|
|
15
|
+
// NotationJoiner_ObjectProps is the argument record of NotationJoiner.Object,
|
|
16
|
+
// which builds the renamed object. Rename converts a static key, DynamicRename
|
|
17
|
+
// and DynamicAssign build the key conversion and the assignment for a dynamic
|
|
18
|
+
// key, and ThrowCollision builds the error for two keys that convert to one.
|
|
19
|
+
//
|
|
20
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of NotationJoiner.Object, which builds the renamed object; its 7 fields (Rename, DynamicRename, DynamicAssign, ThrowCollision, Input, Entries, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
21
|
+
// @evidence contracts/common.md#clear-and-simple-design A 7-field record with no methods.
|
|
22
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
23
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is and explains its non-obvious fields.
|
|
15
24
|
type NotationJoiner_ObjectProps struct {
|
|
16
25
|
Rename func(str string) string
|
|
17
26
|
DynamicRename func() *shimast.Node
|
|
@@ -22,12 +31,26 @@ type NotationJoiner_ObjectProps struct {
|
|
|
22
31
|
Emit *shimprinter.EmitContext
|
|
23
32
|
}
|
|
24
33
|
|
|
34
|
+
// NotationJoiner_TupleProps is the argument record of NotationJoiner.Tuple,
|
|
35
|
+
// which builds the converted tuple from its element and rest expressions.
|
|
36
|
+
//
|
|
37
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of NotationJoiner.Tuple, which builds the converted tuple from its element and rest expressions; its 3 fields (Elements, Rest, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
38
|
+
// @evidence contracts/common.md#clear-and-simple-design A 3-field record with no methods.
|
|
39
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
40
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
25
41
|
type NotationJoiner_TupleProps struct {
|
|
26
42
|
Elements []*shimast.Expression
|
|
27
43
|
Rest *shimast.Expression
|
|
28
44
|
Emit *shimprinter.EmitContext
|
|
29
45
|
}
|
|
30
46
|
|
|
47
|
+
// NotationJoiner_ArrayProps is the argument record of NotationJoiner.Array,
|
|
48
|
+
// which converts an array by mapping its elements with Arrow.
|
|
49
|
+
//
|
|
50
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of NotationJoiner.Array, which converts an array by mapping its elements with Arrow; its 3 fields (Input, Arrow, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
51
|
+
// @evidence contracts/common.md#clear-and-simple-design A 3-field record with no methods.
|
|
52
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
53
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
31
54
|
type NotationJoiner_ArrayProps struct {
|
|
32
55
|
Input *shimast.Expression
|
|
33
56
|
Arrow *shimast.Expression
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
package helpers
|
|
2
2
|
|
|
3
|
+
// ProtobufWire is the wire type of a protobuf field. The values follow the
|
|
4
|
+
// protobuf encoding specification: 0 varint (spelled VARIANT here), 1 64-bit, 2
|
|
5
|
+
// length-delimited, 3 start group, 4 end group, 5 32-bit.
|
|
6
|
+
//
|
|
7
|
+
// @evidence contracts/common.md#principled-implementation It is the wire type of a protobuf field. The values follow the protobuf encoding specification: 0 varint (spelled VARIANT here), 1 64-bit, 2 length-delimited, 3 start group, 4 end group, 5 32-bit.
|
|
8
|
+
// @evidence contracts/common.md#clear-and-simple-design A single type declaration.
|
|
9
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A declaration only.
|
|
10
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the type is.
|
|
3
11
|
type ProtobufWire int
|
|
4
12
|
|
|
5
13
|
const (
|
|
@@ -12,6 +12,13 @@ type pruneJoinerNamespace struct{}
|
|
|
12
12
|
|
|
13
13
|
var PruneJoiner = pruneJoinerNamespace{}
|
|
14
14
|
|
|
15
|
+
// PruneJoiner_ObjectProps is the argument record of PruneJoiner.Object, which
|
|
16
|
+
// builds the pruning of an object.
|
|
17
|
+
//
|
|
18
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of PruneJoiner.Object, which builds the pruning of an object; its 4 fields (Input, Entries, Object, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
19
|
+
// @evidence contracts/common.md#clear-and-simple-design A 4-field record with no methods.
|
|
20
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
21
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
15
22
|
type PruneJoiner_ObjectProps struct {
|
|
16
23
|
Input *shimast.Expression
|
|
17
24
|
Entries []IExpressionEntry
|
|
@@ -19,12 +26,26 @@ type PruneJoiner_ObjectProps struct {
|
|
|
19
26
|
Emit *shimprinter.EmitContext
|
|
20
27
|
}
|
|
21
28
|
|
|
29
|
+
// PruneJoiner_ArrayProps is the argument record of PruneJoiner.Array, which
|
|
30
|
+
// prunes an array by visiting its elements with Arrow for side effects.
|
|
31
|
+
//
|
|
32
|
+
// @evidence contracts/common.md#principled-implementation Input is the array expression and Arrow is the in-place element pruner passed to forEach. Emit supplies AST creation context; this record does not model a mapped output array.
|
|
33
|
+
// @evidence contracts/common.md#clear-and-simple-design A 3-field record with no methods.
|
|
34
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
35
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
22
36
|
type PruneJoiner_ArrayProps struct {
|
|
23
37
|
Input *shimast.Expression
|
|
24
38
|
Arrow *shimast.Expression
|
|
25
39
|
Emit *shimprinter.EmitContext
|
|
26
40
|
}
|
|
27
41
|
|
|
42
|
+
// PruneJoiner_TupleProps is the argument record of PruneJoiner.Tuple, which
|
|
43
|
+
// prunes the element and rest bodies of a tuple.
|
|
44
|
+
//
|
|
45
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of PruneJoiner.Tuple, which prunes the element and rest bodies of a tuple; its 3 fields (Elements, Rest, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
46
|
+
// @evidence contracts/common.md#clear-and-simple-design A 3-field record with no methods.
|
|
47
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
48
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
28
49
|
type PruneJoiner_TupleProps struct {
|
|
29
50
|
Elements []*shimast.ConciseBody
|
|
30
51
|
Rest *shimast.ConciseBody
|
|
@@ -22,8 +22,24 @@ var RandomJoiner = randomJoinerNamespace{}
|
|
|
22
22
|
// which escape it happened to own would make a depth bound unstatable.
|
|
23
23
|
const RandomJoiner_RECURSION_CUTOFF = 5
|
|
24
24
|
|
|
25
|
+
// RandomJoiner_Decoder is the callback that generates the random expression of
|
|
26
|
+
// one metadata schema.
|
|
27
|
+
//
|
|
28
|
+
// @evidence contracts/common.md#principled-implementation It is the callback that generates the random expression of one metadata schema.
|
|
29
|
+
// @evidence contracts/common.md#clear-and-simple-design A single type declaration.
|
|
30
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A declaration only.
|
|
31
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the type is.
|
|
25
32
|
type RandomJoiner_Decoder func(metadata *nativemetadata.MetadataSchema) *shimast.Node
|
|
26
33
|
|
|
34
|
+
// RandomJoiner_ArrayProps is the argument record of RandomJoiner.Array, which
|
|
35
|
+
// builds a random array of the array type. Recursive marks an array type that
|
|
36
|
+
// refers to itself, and Schema holds the constraint keywords that are written
|
|
37
|
+
// into the call as a literal.
|
|
38
|
+
//
|
|
39
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of RandomJoiner.Array, which builds a random array of the array type; its 6 fields (Decode, Recursive, Expression, Array, Schema, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
40
|
+
// @evidence contracts/common.md#clear-and-simple-design A 6-field record with no methods.
|
|
41
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
42
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is and explains its non-obvious fields.
|
|
27
43
|
type RandomJoiner_ArrayProps struct {
|
|
28
44
|
Decode RandomJoiner_Decoder
|
|
29
45
|
Recursive bool
|
|
@@ -33,12 +49,27 @@ type RandomJoiner_ArrayProps struct {
|
|
|
33
49
|
Emit *shimprinter.EmitContext
|
|
34
50
|
}
|
|
35
51
|
|
|
52
|
+
// RandomJoiner_RecursiveArrayGuardProps is the argument record of the recursion
|
|
53
|
+
// questions of RandomJoiner: whether a recursive array needs the depth guard,
|
|
54
|
+
// and whether the array, object or tuple has a recursive owner path.
|
|
55
|
+
//
|
|
56
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of the recursion questions of RandomJoiner: whether a recursive array needs the depth guard, and whether the array, object or tuple has a recursive owner path; its 3 fields (Array, Object, Tuple) are named so that a producer and a consumer cannot transpose them.
|
|
57
|
+
// @evidence contracts/common.md#clear-and-simple-design A 3-field record with no methods.
|
|
58
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
59
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
36
60
|
type RandomJoiner_RecursiveArrayGuardProps struct {
|
|
37
61
|
Array *nativemetadata.MetadataArrayType
|
|
38
62
|
Object *nativemetadata.MetadataObjectType
|
|
39
63
|
Tuple *nativemetadata.MetadataTupleType
|
|
40
64
|
}
|
|
41
65
|
|
|
66
|
+
// RandomJoiner_TupleProps is the argument record of RandomJoiner.Tuple, which
|
|
67
|
+
// builds a random tuple from the element schemas.
|
|
68
|
+
//
|
|
69
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of RandomJoiner.Tuple, which builds a random tuple from the element schemas; its 5 fields (Decode, Elements, ArrayExpression, HasDepth, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
70
|
+
// @evidence contracts/common.md#clear-and-simple-design A 5-field record with no methods.
|
|
71
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
72
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
42
73
|
type RandomJoiner_TupleProps struct {
|
|
43
74
|
Decode RandomJoiner_Decoder
|
|
44
75
|
Elements []*nativemetadata.MetadataSchema
|
|
@@ -51,13 +82,29 @@ type RandomJoiner_TupleProps struct {
|
|
|
51
82
|
Emit *shimprinter.EmitContext
|
|
52
83
|
}
|
|
53
84
|
|
|
85
|
+
// RandomJoiner_ObjectProps is the argument record of RandomJoiner.Object, which
|
|
86
|
+
// builds a random object. OptionalProperty and StrictOptionalUndefined classify
|
|
87
|
+
// a property schema, and Optional builds the condition for including an optional
|
|
88
|
+
// property. A nil Optional callback includes the property.
|
|
89
|
+
//
|
|
90
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of RandomJoiner.Object, which builds a random object; its 6 fields (Decode, Object, OptionalProperty, StrictOptionalUndefined, Optional, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
91
|
+
// @evidence contracts/common.md#clear-and-simple-design A 6-field record with no methods.
|
|
92
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
93
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is and explains its non-obvious fields.
|
|
54
94
|
type RandomJoiner_ObjectProps struct {
|
|
55
|
-
Decode
|
|
56
|
-
Object
|
|
57
|
-
|
|
95
|
+
Decode RandomJoiner_Decoder
|
|
96
|
+
Object *nativemetadata.MetadataObjectType
|
|
97
|
+
|
|
98
|
+
// OptionalProperty selects properties emitted through conditional spreads.
|
|
99
|
+
OptionalProperty func(*nativemetadata.MetadataSchema) bool
|
|
100
|
+
|
|
101
|
+
// StrictOptionalUndefined removes optionality from the included value schema.
|
|
58
102
|
StrictOptionalUndefined func(*nativemetadata.MetadataSchema) bool
|
|
59
|
-
|
|
60
|
-
|
|
103
|
+
|
|
104
|
+
// Optional returns the inclusion condition, not an absence condition.
|
|
105
|
+
Optional func() *shimast.Node
|
|
106
|
+
|
|
107
|
+
Emit *shimprinter.EmitContext
|
|
61
108
|
}
|
|
62
109
|
|
|
63
110
|
type randomJoiner_DynamicPropertyProps struct {
|
|
@@ -15,11 +15,25 @@ type stringifyJoinerNamespace struct{}
|
|
|
15
15
|
|
|
16
16
|
var StringifyJoiner = stringifyJoinerNamespace{}
|
|
17
17
|
|
|
18
|
+
// StringifyJoiner_ObjectProps is the argument record of StringifyJoiner.Object,
|
|
19
|
+
// which builds the JSON text of an object from its property entries.
|
|
20
|
+
//
|
|
21
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of StringifyJoiner.Object, which builds the JSON text of an object from its property entries; its 2 fields (Context, Entries) are named so that a producer and a consumer cannot transpose them.
|
|
22
|
+
// @evidence contracts/common.md#clear-and-simple-design A 2-field record with no methods.
|
|
23
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
24
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
18
25
|
type StringifyJoiner_ObjectProps struct {
|
|
19
26
|
Context nativecontext.ITypiaContext
|
|
20
27
|
Entries []IExpressionEntry
|
|
21
28
|
}
|
|
22
29
|
|
|
30
|
+
// StringifyJoiner_ArrayProps is the argument record of StringifyJoiner.Array,
|
|
31
|
+
// which builds the JSON text of an array from its element arrow.
|
|
32
|
+
//
|
|
33
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of StringifyJoiner.Array, which builds the JSON text of an array from its element arrow; its 4 fields (Context, Input, Arrow, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
34
|
+
// @evidence contracts/common.md#clear-and-simple-design A 4-field record with no methods.
|
|
35
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
36
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
23
37
|
type StringifyJoiner_ArrayProps struct {
|
|
24
38
|
Context nativecontext.ITypiaContext
|
|
25
39
|
Input *shimast.Expression
|
|
@@ -27,6 +41,13 @@ type StringifyJoiner_ArrayProps struct {
|
|
|
27
41
|
Emit *shimprinter.EmitContext
|
|
28
42
|
}
|
|
29
43
|
|
|
44
|
+
// StringifyJoiner_TupleProps is the argument record of StringifyJoiner.Tuple,
|
|
45
|
+
// which builds the JSON text of a tuple from its element and rest expressions.
|
|
46
|
+
//
|
|
47
|
+
// @evidence contracts/common.md#principled-implementation It is the argument record of StringifyJoiner.Tuple, which builds the JSON text of a tuple from its element and rest expressions; its 3 fields (Elements, Rest, Emit) are named so that a producer and a consumer cannot transpose them.
|
|
48
|
+
// @evidence contracts/common.md#clear-and-simple-design A 3-field record with no methods.
|
|
49
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts A data record: it derives, defaults and validates nothing.
|
|
50
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states what the record is.
|
|
30
51
|
type StringifyJoiner_TupleProps struct {
|
|
31
52
|
Elements []*shimast.Expression
|
|
32
53
|
Rest *shimast.Expression
|
|
@@ -217,21 +238,26 @@ func stringifyJoiner_entry_omittable(entry IExpressionEntry) bool {
|
|
|
217
238
|
stringifyJoiner_result_undefinable(entry.Meta)
|
|
218
239
|
}
|
|
219
240
|
|
|
220
|
-
//
|
|
241
|
+
// StringifyJoiner_ResultUndefinable reports whether a value that is present can
|
|
221
242
|
// still serialize to nothing, which is the case an input test cannot see.
|
|
222
243
|
//
|
|
223
244
|
// `any` and `unknown` are serialized by JSON.stringify, which answers
|
|
224
245
|
// `undefined` for a function, a symbol, and a `toJSON` returning nothing. A
|
|
225
246
|
// declared `toJSON` is the same case without `any`: the member's text is its
|
|
226
247
|
// return value, so a return type that admits `undefined` admits a member with no
|
|
227
|
-
// text (#2253).
|
|
228
|
-
//
|
|
229
|
-
// positions the joiner does not build itself, so a tuple slot and an object
|
|
248
|
+
// text (#2253). The joiner and the element positions it does not build itself,
|
|
249
|
+
// such as a tuple slot, ask this one question, so a tuple slot and an object
|
|
230
250
|
// member classify a value identically.
|
|
251
|
+
//
|
|
252
|
+
// @evidence contracts/common.md#principled-implementation The shared metadata classifier selects Any (the representation of any/unknown) or an escaped toJSON return admitting undefined. Their serialized result can disappear while input is present; direct function members are handled separately by the surrounding joiner.
|
|
253
|
+
// @evidence contracts/common.md#clear-and-simple-design A one-line exported delegate over the package-private classifier.
|
|
254
|
+
// @evidence contracts/common.md#prohibited-implementation-shortcuts Both positions call one classifier and the rule is not repeated.
|
|
255
|
+
// @evidence contracts/common.md#meaningful-documentation The doc states the cases and cites #2253.
|
|
231
256
|
func StringifyJoiner_ResultUndefinable(meta *nativemetadata.MetadataSchema) bool {
|
|
232
257
|
return stringifyJoiner_result_undefinable(meta)
|
|
233
258
|
}
|
|
234
259
|
|
|
260
|
+
// stringifyJoiner_result_undefinable implements StringifyJoiner_ResultUndefinable.
|
|
235
261
|
func stringifyJoiner_result_undefinable(meta *nativemetadata.MetadataSchema) bool {
|
|
236
262
|
if meta == nil {
|
|
237
263
|
return false
|
|
@@ -508,12 +534,5 @@ func stringifyJoiner_escape_template(text string) string {
|
|
|
508
534
|
}
|
|
509
535
|
|
|
510
536
|
func joinStrings(values []string, sep string) string {
|
|
511
|
-
|
|
512
|
-
return ""
|
|
513
|
-
}
|
|
514
|
-
output := values[0]
|
|
515
|
-
for _, value := range values[1:] {
|
|
516
|
-
output += sep + value
|
|
517
|
-
}
|
|
518
|
-
return output
|
|
537
|
+
return strings.Join(values, sep)
|
|
519
538
|
}
|