UNPKG

yandex-market-language

Version:

Your own Yandex Market Language (YML) generator, with blackjack and validation

20 lines (17 loc) 753 B
const t = require('tcomb') module.exports = { Absoluteurl: t.refinement(t.String, (u) => /^\/\/|:\/\//.test(u), 'Absolute url'), Imagepath: t.refinement(t.String, (i) => /.(jpg|jpeg|webp|gif|png|svg)$/.test(i), 'Image file'), /** * Ensures that value does not exceed specified length * @param {number} max Max or equal length of value * @param {function} type tcomb Type to be refined. Works with * anything that have `length` property * @return {*} Passed in value * @example * Maxlength(12)(t.String)('Hey, this is a long string!') */ Maxlength: (max) => (type) => t.refinement(t.Number(max) && t.Type(type), (t) => t.length <= max, `${t.getTypeName(type)}, Maxlength ${max}` ) }