UNPKG

motion

Version:

motion - moving development forward

528 lines (425 loc) 13.4 kB
exports["motiontools-internals"] = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId].exports; /******/ /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ exports: {}, /******/ id: moduleId, /******/ loaded: false /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.loaded = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ function(module, exports, __webpack_require__) { var packages = {} packages["keys"] = __webpack_require__(1); packages["errors/helpers"] = __webpack_require__(4); packages["lib/createFilterer"] = __webpack_require__(5); packages["lib/getType"] = __webpack_require__(8); packages["lib/inspecting"] = __webpack_require__(9); packages["lib/lens"] = __webpack_require__(10); packages["lib/uid"] = __webpack_require__(11); window.require.setApp("motiontools") module.exports = packages /***/ }, /* 1 */ /***/ function(module, exports, __webpack_require__) { var _interopRequireDefault = __webpack_require__(2).default; Object.defineProperty(exports, '__esModule', { value: true }); var _keycode = __webpack_require__(3); var _keycode2 = _interopRequireDefault(_keycode); var keys = {}; exports.keys = keys; var listeners = {}; var pressListeners = {}; on.keydown(window, function (e) { var code = (0, _keycode2.default)(e.keyCode); keys[code] = true; keyDown(code); }); on.keyup(window, function (e) { var code = (0, _keycode2.default)(e.keyCode); keys[code] = false; keyUp(code); }); on.keypress(window, function (e) { var code = (0, _keycode2.default)(e.keyCode); var queue = pressListeners[code]; queue && queue.forEach(function (listener) { return listener(); }); }); function keyDown(code) { if (!listeners[code]) return; listeners[code].forEach(function (listener) { return listener(true); }); } function keyUp(code) { if (!listeners[code]) return; listeners[code].forEach(function (listener) { return listener(false); }); } function onKey(code, fn) { listeners[code] = listeners[code] || []; listeners[code].push(fn); } exports.onKey = onKey; function onKeyPress(code, fn) { pressListeners[code] = pressListeners[code] || []; pressListeners[code].push(fn); } exports.onKeyPress = onKeyPress; function onKeyDown(code, fn) { onKey(code, function (val) { return val && fn(); }); } exports.onKeyDown = onKeyDown; /***/ }, /* 2 */ /***/ function(module, exports) { module.exports = require("babel-runtime/helpers/interop-require-default"); /***/ }, /* 3 */ /***/ function(module, exports) { module.exports = require("keycode"); /***/ }, /* 4 */ /***/ function(module, exports) { Object.defineProperty(exports, '__esModule', { value: true }); var browser = window._DT; exports.browser = browser; var isLive = function isLive() { return browser.editor && browser.editor.live; }; exports.isLive = isLive; var split = function split(s, i) { return [s.substring(0, i), s.substring(i, i + 1), s.substring(i + 1)]; }; function showMotionErrorDiv() { setTimeout(function () { // avoid showing if error fixed in meantime if (!browser.curError) return; var errors = document.querySelectorAll('.__motionError'); if (!errors.length) return; // add active class to show them [].forEach.call(errors, function (error) { if (error.className.indexOf('active') == -1) error.className += ' active'; }); }, isLive() ? 1000 : 100); } exports.showMotionErrorDiv = showMotionErrorDiv; function niceRuntimeError(err) { if (err.file) err.file = err.file.replace(new RegExp('.*' + window.location.origin + '(\/[_]+\/)?'), ''); if (err.file && err.file === 'motion.dev.js') { err.file = 'Motion'; err.line = null; } if (err.file && err.file.indexOf('internals.js') >= 0) { if (err.message && err.message.indexOf('Cannot find module') == 0) { var badModule = err.message.match(/(fs|path)/); if (badModule && badModule.length) { err.file = 'imported module:'; err.message = 'Cannot import node-only module: ' + badModule[0]; } } else { err.message = 'Error in a locally required file. ' + err.message; } } if (err.message) err.niceMessage = err.message.replace(/Uncaught .*Error:\s*/, ''); return err; } exports.niceRuntimeError = niceRuntimeError; function niceNpmError(_ref) { var msg = _ref.msg; var name = _ref.name; if (msg) msg = msg.replace(/(npm WARN.*\n|ERR\!)/g, '').replace(/npm argv.*\n/g, '').replace(/npm node v.*\n/g, '').replace(/npm npm.*\n/g, '').replace(/npm code.*\n/g, '').replace(/npm peerinvalid /g, '').replace(/npm 404 /g, ''); return { msg: msg, name: name }; } exports.niceNpmError = niceNpmError; var niceCompilerError = function niceCompilerError(err) { return niceCompilerMessage(fullStack(niceStack(err))); }; exports.niceCompilerError = niceCompilerError; var replaceCompilerMsg = function replaceCompilerMsg(msg) { if (!msg) return ''; return msg.replace(/.*\.js\:/, '').replace(/\([0-9]+\:[0-9]+\)/, '').replace(/Line [0-9]+\:\s*/, ''); }; var niceCompilerMessage = function niceCompilerMessage(err) { err.niceMessage = replaceCompilerMsg(err.message, err.fileName); return err; }; exports.niceCompilerMessage = niceCompilerMessage; var matchErrorLine = /\>?\s*([0-9]*)\s*\|(.*)/g; var indicator = /\s*\|\s*\^\s*$/g; function fullStack(err) { if (!err) return; if (err.stack) { (function () { err.fullStack = ['', '', '']; var index = 0; err.stack.split("\n").forEach(function (line) { if (indicator.test(line)) return; if (!matchErrorLine.test(line)) return; var isLine = line[0] === '>'; if (isLine) index = 1; if (!isLine && index === 1) index = 2; var result = line.replace(matchErrorLine, '$1$2').replace(/^(\s*[0-9]+\s*)[;]/, '$1 '); err.fullStack[index] += result + "\n"; }); })(); } return err; } function niceStack(err) { if (!err) return; if (err.stack) { err.stack.split("\n").map(function (line) { if (line[0] === '>') { var result = line; if (!result) return; // remove the babel " > |" before the line result = result.replace(/\>\s*[0-9]+\s*\|\s*/, ''); result = replaceCompilerMsg(result); var colIndex = err.loc.column - 4; // 4 because we remove babel prefix err.niceStack = split(result, colIndex); } }); } return err; } var log = function log() { if (localStorage.getItem('motiondebug')) console.log.apply(console, arguments); }; exports.log = log; /***/ }, /* 5 */ /***/ function(module, exports, __webpack_require__) { var _Object$assign = __webpack_require__(6).default; var _Object$keys = __webpack_require__(7).default; Object.defineProperty(exports, '__esModule', { value: true }); var assign = _Object$assign; var keys = _Object$keys; function createFilterer(data, options) { options || (options = {}); var cache = {}; return function (query) { var subquery; if (!cache[query]) { for (var i = query.length - 1; i > 0; i -= 1) { subquery = query.substr(0, i); if (cache[subquery]) { cache[query] = find(cache[subquery], query, options); break; } } } if (!cache[query]) { cache[query] = find(data, query, options); } return cache[query]; }; } exports.default = createFilterer; ; function find(data, query, options) { return keys(data).reduce(function (acc, key) { var value = data[key]; var matches; if (isPrimitive(value)) { if (contains(query, key, options) || contains(query, value, options)) { acc[key] = value; } } else { if (contains(query, key, options)) { acc[key] = value; } else { matches = find(value, query, options); if (!isEmpty(matches)) { assign(acc, pair(key, matches)); } } } return acc; }, {}); } function contains(query, string, options) { if (options.ignoreCase) { query = String(query).toLowerCase(); return string && String(string).toLowerCase().indexOf(query) !== -1; } else { return string && String(string).indexOf(query) !== -1; } } function isPrimitive(value) { var t = getType(value); return t !== 'Object' && t !== 'Array'; } function pair(key, value) { var p = {}; p[key] = value; return p; } module.exports = exports.default; /***/ }, /* 6 */ /***/ function(module, exports) { module.exports = require("babel-runtime/core-js/object/assign"); /***/ }, /* 7 */ /***/ function(module, exports) { module.exports = require("babel-runtime/core-js/object/keys"); /***/ }, /* 8 */ /***/ function(module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); function getType(value) { return Object.prototype.toString.call(value).slice(8, -1); } exports.default = getType; module.exports = exports.default; /***/ }, /* 9 */ /***/ function(module, exports, __webpack_require__) { var _Object$keys = __webpack_require__(7).default; Object.defineProperty(exports, '__esModule', { value: true }); var el = undefined; var reactKey = null; var getReactKey = function getReactKey(el) { return _Object$keys(el).filter(function (k) { return k.indexOf('__reactInternalInst') == 0; })[0]; }; function getReactId(el) { if (!reactKey) reactKey = getReactKey(el); if (!el[reactKey]) return; var current = el[reactKey]._currentElement; if (!current || !current.key) return null; var key = current.key; var split = key.split('$'); return split[split.length - 1]; } var Inspecting = { set: function set(_) { el = _; }, get: function get() { return el; }, props: function props(el) { return { key: getReactId(el), el: el.tagName.toLowerCase(), view: el.className.split(' ').filter(function (s) { return s.substr(0, 4) != 'View'; }).filter(function (s) { return s.charAt(0).toUpperCase() == s.charAt(0); })[0] }; }, all: function all() { var cur = el; var parents = [this.props(cur)]; // walk upwards, find unique views while (cur.parentNode && cur.parentNode.tagName) { var _parent = cur.parentNode; var last = parents[parents.length - 1]; var next = this.props(_parent); if (next.view && next.view != last.view) { // filter __motionfocus if (next.view[0] != '_') { parents.push(next); } } cur = _parent; } return parents; } }; exports.default = Inspecting; module.exports = exports.default; /***/ }, /* 10 */ /***/ function(module, exports) { Object.defineProperty(exports, '__esModule', { value: true }); var PATH_DELIMITER = '.'; function lens(data, path) { var p = path.split(PATH_DELIMITER); var segment = p.shift(); if (!segment) { return data; } var t = getType(data); if (t === 'Array' && data[integer(segment)]) { return lens(data[integer(segment)], p.join(PATH_DELIMITER)); } else if (t === 'Object' && data[segment]) { return lens(data[segment], p.join(PATH_DELIMITER)); } } exports.default = lens; function integer(string) { return parseInt(string, 10); } module.exports = exports.default; /***/ }, /* 11 */ /***/ function(module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); var id = Math.ceil(Math.random() * 10); function uid() { return id++; } exports.default = uid; module.exports = exports.default; /***/ } /******/ ]); //# sourceMappingURL=internals.js.map