29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
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);
|
|
}
|
|
|
|
export function required(description) {
|
|
return new Field_Configuration((value) => value !== undefined, null, null, description);
|
|
}
|
|
|
|
export function typed_required(coercion_function, description) {
|
|
return new Field_Configuration((value) => value !== undefined, coercion_function, null, description);
|
|
}
|