UNPKG

validata

Version:

Type safe data validation and sanitization

65 lines 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const array_1 = require("../array"); const boolean_1 = require("../boolean"); const number_1 = require("../number"); const object_1 = require("../object"); const record_1 = require("../record"); const string_1 = require("../string"); const tuple_1 = require("../tuple"); const types_1 = require("../types"); const common_1 = require("./../common"); const sampleContract = { maybeString: (0, string_1.maybeString)(), myString: (0, string_1.isString)(), numericString: (0, string_1.asString)(), }; const sample = (0, object_1.isObject)(sampleContract); console.log(JSON.stringify(sample.process({ maybeString: 123, myString: 123, numericString: 123, }))); console.log(JSON.stringify(sample.process({ myString: '123', numericString: 123, }))); const sample2 = (0, array_1.isArray)((0, number_1.isNumber)({ min: 17 }), { minLength: 1, }); console.log(JSON.stringify(sample2.process([]))); console.log(JSON.stringify(sample2.process([1]))); console.log(sample2.process([102, 123])); console.log(JSON.stringify(sample2.process([new Date()]))); const result = sample2.process([new Date()]); if ((0, types_1.isIssue)(result)) { console.log('Issues', result.issues); } else { console.log('Accepted value', result.value); } const sample3 = (0, boolean_1.isBoolean)(); const sample31 = (0, boolean_1.asBoolean)(); console.log(JSON.stringify(sample3.process(true))); console.log(JSON.stringify(sample31.process('true'))); const sample4 = (0, tuple_1.isTuple)([ (0, number_1.isNumber)(), (0, string_1.asString)(), ]); console.log(JSON.stringify(sample4.process(['foo', 'bar']))); console.log(sample4.process([102, '123'])); console.log(sample4.process([102, 123])); console.log(JSON.stringify(sample4.process([345]))); console.log(JSON.stringify(sample4.process([1, 2, 3]))); const sample5 = (0, record_1.isRecord)((0, number_1.asNumber)()); console.log(JSON.stringify(sample5.process({ foo: 'bar' }))); console.log(sample5.process({ foo: '123' })); console.log(sample5.process({ foo: 123 })); const sample6 = (0, common_1.isNullable)((0, string_1.isString)()); console.log(sample6.process(null)); console.log(sample6.process('asd')); const sample7 = (0, common_1.asNullable)((0, string_1.isString)(), { default: null }); console.log(sample7.process(null)); console.log(sample7.process('asd')); console.log(sample7.process(undefined)); //# sourceMappingURL=index.js.map