From d6f1ed59ad8bc11ec3b3c5ffc2c6bf32ff15c666 Mon Sep 17 00:00:00 2001 From: Christoph Oberhofer Date: Mon, 20 Jun 2016 06:53:04 +0200 Subject: [PATCH] Started working on sandbox --- dist/quagga.js | 1029 ++++++++++++-------- dist/quagga.js.map | 2 +- dist/quagga.min.js | 8 +- example/sandbox/.babelrc | 4 + example/sandbox/.gitignore | 1 + example/sandbox/README.md | 9 + example/sandbox/index.html | 19 + example/sandbox/package.json | 26 + example/sandbox/src/components/App.js | 108 ++ example/sandbox/src/components/ScanIcon.js | 15 + example/sandbox/src/components/Scanner.js | 47 + example/sandbox/src/index.js | 15 + example/sandbox/static/style.css | 3 + example/sandbox/webpack.config.js | 23 + lib/quagga.js | 1021 +++++++++++-------- lib/quagga.js.map | 2 +- src/quagga.js | 44 +- 17 files changed, 1508 insertions(+), 868 deletions(-) create mode 100644 example/sandbox/.babelrc create mode 100644 example/sandbox/.gitignore create mode 100644 example/sandbox/README.md create mode 100644 example/sandbox/index.html create mode 100644 example/sandbox/package.json create mode 100644 example/sandbox/src/components/App.js create mode 100644 example/sandbox/src/components/ScanIcon.js create mode 100644 example/sandbox/src/components/Scanner.js create mode 100644 example/sandbox/src/index.js create mode 100644 example/sandbox/static/style.css create mode 100644 example/sandbox/webpack.config.js diff --git a/dist/quagga.js b/dist/quagga.js index 708887e..87f4564 100644 --- a/dist/quagga.js +++ b/dist/quagga.js @@ -45,7 +45,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ __webpack_require__.p = "/"; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 194); +/******/ return __webpack_require__(__webpack_require__.s = 196); /******/ }) /************************************************************************/ /******/ ([ @@ -268,7 +268,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 3 */ /***/ function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(module, global) {var checkGlobal = __webpack_require__(131); + /* WEBPACK VAR INJECTION */(function(module, global) {var checkGlobal = __webpack_require__(133); /** Used to determine if values are of the language type `Object`. */ var objectTypes = { @@ -350,10 +350,10 @@ return /******/ (function(modules) { // webpackBootstrap /* 5 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(12); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(7); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_0_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(8); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__barcode_reader__ = __webpack_require__(9); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; @@ -738,6 +738,50 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 7 */ +/***/ function(module, exports, __webpack_require__) { + + var baseMerge = __webpack_require__(125), + createAssigner = __webpack_require__(142); + + /** + * This method is like `_.assign` except that it recursively merges own and + * inherited enumerable properties of source objects into the destination + * object. Source properties that resolve to `undefined` are skipped if a + * destination value exists. Array and plain object properties are merged + * recursively.Other objects and value types are overridden by assignment. + * Source objects are applied from left to right. Subsequent sources + * overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object`. + * + * @static + * @memberOf _ + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @example + * + * var users = { + * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }] + * }; + * + * var ages = { + * 'data': [{ 'age': 36 }, { 'age': 40 }] + * }; + * + * _.merge(users, ages); + * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] } + */ + var merge = createAssigner(function(object, source, srcIndex) { + baseMerge(object, source, srcIndex); + }); + + module.e = merge; + + +/***/ }, +/* 8 */ /***/ function(module, exports, __webpack_require__) { /* harmony default export */ exports["a"] = { @@ -783,7 +827,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 8 */ +/* 9 */ /***/ function(module, exports, __webpack_require__) { function BarcodeReader(config, supplements) { @@ -1004,7 +1048,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = BarcodeReader; /***/ }, -/* 9 */ +/* 10 */ /***/ function(module, exports, __webpack_require__) { module.e = clone @@ -1023,7 +1067,7 @@ return /******/ (function(modules) { // webpackBootstrap } /***/ }, -/* 10 */ +/* 11 */ /***/ function(module, exports, __webpack_require__) { var isArrayLikeObject = __webpack_require__(32); @@ -1072,7 +1116,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, -/* 11 */ +/* 12 */ /***/ function(module, exports, __webpack_require__) { var isObject = __webpack_require__(2); @@ -1117,50 +1161,6 @@ return /******/ (function(modules) { // webpackBootstrap module.e = isFunction; -/***/ }, -/* 12 */ -/***/ function(module, exports, __webpack_require__) { - - var baseMerge = __webpack_require__(123), - createAssigner = __webpack_require__(140); - - /** - * This method is like `_.assign` except that it recursively merges own and - * inherited enumerable properties of source objects into the destination - * object. Source properties that resolve to `undefined` are skipped if a - * destination value exists. Array and plain object properties are merged - * recursively.Other objects and value types are overridden by assignment. - * Source objects are applied from left to right. Subsequent sources - * overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * var users = { - * 'data': [{ 'user': 'barney' }, { 'user': 'fred' }] - * }; - * - * var ages = { - * 'data': [{ 'age': 36 }, { 'age': 40 }] - * }; - * - * _.merge(users, ages); - * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] } - */ - var merge = createAssigner(function(object, source, srcIndex) { - baseMerge(object, source, srcIndex); - }); - - module.e = merge; - - /***/ }, /* 13 */ /***/ function(module, exports, __webpack_require__) { @@ -1257,11 +1257,11 @@ return /******/ (function(modules) { // webpackBootstrap /* 14 */ /***/ function(module, exports, __webpack_require__) { - var stackClear = __webpack_require__(163), - stackDelete = __webpack_require__(164), - stackGet = __webpack_require__(165), - stackHas = __webpack_require__(166), - stackSet = __webpack_require__(167); + var stackClear = __webpack_require__(165), + stackDelete = __webpack_require__(166), + stackGet = __webpack_require__(167), + stackHas = __webpack_require__(168), + stackSet = __webpack_require__(169); /** * Creates a stack cache object to store key-value pairs. @@ -1323,7 +1323,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 16 */ /***/ function(module, exports, __webpack_require__) { - var isNative = __webpack_require__(174); + var isNative = __webpack_require__(176); /** * Gets the native function at `key` of `object`. @@ -1471,8 +1471,8 @@ return /******/ (function(modules) { // webpackBootstrap /* 22 */ /***/ function(module, exports, __webpack_require__) { - var getLength = __webpack_require__(144), - isFunction = __webpack_require__(11), + var getLength = __webpack_require__(146), + isFunction = __webpack_require__(12), isLength = __webpack_require__(23); /** @@ -1550,7 +1550,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var baseHas = __webpack_require__(52), - baseKeys = __webpack_require__(119), + baseKeys = __webpack_require__(121), indexKeys = __webpack_require__(60), isArrayLike = __webpack_require__(22), isIndex = __webpack_require__(18), @@ -1615,10 +1615,10 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony export */ exports["f"] = imageRef;/* unused harmony export computeIntegralImage2 *//* unused harmony export computeIntegralImage *//* unused harmony export thresholdImage *//* unused harmony export computeHistogram *//* unused harmony export sharpenLine *//* unused harmony export determineOtsuThreshold *//* harmony export */ exports["c"] = otsuThreshold;/* unused harmony export computeBinaryImage *//* harmony export */ exports["d"] = cluster;/* unused harmony export dilate *//* unused harmony export erode *//* unused harmony export subtract *//* unused harmony export bitwiseOr *//* unused harmony export countNonZero *//* harmony export */ exports["e"] = topGeneric;/* unused harmony export grayArrayFromImage *//* unused harmony export grayArrayFromContext *//* harmony export */ exports["i"] = grayAndHalfSampleFromCanvasData;/* harmony export */ exports["j"] = computeGray;/* unused harmony export loadImageArray *//* harmony export */ exports["g"] = halfSample;/* harmony export */ exports["a"] = hsv2rgb;/* unused harmony export _computeDivisors *//* harmony export */ exports["b"] = calculatePatchSize;/* unused harmony export _parseCSSDimensionValues *//* harmony export */ exports["h"] = computeImageArea; var vec2 = { - clone: __webpack_require__(9) + clone: __webpack_require__(10) }; var vec3 = { - clone: __webpack_require__(97) + clone: __webpack_require__(99) }; /** @@ -2394,14 +2394,14 @@ return /******/ (function(modules) { // webpackBootstrap /* 26 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__subImage__ = __webpack_require__(70); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__subImage__ = __webpack_require__(71); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_cv_utils__ = __webpack_require__(25); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__common_array_helper__ = __webpack_require__(13); var vec2 = { - clone: __webpack_require__(9) + clone: __webpack_require__(10) }; /** @@ -2797,7 +2797,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 29 */ /***/ function(module, exports, __webpack_require__) { - var copyObjectWith = __webpack_require__(138); + var copyObjectWith = __webpack_require__(140); /** * Copies properties of `source` to `object`. @@ -3034,7 +3034,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 35 */ /***/ function(module, exports, __webpack_require__) { - var baseKeysIn = __webpack_require__(120), + var baseKeysIn = __webpack_require__(122), indexKeys = __webpack_require__(60), isIndex = __webpack_require__(18), isPrototype = __webpack_require__(31); @@ -3094,7 +3094,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 36 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_debug__ = __webpack_require__(7); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__common_image_debug__ = __webpack_require__(8); function contains(codeResult, list) { @@ -3157,7 +3157,7 @@ return /******/ (function(modules) { // webpackBootstrap var config = void 0; if (true) { - config = __webpack_require__(72); + config = __webpack_require__(73); } else if (ENV.node) { config = require('./config.node.js'); } else { @@ -3274,7 +3274,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 39 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(8); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__barcode_reader__ = __webpack_require__(9); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_array_helper__ = __webpack_require__(13); @@ -3714,7 +3714,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var isArray = __webpack_require__(0), - stringToPath = __webpack_require__(168); + stringToPath = __webpack_require__(170); /** * Casts `value` to a path array if it's not one. @@ -3734,7 +3734,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 50 */ /***/ function(module, exports, __webpack_require__) { - var createBaseFor = __webpack_require__(141); + var createBaseFor = __webpack_require__(143); /** * The base implementation of `baseForIn` and `baseForOwn` which iterates @@ -3819,7 +3819,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 53 */ /***/ function(module, exports, __webpack_require__) { - var baseIsEqualDeep = __webpack_require__(116), + var baseIsEqualDeep = __webpack_require__(118), isObject = __webpack_require__(2), isObjectLike = __webpack_require__(4); @@ -3923,7 +3923,7 @@ return /******/ (function(modules) { // webpackBootstrap /* 57 */ /***/ function(module, exports, __webpack_require__) { - var arraySome = __webpack_require__(108); + var arraySome = __webpack_require__(110); /** Used to compose bitmasks for comparison styles. */ var UNORDERED_COMPARE_FLAG = 1, @@ -4002,8 +4002,8 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var Map = __webpack_require__(6), - Set = __webpack_require__(101), - WeakMap = __webpack_require__(102); + Set = __webpack_require__(103), + WeakMap = __webpack_require__(104); /** `Object#toString` result references. */ var mapTag = '[object Map]', @@ -4093,8 +4093,8 @@ return /******/ (function(modules) { // webpackBootstrap /* 60 */ /***/ function(module, exports, __webpack_require__) { - var baseTimes = __webpack_require__(129), - isArguments = __webpack_require__(10), + var baseTimes = __webpack_require__(131), + isArguments = __webpack_require__(11), isArray = __webpack_require__(0), isLength = __webpack_require__(23), isString = __webpack_require__(33); @@ -4209,8 +4209,8 @@ return /******/ (function(modules) { // webpackBootstrap /* 64 */ /***/ function(module, exports, __webpack_require__) { - var baseFlatten = __webpack_require__(112), - basePick = __webpack_require__(125), + var baseFlatten = __webpack_require__(114), + basePick = __webpack_require__(127), rest = __webpack_require__(65); /** @@ -4241,8 +4241,8 @@ return /******/ (function(modules) { // webpackBootstrap /* 65 */ /***/ function(module, exports, __webpack_require__) { - var apply = __webpack_require__(105), - toInteger = __webpack_require__(180); + var apply = __webpack_require__(107), + toInteger = __webpack_require__(182); /** Used as the `TypeError` message for "Functions" methods. */ var FUNC_ERROR_TEXT = 'Expected a function'; @@ -4340,32 +4340,21 @@ return /******/ (function(modules) { // webpackBootstrap /* 67 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__ = __webpack_require__(173); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default = __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__ && __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__; } - /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__ = __webpack_require__(178); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default = __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__ && __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__; } - /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_pick__ = __webpack_require__(64); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_pick___default = __WEBPACK_IMPORTED_MODULE_2_lodash_pick__ && __WEBPACK_IMPORTED_MODULE_2_lodash_pick__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_pick__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_pick__; } - /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_2_lodash_pick___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_2_lodash_pick___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_merge__ = __webpack_require__(12); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_3_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_3_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_3_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_3_lodash_merge__; } - /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_3_lodash_merge___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_typedefs__ = __webpack_require__(71); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_typedefs___default = __WEBPACK_IMPORTED_MODULE_4__common_typedefs__ && __WEBPACK_IMPORTED_MODULE_4__common_typedefs__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_4__common_typedefs__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_4__common_typedefs__; } - /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_4__common_typedefs___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_4__common_typedefs___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_webrtc_adapter__ = __webpack_require__(186); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_webrtc_adapter___default = __WEBPACK_IMPORTED_MODULE_5_webrtc_adapter__ && __WEBPACK_IMPORTED_MODULE_5_webrtc_adapter__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_5_webrtc_adapter__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_5_webrtc_adapter__; } - /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_5_webrtc_adapter___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_5_webrtc_adapter___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__scanner__ = __webpack_require__(91); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__common_image_wrapper__ = __webpack_require__(26); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__common_image_debug__ = __webpack_require__(7); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__analytics_result_collector__ = __webpack_require__(36); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__config_config__ = __webpack_require__(37); - - - + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ = __webpack_require__(7); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_0_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_0_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_merge__; } + /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_merge___default }); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_typedefs__ = __webpack_require__(72); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_typedefs___default = __WEBPACK_IMPORTED_MODULE_1__common_typedefs__ && __WEBPACK_IMPORTED_MODULE_1__common_typedefs__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_1__common_typedefs__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_1__common_typedefs__; } + /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_1__common_typedefs___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_1__common_typedefs___default }); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__ = __webpack_require__(188); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter___default = __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__ && __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter__; } + /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_2_webrtc_adapter___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_2_webrtc_adapter___default }); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__scanner__ = __webpack_require__(93); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_image_wrapper__ = __webpack_require__(26); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__common_image_debug__ = __webpack_require__(8); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__analytics_result_collector__ = __webpack_require__(36); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__config_config__ = __webpack_require__(37); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__input_config_factory__ = __webpack_require__(77); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; @@ -4379,82 +4368,12 @@ return /******/ (function(modules) { // webpackBootstrap - function _fromImage(config, imageSrc) { - var inputConfig = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; - - var staticImageConfig = { - inputStream: { - type: "ImageStream", - sequence: false, - size: 800, - src: imageSrc - }, - numOfWorkers: true && config.debug ? 0 : 1 - }; - config = /* harmony import */__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default.a.bind()(config, staticImageConfig, { numOfWorkers: typeof config.numOfWorkers === 'number' && config.numOfWorkers > 0 ? 1 : 0 }, { inputStream: /* harmony import */__WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default.a.bind()(/* harmony import */__WEBPACK_IMPORTED_MODULE_2_lodash_pick___default.a.bind()(config.inputStream, ['size', 'src']), /* harmony import */__WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default.a) }, { inputStream: inputConfig }); - - var scanner = /* harmony import */__WEBPACK_IMPORTED_MODULE_6__scanner__["a"].bind()(); - return { - addEventListener: function addEventListener(eventType, cb) { - scanner.subscribe(eventType, cb); - return this; - }, - removeEventListener: function removeEventListener(eventType, cb) { - scanner.unsubscribe(eventType, cb); - return this; - }, - start: function start() { - scanner.init(config, function () { - scanner.start(); - }); - return this; - }, - stop: function stop() { - scanner.stop(); - return this; - }, - toPromise: function toPromise() { - return new Promise(function (resolve, reject) { - scanner.decodeSingle(config, function (result) { - if (result && result.codeResult && result.codeResult.code) { - return resolve(result); - } - return reject(result); - }); - }); - } - }; - } - function _fromVideo(config, source) { + function _fromSource(config, source) { var inputConfig = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; - // remember last instance - // check if anything but the imagesrc has changed - // - var sourceConfig = { - type: "LiveStream", - constraints: { - width: 640, - height: 480, - facingMode: "environment" - } - }; - - /*if (source instanceof MediaStream) { - // stream - } else*/if (source instanceof Element) { - // video element - } else if (typeof source === 'string') { - // video source - } else if ((typeof source === 'undefined' ? 'undefined' : _typeof(source)) === 'object' && (typeof source.constraints !== 'undefined' || typeof source.area !== 'undefined')) { - inputConfig = source; - } else if (!source) { - // LiveStream - } - config = /* harmony import */__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default.a.bind()({}, config, { inputStream: sourceConfig }, { inputStream: inputConfig }); - console.log(config); - var scanner = /* harmony import */__WEBPACK_IMPORTED_MODULE_6__scanner__["a"].bind()(); + config = /* harmony import */__WEBPACK_IMPORTED_MODULE_8__input_config_factory__["a"].bind()(config, inputConfig, source); + var scanner = /* harmony import */__WEBPACK_IMPORTED_MODULE_3__scanner__["a"].bind()(); return { addEventListener: function addEventListener(eventType, cb) { scanner.subscribe(eventType, cb); @@ -4477,11 +4396,55 @@ return /******/ (function(modules) { // webpackBootstrap stop: function stop() { scanner.stop(); return this; + }, + toPromise: function toPromise() { + var _this = this; + + if (config.inputStream.type === 'LiveStream' || config.inputStream.type === 'VideoStream') { + var _ret = function () { + var cancelRequested = false; + return { + v: { + cancel: function cancel() { + cancelRequested = true; + }, + + promise: new Promise(function (resolve, reject) { + function onProcessed(result) { + if (result && result.codeResult && result.codeResult.code) { + scanner.stop(); + scanner.unsubscribe("processed", onProcessed); + resolve(result); + } + if (cancelRequested) { + scanner.stop(); + scanner.unsubscribe("processed", onProcessed); + reject("cancelled!"); + } + } + scanner.subscribe("processed", onProcessed); + _this.start(); + }) + } + }; + }(); + + if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; + } else { + return new Promise(function (resolve, reject) { + scanner.decodeSingle(config, function (result) { + if (result && result.codeResult && result.codeResult.code) { + return resolve(result); + } + return reject(result); + }); + }); + } } }; } - var defaultScanner = /* harmony import */__WEBPACK_IMPORTED_MODULE_6__scanner__["a"].bind()(); + var defaultScanner = /* harmony import */__WEBPACK_IMPORTED_MODULE_3__scanner__["a"].bind()(); function setConfig() { var configuration = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; @@ -4491,19 +4454,16 @@ return /******/ (function(modules) { // webpackBootstrap var key = arguments[1]; var config = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; - var mergedConfig = /* harmony import */__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default.a.bind()({}, configuration, (_merge2 = {}, _merge2[key] = config, _merge2)); + var mergedConfig = /* harmony import */__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default.a.bind()({}, configuration, (_merge2 = {}, _merge2[key] = config, _merge2)); return createApi(mergedConfig); } function createApi() { - var configuration = arguments.length <= 0 || arguments[0] === undefined ? /* harmony import */__WEBPACK_IMPORTED_MODULE_10__config_config__["a"] : arguments[0]; + var configuration = arguments.length <= 0 || arguments[0] === undefined ? /* harmony import */__WEBPACK_IMPORTED_MODULE_7__config_config__["a"] : arguments[0]; return { - fromImage: function fromImage(src, conf) { - return _fromImage(configuration, src, conf); - }, - fromVideo: function fromVideo(src, inputConfig) { - return _fromVideo(configuration, src, inputConfig); + fromSource: function fromSource(src, inputConfig) { + return _fromSource(configuration, src, inputConfig); }, decoder: function decoder(conf) { return setConfig(configuration, "decoder", conf); @@ -4511,8 +4471,11 @@ return /******/ (function(modules) { // webpackBootstrap locator: function locator(conf) { return setConfig(configuration, "locator", conf); }, + throttle: function throttle(timeInMs) { + return setConfig(configuration, "frequency", 1000 / parseInt(timeInMs)); + }, config: function config(conf) { - return createApi(/* harmony import */__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default.a.bind()({}, configuration, conf)); + return createApi(/* harmony import */__WEBPACK_IMPORTED_MODULE_0_lodash_merge___default.a.bind()({}, configuration, conf)); }, registerResultCollector: function registerResultCollector(resultCollector) { defaultScanner.registerResultCollector(resultCollector); @@ -4521,11 +4484,11 @@ return /******/ (function(modules) { // webpackBootstrap return defaultScanner.canvas; }, - ImageWrapper: /* harmony import */__WEBPACK_IMPORTED_MODULE_7__common_image_wrapper__["a"], - ImageDebug: /* harmony import */__WEBPACK_IMPORTED_MODULE_8__common_image_debug__["a"], - ResultCollector: /* harmony import */__WEBPACK_IMPORTED_MODULE_9__analytics_result_collector__["a"], + ImageWrapper: /* harmony import */__WEBPACK_IMPORTED_MODULE_4__common_image_wrapper__["a"], + ImageDebug: /* harmony import */__WEBPACK_IMPORTED_MODULE_5__common_image_debug__["a"], + ResultCollector: /* harmony import */__WEBPACK_IMPORTED_MODULE_6__analytics_result_collector__["a"], _worker: { - createScanner: /* harmony import */__WEBPACK_IMPORTED_MODULE_6__scanner__["a"] + createScanner: /* harmony import */__WEBPACK_IMPORTED_MODULE_3__scanner__["a"] } }; } @@ -4536,7 +4499,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ function(module, exports, __webpack_require__) { var vec2 = { - clone: __webpack_require__(9), + clone: __webpack_require__(10), dot: __webpack_require__(40) }; @@ -4608,6 +4571,25 @@ return /******/ (function(modules) { // webpackBootstrap /***/ }, /* 69 */ +/***/ function(module, exports, __webpack_require__) { + + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + var hasWindow = typeof window !== 'undefined'; + var windowRef = hasWindow ? window : {}; + + var windowObjects = ["MediaStream", "HTMLImageElement", "HTMLVideoElement", "HTMLCanvasElement", "FileList", "File", "URL"]; + + var DOMHelper = windowObjects.reduce(function (result, obj) { + var _extends2; + + return _extends({}, result, (_extends2 = {}, _extends2[obj] = obj in windowRef ? windowRef[obj] : function () {}, _extends2)); + }, {}); + + /* harmony default export */ exports["a"] = DOMHelper; + +/***/ }, +/* 70 */ /***/ function(module, exports, __webpack_require__) { /* harmony export */ exports["a"] = createEventedElement;function createEventedElement() { @@ -4706,7 +4688,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 70 */ +/* 71 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4795,7 +4777,7 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = SubImage; /***/ }, -/* 71 */ +/* 72 */ /***/ function(module, exports) { /* @@ -4821,7 +4803,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 72 */ +/* 73 */ /***/ function(module, exports, __webpack_require__) { module.e = { @@ -4875,22 +4857,22 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 73 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bresenham__ = __webpack_require__(74); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_image_debug__ = __webpack_require__(7); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__reader_code_128_reader__ = __webpack_require__(83); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bresenham__ = __webpack_require__(75); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__common_image_debug__ = __webpack_require__(8); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__reader_code_128_reader__ = __webpack_require__(85); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__reader_ean_reader__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__reader_code_39_reader__ = __webpack_require__(39); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__reader_code_39_vin_reader__ = __webpack_require__(84); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__reader_codabar_reader__ = __webpack_require__(82); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__reader_upc_reader__ = __webpack_require__(90); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__reader_ean_8_reader__ = __webpack_require__(87); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__reader_ean_2_reader__ = __webpack_require__(85); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__reader_ean_5_reader__ = __webpack_require__(86); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__reader_upc_e_reader__ = __webpack_require__(89); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__reader_i2of5_reader__ = __webpack_require__(88); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__reader_code_39_vin_reader__ = __webpack_require__(86); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__reader_codabar_reader__ = __webpack_require__(84); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__reader_upc_reader__ = __webpack_require__(92); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__reader_ean_8_reader__ = __webpack_require__(89); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__reader_ean_2_reader__ = __webpack_require__(87); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__reader_ean_5_reader__ = __webpack_require__(88); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__reader_upc_e_reader__ = __webpack_require__(91); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__reader_i2of5_reader__ = __webpack_require__(90); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; @@ -5210,7 +5192,7 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 74 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { var Bresenham = {}; @@ -5412,13 +5394,13 @@ return /******/ (function(modules) { // webpackBootstrap /* harmony default export */ exports["a"] = Bresenham; /***/ }, -/* 75 */ +/* 76 */ /***/ function(module, exports, __webpack_require__) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_pick__ = __webpack_require__(64); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_pick___default = __WEBPACK_IMPORTED_MODULE_0_lodash_pick__ && __WEBPACK_IMPORTED_MODULE_0_lodash_pick__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_pick__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_pick__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_pick___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_pick___default }); - /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_merge__ = __webpack_require__(12); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_merge__ = __webpack_require__(7); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_1_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_1_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_merge__; } /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_1_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_1_lodash_merge___default }); @@ -5526,7 +5508,190 @@ return /******/ (function(modules) { // webpackBootstrap }; /***/ }, -/* 76 */ +/* 77 */ +/***/ function(module, exports, __webpack_require__) { + + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__ = __webpack_require__(175); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default = __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__ && __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty__; } + /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default }); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__ = __webpack_require__(180); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default = __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__ && __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy__; } + /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default }); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_pick__ = __webpack_require__(64); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_lodash_pick___default = __WEBPACK_IMPORTED_MODULE_2_lodash_pick__ && __WEBPACK_IMPORTED_MODULE_2_lodash_pick__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_pick__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_2_lodash_pick__; } + /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_2_lodash_pick___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_2_lodash_pick___default }); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_merge__ = __webpack_require__(7); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_lodash_merge___default = __WEBPACK_IMPORTED_MODULE_3_lodash_merge__ && __WEBPACK_IMPORTED_MODULE_3_lodash_merge__.__esModule ? function() { return __WEBPACK_IMPORTED_MODULE_3_lodash_merge__['default'] } : function() { return __WEBPACK_IMPORTED_MODULE_3_lodash_merge__; } + /* harmony import */ Object.defineProperty(__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default, 'a', { get: __WEBPACK_IMPORTED_MODULE_3_lodash_merge___default }); + /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__common_dom_helper__ = __webpack_require__(69); + /* harmony export */ exports["a"] = createConfigFromSource; + + + + + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + + + + var isDataURL = { regex: /^\s*data:([a-z]+\/[a-z0-9\-\+]+(;[a-z\-]+\=[a-z0-9\-]+)?)?(;base64)?,[a-z0-9\!\$\&\'\,\(\)\*\+\,\;\=\-\.\_\~\:\@\/\?\%\s]*\s*$/i }, + // eslint-disable-line max-len + isBlobURL = { regex: /^\s*blob:(.*)$/i }, + isMediaURL = { regex: /^(?:(?:http[s]?|ftp):\/)?\/?(?:(?:[^:\/\s]+)(?:(?:\/\w+)*\/))?([\w\-]+\.([^#?\s]+))(?:.*)?(?:#[\w\-]+)?$/i }, + // eslint-disable-line max-len + isImageExt = { regex: /(jpe?g|png|gif|tiff)(?:\s+|$)/i }, + isVideoExt = { regex: /(webm|ogg|mp4|m4v)/i }; + + function createConfigFromSource(config, sourceConfig, source) { + if (source instanceof /* harmony import */__WEBPACK_IMPORTED_MODULE_4__common_dom_helper__["a"].MediaStream) { + return createConfigForStream(config, sourceConfig, { srcObject: source }); + } else if (source instanceof /* harmony import */__WEBPACK_IMPORTED_MODULE_4__common_dom_helper__["a"].HTMLImageElement) { + throw new Error('Source "HTMLImageElement": not yet supported'); + // return createConfigForImage(config, inputConfig, {image: source}); + } else if (source instanceof /* harmony import */__WEBPACK_IMPORTED_MODULE_4__common_dom_helper__["a"].HTMLVideoElement) { + throw new Error('Source "HTMLVideoElement": not yet supported'); + // return createConfigForVideo(config, inputConfig, {video: source}); + } else if (source instanceof /* harmony import */__WEBPACK_IMPORTED_MODULE_4__common_dom_helper__["a"].HTMLCanvasElement) { + return createConfigForCanvas(config, sourceConfig, { canvas: source }); + } else if (source instanceof /* harmony import */__WEBPACK_IMPORTED_MODULE_4__common_dom_helper__["a"].FileList) { + if (source.length > 0) { + return createConfigForFile(config, sourceConfig, source[0]); + } + } else if (source instanceof /* harmony import */__WEBPACK_IMPORTED_MODULE_4__common_dom_helper__["a"].File) { + return createConfigForFile(config, sourceConfig, source); + } else if (typeof source === 'string') { + return createConfigForString(config, sourceConfig, source); + } else if ((typeof source === 'undefined' ? 'undefined' : _typeof(source)) === 'object' && (typeof source.constraints !== 'undefined' || typeof source.area !== 'undefined')) { + return createConfigForLiveStream(config, source); + } else { + throw new Error("No source given!"); + } + } + + function createConfigForImage(config, source) { + var inputConfig = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + + var staticImageConfig = { + inputStream: /* harmony import */__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default.a.bind()({ + type: "ImageStream", + sequence: false, + size: 800 + }, source), + numOfWorkers: true && config.debug ? 0 : 1 + }; + return /* harmony import */__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default.a.bind()(config, staticImageConfig, { numOfWorkers: typeof config.numOfWorkers === 'number' && config.numOfWorkers > 0 ? 1 : 0 }, { inputStream: /* harmony import */__WEBPACK_IMPORTED_MODULE_1_lodash_omitBy___default.a.bind()(/* harmony import */__WEBPACK_IMPORTED_MODULE_2_lodash_pick___default.a.bind()(config.inputStream, ['size']), /* harmony import */__WEBPACK_IMPORTED_MODULE_0_lodash_isEmpty___default.a) }, { inputStream: inputConfig }); + } + + function createConfigForMimeType(config, inputConfig, _ref) { + var src = _ref.src; + var mime = _ref.mime; + + var _ref2 = mime.match(/^(video|image)\/(.*)$/i) || []; + + var type = _ref2[1]; + + if (type === 'video') { + return createConfigForVideo(config, { src: src }, inputConfig); + } else if (type === 'image') { + return createConfigForImage(config, { src: src }, inputConfig); + } + throw new Error('Source with mimetype: "' + type + '" not supported'); + } + + function createConfigForFile(config, inputConfig, file) { + var src = /* harmony import */__WEBPACK_IMPORTED_MODULE_4__common_dom_helper__["a"].URL.createObjectURL(file); + return createConfigForMimeType(config, inputConfig, { + src: src, + mime: file.type + }); + } + + function createConfigForString(config) { + var inputConfig = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; + var source = arguments[2]; + + var _ref3 = source.match(isDataURL.regex) || []; + + var mime = _ref3[1]; + + if (mime) { + return createConfigForMimeType(config, inputConfig, { src: source, mime: mime }); + } + var blobURL = source.match(isBlobURL.regex); + if (blobURL) { + throw new Error('Source "objectURL": not supported'); + } + + var _ref4 = source.match(isMediaURL.regex) || []; + + var ext = _ref4[2]; + + if (ext) { + return createConfigForMediaExtension(config, inputConfig, { src: source, ext: ext }); + } + throw new Error('Source "' + source + '": not recognized'); + } + + function createConfigForMediaExtension(config, inputConfig, _ref5) { + var src = _ref5.src; + var ext = _ref5.ext; + + if (ext.match(isImageExt.regex)) { + return createConfigForImage(config, { src: src }, inputConfig); + } else if (ext.match(isVideoExt.regex)) { + return createConfigForVideo(config, { src: src }, inputConfig); + } + throw new Error('Source "MediaString": not recognized'); + } + + function createConfigForCanvas(config, _ref6) { + var canvas = _ref6.canvas; + var inputConfig = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + + // TODO: adjust stream & frame-grabber + // once/continous + throw new Error('Source "Canvas": not implemented!'); + } + + function createConfigForVideo(config, source) { + var inputConfig = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + + return /* harmony import */__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default.a.bind()({}, config, { + inputStream: /* harmony import */__WEBPACK_IMPORTED_MODULE_3_lodash_merge___default.a.bind()({ + type: "VideoStream" + }, source) + }, { + inputStream: inputConfig + }); + } + + function createConfigForStream(config, _ref7) { + var srcObject = _ref7.srcObject; + var inputConfig = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; + + // TODO: attach to