Fixed bug in makefile due to renaming the tool script before, bumped version, made factories for easier schema definition

This commit is contained in:
2026-04-09 20:11:50 +02:00
parent 0cdc4e271b
commit ae40c680de
7 changed files with 37 additions and 2 deletions

View File

@@ -0,0 +1,20 @@
import { Field_Configuration } from './field-configuration.mjs';
export { Schema } from './field-configuration.mjs';
//constructor(validation_function=null, coercion_function=null, factory_function=null, expected_description=undefined) {
export function value(default_value, description) {
return new Field_Configuration(null, null, () => default_value, description);
}
export function factory(factory_function, description) {
return new Field_Configuration(null, null, factory_function, description);
}
export function typed_value(coercion_function, default_value, description) {
return new Field_Configuration(null, coercion_function, () => default_value, description);
}
export function typed_factory(coercion_function, factory_function, description) {
return new Field_Configuration(null, coercion_function, factory_function, description);
}

View File

@@ -1,5 +1,6 @@
import { Data_Validation_Failed, Data_Coercion_Failed, Superfluous_Data_Field } from '@efforting.tech/errors';
export class Field_Configuration {
constructor(validation_function=null, coercion_function=null, factory_function=null, expected_description=undefined) {
Object.assign(this, { validation_function, coercion_function, factory_function, expected_description });