mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-26 20:14:05 -05:00
Add | undefined to all optional properties too
in declarationEmitter.ts
This commit is contained in:
@@ -1593,9 +1593,11 @@ namespace ts {
|
||||
emitTypeOfVariableDeclarationFromTypeLiteral(node);
|
||||
}
|
||||
else if (!hasModifier(node.parent, ModifierFlags.Private)) {
|
||||
// use the checker's type, not the declared type, for an initialized parameter (that isn't a parameter property)
|
||||
const isInitializedParameter = node.initializer && !(getModifierFlags(node) & ModifierFlags.ParameterPropertyModifier);
|
||||
const typeNode = isInitializedParameter ? undefined : node.type;
|
||||
// use the checker's type, not the declared type,
|
||||
// for optional parameters and initialized ones that aren't a parameter property
|
||||
const typeShouldAddUndefined = resolver.isOptionalParameter(node) ||
|
||||
node.initializer && !(getModifierFlags(node) & ModifierFlags.ParameterPropertyModifier);
|
||||
const typeNode = typeShouldAddUndefined ? undefined : node.type;
|
||||
writeTypeOfDeclaration(node, typeNode, getParameterDeclarationTypeVisibilityError);
|
||||
}
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ function removeNothing(y) {
|
||||
|
||||
|
||||
//// [defaultParameterAddsUndefinedWithStrictNullChecks.d.ts]
|
||||
declare function f(addUndefined1?: string | undefined, addUndefined2?: number): number;
|
||||
declare function f(addUndefined1?: string | undefined, addUndefined2?: number | undefined): number;
|
||||
declare function g(addUndefined: string | undefined, addDefined: number): number;
|
||||
declare let total: number;
|
||||
declare function foo1(x: string | undefined, b: number): void;
|
||||
|
||||
@@ -36,7 +36,7 @@ function f2(_a) {
|
||||
declare function f1({a, b}?: {
|
||||
a: number;
|
||||
b: string;
|
||||
}): void;
|
||||
} | undefined): void;
|
||||
declare function f2({a, b}?: {
|
||||
a: number;
|
||||
b: number;
|
||||
@@ -49,11 +49,11 @@ interface QueryMetadata {
|
||||
}
|
||||
interface QueryMetadataFactory {
|
||||
(selector: Type | string, {descendants, read}?: {
|
||||
descendants?: boolean;
|
||||
descendants?: boolean | undefined;
|
||||
read?: any;
|
||||
}): ParameterDecorator;
|
||||
} | undefined): ParameterDecorator;
|
||||
new (selector: Type | string, {descendants, read}?: {
|
||||
descendants?: boolean;
|
||||
descendants?: boolean | undefined;
|
||||
read?: any;
|
||||
}): QueryMetadata;
|
||||
} | undefined): QueryMetadata;
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ declare class Bar {
|
||||
a: number;
|
||||
b?: number;
|
||||
c?: number | undefined;
|
||||
constructor(d?: number, e?: number);
|
||||
constructor(d?: number | undefined, e?: number);
|
||||
f(): number;
|
||||
g?(): number;
|
||||
h?(): number;
|
||||
|
||||
Reference in New Issue
Block a user