MCPcopy
hub / github.com/prisma/prisma / Method

Class Method

packages/ts-builders/src/Method.ts:9–56  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7import { Writer } from './Writer'
8
9export class Method implements BasicBuilder {
10 private docComment?: DocComment
11 private returnType: TypeBuilder = voidType
12 private parameters: Parameter[] = []
13 private genericParameters: GenericParameter[] = []
14 constructor(private name: string) {}
15
16 setDocComment(docComment: DocComment): this {
17 this.docComment = docComment
18 return this
19 }
20
21 setReturnType(returnType: TypeBuilder): this {
22 this.returnType = returnType
23 return this
24 }
25
26 addParameter(param: Parameter): this {
27 this.parameters.push(param)
28 return this
29 }
30
31 addGenericParameter(param: GenericParameter): this {
32 this.genericParameters.push(param)
33 return this
34 }
35
36 write(writer: Writer): void {
37 if (this.docComment) {
38 writer.write(this.docComment)
39 }
40
41 writer.write(this.name)
42 if (this.genericParameters.length > 0) {
43 writer.write('<').writeJoined(', ', this.genericParameters).write('>')
44 }
45
46 writer.write('(')
47 if (this.parameters.length > 0) {
48 writer.writeJoined(', ', this.parameters)
49 }
50 writer.write(')')
51
52 if (this.name !== 'constructor') {
53 writer.write(': ').write(this.returnType)
54 }
55 }
56}
57
58export function method(name: string): Method {
59 return new Method(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…