UNPKG

skaggr.js

Version:

A JavaScript interface for creating Qlik expressions via the skaggr spec

1,707 lines (1,329 loc) 125 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define("skaggr", [], factory); else if(typeof exports === 'object') exports["skaggr"] = factory(); else root["skaggr"] = factory(); })(this, function() { return /******/ (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] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = 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; /******/ /******/ // identity function for calling harmony imports with the correct context /******/ __webpack_require__.i = function(value) { return value; }; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 59); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; exports.default = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; var _defineProperty = __webpack_require__(62); var _defineProperty2 = _interopRequireDefault(_defineProperty); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; (0, _defineProperty2.default)(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _assign = __webpack_require__(60); var _assign2 = _interopRequireDefault(_assign); var _classCallCheck2 = __webpack_require__(0); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(1); var _createClass3 = _interopRequireDefault(_createClass2); var _skaggrParse = __webpack_require__(103); var _skaggrParse2 = _interopRequireDefault(_skaggrParse); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Base = function () { function Base() { (0, _classCallCheck3.default)(this, Base); this.attributes = { type: "explicit", value: "" }; this.parsableProps = []; } (0, _createClass3.default)(Base, [{ key: "setSpecProperty", value: function setSpecProperty(addr, val) { var tree = addr.split("/"); var spec = generateSpec(); var curVal = spec; while (tree.length > 0) { var prop = tree.shift(); var nextProp = tree[0]; if (typeof curVal[prop] === "undefined") { curVal[prop] = isNaN(nextProp) ? {} : []; } if (tree.length === 0) curVal[prop] = val;else curVal = curVal[prop]; } return spec; } }, { key: "getSpecProperty", value: function getSpecProperty(addr) { var tree = addr.split("/"); var spec = generateSpec(); return tree.reduce(function (acc, curr) { if (curr === "") return acc; return acc[curr]; }, spec); } // ATTRIBUTE MANAGEMENT }, { key: "addAttribute", value: function addAttribute(name, value) { this.attributes[name].push(value); return this; } }, { key: "getAttributes", value: function getAttributes(name) { return this.attributes[name]; } }, { key: "removeAttribute", value: function removeAttribute(name, value) { var index = this.attributes[name].find(function (a) { return a === value; }); this.attributes[name].splice(index, 1); return this; } }, { key: "removeAttributeByIndex", value: function removeAttributeByIndex(name, index) { this.attributes[name].splice(index, 1); return this; } }, { key: "setAttributeByIndex", value: function setAttributeByIndex(name, value, index) { this.attributes[name].splice(index, 1, value); return this; } // SPEC PARSING }, { key: "generateSpec", value: function generateSpec() { var _this = this; var spec = (0, _assign2.default)({}, this.attributes); this.parsableProps.forEach(function (prop) { var valToParse = _this.attributes[prop]; // consider removing all arrays in spec with groups (values that have operators) and lists (parameters that are delimited) spec[prop] = valToParse instanceof Array ? valToParse.map(function (m) { return m.generateSpec(); }) : valToParse.generateSpec(); }); return spec; } }, { key: "print", value: function print() { var spec = this.generateSpec(); return (0, _skaggrParse2.default)(spec); } }]); return Base; }(); exports.default = Base; module.exports = exports["default"]; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { module.exports = { "default": __webpack_require__(69), __esModule: true }; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; var _setPrototypeOf = __webpack_require__(63); var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf); var _create = __webpack_require__(61); var _create2 = _interopRequireDefault(_create); var _typeof2 = __webpack_require__(41); var _typeof3 = _interopRequireDefault(_typeof2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass))); } subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass; }; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; var _typeof2 = __webpack_require__(41); var _typeof3 = _interopRequireDefault(_typeof2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function (self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self; }; /***/ }), /* 6 */ /***/ (function(module, exports) { var core = module.exports = {version: '2.4.0'}; if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef /***/ }), /* 7 */ /***/ (function(module, exports) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { // Thank's IE8 for his funny defineProperty module.exports = !__webpack_require__(13)(function(){ return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; }); /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(7) , core = __webpack_require__(6) , ctx = __webpack_require__(43) , hide = __webpack_require__(14) , PROTOTYPE = 'prototype'; var $export = function(type, name, source){ var IS_FORCED = type & $export.F , IS_GLOBAL = type & $export.G , IS_STATIC = type & $export.S , IS_PROTO = type & $export.P , IS_BIND = type & $export.B , IS_WRAP = type & $export.W , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) , expProto = exports[PROTOTYPE] , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE] , key, own, out; if(IS_GLOBAL)source = name; for(key in source){ // contains in native own = !IS_FORCED && target && target[key] !== undefined; if(own && key in exports)continue; // export native or passed out = own ? target[key] : source[key]; // prevent global pollution for namespaces exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] // bind timers to global for call from export context : IS_BIND && own ? ctx(out, global) // wrap global constructors for prevent change them in library : IS_WRAP && target[key] == out ? (function(C){ var F = function(a, b, c){ if(this instanceof C){ switch(arguments.length){ case 0: return new C; case 1: return new C(a); case 2: return new C(a, b); } return new C(a, b, c); } return C.apply(this, arguments); }; F[PROTOTYPE] = C[PROTOTYPE]; return F; // make static versions for prototype methods })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% if(IS_PROTO){ (exports.virtual || (exports.virtual = {}))[key] = out; // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out); } } }; // type bitmap $export.F = 1; // forced $export.G = 2; // global $export.S = 4; // static $export.P = 8; // proto $export.B = 16; // bind $export.W = 32; // wrap $export.U = 64; // safe $export.R = 128; // real proto method for `library` module.exports = $export; /***/ }), /* 10 */ /***/ (function(module, exports) { var hasOwnProperty = {}.hasOwnProperty; module.exports = function(it, key){ return hasOwnProperty.call(it, key); }; /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { var anObject = __webpack_require__(16) , IE8_DOM_DEFINE = __webpack_require__(45) , toPrimitive = __webpack_require__(34) , dP = Object.defineProperty; exports.f = __webpack_require__(8) ? Object.defineProperty : function defineProperty(O, P, Attributes){ anObject(O); P = toPrimitive(P, true); anObject(Attributes); if(IE8_DOM_DEFINE)try { return dP(O, P, Attributes); } catch(e){ /* empty */ } if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!'); if('value' in Attributes)O[P] = Attributes.value; return O; }; /***/ }), /* 12 */ /***/ (function(module, exports, __webpack_require__) { // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = __webpack_require__(46) , defined = __webpack_require__(23); module.exports = function(it){ return IObject(defined(it)); }; /***/ }), /* 13 */ /***/ (function(module, exports) { module.exports = function(exec){ try { return !!exec(); } catch(e){ return true; } }; /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { var dP = __webpack_require__(11) , createDesc = __webpack_require__(20); module.exports = __webpack_require__(8) ? function(object, key, value){ return dP.f(object, key, createDesc(1, value)); } : function(object, key, value){ object[key] = value; return object; }; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { var store = __webpack_require__(31)('wks') , uid = __webpack_require__(21) , Symbol = __webpack_require__(7).Symbol , USE_SYMBOL = typeof Symbol == 'function'; var $exports = module.exports = function(name){ return store[name] || (store[name] = USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); }; $exports.store = store; /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(17); module.exports = function(it){ if(!isObject(it))throw TypeError(it + ' is not an object!'); return it; }; /***/ }), /* 17 */ /***/ (function(module, exports) { module.exports = function(it){ return typeof it === 'object' ? it !== null : typeof it === 'function'; }; /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.14 / 15.2.3.14 Object.keys(O) var $keys = __webpack_require__(51) , enumBugKeys = __webpack_require__(24); module.exports = Object.keys || function keys(O){ return $keys(O, enumBugKeys); }; /***/ }), /* 19 */ /***/ (function(module, exports) { exports.f = {}.propertyIsEnumerable; /***/ }), /* 20 */ /***/ (function(module, exports) { module.exports = function(bitmap, value){ return { enumerable : !(bitmap & 1), configurable: !(bitmap & 2), writable : !(bitmap & 4), value : value }; }; /***/ }), /* 21 */ /***/ (function(module, exports) { var id = 0 , px = Math.random(); module.exports = function(key){ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); }; /***/ }), /* 22 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(3); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(0); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(1); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(5); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(4); var _inherits3 = _interopRequireDefault(_inherits2); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Explicit = function (_Base) { (0, _inherits3.default)(Explicit, _Base); function Explicit() { var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; (0, _classCallCheck3.default)(this, Explicit); // automate loading template...put into base? constructor takes type? var _this = (0, _possibleConstructorReturn3.default)(this, (Explicit.__proto__ || (0, _getPrototypeOf2.default)(Explicit)).call(this)); _this.attributes = { type: "explicit", value: value }; return _this; } (0, _createClass3.default)(Explicit, [{ key: "value", value: function value(val) { this.attributes.value = val; return this; } }]); return Explicit; }(_base2.default); exports.default = Explicit; module.exports = exports["default"]; /***/ }), /* 23 */ /***/ (function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) module.exports = function(it){ if(it == undefined)throw TypeError("Can't call method on " + it); return it; }; /***/ }), /* 24 */ /***/ (function(module, exports) { // IE 8- don't enum bug keys module.exports = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' ).split(','); /***/ }), /* 25 */ /***/ (function(module, exports) { module.exports = {}; /***/ }), /* 26 */ /***/ (function(module, exports) { module.exports = true; /***/ }), /* 27 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) var anObject = __webpack_require__(16) , dPs = __webpack_require__(84) , enumBugKeys = __webpack_require__(24) , IE_PROTO = __webpack_require__(30)('IE_PROTO') , Empty = function(){ /* empty */ } , PROTOTYPE = 'prototype'; // Create object with fake `null` prototype: use iframe Object with cleared prototype var createDict = function(){ // Thrash, waste and sodomy: IE GC bug var iframe = __webpack_require__(44)('iframe') , i = enumBugKeys.length , lt = '<' , gt = '>' , iframeDocument; iframe.style.display = 'none'; __webpack_require__(77).appendChild(iframe); iframe.src = 'javascript:'; // eslint-disable-line no-script-url // createDict = iframe.contentWindow.Object; // html.removeChild(iframe); iframeDocument = iframe.contentWindow.document; iframeDocument.open(); iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); iframeDocument.close(); createDict = iframeDocument.F; while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; return createDict(); }; module.exports = Object.create || function create(O, Properties){ var result; if(O !== null){ Empty[PROTOTYPE] = anObject(O); result = new Empty; Empty[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill result[IE_PROTO] = O; } else result = createDict(); return Properties === undefined ? result : dPs(result, Properties); }; /***/ }), /* 28 */ /***/ (function(module, exports) { exports.f = Object.getOwnPropertySymbols; /***/ }), /* 29 */ /***/ (function(module, exports, __webpack_require__) { var def = __webpack_require__(11).f , has = __webpack_require__(10) , TAG = __webpack_require__(15)('toStringTag'); module.exports = function(it, tag, stat){ if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); }; /***/ }), /* 30 */ /***/ (function(module, exports, __webpack_require__) { var shared = __webpack_require__(31)('keys') , uid = __webpack_require__(21); module.exports = function(key){ return shared[key] || (shared[key] = uid(key)); }; /***/ }), /* 31 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(7) , SHARED = '__core-js_shared__' , store = global[SHARED] || (global[SHARED] = {}); module.exports = function(key){ return store[key] || (store[key] = {}); }; /***/ }), /* 32 */ /***/ (function(module, exports) { // 7.1.4 ToInteger var ceil = Math.ceil , floor = Math.floor; module.exports = function(it){ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; /***/ }), /* 33 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.13 ToObject(argument) var defined = __webpack_require__(23); module.exports = function(it){ return Object(defined(it)); }; /***/ }), /* 34 */ /***/ (function(module, exports, __webpack_require__) { // 7.1.1 ToPrimitive(input [, PreferredType]) var isObject = __webpack_require__(17); // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string module.exports = function(it, S){ if(!isObject(it))return it; var fn, val; if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val; if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; throw TypeError("Can't convert object to primitive value"); }; /***/ }), /* 35 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(7) , core = __webpack_require__(6) , LIBRARY = __webpack_require__(26) , wksExt = __webpack_require__(36) , defineProperty = __webpack_require__(11).f; module.exports = function(name){ var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)}); }; /***/ }), /* 36 */ /***/ (function(module, exports, __webpack_require__) { exports.f = __webpack_require__(15); /***/ }), /* 37 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(3); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(0); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(1); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(5); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(4); var _inherits3 = _interopRequireDefault(_inherits2); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); var _function = __webpack_require__(38); var _function2 = _interopRequireDefault(_function); var _setExpression = __webpack_require__(40); var _setExpression2 = _interopRequireDefault(_setExpression); var _explicit = __webpack_require__(22); var _explicit2 = _interopRequireDefault(_explicit); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Aggregation = function (_qFunction) { (0, _inherits3.default)(Aggregation, _qFunction); function Aggregation() { var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; (0, _classCallCheck3.default)(this, Aggregation); // automate loading template...put into base? constructor takes type? var _this = (0, _possibleConstructorReturn3.default)(this, (Aggregation.__proto__ || (0, _getPrototypeOf2.default)(Aggregation)).call(this)); _this.attributes = { type: "aggr", value: value, qualifiers: [], set: new _setExpression2.default(), parameters: [] }; _this.parsableProps = ["qualifiers", "set", "parameters"]; return _this; } (0, _createClass3.default)(Aggregation, [{ key: "type", value: function type(val) { this.attributes.value = val; return this; } // QUALIFIERS }, { key: "addQualifier", value: function addQualifier(qualifier) { return this.addAttribute("qualifiers", qualifier); } }, { key: "getQualifiers", value: function getQualifiers() { return this.getAttributes("qualifiers"); } }, { key: "removeQualifier", value: function removeQualifier(qualifier) { return this.removeAttribute("qualifiers", qualifier); } }, { key: "removeQualifierByIndex", value: function removeQualifierByIndex(index) { return this.removeAttributeByIndex("qualifiers", index); } // SET }, { key: "set", value: function set(setExpression) { this.attributes.set = setExpression; return this; } }]); return Aggregation; }(_function2.default); exports.default = Aggregation; module.exports = exports["default"]; /***/ }), /* 38 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(3); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(0); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(1); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(5); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(4); var _inherits3 = _interopRequireDefault(_inherits2); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); var _explicit = __webpack_require__(22); var _explicit2 = _interopRequireDefault(_explicit); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var qFunction = function (_Base) { (0, _inherits3.default)(qFunction, _Base); function qFunction() { var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var parameters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; (0, _classCallCheck3.default)(this, qFunction); // automate loading template...put into base? constructor takes type? var _this = (0, _possibleConstructorReturn3.default)(this, (qFunction.__proto__ || (0, _getPrototypeOf2.default)(qFunction)).call(this)); _this.attributes = { type: "function", value: name, parameters: parameters }; _this.parsableProps = ["parameters"]; return _this; } (0, _createClass3.default)(qFunction, [{ key: "name", value: function name(val) { this.attributes.value = val; return this; } // PARAMETERS }, { key: "addParameter", value: function addParameter(param) { var value; if (param instanceof _base2.default) value = param;else value = new _explicit2.default(param); return this.addAttribute("parameters", value); } }, { key: "getParameters", value: function getParameters() { return this.getAttributes("parameters"); } }, { key: "removeParameter", value: function removeParameter(param) { return this.removeAttribute("parameters", param); } }, { key: "removeParameterByIndex", value: function removeParameterByIndex(index) { return this.removeAttributeByIndex("parameters", index); } }, { key: "setParameterByIndex", value: function setParameterByIndex(param, index) { var value; if (param instanceof _base2.default) value = param;else value = new _explicit2.default(param); return this.setAttributeByIndex("parameters", value, index); } }]); return qFunction; }(_base2.default); exports.default = qFunction; module.exports = exports["default"]; /***/ }), /* 39 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(3); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(0); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(1); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(5); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(4); var _inherits3 = _interopRequireDefault(_inherits2); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Qualifier = function (_Base) { (0, _inherits3.default)(Qualifier, _Base); function Qualifier() { var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var modifiers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; (0, _classCallCheck3.default)(this, Qualifier); // automate loading template...put into base? constructor takes type? var _this = (0, _possibleConstructorReturn3.default)(this, (Qualifier.__proto__ || (0, _getPrototypeOf2.default)(Qualifier)).call(this)); _this.attributes = { type: "qualifier", value: name, included: true, modifiers: modifiers }; return _this; } (0, _createClass3.default)(Qualifier, [{ key: "name", value: function name(val) { this.attributes.value = val; return this; } }, { key: "included", value: function included(bool) { this.attributes.included = bool; return this; } }, { key: "modifiers", value: function modifiers(arr) { this.attributes.modifiers = arr; return this; } }]); return Qualifier; }(_base2.default); exports.default = Qualifier; module.exports = exports["default"]; /***/ }), /* 40 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(3); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(0); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(1); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(5); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(4); var _inherits3 = _interopRequireDefault(_inherits2); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var SetExpression = function (_Base) { (0, _inherits3.default)(SetExpression, _Base); function SetExpression() { (0, _classCallCheck3.default)(this, SetExpression); // automate loading template...put into base? constructor takes type? var _this = (0, _possibleConstructorReturn3.default)(this, (SetExpression.__proto__ || (0, _getPrototypeOf2.default)(SetExpression)).call(this)); _this.attributes = { type: "set-expression", components: [], operators: [] }; _this.parsableProps = ["components"]; return _this; } // COMPONENTS // set component initializes initial component (0, _createClass3.default)(SetExpression, [{ key: "setComponent", value: function setComponent(_setComponent) { this.attributes.components = [_setComponent]; this.attributes.operators = []; return this; } }, { key: "addSetComponent", value: function addSetComponent(setComponent, operator) { return this.addAttribute("components", setComponent).addAttribute("operators", operator); } }, { key: "getSetComponents", value: function getSetComponents() { return this.getAttributes("components"); } }, { key: "getSetComponentOperator", value: function getSetComponentOperator(setComponent) { var index = this.getSetComponents().find(function (sC) { return sC === setComponent; }); return this.getAttributes("operators")[index - 1]; } }, { key: "removeSetComponent", value: function removeSetComponent(setComponent) { var index = this.getSetComponents().find(function (sC) { return sC === setComponent; }); this.removeAttribute("components", setComponent); this.attributes.operators.splice(index - 1, 1); return this; } }, { key: "removeSetComponentByIndex", value: function removeSetComponentByIndex(index) { return this.removeSetComponent(this.attributes.components[index]); } // ADDING COMPONENTS WITH OPERATORS }, { key: "union", value: function union(setComponent) { return this.addSetComponent(setComponent, "+"); } }, { key: "exclusion", value: function exclusion(setComponent) { return this.addSetComponent(setComponent, "-"); } }, { key: "intersection", value: function intersection(setComponent) { return this.addSetComponent(setComponent, "*"); } }, { key: "xor", value: function xor(setComponent) { return this.addSetComponent(setComponent, "/"); } }]); return SetExpression; }(_base2.default); exports.default = SetExpression; module.exports = exports["default"]; /***/ }), /* 41 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; exports.__esModule = true; var _iterator = __webpack_require__(65); var _iterator2 = _interopRequireDefault(_iterator); var _symbol = __webpack_require__(64); var _symbol2 = _interopRequireDefault(_symbol); var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { return typeof obj === "undefined" ? "undefined" : _typeof(obj); } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); }; /***/ }), /* 42 */ /***/ (function(module, exports) { var toString = {}.toString; module.exports = function(it){ return toString.call(it).slice(8, -1); }; /***/ }), /* 43 */ /***/ (function(module, exports, __webpack_require__) { // optional / simple context binding var aFunction = __webpack_require__(73); module.exports = function(fn, that, length){ aFunction(fn); if(that === undefined)return fn; switch(length){ case 1: return function(a){ return fn.call(that, a); }; case 2: return function(a, b){ return fn.call(that, a, b); }; case 3: return function(a, b, c){ return fn.call(that, a, b, c); }; } return function(/* ...args */){ return fn.apply(that, arguments); }; }; /***/ }), /* 44 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(17) , document = __webpack_require__(7).document // in old IE typeof document.createElement is 'object' , is = isObject(document) && isObject(document.createElement); module.exports = function(it){ return is ? document.createElement(it) : {}; }; /***/ }), /* 45 */ /***/ (function(module, exports, __webpack_require__) { module.exports = !__webpack_require__(8) && !__webpack_require__(13)(function(){ return Object.defineProperty(__webpack_require__(44)('div'), 'a', {get: function(){ return 7; }}).a != 7; }); /***/ }), /* 46 */ /***/ (function(module, exports, __webpack_require__) { // fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = __webpack_require__(42); module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ return cof(it) == 'String' ? it.split('') : Object(it); }; /***/ }), /* 47 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var LIBRARY = __webpack_require__(26) , $export = __webpack_require__(9) , redefine = __webpack_require__(52) , hide = __webpack_require__(14) , has = __webpack_require__(10) , Iterators = __webpack_require__(25) , $iterCreate = __webpack_require__(79) , setToStringTag = __webpack_require__(29) , getPrototypeOf = __webpack_require__(50) , ITERATOR = __webpack_require__(15)('iterator') , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` , FF_ITERATOR = '@@iterator' , KEYS = 'keys' , VALUES = 'values'; var returnThis = function(){ return this; }; module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ $iterCreate(Constructor, NAME, next); var getMethod = function(kind){ if(!BUGGY && kind in proto)return proto[kind]; switch(kind){ case KEYS: return function keys(){ return new Constructor(this, kind); }; case VALUES: return function values(){ return new Constructor(this, kind); }; } return function entries(){ return new Constructor(this, kind); }; }; var TAG = NAME + ' Iterator' , DEF_VALUES = DEFAULT == VALUES , VALUES_BUG = false , proto = Base.prototype , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] , $default = $native || getMethod(DEFAULT) , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined , $anyNative = NAME == 'Array' ? proto.entries || $native : $native , methods, key, IteratorPrototype; // Fix native if($anyNative){ IteratorPrototype = getPrototypeOf($anyNative.call(new Base)); if(IteratorPrototype !== Object.prototype){ // Set @@toStringTag to native iterators setToStringTag(IteratorPrototype, TAG, true); // fix for some old engines if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); } } // fix Array#{values, @@iterator}.name in V8 / FF if(DEF_VALUES && $native && $native.name !== VALUES){ VALUES_BUG = true; $default = function values(){ return $native.call(this); }; } // Define iterator if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ hide(proto, ITERATOR, $default); } // Plug for library Iterators[NAME] = $default; Iterators[TAG] = returnThis; if(DEFAULT){ methods = { values: DEF_VALUES ? $default : getMethod(VALUES), keys: IS_SET ? $default : getMethod(KEYS), entries: $entries }; if(FORCED)for(key in methods){ if(!(key in proto))redefine(proto, key, methods[key]); } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); } return methods; }; /***/ }), /* 48 */ /***/ (function(module, exports, __webpack_require__) { var pIE = __webpack_require__(19) , createDesc = __webpack_require__(20) , toIObject = __webpack_require__(12) , toPrimitive = __webpack_require__(34) , has = __webpack_require__(10) , IE8_DOM_DEFINE = __webpack_require__(45) , gOPD = Object.getOwnPropertyDescriptor; exports.f = __webpack_require__(8) ? gOPD : function getOwnPropertyDescriptor(O, P){ O = toIObject(O); P = toPrimitive(P, true); if(IE8_DOM_DEFINE)try { return gOPD(O, P); } catch(e){ /* empty */ } if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); }; /***/ }), /* 49 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) var $keys = __webpack_require__(51) , hiddenKeys = __webpack_require__(24).concat('length', 'prototype'); exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ return $keys(O, hiddenKeys); }; /***/ }), /* 50 */ /***/ (function(module, exports, __webpack_require__) { // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var has = __webpack_require__(10) , toObject = __webpack_require__(33) , IE_PROTO = __webpack_require__(30)('IE_PROTO') , ObjectProto = Object.prototype; module.exports = Object.getPrototypeOf || function(O){ O = toObject(O); if(has(O, IE_PROTO))return O[IE_PROTO]; if(typeof O.constructor == 'function' && O instanceof O.constructor){ return O.constructor.prototype; } return O instanceof Object ? ObjectProto : null; }; /***/ }), /* 51 */ /***/ (function(module, exports, __webpack_require__) { var has = __webpack_require__(10) , toIObject = __webpack_require__(12) , arrayIndexOf = __webpack_require__(75)(false) , IE_PROTO = __webpack_require__(30)('IE_PROTO'); module.exports = function(object, names){ var O = toIObject(object) , i = 0 , result = [] , key; for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); // Don't enum bug & hidden keys while(names.length > i)if(has(O, key = names[i++])){ ~arrayIndexOf(result, key) || result.push(key); } return result; }; /***/ }), /* 52 */ /***/ (function(module, exports, __webpack_require__) { module.exports = __webpack_require__(14); /***/ }), /* 53 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(3); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(0); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(1); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(5); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(4); var _inherits3 = _interopRequireDefault(_inherits2); var _aggregation = __webpack_require__(37); var _aggregation2 = _interopRequireDefault(_aggregation); var _qualifier = __webpack_require__(39); var _qualifier2 = _interopRequireDefault(_qualifier); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Sum = function (_Aggregation) { (0, _inherits3.default)(Sum, _Aggregation); function Sum() { var param = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; (0, _classCallCheck3.default)(this, Sum); var _this = (0, _possibleConstructorReturn3.default)(this, (Sum.__proto__ || (0, _getPrototypeOf2.default)(Sum)).call(this, "sum")); _this.addParameter(param); _this.$$ = {}; _this.$$.totalQualifier = new _qualifier2.default("TOTAL").included(false); _this.$$.distinctQualifier = new _qualifier2.default("DISTINCT").included(false); _this.addQualifier(_this.$$.totalQualifier).addQualifier(_this.$$.distinctQualifier); return _this; } (0, _createClass3.default)(Sum, [{ key: "total", value: function total() { var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; if (arr === false) this.$$.totalQualifier.included(false);else { this.$$.totalQualifier.included(true).modifiers(arr); } return this; } }, { key: "distinct", value: function distinct(bool) { if (bool === false) this.$$.distinctQualifier.included(false);else this.$$.distinctQualifier.included(true); return this; } }, { key: "expr", value: function expr(val) { this.setParameterByIndex(val, 0); return this; } }]); return Sum; }(_aggregation2.default); // named modifiers like in d3-force? exports.default = Sum; module.exports = exports["default"]; /***/ }), /* 54 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototypeOf = __webpack_require__(3); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = __webpack_require__(0); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = __webpack_require__(1); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = __webpack_require__(5); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = __webpack_require__(4); var _inherits3 = _interopRequireDefault(_inherits2); var _base = __webpack_require__(2); var _base2 = _interopRequireDefault(_base); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Group = function (_Base) { (0, _inherits3.default)(Group, _Base); function Group() { var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var operators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; (0, _classCallCheck3.default)(this, Group); // automate loading template...put into base? constructor takes type? var _this = (0, _possibleConstructorReturn3.default)(this, (Group.__proto__ || (0, _getPrototypeOf2.default)(Group)).call(this)); _this.attributes = { type: "group", brackets: false, value: value, operators: operators }; _this.parsableProps = ["value"]; return _this; } (0, _createClass3.default)(Group, [{ key: "brackets", value: function brackets(val) { this.attributes.brackets = val; return this; } // ITEMS }, { key: "addItem", value: function addItem(item) { var operator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; return this.addAttribute("value", item).addAttribute("operators", operator); } }, { key: "getItems", value: function getItems() { return this.getAttributes("value"); } }, { key: "getItemOperator", value: function getItemOperator(item) { var index = this.getItems().find(function (i) { return i === item; }); return this.getAttributes("operators")[index]; } }, { key: "removeItem", value: function removeItem(item) { var index = this.getItems().find(function (i) { return i === item; }); this.removeAttribute("value", item); this.attributes.operators.splice(index, 1); return this; } }, { key: "removeItemByIndex", value: function removeItemByIndex(index) { return this.removeItem(this.attributes.value[index]); } }]); return Group; }(_base2.default); exports.default = Group; module.exports = exports["default"]; /***/ }), /* 55 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _getPrototype