UNPKG

@extjs/sencha-cmd-linux-32

Version:

Productivity and performance optimization tool for building applications with Sencha Ext JS and Sencha Touch.

105 lines (89 loc) 3.6 kB
"use strict"; var Fashion = require('../export/Base.js'); var Numeric = require('../export/type/Numeric.js'); var Literal = require('../export/type/Literal.js'); module.exports = { init(runtime) { runtime.register({ percentage: function (value) { if (value == null || value.$isFashionNull) { return Literal.Null; } if (value.type != 'number' || value.getUnitStr()) { Fashion.raise(value + ' is not a unitless number for \'percentage\''); } return new Numeric(value.value * 100, '%'); }, round: function (value) { if (value == null || value.$isFashionNull) { return Literal.Null; } if (value.type !== 'number') { Fashion.raise(value + ' is not a number for \'round\''); } return new Numeric(Math.round(value.value), value.unit); }, ceil: function (value) { if (value == null || value.$isFashionNull) { return Literal.Null; } if (value.type !== 'number') { Fashion.raise(value + ' is not a number for \'ceil\''); } return new Numeric(Math.ceil(value.value), value.unit); }, floor: function (value) { if (value == null || value.$isFashionNull) { return Literal.Null; } if (value.type !== 'number') { Fashion.raise(value + ' is not a number for \'floor\''); } return new Numeric(Math.floor(value.value), value.unit); }, abs: function (value) { if (value == null || value.$isFashionNull) { return Literal.Null; } if (value.type !== 'number') { Fashion.raise(value + ' is not a number for \'abs\''); } return new Numeric(Math.abs(value.value), value.unit); }, min: function () { var args = this.sliceArgs(arguments), arg, i, min; for (i = 0; i < args.length; i++) { arg = args[i]; if (arg == null || arg.$isFashionNull) { return Literal.Null; } if (!arg || !arg.$isFashionNumber) { Fashion.raise(arg + ' is not a number for \'min\''); } if (!min || this.unbox(arg.operate('<', min))) { min = arg; } } return min && min.copy(); }, max: function (a, b) { var args = this.sliceArgs(arguments), arg, i, max; for (i = 0; i < args.length; i++) { arg = args[i]; if (arg == null || arg.$isFashionNull) { return Literal.Null; } if (!arg || !arg.$isFashionNumber) { Fashion.raise(arg + ' is not a number for \'max\''); } if (!max || this.unbox(arg.operate('>', max))) { max = arg; } } return max && max.copy(); } }); } };