UNPKG

@sudoo/pattern

Version:
190 lines (189 loc) 5.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAnyPattern = exports.createEmptyPattern = exports.createExactPattern = exports.createAndPattern = exports.createOrPattern = exports.createCustomPattern = exports.createTuplePattern = exports.createListPattern = exports.createRecordPattern = exports.createStrictMapPattern = exports.createMapPattern = exports.createFunctionPattern = exports.createStringDatePattern = exports.createDatePattern = exports.createFalsePattern = exports.createTruePattern = exports.createBooleanPattern = exports.createBigIntPattern = exports.createFloatPattern = exports.createFractionPattern = exports.createIntegerPattern = exports.createNumberPattern = exports.createStringPattern = void 0; const createStringPattern = (options) => { return { type: 'string', ...options, }; }; exports.createStringPattern = createStringPattern; const createNumberPattern = (options) => { return { type: 'number', ...options, }; }; exports.createNumberPattern = createNumberPattern; const createIntegerPattern = (options) => { return { type: 'number', integer: true, fraction: false, float: false, ...options, }; }; exports.createIntegerPattern = createIntegerPattern; const createFractionPattern = (options) => { return { type: 'number', integer: false, fraction: true, float: false, ...options, }; }; exports.createFractionPattern = createFractionPattern; const createFloatPattern = (options) => { return { type: 'number', integer: false, fraction: false, float: true, ...options, }; }; exports.createFloatPattern = createFloatPattern; const createBigIntPattern = (options) => { return { type: 'bigint', ...options, }; }; exports.createBigIntPattern = createBigIntPattern; const createBooleanPattern = (options) => { return { type: 'boolean', ...options, }; }; exports.createBooleanPattern = createBooleanPattern; const createTruePattern = (options) => { return { type: 'boolean', ensureTrue: true, ensureFalse: false, ...options, }; }; exports.createTruePattern = createTruePattern; const createFalsePattern = (options) => { return { type: 'boolean', ensureTrue: false, ensureFalse: true, ...options, }; }; exports.createFalsePattern = createFalsePattern; const createDatePattern = (options) => { return { type: 'date', ...options, }; }; exports.createDatePattern = createDatePattern; const createStringDatePattern = (options) => { return { type: 'date', allowString: true, ...options, }; }; exports.createStringDatePattern = createStringDatePattern; const createFunctionPattern = (options) => { return { type: 'function', ...options, }; }; exports.createFunctionPattern = createFunctionPattern; const createMapPattern = (record, options) => { return { type: 'map', map: record, ...options, }; }; exports.createMapPattern = createMapPattern; const createStrictMapPattern = (record, options) => { return { type: 'map', map: record, strict: true, ...options, }; }; exports.createStrictMapPattern = createStrictMapPattern; const createRecordPattern = (key, value, options) => { return { type: 'record', key, value, ...options, }; }; exports.createRecordPattern = createRecordPattern; const createListPattern = (element, options) => { return { type: 'list', element, ...options, }; }; exports.createListPattern = createListPattern; const createTuplePattern = (list, options) => { return { type: 'tuple', list, ...options, }; }; exports.createTuplePattern = createTuplePattern; const createCustomPattern = (validate, options) => { return { type: 'custom', validate, ...options, }; }; exports.createCustomPattern = createCustomPattern; const createOrPattern = (elements, options) => { return { type: 'or', options: elements, ...options, }; }; exports.createOrPattern = createOrPattern; const createAndPattern = (elements, options) => { return { type: 'and', requirements: elements, ...options, }; }; exports.createAndPattern = createAndPattern; const createExactPattern = (value, options) => { return { type: 'exact', value, ...options, }; }; exports.createExactPattern = createExactPattern; const createEmptyPattern = (options) => { return { type: 'empty', ...options, }; }; exports.createEmptyPattern = createEmptyPattern; const createAnyPattern = (options) => { return { type: 'any', ...options, }; }; exports.createAnyPattern = createAnyPattern;