@use-symbology-scanner/vanilla
Version:
A utility for detecting barcode scanner input in the browser.
81 lines (72 loc) • 2.42 kB
JavaScript
Object.defineProperty(exports, '__esModule', { value: true });
var core = require('@use-symbology-scanner/core');
function _toPrimitive(input, hint) {
if (typeof input !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== undefined) {
var res = prim.call(input, hint || "default");
if (typeof res !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
function _toPropertyKey(arg) {
var key = _toPrimitive(arg, "string");
return typeof key === "symbol" ? key : String(key);
}
function _defineProperty(obj, key, value) {
key = _toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread2(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
_defineProperty(target, key, source[key]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
return target;
}
class SymbologyScanner {
constructor(handler, config = {}, target = document) {
this._target = target;
this._controller = new core.Controller(_objectSpread2(_objectSpread2({}, config), {}, {
target
}), handler);
this._controller.effect();
}
destroy() {
this._controller.clean();
}
setConfig(config) {
this._controller.clean();
this._controller.applyConfig(_objectSpread2(_objectSpread2({}, config), {}, {
target: this._target
}));
this._controller.effect();
}
}
exports.SymbologyScanner = SymbologyScanner;
;