Type Alias Parse<T, StripCore>

Parse<T, StripCore>: T extends `${infer Core}${Sep}${infer Rest}`
    ? Rest extends `${infer U}`
        ? {
            core: Core;
            display: `${StripCore extends true
                ? Core extends "1.0.0"
                    ? ""
                    : `${Core} `
                : `${Core} `}${Capitalize<Type<U>>}${U extends `${Type<U>}${Sep | "."}${infer Pre}`
                ? ` ${Pre}`
                : ""}`;
            full: T;
            pre: U extends `${Type<U>}${Sep | "."}${infer Pre}`
                ? Pre
                : "";
            type: Type<U>;
        }
        : never
    : T extends Part
        ? {
            core: T;
            display: T;
            full: T;
        }
        : never

Type Parameters

  • T extends Full
  • StripCore extends boolean