json-api-nestjs
Version:
JsonApi Plugin for NestJs
26 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.zodPatch = zodPatch;
const zod_1 = require("zod");
const zod_share_1 = require("../zod-share");
function getShape(typeId, typeName, fieldWithType, propsDb, primaryColumn, relationArrayProps, relationPopsName, primaryColumnType) {
const shape = {
id: (0, zod_share_1.zodId)(typeId),
type: (0, zod_share_1.zodType)(typeName),
attributes: (0, zod_share_1.zodAttributes)(fieldWithType, propsDb, primaryColumn, true).optional(),
relationships: (0, zod_share_1.zodRelationships)(relationArrayProps, relationPopsName, primaryColumnType, true).optional(),
};
return zod_1.z.object(shape).strict();
}
function zodDataShape(shape) {
return zod_1.z
.object({
data: shape,
})
.strict();
}
function zodPatch(typeId, typeName, fieldWithType, propsDb, primaryColumn, relationArrayProps, relationPopsName, primaryColumnType) {
const shape = getShape(typeId, typeName, fieldWithType, propsDb, primaryColumn, relationArrayProps, relationPopsName, primaryColumnType);
return zodDataShape(shape);
}
//# sourceMappingURL=index.js.map