MCPcopy Create free account
hub / github.com/Effect-TS/tsgo / processTupleType

Method processTupleType

internal/schemagen/structural.go:413–431  ·  view source on GitHub ↗

processTupleType converts tuple types to Schema.Tuple.

(t *checker.Type, ctx processingContext)

Source from the content-addressed store, hash-verified

411
412// processTupleType converts tuple types to Schema.Tuple.
413func (g *StructuralSchemaGen) processTupleType(t *checker.Type, ctx processingContext) (*ast.Node, bool, error) {
414 typeArgs := checker.Checker_getTypeArguments(g.Checker, t)
415 elems := make([]*ast.Node, 0, len(typeArgs))
416 for _, ta := range typeArgs {
417 expr, err := g.processType(ta, ctx)
418 if err != nil {
419 return nil, false, err
420 }
421 elems = append(elems, expr)
422 }
423
424 var args []*ast.Node
425 if ctx.version == typeparser.EffectMajorV4 {
426 args = []*ast.Node{g.Tracker.NewArrayLiteralExpression(g.Tracker.NewNodeList(elems), false)}
427 } else {
428 args = elems
429 }
430 return g.createApiCall("Tuple", args), false, nil
431}
432
433// validIdentifierRegex matches valid JS identifiers.
434var validIdentifierRegex = regexp.MustCompile(`^[a-zA-Z_$][a-zA-Z0-9_$]*$`)

Callers 1

processTypeImplMethod · 0.95

Calls 2

processTypeMethod · 0.95
createApiCallMethod · 0.95

Tested by

no test coverage detected