{"version":3,"sources":["webpack:///./src/assets/js/expression.js"],"names":["operators","require","expressionRegex","Expression","expression","allVariables","Object","_home_runner_work_ICRobotics_ICRobotics_Sites_App_robotics_app_node_modules_babel_runtime_corejs2_helpers_esm_classCallCheck_js__WEBPACK_IMPORTED_MODULE_4__","this","_home_runner_work_ICRobotics_ICRobotics_Sites_App_robotics_app_node_modules_babel_runtime_corejs2_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_6__","isStandard","extractExpressionComponents","customExpression","_home_runner_work_ICRobotics_ICRobotics_Sites_App_robotics_app_node_modules_babel_runtime_corejs2_helpers_esm_createClass_js__WEBPACK_IMPORTED_MODULE_5__","key","get","leftHandVariable","name","operator","rightHandVariable","rightHandConstant","length","value","arguments","undefined","groups","Array","from","matchAll","console","log","setLeftHand","setOperator","setRightHand","content","Vue","set","_this","find","o","validFor","indexOf","type","toLowerCase"],"mappings":"mOACMA,EAAYC,EAAQ,QACpBC,EAAkB,8BAElBC,EAAU,WAOf,SAAAA,EAAaC,EAAYC,GAAcC,OAAAC,EAAA,KAAAD,CAAAE,KAAAL,GAAAG,OAAAG,EAAA,KAAAH,CAAAE,KAAA,mBANpB,MAAIF,OAAAG,EAAA,KAAAH,CAAAE,KAAA,WACZ,MAAIF,OAAAG,EAAA,KAAAH,CAAAE,KAAA,oBACK,MAAIF,OAAAG,EAAA,KAAAH,CAAAE,KAAA,oBACJ,MAAIF,OAAAG,EAAA,KAAAH,CAAAE,KAAA,mBACL,MAGlB,IAAIE,EAAaF,KAAKG,4BAA4BP,EAAYC,GACzDK,IAAYF,KAAKI,iBAAmBR,GAgEzC,OA/DAE,OAAAO,EAAA,KAAAP,CAAAH,EAAA,EAAAW,IAAA,aAAAC,IAED,WACC,OAAQP,KAAKQ,iBAAmBR,KAAKQ,iBAAiBC,KAAO,KAAOT,KAAKU,SAAWV,KAAKU,SAASD,KAAO,OAAQT,KAAKW,mBAAoBX,KAAKW,kBAAkBF,MAAiBT,KAAKY,mBAAqB,MAC5M,CAAAN,IAAA,UAAAC,IAED,WACC,OAAOP,KAAKQ,kBAAoBR,KAAKU,WAAaV,KAAKW,mBAAgD,MAA1BX,KAAKY,mBAA6BZ,KAAKY,kBAAkBC,UAGvI,CAAAP,IAAA,8BAAAQ,MACA,WAA2D,IAA/BlB,EAAUmB,UAAAF,OAAA,QAAAG,IAAAD,UAAA,GAAAA,UAAA,GAAG,GAAIlB,EAAYkB,UAAAF,OAAA,EAAAE,UAAA,QAAAC,EAEpDC,EAASC,MAAMC,KAAKvB,EAAWwB,SAAS1B,IAC5C,OAAKuB,EAAOJ,QAAUI,EAAOJ,QAA8B,GAApBI,EAAO,GAAGJ,QAAeQ,QAAQC,IAAI,uBAAyB1B,IAAoB,IAExHqB,EAASA,EAAO,KACXjB,KAAKuB,YAAYN,EAAO,GAAIpB,OAC5BG,KAAKwB,YAAYP,EAAO,GAAIjB,KAAKQ,qBACjCR,KAAKyB,aAAaR,EAAO,GAAIpB,OAGnC,CAAAS,IAAA,cAAAQ,MAED,SAAaY,EAAS7B,GACrB,OAAIA,EAAa6B,IAChBC,OAAIC,IAAI5B,KAAM,mBAAoBH,EAAa6B,KACxC,IAEPL,QAAQC,IAAI,mDAAqDI,IAC1D,KAER,CAAApB,IAAA,cAAAQ,MAED,SAAaY,GAAS,IAAAG,EAAA7B,KACjBU,EAAWlB,EAAUsC,KAAK,SAAAC,GAAC,OAAIA,EAAEtB,OAASiB,GAAWK,EAAEC,SAASC,QAAQJ,EAAKrB,iBAAiB0B,KAAKC,gBAAkB,IACzH,OAAIzB,GACHiB,OAAIC,IAAI5B,KAAM,WAAYU,IACnB,IAEPW,QAAQC,IAAI,0DAA4DtB,KAAKQ,iBAAiB0B,KAAO,cAAgBR,IAC9G,KAER,CAAApB,IAAA,eAAAQ,MAED,SAAcY,EAAS7B,GACtB,OAAIA,EAAa6B,IAChB1B,KAAKY,kBAAoB,KACzBe,OAAIC,IAAI5B,KAAM,oBAAqBH,EAAa6B,KACzC,IAEPC,OAAIC,IAAI5B,KAAM,oBAAqB,MACnC2B,OAAIC,IAAI5B,KAAM,oBAAqB0B,IAC5B,KAER,CAAApB,IAAA,sBAAAQ,MAED,SAAqBlB,GACpBI,KAAKI,iBAAmBR,EACxBI,KAAKQ,iBAAmB,KACxBR,KAAKU,SAAW,KAChBV,KAAKW,kBAAoB,KACzBX,KAAKY,kBAAoB,SACzBjB,EAzEc,GA4EDA","file":"js/lazy-view-assets-js-expression.0d5490bb.js","sourcesContent":["import Vue from 'vue'\nconst operators = require('@/assets/js/operators.json')\nconst expressionRegex = /({.*})(>=|!=|<=|=|>|<)(.*)/g\n\nclass Expression {\n\tleftHandVariable = null\n\toperator = null\n\trightHandVariable = null\n\trightHandConstant = null\n\tcustomExpression = null\n\t\n\tconstructor (expression, allVariables) {\n\t\tlet isStandard = this.extractExpressionComponents(expression, allVariables)\n\t\tif (!isStandard) this.customExpression = expression\n\t}\n\n\tget expression () {\t\t\n\t\treturn (this.leftHandVariable ? this.leftHandVariable.name : '') + (this.operator ? this.operator.name : '') + ((this.rightHandVariable ? this.rightHandVariable.name : false) || this.rightHandConstant || '')\n\t}\n\n\tget isValid () {\n\t\treturn this.leftHandVariable && this.operator && (this.rightHandVariable || (this.rightHandConstant != null && this.rightHandConstant.length))\n\t}\n\n\t// split up each components of an expression\n\textractExpressionComponents(expression = '', allVariables) {\n\t\t// get groups\n\t\tlet groups = Array.from(expression.matchAll(expressionRegex))\n\t\tif (!groups.length || groups.length && groups[0].length != 4) { console.log('invalid expression: ' + expression); return false }\n\t\telse {\n\t\t\tgroups = groups[0]\n\t\t\tif (!this.setLeftHand(groups[1], allVariables)) return false\n\t\t\tif (!this.setOperator(groups[2], this.leftHandVariable)) return false\n\t\t\tif (!this.setRightHand(groups[3], allVariables)) return false\n\t\t\treturn true\n\t\t}\n\t}\n\n\tsetLeftHand (content, allVariables) {\n\t\tif (allVariables[content]) {\n\t\t\tVue.set(this, 'leftHandVariable', allVariables[content])\n\t\t\treturn true\n\t\t} else {\n\t\t\tconsole.log('invalid expression, left hand variable unknown: ' + content)\n\t\t\treturn false\n\t\t}\n\t}\n\n\tsetOperator (content) {\n\t\tlet operator = operators.find(o => o.name === content && o.validFor.indexOf(this.leftHandVariable.type.toLowerCase()) > -1)\n\t\tif (operator) {\n\t\t\tVue.set(this, 'operator', operator)\n\t\t\treturn true\n\t\t} else {\n\t\t\tconsole.log('invalid expression, invalid operator for variable type ' + this.leftHandVariable.type + ' provided: ' + content)\n\t\t\treturn false\n\t\t}\n\t}\n\n\tsetRightHand (content, allVariables) {\n\t\tif (allVariables[content]) {\n\t\t\tthis.rightHandConstant = null\n\t\t\tVue.set(this, 'rightHandVariable', allVariables[content])\n\t\t\treturn true\n\t\t} else {\n\t\t\tVue.set(this, 'rightHandVariable', null)\n\t\t\tVue.set(this, 'rightHandConstant', content)\n\t\t\treturn true\n\t\t}\n\t}\n\n\tsetCustomExpression (expression) {\n\t\tthis.customExpression = expression\n\t\tthis.leftHandVariable = null\n\t\tthis.operator = null\n\t\tthis.rightHandVariable = null\n\t\tthis.rightHandConstant = null\n\t}\n}\n\nexport default Expression"],"sourceRoot":""}