MCPcopy Create free account
hub / github.com/Effect-TS/effect / signatureTailKind

Function signatureTailKind

packages/tools/jsdocs/src/Jsdocs.ts:2893–2909  ·  view source on GitHub ↗
(signature: ts.Signature, checker: ts.TypeChecker, location: ts.Node)

Source from the content-addressed store, hash-verified

2891}
2892
2893function signatureTailKind(signature: ts.Signature, checker: ts.TypeChecker, location: ts.Node): string {
2894 if (signature.parameters.length <= 1) return "none"
2895 const firstKind = signatureParameterKind(signature.parameters[0], checker, location)
2896 const tailKinds = signature.parameters.slice(1).map((parameter) =>
2897 signatureParameterKind(parameter, checker, location)
2898 )
2899 if (firstKind === "options") {
2900 const hasTransformTail = tailKinds.length > 1 && tailKinds.slice(1).every(isSignatureFunctionKind)
2901 return `${tailKinds[0]}:${hasTransformTail ? "transform" : "none"}`
2902 }
2903 if (tailKinds.every(isSignatureFunctionKind)) {
2904 return firstKind.startsWith("body:")
2905 ? "transform"
2906 : `transform:${signatureTransformCountKind(tailKinds.length)}`
2907 }
2908 return tailKinds[0]
2909}
2910
2911function signatureShapeKey(signature: ts.Signature, checker: ts.TypeChecker, location: ts.Node): string {
2912 const hasRest = signature.parameters.some((parameter) =>

Callers 1

signatureShapeKeyFunction · 0.85

Calls 3

signatureParameterKindFunction · 0.85
mapMethod · 0.45

Tested by

no test coverage detected