MCPcopy
hub / github.com/prisma/prisma / GenericParameter

Class GenericParameter

packages/ts-builders/src/GenericParameter.ts:6–35  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4import { Writer } from './Writer'
5
6export class GenericParameter implements BasicBuilder {
7 private extendedType?: TypeBuilder
8 private defaultType?: TypeBuilder
9
10 constructor(readonly name: string) {}
11
12 extends(type: TypeBuilder): this {
13 this.extendedType = type
14 return this
15 }
16
17 default(type: TypeBuilder): this {
18 this.defaultType = type
19 return this
20 }
21
22 toArgument(): NamedType {
23 return new NamedType(this.name)
24 }
25
26 write(writer: Writer): void {
27 writer.write(this.name)
28 if (this.extendedType) {
29 writer.write(' extends ').write(this.extendedType)
30 }
31 if (this.defaultType) {
32 writer.write(' = ').write(this.defaultType)
33 }
34 }
35}
36
37export function genericParameter(name: string): GenericParameter {
38 return new GenericParameter(name)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…