UNPKG

midwinter

Version:

A next-gen middleware engine built for the WinterCG environments.

20 lines (17 loc) 845 B
import { Midwinter } from 'midwinter'; import { a as AnyMeta } from './util-CHs1TI3T.mjs'; type TypeKey<T extends string> = `~T${T}`; type StripTypeKey<T extends string> = T extends `~T${infer $Inner}` ? $Inner : T; type TypeOf<T = unknown> = { __typeof: T; }; type InferTypeof<T = unknown, Default = never> = T extends TypeOf<any> ? T["__typeof"] : Default; type Typify<T extends AnyMeta> = { [Key in keyof T & string as TypeKey<Key>]: TypeOf<T[Key]>; }; type UnTypify<T extends AnyMeta> = { [Key in keyof T as StripTypeKey<Key & string>]: T[Key] extends TypeOf ? T[Key]["__typeof"] : T[Key]; }; /** Append types to the meta object */ declare const types: <T extends AnyMeta>(input?: T) => Midwinter<{}, Typify<T>, {}>; export { type InferTypeof, type StripTypeKey, type TypeKey, type TypeOf, type Typify, type UnTypify, types };