Creates an object decoder from an object of key/decoder pairs.
Object decoder checks that the input value is an object that has key/value pairs valid for the specified decoders.
Example
// Creates a decoder that will successfully decode input value: { a: 'aaa', b: 123 }. constdecoder = D.object({ a:D.string, b:D.optional(D.number) });
Type Parameters
T extends Record<PropertyKey, Decoder<unknown, unknown>>
O extends InferDecoderObjectType<T> | string & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | number & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | false & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | true & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | symbol & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Date & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | URL & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Set<unknown> & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | WeakSet<object> & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Map<unknown, unknown> & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | WeakMap<object, unknown> & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Uint8Array & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Uint16Array & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Uint32Array & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | BigUint64Array & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Int8Array & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Int16Array & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Int32Array & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | BigInt64Array & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Float32Array & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Float64Array & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | Buffer & Omit<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>> & Partial<Pick<{[ K in string | number | symbol]: _Infer<T[K]>}, OptionalKeys<{[ K in string | number | symbol]: _Infer<T[K]>}>>> | {[ K in string | number | symbol]: FlattenType<InferDecoderObjectType<T>[K]>}
Creates an object decoder from an object of key/decoder pairs. Object decoder checks that the input value is an object that has key/value pairs valid for the specified decoders.
Example