ivogabe / gulp-typescript

A TypeScript compiler for gulp with incremental compilation support.
MIT License
822 stars 129 forks source link

Generate d.ts using Omit not Pick #671

Closed lishichao1002 closed 2 years ago

lishichao1002 commented 2 years ago

Expected behavior:

generate by gulp-typescript

Pick<import("vue").VueConstructor<import("vue").default>, "filter" | "extend" | "nextTick" | "set" | "delete" | "directive" | "component" | "use" | "mixin" | "compile" | "observable" | "util" | "config" | "version"> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<import("@vue/composition-api").ExtractPropTypes<{
    type: {
        type: () => "white" | "gray1" | "gray2" | "gray3" | "red" | "pink";
        default: string;
    };
    size: {
        type: () => "middle" | "small";
        default: string;
    };
    frontColor: {
        type: StringConstructor;
        required: boolean;
    };
    backgroundColor: {
        type: StringConstructor;
        required: boolean;
    };
    className: {
        type: StringConstructor;
        required: boolean;
    };
    customStyle: {
        type: ObjectConstructor;
        required: boolean;
    };
}>

generate by tsc

Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    type: "white" | "gray1" | "gray2" | "gray3" | "red" | "pink";
    size: "middle" | "small";
} & {
    backgroundColor?: string | undefined;
    frontColor?: string | undefined;
    className?: string | undefined;
    customStyle?: Record<string, any> | undefined;
}

Actual behavior:

Generate d.ts using Omit not Pick

Your gulpfile:

Include your gulpfile, or only the related task (with ts.createProject).

const tsProject = ts({
        ...tsconfig.compilerOptions,
        module: 'ES6',
        declaration: true,
 });

tsconfig.json

Include your tsconfig, if related to this issue.

Code

Include your TypeScript code, if necessary.