代码之家  ›  专栏  ›  技术社区  ›  ThomasReggi

属性设置为值的Strip接口

  •  -1
  • ThomasReggi  · 技术社区  · 5 年前

    export interface FileQuery {
        kind: 'FileQuery';
        path: string;
        encoding?: FileEncodings | null;
        flag?: FileSystemFlags;
    }
    

    哪里:

    StripValue<FileQuery>
    

    不会包含 kind

    interface Stripped {
        path: string;
        encoding?: FileEncodings | null;
        flag?: FileSystemFlags;
    }
    
    2 回复  |  直到 5 年前
        1
  •  1
  •   Gundelino85    5 年前

    export interface FileQuery {
        path: string;
        encoding?: FileEncodings | null;
        flag?: FileSystemFlags;
    }
    
    export interface SpecialFileQuery implements FileQuery {
        kind: 'FileQuery';
    }
    
        2
  •  0
  •   ThomasReggi    5 年前

    使用省略:

    export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
    
    class FileQueryHandler {
        static make (a : Omit<FileQuery, 'kind'>): FileQuery {
            return { kind: 'FileQuery', ...a };
        }
    }