UNPKG

@microblink/photopay-in-browser-sdk

Version:

A simple payment barcode scanning library for WebAssembly-enabled browsers.

63 lines (61 loc) 1.71 kB
/** * Copyright (c) Microblink Ltd. All rights reserved. */ function stringToArray(inputString) { if (!inputString || !inputString.length) { return []; } return inputString.split(',').map(el => el.trim()); } function stringToObject(inputString) { if (!inputString || !inputString.length) { return {}; } return JSON.parse(inputString); } function hasSupportedImageFiles(files) { const imageRegex = RegExp(/^image\//); for (let i = 0; i < files.length; ++i) { if (imageRegex.exec(files[i].type)) { return true; } } return false; } function extractFilenameFromPath(path) { return path.split('\\').pop(); } /** * Inspired by https://github.com/JedWatson/classnames. * @param classes Class names and their conditions. * @returns Joined string of class names. */ function classNames(classes) { const result = []; const keys = Object.keys(classes); keys.forEach((key) => { if (classes[key]) { result.push(key); } }); return result.join(' '); } function getWebComponentParts(root) { const partsChildren = root.querySelectorAll('[part]'); const parts = []; partsChildren.forEach((el) => { const elementParts = el.getAttribute('part').split(' '); while (elementParts && elementParts.length) { parts.push(elementParts.pop()); } }); return parts; } function setWebComponentParts(hostEl) { const partParts = [ hostEl.tagName.toLowerCase(), hostEl.getAttribute('id') ]; hostEl.setAttribute('part', partParts.join(' ').trim()); } export { stringToArray as a, stringToObject as b, classNames as c, extractFilenameFromPath as e, getWebComponentParts as g, hasSupportedImageFiles as h, setWebComponentParts as s };