UNPKG

@nekofar/warpcast

Version:

TypeScript client for interacting with Warpcast APIs

35 lines (33 loc) 1.65 kB
interface SerializeOptions<T> extends SerializePrimitiveOptions, SerializerOptions<T> { } interface SerializePrimitiveOptions { allowReserved?: boolean; name: string; } interface SerializerOptions<T> { /** * @default true */ explode: boolean; style: T; } type ArrayStyle = "form" | "spaceDelimited" | "pipeDelimited"; type ArraySeparatorStyle = ArrayStyle | MatrixStyle; type MatrixStyle = "label" | "matrix" | "simple"; type ObjectStyle = "form" | "deepObject"; type ObjectSeparatorStyle = ObjectStyle | MatrixStyle; interface SerializePrimitiveParam extends SerializePrimitiveOptions { value: string; } declare const separatorArrayExplode: (style: ArraySeparatorStyle) => "." | ";" | "," | "&"; declare const separatorArrayNoExplode: (style: ArraySeparatorStyle) => "," | "|" | "%20"; declare const separatorObjectExplode: (style: ObjectSeparatorStyle) => "." | ";" | "," | "&"; declare const serializeArrayParam: ({ allowReserved, explode, name, style, value, }: SerializeOptions<ArraySeparatorStyle> & { value: unknown[]; }) => string; declare const serializePrimitiveParam: ({ allowReserved, name, value, }: SerializePrimitiveParam) => string; declare const serializeObjectParam: ({ allowReserved, explode, name, style, value, valueOnly, }: SerializeOptions<ObjectSeparatorStyle> & { value: Record<string, unknown> | Date; valueOnly?: boolean; }) => string; export { type ArraySeparatorStyle, type ArrayStyle, type ObjectStyle, type SerializerOptions, separatorArrayExplode, separatorArrayNoExplode, separatorObjectExplode, serializeArrayParam, serializeObjectParam, serializePrimitiveParam };