@serafin/pipeline
Version:
CRUD data access library with a functional approach
36 lines • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultSchemaBuilders = exports.schemaBuildersInterfaceKeys = void 0;
const schema_builder_1 = require("@serafin/schema-builder");
exports.schemaBuildersInterfaceKeys = [
"model",
"createValues",
"createOptions",
"readQuery",
"patchQuery",
"patchValues",
"deleteQuery",
"createMeta",
"readMeta",
"patchMeta",
"deleteMeta",
"context",
];
function defaultSchemaBuilders(modelSchemaBuilder) {
return {
model: modelSchemaBuilder,
createValues: modelSchemaBuilder.setOptionalProperties(["id"]),
createOptions: schema_builder_1.SchemaBuilder.emptySchema(),
readQuery: modelSchemaBuilder.transformPropertiesToArray().toOptionals(),
patchQuery: modelSchemaBuilder.pickProperties(["id"]).transformPropertiesToArray(),
patchValues: modelSchemaBuilder.omitProperties(["id"]).toNullable().toDeepOptionals(),
deleteQuery: modelSchemaBuilder.pickProperties(["id"]).transformPropertiesToArray(),
readMeta: schema_builder_1.SchemaBuilder.emptySchema(),
createMeta: schema_builder_1.SchemaBuilder.emptySchema(),
patchMeta: schema_builder_1.SchemaBuilder.emptySchema(),
deleteMeta: schema_builder_1.SchemaBuilder.emptySchema(),
context: schema_builder_1.SchemaBuilder.emptySchema(),
};
}
exports.defaultSchemaBuilders = defaultSchemaBuilders;
//# sourceMappingURL=SchemaBuildersInterface.js.map