UNPKG

mutoid

Version:

Reactive library for data fetching, caching, state management

42 lines (41 loc) 2 kB
/// <reference types="node" /> import * as O from 'fp-ts/Option'; type UrlItem = string | number | boolean; type FormItem = string | number | boolean | Blob | Buffer; export type Item<A> = A | ItemArray<A> | ItemRecord<A>; export type ItemArray<A> = Array<A | OptionItem<A>>; export interface ItemRecord<A> { [key: string]: Item<A> | OptionItem<A>; } export type OptionItem<A> = O.Option<A | OptionItemArray<A> | OptionItemRecord<A> | A> | Item<A>; export type OptionItemArray<A> = Array<OptionItem<A> | Item<A>>; export interface OptionItemRecord<A> { [key: string]: OptionItem<A> | Item<A>; } export type NullableItem<A> = undefined | null | A | NullableItemArray<A> | NullableItemRecord<A>; export type NullableItemArray<A> = Array<NullableItem<A>>; export interface NullableItemRecord<A> { [key: string]: NullableItem<A>; } export declare const serializeNullable: <C extends { append: (k: string, value: any) => void; }, A>(collector: C, noNeedRecursion: (a: unknown) => a is A, data: NullableItemRecord<A> | undefined) => C; export declare const serialize: <C extends { append: (k: string, value: any) => void; }, A>(collector: C, noNeedRecursion: (a: unknown) => a is A, data: OptionItemRecord<A>) => C; export declare const serializeNullableForm: <C extends { append: (k: string, value: any) => void; }>(collector: C) => (data: NullableItemRecord<FormItem> | undefined) => C; export declare const serializeForm: <C extends { append: (k: string, value: any) => void; }>(collector: C) => (data: OptionItemRecord<FormItem>) => C; export declare const serializeNullableUrl: <C extends { append: (k: string, value: any) => void; }>(collector: C) => (data: NullableItemRecord<UrlItem> | undefined) => C; export declare const serializeUrl: <C extends { append: (k: string, value: any) => void; }>(collector: C) => (data: OptionItemRecord<UrlItem>) => C; export declare const toQueryString: <C extends { toString: () => string; }>(c: C) => string; export {};