Type Alias Type<Value>

Type<Value>: TagBase<{
    exclusive: true;
    kind: "type";
    schema: {
        type: Value extends
                | "int32"
                | "uint32"
                | "int64"
                | "uint64"
            ? "integer"
            : "number";
    };
    target: Value extends "int64" | "uint64"
        ? "bigint" | "number"
        : "number";
    validate: Value extends "int32"
        ? "Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647"
        : Value extends "uint32"
            ? "Math.floor($input) === $input && 0 <= $input && $input <= 4294967295"
            : Value extends "int64"
                ? {
                    bigint: "true";
                    number: "Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807";
                }
                : Value extends "uint64"
                    ? {
                        bigint: "BigInt(0) <= $input";
                        number: "Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615";
                    }
                    : Value extends "float"
                        ? "-1.175494351e38 <= $input && $input <= 3.4028235e38"
                        : "true";
    value: Value;
}>

Type Parameters

  • Value extends
        | "int32"
        | "uint32"
        | "int64"
        | "uint64"
        | "float"
        | "double"