import type { WritableAry } from "."; import type { Args, GenericFn, GenericResolver } from "../HKT"; /** * Build a writable array from a type. * * Sig: `(x: T) => Array` * * @example * ```typescript * type R1 = OfWritable; * // ^?: number[] * type R2 = OfWritable<42 | string>; * // ^?: (42 | string)[] * ``` */ export type OfWritable = T[]; interface Resolver extends GenericResolver<[unknown], WritableAry> { on1: ([x]: Args) => [[], WritableAry]; } /** * [Fn] Build a writable array from a type. * * Sig: `(x: T) => Array` */ export default interface OfWritableFn extends GenericFn { def: ([x]: Args) => OfWritable; }