(
builder: TypeBuilder,
tref: TypeRef,
name: string,
fieldName: string | null,
containingTypeName: string
)
| 71 | } |
| 72 | |
| 73 | function makeNullable( |
| 74 | builder: TypeBuilder, |
| 75 | tref: TypeRef, |
| 76 | name: string, |
| 77 | fieldName: string | null, |
| 78 | containingTypeName: string |
| 79 | ): TypeRef { |
| 80 | const typeNames = makeTypeNames(name, fieldName, containingTypeName); |
| 81 | const t = tref.deref(); |
| 82 | if (!(t instanceof UnionType)) { |
| 83 | return builder.getUnionType(typeNames.names, false, OrderedSet([tref, builder.getPrimitiveType("null")])); |
| 84 | } |
| 85 | const [maybeNull, nonNulls] = removeNullFromUnion(t); |
| 86 | if (maybeNull) return tref; |
| 87 | return builder.getUnionType(typeNames, false, nonNulls.map(nn => nn.typeRef).add(builder.getPrimitiveType("null"))); |
| 88 | } |
| 89 | |
| 90 | function removeNull(builder: TypeBuilder, tref: TypeRef): TypeRef { |
| 91 | const t = tref.deref(); |
no test coverage detected
searching dependent graphs…