@rbxts/rotype
Version:
Advanced runtime type checking library
11 lines (10 loc) • 468 B
TypeScript
import type { InferInput, InferOutput, Schema, Shape } from "../schema";
type InputFromShape<S extends Shape> = {
[K in keyof S]: InferInput<S[K]>;
};
type OutputFromShape<S extends Shape> = {
[K in keyof S]: InferOutput<S[K]>;
};
export declare function Object<S extends Shape>(shape: S): Schema<InputFromShape<S>, OutputFromShape<S>>;
export declare function StrictObject<S extends Shape>(shape: S): Schema<InputFromShape<S>, OutputFromShape<S>>;
export {};