@compas/code-gen
Version:
Generate various boring parts of your server
22 lines (17 loc) • 609 B
JavaScript
import { AppError } from "@compas/stdlib";
export function preprocessExtend(structure, type) {
if (type.type !== "extend") {
return;
}
if (type.reference.reference.type !== "object") {
throw AppError.serverError({
message: `Can't call 'T.extend()' on a non 'object' reference. Found '${type.reference.reference.type}' (${type.reference.reference.uniqueName}).`,
});
}
type.reference.reference.keys = Object.assign(
type.reference.reference.keys,
type.keys,
);
type.reference.reference.relations.push(...type.relations);
delete structure[type.group][type.name];
}