@typed/fp
Version:
Data Structures and Resources for fp-ts
180 lines • 4.5 kB
TypeScript
import { ReadonlyNonEmptyArray } from 'fp-ts/ReadonlyNonEmptyArray';
import { Semigroup } from 'fp-ts/Semigroup';
/**
* @category Model
* @since 0.9.4
*/
export interface Leaf {
readonly _tag: 'Leaf';
readonly actual: unknown;
readonly error: string;
}
/**
* @category Model
* @since 0.9.4
*/
export interface Key {
readonly _tag: 'Key';
readonly key: string;
readonly errors: DecodeErrors;
}
/**
* @category Model
* @since 0.9.4
*/
export interface MissingKeys {
readonly _tag: 'MissingKeys';
readonly keys: readonly [string, ...string[]];
}
/**
* @category Model
* @since 0.9.4
*/
export interface UnexpectedKeys {
readonly _tag: 'UnexpectedKeys';
readonly keys: readonly [string, ...string[]];
}
/**
* @category Model
* @since 0.9.4
*/
export interface Index {
readonly _tag: 'Index';
readonly index: number;
readonly errors: DecodeErrors;
}
/**
* @category Model
* @since 0.9.4
*/
export interface MissingIndexes {
readonly _tag: 'MissingIndexes';
readonly indexes: readonly [number, ...number[]];
}
/**
* @category Model
* @since 0.9.4
*/
export interface UnexpectedIndexes {
readonly _tag: 'UnexpectedIndexes';
readonly indexes: readonly [number, ...number[]];
}
/**
* @category Model
* @since 0.9.4
*/
export interface Member {
readonly _tag: 'Member';
readonly index: number;
readonly errors: DecodeErrors;
}
/**
* @category Model
* @since 0.9.4
*/
export interface Lazy {
readonly _tag: 'Lazy';
readonly id: string;
readonly errors: DecodeErrors;
}
/**
* @category Model
* @since 2.2.9
*/
export interface Wrap {
readonly _tag: 'Wrap';
readonly error: string;
readonly errors: DecodeErrors;
}
/**
* @category Model
* @since 0.9.4
*/
export declare type DecodeError = Leaf | Key | MissingKeys | UnexpectedKeys | Index | MissingIndexes | UnexpectedIndexes | Member | Lazy | Wrap;
/**
* @since 0.9.4
* @categeory Model
*/
export declare type DecodeErrors = ReadonlyNonEmptyArray<DecodeError>;
/**
* @category constructors
* @since 0.9.4
*/
export declare const leaf: (actual: unknown, error: string) => DecodeError;
/**
* @category constructors
* @since 0.9.4
*/
export declare const key: (key: string, errors: DecodeErrors) => DecodeError;
/**
* @category constructors
* @since 0.9.4
*/
export declare const missingKeys: (keys: readonly [string, ...string[]]) => DecodeError;
/**
* @category constructors
* @since 0.9.4
*/
export declare const unexpectedKeys: (keys: readonly [string, ...string[]]) => DecodeError;
/**
* @category constructors
* @since 0.9.4
*/
export declare const index: (index: number, errors: DecodeErrors) => DecodeError;
/**
* @category constructors
* @since 0.9.4
*/
export declare const missingIndexes: (indexes: readonly [number, ...number[]]) => DecodeError;
/**
* @category constructors
* @since 0.9.4
*/
export declare const unexpectedIndexes: (indexes: readonly [number, ...number[]]) => DecodeError;
/**
* @category constructors
* @since 0.9.4
*/
export declare const member: (index: number, errors: DecodeErrors) => DecodeError;
/**
* @category constructors
* @since 0.9.4
*/
export declare const lazy: (id: string, errors: DecodeErrors) => DecodeError;
/**
* @category constructors
* @since 2.2.9
*/
export declare const wrap: (error: string, errors: DecodeErrors) => DecodeError;
/**
* @category destructors
* @since 0.9.4
*/
export declare const match: <R>(patterns: {
Leaf: (input: unknown, error: string) => R;
Key: (key: string, errors: DecodeErrors) => R;
MissingKeys: (keys: readonly [string, ...string[]]) => R;
UnexpectedKeys: (keys: readonly [string, ...string[]]) => R;
Index: (index: number, errors: DecodeErrors) => R;
MissingIndexes: (indexes: readonly [number, ...number[]]) => R;
UnexpectedIndexes: (keys: readonly [number, ...number[]]) => R;
Member: (index: number, errors: DecodeErrors) => R;
Lazy: (id: string, errors: DecodeErrors) => R;
Wrap: (error: string, errors: DecodeErrors) => R;
}) => (e: DecodeError) => R;
/**
* @category Typeclass Constructor
* @since 0.9.4
*/
export declare function getSemigroup(): Semigroup<DecodeErrors>;
/**
* @category Deconstructor
* @since 0.9.4
*/
export declare const drawError: (error: DecodeError) => string;
/**
* @category Deconstructor
* @since 0.9.4
*/
export declare const drawErrors: (fa: readonly DecodeError[]) => string;
//# sourceMappingURL=DecodeError.d.ts.map