/** * A port of `monocle-ts` experimental `Iso` to schemata-ts * * @since 1.4.0 */ import { Category2 } from 'fp-ts/Category'; import { Invariant2 } from 'fp-ts/Invariant'; import { Semigroupoid2 } from 'fp-ts/Semigroupoid'; /** * Represents an isomorphism between two types. * * @since 1.4.0 * @category Models */ export interface Iso { readonly get: (a: A) => B; readonly reverseGet: (b: B) => A; } /** * @since 1.4.0 * @category Constructors */ export declare const make: (get: (a: A) => B, reverseGet: (b: B) => A) => Iso; /** * @since 1.4.0 * @category Instance Methods */ export declare const imap: (f: (a: A) => B, g: (b: B) => A) => (iso: Iso) => Iso; /** * @since 1.4.0 * @category Instance Methods */ export declare const compose: (ab: Iso) => (iso: Iso) => Iso; /** * @since 1.4.0 * @category Instance Methods */ export declare const id: () => Iso; /** * @since 1.4.0 * @category Instances */ export declare const URI = "schemata-ts/Iso"; /** * @since 1.4.0 * @category Instances */ export declare type URI = typeof URI; declare module 'fp-ts/lib/HKT' { interface URItoKind2 { readonly [URI]: Iso; } } /** * @since 1.4.0 * @category Instances */ export declare const Invariant: Invariant2; /** * @since 1.4.0 * @category Instances */ export declare const Semigroupoid: Semigroupoid2; /** * @since 1.4.0 * @category Instances */ export declare const Category: Category2; //# sourceMappingURL=iso.d.ts.map