skaggr-parse
Version:
A JavaScript parser of skaggr JSON specs for Qlik expressions
1,399 lines (1,169 loc) • 34 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define("skaggrParse", [], factory);
else if(typeof exports === 'object')
exports["skaggrParse"] = factory();
else
root["skaggrParse"] = 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 = 23);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {
var core = module.exports = {version: '2.4.0'};
if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
/***/ }),
/* 1 */
/***/ (function(module, exports) {
module.exports = function(exec){
try {
return !!exec();
} catch(e){
return true;
}
};
/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {
// Thank's IE8 for his funny defineProperty
module.exports = !__webpack_require__(1)(function(){
return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
});
/***/ }),
/* 3 */
/***/ (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
/***/ }),
/* 4 */
/***/ (function(module, exports) {
module.exports = function(it){
return typeof it === 'object' ? it !== null : typeof it === 'function';
};
/***/ }),
/* 5 */
/***/ (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;
};
/***/ }),
/* 6 */
/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(3)
, core = __webpack_require__(0)
, ctx = __webpack_require__(32)
, hide = __webpack_require__(36)
, 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;
/***/ }),
/* 7 */
/***/ (function(module, exports, __webpack_require__) {
// fallback for non-array-like ES3 and non-enumerable old V8 strings
var cof = __webpack_require__(31);
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
return cof(it) == 'String' ? it.split('') : Object(it);
};
/***/ }),
/* 8 */
/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
var $keys = __webpack_require__(41)
, enumBugKeys = __webpack_require__(34);
module.exports = Object.keys || function keys(O){
return $keys(O, enumBugKeys);
};
/***/ }),
/* 9 */
/***/ (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);
};
/***/ }),
/* 10 */
/***/ (function(module, exports, __webpack_require__) {
// to indexed object, toObject with fallback for non-array-like ES3 strings
var IObject = __webpack_require__(7)
, defined = __webpack_require__(5);
module.exports = function(it){
return IObject(defined(it));
};
/***/ }),
/* 11 */
/***/ (function(module, exports, __webpack_require__) {
// 7.1.13 ToObject(argument)
var defined = __webpack_require__(5);
module.exports = function(it){
return Object(defined(it));
};
/***/ }),
/* 12 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseAggr;
function parseAggr(spec, parser) {
// Init string
var str = "";
// Add type
str += spec.value + "(";
// Add set
str += parser(spec.set);
/*
if(spec.set.length > 0) {
str += "{";
spec.set.forEach((setComponent, i) => {
if(i > 0) str += ` ${setComponent.operator} `;
str += parser(setComponent);
});
str +="} "
}
*/
// Add qualifiers
spec.qualifiers.forEach(function (qualifier, i) {
str += "" + parser(qualifier);
});
// Add parameters
spec.parameters.forEach(function (param, i) {
if (i > 0) str += ", ";
str += parser(param);
});
str += ")";
return str;
}
module.exports = exports["default"];
/***/ }),
/* 13 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseExplicit;
function parseExplicit(spec) {
return spec.value;
}
module.exports = exports["default"];
/***/ }),
/* 14 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseFunction;
function parseFunction(spec, parser) {
// Init string
var str = "";
// Add function name
str += spec.value + "(";
var parameters = [];
// Add parameters
if (spec.parameters.length > 0) {
spec.parameters.forEach(function (parameter, i) {
parameters.push(parser(parameter));
});
}
str += parameters.join(", ") + ")";
return str;
}
module.exports = exports["default"];
/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseGroup;
function parseGroup(spec, parser) {
// Init values
var values = spec.brackets ? ["(", ")"] : ["", ""];
// Add values
if (spec.value.length > 0) {
spec.value.forEach(function (value, i) {
values.splice(-1, 0, "" + spec.operators[i]);
values.splice(-1, 0, parser(value));
});
}
return values.join("");
}
module.exports = exports["default"];
/***/ }),
/* 16 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseQualifier;
function parseQualifier(spec, parser) {
// Init string
var str = "";
if (spec.included) {
// Add value
str += spec.value;
// Add modifiers
if (spec.modifiers.length > 0) {
str += "<" + spec.modifiers.join(",") + ">";
}
str += " ";
}
return str;
}
module.exports = exports["default"];
/***/ }),
/* 17 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseSetComponent;
function parseSetComponent(spec, parser) {
// Init string
var str = "";
// Add identifier
str += spec.identifier;
// Add modifiers
if (spec.modifiers.length > 0) {
str += "<";
var mods = [];
spec.modifiers.forEach(function (setModifier, i) {
mods.push(parser(setModifier));
});
str += mods.join(", ") + ">";
}
return str;
}
module.exports = exports["default"];
/***/ }),
/* 18 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseSetExpression;
function parseSetExpression(spec, parser) {
// Init string
var str = "";
// Add components
if (spec.components.length > 0) {
str += "{";
spec.components.forEach(function (setComponent, i) {
if (i > 0) str += " " + spec.operators[i - 1] + " ";
str += "" + parser(setComponent);
});
str += "} ";
}
return str;
}
module.exports = exports["default"];
/***/ }),
/* 19 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseSetField;
function parseSetField(spec, parser) {
// Init string
var str = "";
// Add field
str += spec.value;
return str;
}
module.exports = exports["default"];
/***/ }),
/* 20 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseSetList;
function parseSetList(spec, parser) {
// Init string
var str = "{";
// Add set list
str += spec.value.join(",") + "}";
return str;
}
module.exports = exports["default"];
/***/ }),
/* 21 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = parseSetModifier;
function parseSetModifier(spec, parser) {
// Init string
var str = "";
// Add forced exclusion
if (spec.forcedExclusion) str += "~";
// Add field
str += spec.field;
// Add operator
str += " " + spec.operator + " ";
// Add selections
if (spec.selections.length > 0) {
spec.selections.forEach(function (setSelection, i) {
if (i > 0) str += " " + spec.selectionOperators[i - 1] + " ";
str += parser(setSelection);
});
}
return str;
}
module.exports = exports["default"];
/***/ }),
/* 22 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _assign = __webpack_require__(24);
var _assign2 = _interopRequireDefault(_assign);
var _keys = __webpack_require__(25);
var _keys2 = _interopRequireDefault(_keys);
exports.default = fillSpecFromTemplate;
var _index = __webpack_require__(53);
var _index2 = _interopRequireDefault(_index);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function fillSpecFromTemplate(spec) {
var templateSpec = _index2.default[spec.type];
var template = (0, _keys2.default)(templateSpec.properties).reduce(function (acc, curr) {
acc[curr] = templateSpec.properties[curr].defaultValue;
return acc;
}, {});
return (0, _assign2.default)(template, spec);
}
module.exports = exports["default"];
/***/ }),
/* 23 */
/***/ (function(module, exports, __webpack_require__) {
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _aggr = __webpack_require__(12);
var _aggr2 = _interopRequireDefault(_aggr);
var _explicit = __webpack_require__(13);
var _explicit2 = _interopRequireDefault(_explicit);
var _qualifier = __webpack_require__(16);
var _qualifier2 = _interopRequireDefault(_qualifier);
var _setExpression = __webpack_require__(18);
var _setExpression2 = _interopRequireDefault(_setExpression);
var _setComponent = __webpack_require__(17);
var _setComponent2 = _interopRequireDefault(_setComponent);
var _setModifier = __webpack_require__(21);
var _setModifier2 = _interopRequireDefault(_setModifier);
var _setField = __webpack_require__(19);
var _setField2 = _interopRequireDefault(_setField);
var _setList = __webpack_require__(20);
var _setList2 = _interopRequireDefault(_setList);
var _group = __webpack_require__(15);
var _group2 = _interopRequireDefault(_group);
var _function = __webpack_require__(14);
var _function2 = _interopRequireDefault(_function);
var _fillSpec = __webpack_require__(22);
var _fillSpec2 = _interopRequireDefault(_fillSpec);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var skaggrParse = function skaggrParse(spec) {
var filledSpec = (0, _fillSpec2.default)(spec);
var value;
switch (spec.type) {
case "aggr":
value = (0, _aggr2.default)(filledSpec, skaggrParse);
break;
case "explicit":
value = (0, _explicit2.default)(filledSpec, skaggrParse);
break;
case "qualifier":
value = (0, _qualifier2.default)(filledSpec, skaggrParse);
break;
case "set-expression":
value = (0, _setExpression2.default)(filledSpec, skaggrParse);
break;
case "set-component":
value = (0, _setComponent2.default)(filledSpec, skaggrParse);
break;
case "set-modifier":
value = (0, _setModifier2.default)(filledSpec, skaggrParse);
break;
case "set-field":
value = (0, _setField2.default)(filledSpec, skaggrParse);
break;
case "set-list":
value = (0, _setList2.default)(filledSpec, skaggrParse);
break;
case "group":
value = (0, _group2.default)(filledSpec, skaggrParse);
break;
case "function":
value = (0, _function2.default)(filledSpec, skaggrParse);
break;
default:
value = "";
break;
}
return value;
};
exports.default = skaggrParse;
module.exports = exports["default"];
/***/ }),
/* 24 */
/***/ (function(module, exports, __webpack_require__) {
module.exports = { "default": __webpack_require__(26), __esModule: true };
/***/ }),
/* 25 */
/***/ (function(module, exports, __webpack_require__) {
module.exports = { "default": __webpack_require__(27), __esModule: true };
/***/ }),
/* 26 */
/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(51);
module.exports = __webpack_require__(0).Object.assign;
/***/ }),
/* 27 */
/***/ (function(module, exports, __webpack_require__) {
__webpack_require__(52);
module.exports = __webpack_require__(0).Object.keys;
/***/ }),
/* 28 */
/***/ (function(module, exports) {
module.exports = function(it){
if(typeof it != 'function')throw TypeError(it + ' is not a function!');
return it;
};
/***/ }),
/* 29 */
/***/ (function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(4);
module.exports = function(it){
if(!isObject(it))throw TypeError(it + ' is not an object!');
return it;
};
/***/ }),
/* 30 */
/***/ (function(module, exports, __webpack_require__) {
// false -> Array#indexOf
// true -> Array#includes
var toIObject = __webpack_require__(10)
, toLength = __webpack_require__(48)
, toIndex = __webpack_require__(47);
module.exports = function(IS_INCLUDES){
return function($this, el, fromIndex){
var O = toIObject($this)
, length = toLength(O.length)
, index = toIndex(fromIndex, length)
, value;
// Array#includes uses SameValueZero equality algorithm
if(IS_INCLUDES && el != el)while(length > index){
value = O[index++];
if(value != value)return true;
// Array#toIndex ignores holes, Array#includes - not
} else for(;length > index; index++)if(IS_INCLUDES || index in O){
if(O[index] === el)return IS_INCLUDES || index || 0;
} return !IS_INCLUDES && -1;
};
};
/***/ }),
/* 31 */
/***/ (function(module, exports) {
var toString = {}.toString;
module.exports = function(it){
return toString.call(it).slice(8, -1);
};
/***/ }),
/* 32 */
/***/ (function(module, exports, __webpack_require__) {
// optional / simple context binding
var aFunction = __webpack_require__(28);
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);
};
};
/***/ }),
/* 33 */
/***/ (function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(4)
, document = __webpack_require__(3).document
// in old IE typeof document.createElement is 'object'
, is = isObject(document) && isObject(document.createElement);
module.exports = function(it){
return is ? document.createElement(it) : {};
};
/***/ }),
/* 34 */
/***/ (function(module, exports) {
// IE 8- don't enum bug keys
module.exports = (
'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'
).split(',');
/***/ }),
/* 35 */
/***/ (function(module, exports) {
var hasOwnProperty = {}.hasOwnProperty;
module.exports = function(it, key){
return hasOwnProperty.call(it, key);
};
/***/ }),
/* 36 */
/***/ (function(module, exports, __webpack_require__) {
var dP = __webpack_require__(39)
, createDesc = __webpack_require__(44);
module.exports = __webpack_require__(2) ? function(object, key, value){
return dP.f(object, key, createDesc(1, value));
} : function(object, key, value){
object[key] = value;
return object;
};
/***/ }),
/* 37 */
/***/ (function(module, exports, __webpack_require__) {
module.exports = !__webpack_require__(2) && !__webpack_require__(1)(function(){
return Object.defineProperty(__webpack_require__(33)('div'), 'a', {get: function(){ return 7; }}).a != 7;
});
/***/ }),
/* 38 */
/***/ (function(module, exports, __webpack_require__) {
;
// 19.1.2.1 Object.assign(target, source, ...)
var getKeys = __webpack_require__(8)
, gOPS = __webpack_require__(40)
, pIE = __webpack_require__(42)
, toObject = __webpack_require__(11)
, IObject = __webpack_require__(7)
, $assign = Object.assign;
// should work with symbols and should have deterministic property order (V8 bug)
module.exports = !$assign || __webpack_require__(1)(function(){
var A = {}
, B = {}
, S = Symbol()
, K = 'abcdefghijklmnopqrst';
A[S] = 7;
K.split('').forEach(function(k){ B[k] = k; });
return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
}) ? function assign(target, source){ // eslint-disable-line no-unused-vars
var T = toObject(target)
, aLen = arguments.length
, index = 1
, getSymbols = gOPS.f
, isEnum = pIE.f;
while(aLen > index){
var S = IObject(arguments[index++])
, keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)
, length = keys.length
, j = 0
, key;
while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];
} return T;
} : $assign;
/***/ }),
/* 39 */
/***/ (function(module, exports, __webpack_require__) {
var anObject = __webpack_require__(29)
, IE8_DOM_DEFINE = __webpack_require__(37)
, toPrimitive = __webpack_require__(49)
, dP = Object.defineProperty;
exports.f = __webpack_require__(2) ? 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;
};
/***/ }),
/* 40 */
/***/ (function(module, exports) {
exports.f = Object.getOwnPropertySymbols;
/***/ }),
/* 41 */
/***/ (function(module, exports, __webpack_require__) {
var has = __webpack_require__(35)
, toIObject = __webpack_require__(10)
, arrayIndexOf = __webpack_require__(30)(false)
, IE_PROTO = __webpack_require__(45)('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;
};
/***/ }),
/* 42 */
/***/ (function(module, exports) {
exports.f = {}.propertyIsEnumerable;
/***/ }),
/* 43 */
/***/ (function(module, exports, __webpack_require__) {
// most Object methods by ES6 should accept primitives
var $export = __webpack_require__(6)
, core = __webpack_require__(0)
, fails = __webpack_require__(1);
module.exports = function(KEY, exec){
var fn = (core.Object || {})[KEY] || Object[KEY]
, exp = {};
exp[KEY] = exec(fn);
$export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);
};
/***/ }),
/* 44 */
/***/ (function(module, exports) {
module.exports = function(bitmap, value){
return {
enumerable : !(bitmap & 1),
configurable: !(bitmap & 2),
writable : !(bitmap & 4),
value : value
};
};
/***/ }),
/* 45 */
/***/ (function(module, exports, __webpack_require__) {
var shared = __webpack_require__(46)('keys')
, uid = __webpack_require__(50);
module.exports = function(key){
return shared[key] || (shared[key] = uid(key));
};
/***/ }),
/* 46 */
/***/ (function(module, exports, __webpack_require__) {
var global = __webpack_require__(3)
, SHARED = '__core-js_shared__'
, store = global[SHARED] || (global[SHARED] = {});
module.exports = function(key){
return store[key] || (store[key] = {});
};
/***/ }),
/* 47 */
/***/ (function(module, exports, __webpack_require__) {
var toInteger = __webpack_require__(9)
, max = Math.max
, min = Math.min;
module.exports = function(index, length){
index = toInteger(index);
return index < 0 ? max(index + length, 0) : min(index, length);
};
/***/ }),
/* 48 */
/***/ (function(module, exports, __webpack_require__) {
// 7.1.15 ToLength
var toInteger = __webpack_require__(9)
, min = Math.min;
module.exports = function(it){
return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
};
/***/ }),
/* 49 */
/***/ (function(module, exports, __webpack_require__) {
// 7.1.1 ToPrimitive(input [, PreferredType])
var isObject = __webpack_require__(4);
// 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");
};
/***/ }),
/* 50 */
/***/ (function(module, exports) {
var id = 0
, px = Math.random();
module.exports = function(key){
return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
};
/***/ }),
/* 51 */
/***/ (function(module, exports, __webpack_require__) {
// 19.1.3.1 Object.assign(target, source)
var $export = __webpack_require__(6);
$export($export.S + $export.F, 'Object', {assign: __webpack_require__(38)});
/***/ }),
/* 52 */
/***/ (function(module, exports, __webpack_require__) {
// 19.1.2.14 Object.keys(O)
var toObject = __webpack_require__(11)
, $keys = __webpack_require__(8);
__webpack_require__(43)('keys', function(){
return function keys(it){
return $keys(toObject(it));
};
});
/***/ }),
/* 53 */
/***/ (function(module, exports, __webpack_require__) {
module.exports = {
aggr: __webpack_require__(54),
explicit: __webpack_require__(55),
function: __webpack_require__(56),
group: __webpack_require__(57),
qualifier: __webpack_require__(58),
"set-expression": __webpack_require__(60),
"set-component": __webpack_require__(59),
"set-field": __webpack_require__(61),
"set-list": __webpack_require__(62),
"set-modifier": __webpack_require__(63)
}
/***/ }),
/* 54 */
/***/ (function(module, exports) {
module.exports = {
"properties": {
"type": {
"type": "string",
"defaultValue": "aggr",
"optional": false,
"description": "The type"
},
"value": {
"type": "string",
"optional": false,
"description": "Name of the aggr function"
},
"qualifiers": {
"type": "Array",
"arrayType": "qualifier",
"optional": false,
"defaultValue": [],
"description": "An array of qualifiers to include in the aggregation function"
},
"set-expression": {
"type": "set-expression",
"optional": false,
"defaultValue": {
"type": "set-expression",
"components": [],
"operators": []
},
"description": "A set expression"
},
"parameters": {
"type": "Array",
"arrayType": "any",
"optional": false,
"defaultValue": [],
"description": "Parameters for the aggregation function"
}
}
};
/***/ }),
/* 55 */
/***/ (function(module, exports) {
module.exports = {
"properties": {
"type": {
"type": "string",
"defaultValue": "explicit",
"optional": false,
"description": "The type"
},
"value": {
"type": "string",
"optional": false,
"defaultValue": "",
"description": "The string value to pass through"
}
}
};
/***/ }),
/* 56 */
/***/ (function(module, exports) {
module.exports = {
"properties": {
"type": {
"type": "string",
"defaultValue": "function",
"optional": false,
"description": "The type"
},
"value": {
"type": "string",
"optional": false,
"defaultValue": "",
"description": "The name of the function"
},
"parameters": {
"type": "array",
"arrayType": "any",
"optional": false,
"defaultValue": [],
"description": "Array of parameters"
}
}
};
/***/ }),
/* 57 */
/***/ (function(module, exports) {
module.exports = {
"properties": {
"type": {
"type": "string",
"defaultValue": "group",
"optional": false,
"description": "The type"
},
"brackets": {
"type": "boolean",
"defaultValue": false,
"optional": true,
"description": "If true, wraps group in '()'"
},
"value": {
"type": "Array",
"arrayType": "any",
"defaultValue": [],
"optional": false,
"description": "Array of values to group"
},
"operators": {
"type": "Array",
"arrayType": "string",
"defaultValue": [],
"optional": false,
"description": "Array of operators"
}
}
};
/***/ }),
/* 58 */
/***/ (function(module, exports) {
module.exports = {
"properties": {
"type": {
"type": "string",
"defaultValue": "qualifier",
"optional": false,
"description": "The type"
},
"value": {
"type": "string",
"optional": false,
"defaultValue": "",
"description": "Name of the qualifier"
},
"included": {
"type": "Boolean",
"optional": false,
"defaultValue": true,
"description": "If true, qualifier will be included"
},
"modifiers": {
"type": "Array",
"arrayType": "string",
"optional": true,
"defaultValue": [],
"description": "Field names to modify the qualifier with"
}
}
};
/***/ }),
/* 59 */
/***/ (function(module, exports) {
module.exports = {
"properties": {
"type": {
"type": "string",
"defaultValue": "set-component",
"optional": false,
"description": "The type"
},
"identifier": {
"type": "string",
"optional": false,
"defaultValue": "$",
"description": "Name of the identifier"
},
"operator": {
"type": "string",
"optional": false,
"defaultValue": "+",
"description": "Operator when using multiple set-components"
},
"modifiers": {
"type": "Array",
"arrayType": "set-modifier",
"optional": false,
"defaultValue": [],
"description": "Set modifiers"
}
}
};
/***/ }),
/* 60 */
/***/ (function(module, exports) {
module.exports = {
"properties": {
"type": {
"type": "string",
"defaultValue": "set-expression",
"optional": false,
"description": "The type"
},
"components": {
"type": "Array",
"arrayType": "set-component",
"optional": false,
"defaultValue": [],
"description": "Array of set components"
},
"operators": {
"type": "Array",
"arrayType": "string",
"optional": false,
"defaultValue": [],
"description": "Operators for combining components"
}
}
};
/***/ }),
/* 61 */
/***/ (function(module, exports) {
module.exports = {
"properties": {
"type": {
"type": "string",
"defaultValue": "set-field",
"optional": false,
"description": "The type"
},
"value": {
"type": "string",
"optional": true,
"defaultValue": "",
"description": "Name of the field"
}
}
};
/***/ }),
/* 62 */
/***/ (function(module, exports) {
module.exports = {
"properties": {
"type": {
"type": "string",
"defaultValue": "set-list",
"optional": false,
"description": "The type"
},
"value": {
"type": "array",
"arrayType": "string",
"optional": false,
"defaultValue": [],
"description": "List of values for the set-list"
}
}
};
/***/ }),
/* 63 */
/***/ (function(module, exports) {
module.exports = {
"properties": {
"type": {
"type": "string",
"defaultValue": "set-modifier",
"optional": false,
"description": "The type"
},
"field": {
"type": "string",
"optional": false,
"defaultValue": "",
"description": "Name of the field"
},
"operator": {
"type": "string",
"optional": true,
"defaultValue": "=",
"description": "Operator for field modification"
},
"forcedExclusion": {
"type": "boolean",
"optional": true,
"defaultValue": false,
"description": "If true, uses forced exclusion on field"
},
"selections": {
"type": "Array",
"arrayType": "any",
"optional": false,
"defaultValue": [],
"description": "Array of selections"
},
"selectionOperators": {
"type": "Array",
"arrayType": "string",
"optional": false,
"defaultValue": [],
"description": "Array of operators"
}
}
};
/***/ })
/******/ ]);
});