json-api-nestjs
Version:
JsonApi Plugin for NestJs
756 lines (755 loc) • 26.6 kB
TypeScript
import { z, ZodArray, ZodLiteral, ZodNumber, ZodObject, ZodOptional, ZodString, ZodUnion } from 'zod';
import { MapController } from '../../types';
import { TupleOfEntityRelation, ZodEntityProps } from '../../../mixin/types';
import { EntityClass, ObjectLiteral } from '../../../../types';
export declare enum Operation {
add = "add",
update = "update",
remove = "remove"
}
declare const literalSchema: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
type Literal = z.infer<typeof literalSchema>;
type Json = Literal | {
[key: string]: Json;
} | Json[];
declare const zodGeneralData: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
type ZodGeneral = typeof zodGeneralData;
export type ZodAdd<T extends string> = ReturnType<typeof zodAdd<T>>;
export declare const zodAdd: <T extends string>(type: T) => z.ZodObject<{
op: z.ZodLiteral<Operation.add>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>[k_1]; } : never>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
op: z.ZodLiteral<Operation.add>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>[k_1]; } : never>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}>, any> extends infer T_3 ? { [k_2 in keyof T_3]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
op: z.ZodLiteral<Operation.add>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>[k_1]; } : never>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}>, any>[k_2]; } : never, z.baseObjectInputType<{
op: z.ZodLiteral<Operation.add>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>[k_1]; } : never>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}> extends infer T_4 ? { [k_3 in keyof T_4]: z.baseObjectInputType<{
op: z.ZodLiteral<Operation.add>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}>[k_1]; } : never>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}>[k_3]; } : never>;
export type ZodUpdate<T extends string> = ReturnType<typeof zodUpdate<T>>;
export declare const zodUpdate: <T extends string>(type: T) => z.ZodObject<{
op: z.ZodLiteral<Operation.update>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>[k_1]; } : never>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
op: z.ZodLiteral<Operation.update>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>[k_1]; } : never>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}>, any> extends infer T_3 ? { [k_2 in keyof T_3]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
op: z.ZodLiteral<Operation.update>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>[k_1]; } : never>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}>, any>[k_2]; } : never, z.baseObjectInputType<{
op: z.ZodLiteral<Operation.update>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>[k_1]; } : never>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}> extends infer T_4 ? { [k_3 in keyof T_4]: z.baseObjectInputType<{
op: z.ZodLiteral<Operation.update>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>[k_1]; } : never>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}>[k_3]; } : never>;
export type ZodRemove<T extends string> = ReturnType<typeof zodRemove<T>>;
export declare const zodRemove: <T extends string>(type: T) => z.ZodObject<{
op: z.ZodLiteral<Operation.remove>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>[k_1]; } : never>;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
op: z.ZodLiteral<Operation.remove>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>[k_1]; } : never>;
}>, any> extends infer T_3 ? { [k_2 in keyof T_3]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
op: z.ZodLiteral<Operation.remove>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>[k_1]; } : never>;
}>, any>[k_2]; } : never, z.baseObjectInputType<{
op: z.ZodLiteral<Operation.remove>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>[k_1]; } : never>;
}> extends infer T_4 ? { [k_3 in keyof T_4]: z.baseObjectInputType<{
op: z.ZodLiteral<Operation.remove>;
ref: z.ZodObject<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>, any>[k]; } : never, z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
type: z.ZodLiteral<T>;
id: z.ZodString;
}>[k_1]; } : never>;
}>[k_3]; } : never>;
export type ZodOperationRel<E extends ObjectLiteral, O extends Operation> = ReturnType<typeof zodOperationRel<E, O>>;
export declare const zodOperationRel: <E extends ObjectLiteral, O extends Operation>(type: string, rel: TupleOfEntityRelation<E>, typeOperation: O) => z.ZodObject<{
op: z.ZodLiteral<O>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
id: z.ZodString;
relationship: z.ZodUnion<[z.ZodLiteral<string>, z.ZodLiteral<string>, ...z.ZodLiteral<string>[]]>;
}, "strict", z.ZodTypeAny, {
id: string;
type: string;
relationship: string;
}, {
id: string;
type: string;
relationship: string;
}>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
op: z.ZodLiteral<O>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
id: z.ZodString;
relationship: z.ZodUnion<[z.ZodLiteral<string>, z.ZodLiteral<string>, ...z.ZodLiteral<string>[]]>;
}, "strict", z.ZodTypeAny, {
id: string;
type: string;
relationship: string;
}, {
id: string;
type: string;
relationship: string;
}>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}>, any> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
op: z.ZodLiteral<O>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
id: z.ZodString;
relationship: z.ZodUnion<[z.ZodLiteral<string>, z.ZodLiteral<string>, ...z.ZodLiteral<string>[]]>;
}, "strict", z.ZodTypeAny, {
id: string;
type: string;
relationship: string;
}, {
id: string;
type: string;
relationship: string;
}>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}>, any>[k]; } : never, z.baseObjectInputType<{
op: z.ZodLiteral<O>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
id: z.ZodString;
relationship: z.ZodUnion<[z.ZodLiteral<string>, z.ZodLiteral<string>, ...z.ZodLiteral<string>[]]>;
}, "strict", z.ZodTypeAny, {
id: string;
type: string;
relationship: string;
}, {
id: string;
type: string;
relationship: string;
}>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<{
op: z.ZodLiteral<O>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
id: z.ZodString;
relationship: z.ZodUnion<[z.ZodLiteral<string>, z.ZodLiteral<string>, ...z.ZodLiteral<string>[]]>;
}, "strict", z.ZodTypeAny, {
id: string;
type: string;
relationship: string;
}, {
id: string;
type: string;
relationship: string;
}>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}>[k_1]; } : never>;
export type ZodInputArray = ZodArray<ZodObject<{
op: ZodLiteral<Operation>;
ref: ZodObject<{
type: ZodString;
id: ZodOptional<ZodString>;
relationship: ZodOptional<ZodString>;
tmpId: ZodOptional<ZodUnion<[ZodNumber, ZodString]>>;
}>;
data: ZodOptional<ZodGeneral>;
}>, 'atleastone'>;
export type ZodInputOperation<E extends ObjectLiteral = ObjectLiteral> = ReturnType<typeof zodInputOperation<E>>;
export type InputOperation<E extends ObjectLiteral> = z.infer<ZodInputOperation<E>>;
export type InputArray = z.infer<ZodInputArray>;
export declare function zodInputOperation<E extends ObjectLiteral>(mapController: MapController<E>, entityMapProps: Map<EntityClass<E>, ZodEntityProps<E>>): z.ZodObject<{
"atomic:operations": z.ZodArray<z.ZodUnion<[z.ZodObject<{
op: z.ZodLiteral<Operation.add>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
tmpId: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}, "strict", z.ZodTypeAny, {
type: string;
tmpId?: string | number | undefined;
}, {
type: string;
tmpId?: string | number | undefined;
}>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}, "strict", z.ZodTypeAny, {
ref: {
type: string;
tmpId?: string | number | undefined;
};
op: Operation.add;
data: Json;
}, {
ref: {
type: string;
tmpId?: string | number | undefined;
};
op: Operation.add;
data: Json;
}>, z.ZodObject<{
op: z.ZodLiteral<Operation.update>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, {
id: string;
type: string;
}, {
id: string;
type: string;
}>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}, "strict", z.ZodTypeAny, {
ref: {
id: string;
type: string;
};
op: Operation.update;
data: Json;
}, {
ref: {
id: string;
type: string;
};
op: Operation.update;
data: Json;
}>, z.ZodObject<{
op: z.ZodLiteral<Operation.remove>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
id: z.ZodString;
}, "strict", z.ZodTypeAny, {
id: string;
type: string;
}, {
id: string;
type: string;
}>;
}, "strict", z.ZodTypeAny, {
ref: {
id: string;
type: string;
};
op: Operation.remove;
}, {
ref: {
id: string;
type: string;
};
op: Operation.remove;
}>, z.ZodObject<{
op: z.ZodLiteral<Operation.add>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
id: z.ZodString;
relationship: z.ZodUnion<[z.ZodLiteral<string>, z.ZodLiteral<string>, ...z.ZodLiteral<string>[]]>;
}, "strict", z.ZodTypeAny, {
id: string;
type: string;
relationship: string;
}, {
id: string;
type: string;
relationship: string;
}>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}, "strict", z.ZodTypeAny, {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.add;
data: Json;
}, {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.add;
data: Json;
}>, z.ZodObject<{
op: z.ZodLiteral<Operation.remove>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
id: z.ZodString;
relationship: z.ZodUnion<[z.ZodLiteral<string>, z.ZodLiteral<string>, ...z.ZodLiteral<string>[]]>;
}, "strict", z.ZodTypeAny, {
id: string;
type: string;
relationship: string;
}, {
id: string;
type: string;
relationship: string;
}>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}, "strict", z.ZodTypeAny, {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.remove;
data: Json;
}, {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.remove;
data: Json;
}>, z.ZodObject<{
op: z.ZodLiteral<Operation.update>;
ref: z.ZodObject<{
type: z.ZodLiteral<string>;
id: z.ZodString;
relationship: z.ZodUnion<[z.ZodLiteral<string>, z.ZodLiteral<string>, ...z.ZodLiteral<string>[]]>;
}, "strict", z.ZodTypeAny, {
id: string;
type: string;
relationship: string;
}, {
id: string;
type: string;
relationship: string;
}>;
data: z.ZodNullable<z.ZodType<Json, z.ZodTypeDef, Json>>;
}, "strict", z.ZodTypeAny, {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.update;
data: Json;
}, {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.update;
data: Json;
}>]>, "atleastone">;
}, "strict", z.ZodTypeAny, {
"atomic:operations": [{
ref: {
type: string;
tmpId?: string | number | undefined;
};
op: Operation.add;
data: Json;
} | {
ref: {
id: string;
type: string;
};
op: Operation.update;
data: Json;
} | {
ref: {
id: string;
type: string;
};
op: Operation.remove;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.add;
data: Json;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.remove;
data: Json;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.update;
data: Json;
}, ...({
ref: {
type: string;
tmpId?: string | number | undefined;
};
op: Operation.add;
data: Json;
} | {
ref: {
id: string;
type: string;
};
op: Operation.update;
data: Json;
} | {
ref: {
id: string;
type: string;
};
op: Operation.remove;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.add;
data: Json;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.remove;
data: Json;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.update;
data: Json;
})[]];
}, {
"atomic:operations": [{
ref: {
type: string;
tmpId?: string | number | undefined;
};
op: Operation.add;
data: Json;
} | {
ref: {
id: string;
type: string;
};
op: Operation.update;
data: Json;
} | {
ref: {
id: string;
type: string;
};
op: Operation.remove;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.add;
data: Json;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.remove;
data: Json;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.update;
data: Json;
}, ...({
ref: {
type: string;
tmpId?: string | number | undefined;
};
op: Operation.add;
data: Json;
} | {
ref: {
id: string;
type: string;
};
op: Operation.update;
data: Json;
} | {
ref: {
id: string;
type: string;
};
op: Operation.remove;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.add;
data: Json;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.remove;
data: Json;
} | {
ref: {
id: string;
type: string;
relationship: string;
};
op: Operation.update;
data: Json;
})[]];
}>;
export {};