@tripetto/block-calculator
Version:
Calculator block for Tripetto.
2 lines • 16.2 kB
JavaScript
/*! Tripetto Calculator Block 4.0.6 - Copyright (C) 2024 Tripetto B.V. - All Rights Reserved */
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("TripettoRunner")):"function"==typeof define&&define.amd?define("TripettoBlockCalculator",["TripettoRunner"],t):"object"==typeof exports?exports.TripettoBlockCalculator=t(require("TripettoRunner")):e.TripettoBlockCalculator=t(e.TripettoRunner)}(this,(function(e){return function(){"use strict";var t={466:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.calculateAgeInYears=t.calculateAgeInMonths=void 0;var n=r(294);t.calculateAgeInMonths=function(e,t){var r=new Date(n.Num.min(e,t)),a=new Date(n.Num.max(e,t));return(12*(a.getFullYear()-r.getFullYear())+(a.getMonth()-r.getMonth())-(a.getDate()-r.getDate()<0?1:0))*(e>t?-1:1)},t.calculateAgeInYears=function(e,t){var r=new Date(n.Num.min(e,t)),a=new Date(n.Num.max(e,t)),i=a.getMonth()-r.getMonth(),o=a.getFullYear()-r.getFullYear();return(i<0||0===i&&a.getDate()<r.getDate())&&o--,o*(e>t?-1:1)}},865:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.convertAngle=t.convertToRadians=void 0,t.convertToRadians=function(e,t){switch(t){case"radians":return e;case"gradians":return e*(Math.PI/200);default:return e*(Math.PI/180)}},t.convertAngle=function(e,t){switch(t){case"radians":return e;case"gradians":return e*(200/Math.PI);default:return e*(180/Math.PI)}}},583:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.calculator=void 0;var n=r(294),a=r(865),i=r(466),o=r(907),u=r(508),s=r(680);function c(e,t,r,a){if((0,n.isString)(e)){var i=(0,s.getConstant)(e,r);if((0,n.isNumberFinite)(i))return i;var o=a(e);return o&&o.hasValue&&(o.slot instanceof n.Slots.Number||o.slot instanceof n.Slots.Numeric||o.slot instanceof n.Slots.Date)?o.slot.toValue(o.value):void 0}return(0,n.isNumberFinite)(e)?e:t}function l(e,t){return(0,n.isNumberFinite)(e)?t(e):void 0}function f(e,t,r,s,v,d,b){var h,m=0;switch(r.opcode){case"abs":m=l(c(r.value,s,e,v),(function(e){return Math.abs(e)}));break;case"acos":m=l(c(r.value,s,e,v),(function(e){return(0,a.convertAngle)(Math.acos(e),r.angleUnits)}));break;case"acosh":m=l(c(r.value,s,e,v),(function(e){return Math.acosh(e)}));break;case"age":m=function(){var t=(0,n.isFilledString)(r.value)&&v(r.value);if(t&&t.hasValue&&t.slot instanceof n.Slots.Date){var a=c(r.reference,n.DateTime.UTC,e,v),o=t.slot.toValue(t.value);if((0,n.isNumberFinite)(a)){var u=t.slot.toValue(a);switch(r.ageIn){case"milliseconds":return u-o;case"seconds":return n.Num.floor((u-o)/1e3);case"minutes":return n.Num.floor((u-o)/6e4);case"hours":return n.Num.floor((u-o)/36e5);case"days":return n.Num.floor((u-o)/864e5);case"months":return(0,i.calculateAgeInMonths)(o,u);default:return(0,i.calculateAgeInYears)(o,u)}}}}(),r.ageAbs&&(0,n.isNumberFinite)(m)&&(m=Math.abs(m));break;case"asin":m=l(c(r.value,s,e,v),(function(e){return(0,a.convertAngle)(Math.asin(e),r.angleUnits)}));break;case"asinh":m=l(c(r.value,s,e,v),(function(e){return Math.asinh(e)}));break;case"atan":m=l(c(r.value,s,e,v),(function(e){return(0,a.convertAngle)(Math.atan(e),r.angleUnits)}));break;case"atanh":m=l(c(r.value,s,e,v),(function(e){return Math.atanh(e)}));break;case"boolean":m=function(){var t=(0,n.isFilledString)(r.value)&&v(r.value);if(t&&t.slot instanceof n.Slots.Boolean)return c(t.hasValue&&!0===t.value?r.outa:r.outb,s,e,v)}();break;case"calc":var g=b&&b(r.id);r.operations&&r.operations.length>0&&(m=s,(0,n.each)(r.operations,(function(t){(0,n.isNumberFinite)(m)&&(m=f(e,t.operator,t,m,v,d,b))}))),g&&g.set(m);break;case"cast":h=(0,n.isFilledString)(r.value)&&v(r.value),m=h&&h.hasValue?(0,n.castToFloat)(h.string):0;break;case"ceil":m=l(c(r.value,s,e,v),(function(e){return n.Num.ceil(e)}));break;case"chars":m=function(){var e=(0,n.isFilledString)(r.value)&&v(r.value);return e&&e.hasValue?e.string.length:0}();break;case"clamp":m=l(c(r.value,s,e,v),(function(t){var a=c(r.min,s,e,v),i=c(r.max,s,e,v);return t=(0,n.isNumberFinite)(a)?n.Num.max(t,a):t,(0,n.isNumberFinite)(i)?n.Num.min(t,i):t}));break;case"cos":m=l(c(r.value,s,e,v),(function(e){return Math.cos((0,a.convertToRadians)(e,r.angleUnits))}));break;case"cosh":m=l(c(r.value,s,e,v),(function(e){return Math.cosh(e)}));break;case"count":m=function(){var e=(0,n.isFilledString)(r.value)&&v(r.value)||void 0;return e?e.refs.length:0}();break;case"date":case"datetime":m=function(){var t=function(e){if((0,n.isNumberFinite)(e)){var t=new Date(e);return"datetime"===r.opcode?(t.setUTCSeconds(0),t.setUTCMilliseconds(0)):(t.setUTCHours(0),t.setUTCMinutes(0),t.setUTCSeconds(0),t.setUTCMilliseconds(0)),t.getTime()}},a=n.DateTime.UTC,i=t(c(r.value,a,e,v)),o=t(c(r.cona,a,e,v)),u=!1;switch(r.compareMode){case"equal":u=i===o;break;case"before":u=(0,n.isNumberFinite)(i)&&(0,n.isNumberFinite)(o)&&i<o;break;case"after":u=(0,n.isNumberFinite)(i)&&(0,n.isNumberFinite)(o)&&i>o;break;case"between":var l=c(r.conb,a,e,v);u=(0,n.isNumberFinite)(i)&&(0,n.isNumberFinite)(o)&&(0,n.isNumberFinite)(l)&&i>=n.Num.min(o,l)&&i<=n.Num.max(o,l);break;case"defined":u=(0,n.isNumberFinite)(i)}return c(u?r.outa:r.outb,s,e,v)}();break;case"day-of-month":case"day-of-week":case"hour":case"millisecond":case"minute":case"month":case"second":case"year":m=function(){var e=(0,n.isFilledString)(r.value)&&v(r.value);if(e&&e.hasValue&&e.slot instanceof n.Slots.Date){var t=e.slot.toDate(e.value);switch(r.opcode){case"year":return t.getUTCFullYear();case"month":return t.getUTCMonth()+1;case"day-of-month":return t.getUTCDate();case"day-of-week":return t.getUTCDay();case"hour":return t.getUTCHours();case"minute":return t.getUTCMinutes();case"second":return t.getUTCSeconds();case"millisecond":return t.getUTCMilliseconds()}}}();break;case"equation":m=function(){var t=c(r.value,s,e,v),a=c(r.cona,s,e,v),i=!1;switch(r.compareMode){case"equal":i=t===a;break;case"below":i=(0,n.isNumberFinite)(t)&&(0,n.isNumberFinite)(a)&&t<a;break;case"above":i=(0,n.isNumberFinite)(t)&&(0,n.isNumberFinite)(a)&&t>a;break;case"between":var o=c(r.conb,s,e,v);i=(0,n.isNumberFinite)(t)&&(0,n.isNumberFinite)(a)&&(0,n.isNumberFinite)(o)&&t>=n.Num.min(a,o)&&t<=n.Num.max(a,o);break;case"defined":i=(0,n.isNumberFinite)(t)}return c(i?r.outa:r.outb,s,e,v)}();break;case"evaluate":m=function(){var t,a=!1,i=(0,n.isFilledString)(r.value)&&v(r.value);if(i&&i.hasValue){var o=r.ignoreCase?n.Str.lowercase(i.string):i.string,u=(t=d((0,n.isFilledString)(r.cona)?r.cona:""),r.ignoreCase?n.Str.lowercase(t):t);switch(r.compareMode){case"equal":a=o===u;break;case"contains":a=u&&-1!==o.indexOf(u)||!1;break;case"starts":a=u&&0===o.indexOf(u)||!1;break;case"ends":a=u&&o.length>=u.length&&o.lastIndexOf(u)===o.length-u.length||!1;break;case"defined":a=""!==o}}return c(a?r.outa:r.outb,s,e,v)}();break;case"exp":m=l(c(r.exponent,s,e,v),(function(e){return Math.exp(e)}));break;case"fact":m=l(c(r.value,s,e,v),u.factorial);break;case"floor":m=l(c(r.value,s,e,v),(function(e){return n.Num.floor(e)}));break;case"gamma":m=l(c(r.value,s,e,v),o.gamma);break;case"lines":m=function(){var e=(0,n.isFilledString)(r.value)&&v(r.value);return e&&e.hasValue&&e.string&&e.string.split("\n").length||0}();break;case"ln":m=l(c(r.value,s,e,v),(function(e){return Math.log(e)}));break;case"log":m=l(c(r.value,s,e,v),(function(e){return Math.log10(e)}));break;case"max":m=l(c(r.value,s,e,v),(function(t){var a=c(r.max,s,e,v);return(0,n.isNumberFinite)(a)?n.Num.max(t,a):t}));break;case"min":m=l(c(r.value,s,e,v),(function(t){var a=c(r.min,s,e,v);return(0,n.isNumberFinite)(a)?n.Num.min(t,a):t}));break;case"mod":m=l(c(r.value,s,e,v),(function(t){var a=c(r.divisor,s,e,v);return(0,n.isNumberFinite)(a)&&0!==a?t%a:void 0}));break;case"number":m=c(r.value,s,e,v);break;case"occurrences":m=function(){var e=(0,n.isFilledString)(r.value)&&v(r.value);if(e&&e.hasValue){if("regex"!==r.compareMode){var t=(0,n.isFilledString)(r.cona)&&(r.ignoreCase?n.Str.lowercase(r.cona):r.cona)||"",a=r.ignoreCase?n.Str.lowercase(e.string):e.string;return t&&a?a.split(t).length-1:0}try{var i=(0,n.isFilledString)(r.cona)&&r.cona||"",o=i.indexOf("/"),u=i.lastIndexOf("/");return 0===o&&u>o&&function(e){try{return(e.match(new RegExp(i.substring(1,u),i.substr(u+1)))||[]).length}catch(e){return 0}}(e.string)||0}catch(e){return 0}}return 0}();break;case"percentage":m=l(c(r.value,s,e,v),(function(t){var a=c(r.percentage,s,e,v);return(0,n.isNumberFinite)(a)?t/100*a:void 0}));break;case"pow":m=l(c(r.value,s,e,v),(function(t){var a=c(r.exponent,s,e,v);return(0,n.isNumberFinite)(a)?Math.pow(t,a):void 0}));break;case"round":m=l(c(r.value,s,e,v),(function(e){return n.Num.round(e)}));break;case"score":m=function(){var e=(0,n.isFilledString)(r.value)&&v(r.value)||void 0;if(e&&r.scores){var t=0;return(0,n.each)(e.refs,(function(e){t+=r.scores[e]||0})),t}}();break;case"sgn":m=l(c(r.value,s,e,v),(function(e){return Math.sign(e)}));break;case"sin":m=l(c(r.value,s,e,v),(function(e){return Math.sin((0,a.convertToRadians)(e,r.angleUnits))}));break;case"sinh":m=l(c(r.value,s,e,v),(function(e){return Math.sinh(e)}));break;case"sqrt":m=l(c(r.value,s,e,v),(function(e){return Math.sqrt(e)}));break;case"square":m=l(c(r.value,s,e,v),(function(e){return e*e}));break;case"sum":m=function(){var e=(0,n.isFilledString)(r.value)&&v(r.value)||void 0;return e?(0,n.castToFloat)(e.value):void 0}();break;case"tan":m=l(c(r.value,s,e,v),(function(e){return Math.tan((0,a.convertToRadians)(e,r.angleUnits))}));break;case"tanh":m=l(c(r.value,s,e,v),(function(e){return Math.tanh(e)}));break;case"trunc":m=l(c(r.value,s,e,v),(function(e){return Math.trunc(e)}));break;case"words":m=function(){var e=(0,n.isFilledString)(r.value)&&v(r.value);return e&&e.hasValue?e.string.split(" ").filter((function(e){return""!==e})).length:0}();break;default:return}switch(t){case"+":return(0,n.isNumberFinite)(s)||(0,n.isNumberFinite)(m)?(s||0)+(m||0):void 0;case"-":return(0,n.isNumberFinite)(s)||(0,n.isNumberFinite)(m)?(s||0)-(m||0):void 0;case"*":return(0,n.isNumberFinite)(s)&&(0,n.isNumberFinite)(m)?s*m:void 0;case"/":return(0,n.isNumberFinite)(s)&&(0,n.isNumberFinite)(m)&&0!==m?s/m:void 0;case"=":return m}}t.calculator=function(e,t,r,a,i,o,u){var s=r&&r.hasValue?r.slot.toValue(r.value):void 0;if(!r||(0,n.isNumberFinite)(s)){var c=(0,n.arraySize)(t);if(c>0){r||(s=0);for(var l=0;l<c;l++){var v=t[l],d=0!==l||r?v.operator:"=";if(s=f(e,d,v,s,i,o,u),!(0,n.isNumberFinite)(s)&&("*"===d||"/"===d))break}}}return a&&a.set(s),s}},407:function(e,t,r){var n,a=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),i=this&&this.__decorate||function(e,t,r,n){var a,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(a=e[u])&&(o=(i<3?a(o):i>3?a(t,r,o):a(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o};Object.defineProperty(t,"__esModule",{value:!0}),t.CalculatorCondition=void 0;var o=r(294),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return a(t,e),t.prototype.getValue=function(e,t){if((0,o.isString)(t)&&e instanceof o.Slots.Numeric){var r=this.variableFor(t);return r&&r.hasValue?e.toValue(r.value):void 0}return(0,o.isNumberFinite)(t)?t:void 0},t.prototype.verify=function(){var e=this.valueOf();if(e){var t=this.getValue(e.slot,this.props.value);switch(this.props.mode){case"equal":return(e.hasValue?e.value:void 0)===t;case"not-equal":return(e.hasValue?e.value:void 0)!==t;case"below":return(0,o.isNumberFinite)(t)&&e.hasValue&&e.value<t;case"above":return(0,o.isNumberFinite)(t)&&e.hasValue&&e.value>t;case"between":case"not-between":var r=this.getValue(e.slot,this.props.to);return(0,o.isNumberFinite)(t)&&(0,o.isNumberFinite)(r)&&(e.hasValue&&e.value>=o.Num.min(t,r)&&e.value<=o.Num.max(t,r))===("between"===this.props.mode);case"defined":return e.hasValue;case"undefined":return!e.hasValue}}return!1},i([o.condition],t.prototype,"verify",null),t=i([(0,o.tripetto)({type:"condition",legacyBlock:!0,identifier:"@tripetto/block-calculator"})],t)}(o.ConditionBlock);t.CalculatorCondition=u},680:function(e,t){function r(e){if("string"==typeof e)for(var r=t.CONSTANTS.length,n=0;n<r;n++)if(t.CONSTANTS[n]===e)return!0;return!1}Object.defineProperty(t,"__esModule",{value:!0}),t.getConstant=t.castToConstant=t.isConstant=t.CONSTANTS=void 0,t.CONSTANTS=["π","e","γ","c","random","timestamp","year","month","day","day-of-week","hour","minute","second","millisecond","timezone","branch"],t.isConstant=r,t.castToConstant=function(e){return"string"==typeof e&&r(e)?e:"π"},t.getConstant=function(e,t){switch(e){case"π":return Math.PI;case"e":return Math.E;case"γ":return.5772156649015329;case"c":return 299792458;case"random":return Math.random();case"timestamp":return Date.now()/1e3;case"year":return(new Date).getFullYear();case"month":return(new Date).getMonth()+1;case"day":return(new Date).getDate();case"day-of-week":return(new Date).getDay();case"hour":return(new Date).getHours();case"minute":return(new Date).getMinutes();case"second":return(new Date).getSeconds();case"millisecond":return(new Date).getMilliseconds();case"timezone":return 60*(new Date).getTimezoneOffset()*1e3;case"branch":return t.index}}},508:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.factorial=void 0;var n=r(294),a=r(907);t.factorial=function(e){if(e>=0){if(0===e)return 1;if(e<1)return(0,a.gamma)(e+1);for(var t=0,r=1;r<=e;r++){if(!(0,n.isNumberFinite)(t))return;t+=Math.log(r)}return Math.exp(t)}}},907:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.gamma=void 0;var n=r(294);t.gamma=function e(t){if(t>0){if(t>=.5){var r=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=r[0];t--;for(var i=1;i<9;i++)a+=r[i]/(t+i);var o=t+7.5;return Math.sqrt(2*Math.PI)*Math.pow(o,t+.5)*Math.exp(-o)*a}var u=e(1-t);return(0,n.isNumberFinite)(u)?Math.PI/(Math.sin(Math.PI*t)*u):void 0}}},856:function(e,t,r){var n,a=this&&this.__extends||(n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},n(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),i=this&&this.__decorate||function(e,t,r,n){var a,i=arguments.length,o=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var u=e.length-1;u>=0;u--)(a=e[u])&&(o=(i<3?a(o):i>3?a(t,r,o):a(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o};Object.defineProperty(t,"__esModule",{value:!0}),t.Calculator=t.calculator=void 0;var o=r(294),u=r(583);r(407);var s=r(583);Object.defineProperty(t,"calculator",{enumerable:!0,get:function(){return s.calculator}});var c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.calculatorSlot=(0,o.assert)(t.valueOf("calculator")),t}return a(t,e),t.prototype.do=function(){var e=this;(0,u.calculator)(this.context,this.props.operations||[],void 0,this.calculatorSlot,(function(t){return e.variableFor(t)}),(function(t){return e.parseVariables(t)}),(function(t){return e.valueOf(t,"dynamic")}))},t=i([(0,o.tripetto)({type:"headless",legacyBlock:!0,identifier:"@tripetto/block-calculator"})],t)}(o.HeadlessBlock);t.Calculator=c},294:function(t){t.exports=e}},r={};var n=function e(n){var a=r[n];if(void 0!==a)return a.exports;var i=r[n]={exports:{}};return t[n].call(i.exports,i,i.exports,e),i.exports}(856);return n}()}));