UNPKG

html2object

Version:

parse html to object, convert object to html

83 lines (73 loc) 2.17 kB
'use strict'; const nameStartChar = ':A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; const nameChar = nameStartChar + '\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040'; export const nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*' const regexName = new RegExp('^' + nameRegexp + '$'); export function getAllMatches(string, regex) { const matches = []; let match = regex.exec(string); while (match) { const allmatches = []; const len = match.length; for (let index = 0; index < len; index++) { allmatches.push(match[index]); } matches.push(allmatches); match = regex.exec(string); } return matches; }; export function isName(string) { const match = regexName.exec(string); return !(match === null || typeof match === 'undefined'); }; export function isExist(v) { return typeof v !== 'undefined'; }; export function isEmptyObject(obj) { return Object.keys(obj).length === 0; }; /** * Copy all the properties of a into b. * @param {*} target * @param {*} a */ export function merge(target, a, arrayMode) { if (a) { const keys = Object.keys(a); // will return an array of own properties const len = keys.length; //don't make it inline for (let i = 0; i < len; i++) { if (arrayMode === 'strict') { target[keys[i]] = [a[keys[i]]]; } else { target[keys[i]] = a[keys[i]]; } } } }; /* export merge =function (b,a){ return Object.assign(b,a); } */ export function getValue(v) { if (isExist(v)) { return v; } else { return ''; } }; // const fakeCall = function(a) {return a;}; // const fakeCallNoReturn = function() {}; export function buildOptions(options, defaultOptions, props) { var newOptions = {}; if (!options) { return defaultOptions; //if there are not options } for (let i = 0; i < props.length; i++) { if (options[props[i]] !== undefined) { newOptions[props[i]] = options[props[i]]; } else { newOptions[props[i]] = defaultOptions[props[i]]; } } return newOptions; };