UNPKG

mobx-state-tree

Version:

Opinionated, transactional, MobX powered state container

119 lines (118 loc) 2.89 kB
import { ISimpleType, IType } from "../internal"; /** * `types.string` - Creates a type that can only contain a string value. * This type is used for string values by default * * Example: * ```ts * const Person = types.model({ * firstName: types.string, * lastName: "Doe" * }) * ``` */ export declare const string: ISimpleType<string>; /** * `types.number` - Creates a type that can only contain a numeric value. * This type is used for numeric values by default * * Example: * ```ts * const Vector = types.model({ * x: types.number, * y: 1.5 * }) * ``` */ export declare const number: ISimpleType<number>; /** * `types.integer` - Creates a type that can only contain an integer value. * * Example: * ```ts * const Size = types.model({ * width: types.integer, * height: 10 * }) * ``` */ export declare const integer: ISimpleType<number>; /** * `types.float` - Creates a type that can only contain an float value. * * Example: * ```ts * const Size = types.model({ * width: types.float, * height: 10 * }) * ``` */ export declare const float: ISimpleType<number>; /** * `types.finite` - Creates a type that can only contain an finite value. * * Example: * ```ts * const Size = types.model({ * width: types.finite, * height: 10 * }) * ``` */ export declare const finite: ISimpleType<number>; /** * `types.bigint` - Creates a type that can only contain a bigint value. * Snapshots serialize to string (JSON-safe) and deserialize from string, number or bigint. * * Example: * ```ts * const BigId = types.model({ * id: types.identifier, * value: types.bigint * }) * getSnapshot(store).value // "0" (string, JSON-safe) * ``` */ export declare const bigint: IType<bigint | string | number, string, bigint>; /** * `types.boolean` - Creates a type that can only contain a boolean value. * This type is used for boolean values by default * * Example: * ```ts * const Thing = types.model({ * isCool: types.boolean, * isAwesome: false * }) * ``` */ export declare const boolean: ISimpleType<boolean>; /** * `types.null` - The type of the value `null` */ export declare const nullType: ISimpleType<null>; /** * `types.undefined` - The type of the value `undefined` */ export declare const undefinedType: ISimpleType<undefined>; /** * `types.Date` - Creates a type that can only contain a javascript Date value. * * Example: * ```ts * const LogLine = types.model({ * timestamp: types.Date, * }) * * LogLine.create({ timestamp: new Date() }) * ``` */ export declare const DatePrimitive: IType<number | Date, number, Date>; /** * Returns if a given value represents a primitive type. * * @param type * @returns */ export declare function isPrimitiveType(type: unknown): type is ISimpleType<string> | ISimpleType<number> | ISimpleType<boolean> | typeof bigint | typeof DatePrimitive;