transformation-matrix
Advanced tools
Comparing version 2.1.1 to 2.2.0
@@ -20,28 +20,2 @@ "use strict"; | ||
/** | ||
* Converts array of matrix descriptor to array of matrix | ||
* @param definitionOrArrayOfDefinition {Object[]} Array of object describing the matrix | ||
* @returns {Matrix[]} Array of matrix | ||
* | ||
* @example | ||
* > fromDefinition([ | ||
* { type: 'matrix', a:1, b:2, c:3, d:4, e:5, f:6 }, | ||
* { type: 'translate', tx: 10, ty: 20 }, | ||
* { type: 'scale', sx: 2, sy: 4 }, | ||
* { type: 'rotate', angle: 90, cx: 50, cy: 25 }, | ||
* { type: 'skewX', angle: 45 }, | ||
* { type: 'skewY', angle: 45 }, | ||
* { type: 'shear', shx: 10, shy: 20} | ||
* ]) | ||
* | ||
* [ | ||
* { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 }, | ||
* { a: 1, c: 0, e: 10, b: 0, d: 1, f: 20 }, | ||
* { a: 2, c: 0, e: 0, b: 0, d: 4, f: 0 }, | ||
* { a: 6.123, c: -1, e: 0, b: 1, d: 6.123, f: 0 }, | ||
* { a: 1, c: 0.99.., e: 0, b: 0, d: 1, f: 0 }, | ||
* { a: 1, c: 0, e: 0, b: 0.99, d: 1, f: 0 }, | ||
* { a: 1, c: 10, e: 0, b: 20, d: 1, f: 0 } | ||
* ] | ||
**/ | ||
function fromDefinition(definitionOrArrayOfDefinition) { | ||
@@ -48,0 +22,0 @@ return Array.isArray(definitionOrArrayOfDefinition) ? definitionOrArrayOfDefinition.map(mapper) : mapper(definitionOrArrayOfDefinition); |
@@ -10,21 +10,4 @@ "use strict"; | ||
/** | ||
* Parser for SVG Trasform Attribute http://www.w3.org/TR/SVG/coords.html#TransformAttribute <br/> | ||
* Warning: This should be considered BETA until it is released a stable version of pegjs. | ||
* @param transformString {string} Transform string as defined by w3 Consortium | ||
* @returns {Matrix[]} Array of MatrixDescriptor | ||
* | ||
* @example | ||
* > fromTransformAttribute('translate(-10,-10) scale(2,2) translate(10,10)') | ||
* [ | ||
* { type: 'translate', tx: -10, ty: -10}, | ||
* { type: 'scale', sx: 2, sy: 2 }, | ||
* { type: 'translate', tx: 10, ty: 10} | ||
* ] | ||
* | ||
* > compose(fromDefinition(fromTransformAttribute('translate(-10, -10) scale(10, 10)'))) | ||
* { a: 10, c: 0, e: -10, b: 0, d: 10, f: -10 } | ||
*/ | ||
function fromTransformAttribute(transformString) { | ||
return (0, _fromTransformAttribute.parse)(transformString); | ||
} |
@@ -14,9 +14,2 @@ "use strict"; | ||
/** | ||
* Returns a matrix that transforms a triangle t1 into another triangle t2, or throws an exception if it is impossible. | ||
* @param t1 {Point[]} Array of points containing the three points for the first triangle | ||
* @param t2 {Point[]} Array of points containing the three points for the second triangle | ||
* @returns {Matrix} Matrix which transforms t1 to t2 | ||
* @throws Exception if the matrix becomes not invertible | ||
*/ | ||
function fromTriangles(t1, t2) { | ||
@@ -23,0 +16,0 @@ // point p = first point of the triangle |
@@ -10,9 +10,4 @@ "use strict"; | ||
/** | ||
* Check if the object contain an affine matrix | ||
* @param object {Object} Generic Plain Object | ||
* @return {boolean} True if is an object and contains an affine matrix | ||
*/ | ||
function isAffineMatrix(object) { | ||
return (0, _utils.isObject)(object) && 'a' in object && (0, _utils.isNumeric)(object.a) && 'b' in object && (0, _utils.isNumeric)(object.b) && 'c' in object && (0, _utils.isNumeric)(object.c) && 'd' in object && (0, _utils.isNumeric)(object.d) && 'e' in object && (0, _utils.isNumeric)(object.e) && 'f' in object && (0, _utils.isNumeric)(object.f); | ||
} |
@@ -10,8 +10,2 @@ "use strict"; | ||
/** | ||
* Calculate a scaling matrix | ||
* @param sx {number} Scaling on axis x | ||
* @param [sy = sx] {number} Scaling on axis y (default sx) | ||
* @returns {Matrix} Affine Matrix | ||
*/ | ||
function scale(sx, sy = undefined) { | ||
@@ -18,0 +12,0 @@ if ((0, _utils.isUndefined)(sy)) sy = sx; |
@@ -11,3 +11,3 @@ "use strict"; | ||
* Merge multiple matrices into one | ||
* @param matrices {Matrix[]} Array of affine matrix | ||
* @param matrices {...Matrix | Matrix[]} Matrices listed as separate parameters or in an array | ||
* @returns {Matrix} Affine Matrix | ||
@@ -40,5 +40,7 @@ */ | ||
default: | ||
const [m1, m2, ...rest] = matrices; | ||
const m = multiply(m1, m2); | ||
return transform(m, ...rest); | ||
{ | ||
const [m1, m2, ...rest] = matrices; | ||
const m = multiply(m1, m2); | ||
return transform(m, ...rest); | ||
} | ||
} | ||
@@ -48,3 +50,3 @@ } | ||
* Merge multiple matrices into one | ||
* @param matrices {Matrix[]} Array of matrix | ||
* @param matrices {...Matrix | Matrix[]} Matrices listed as separate parameters or in an array | ||
* @returns {Matrix} Affine Matrix | ||
@@ -51,0 +53,0 @@ */ |
@@ -276,3 +276,3 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
* Merge multiple matrices into one | ||
* @param matrices {Matrix[]} Array of affine matrix | ||
* @param matrices {...Matrix | Matrix[]} Matrices listed as separate parameters or in an array | ||
* @returns {Matrix} Affine Matrix | ||
@@ -309,10 +309,12 @@ */ | ||
default: | ||
var _matrices = matrices, | ||
_matrices2 = _toArray(_matrices), | ||
m1 = _matrices2[0], | ||
m2 = _matrices2[1], | ||
rest = _matrices2.slice(2); | ||
{ | ||
var _matrices = matrices, | ||
_matrices2 = _toArray(_matrices), | ||
m1 = _matrices2[0], | ||
m2 = _matrices2[1], | ||
rest = _matrices2.slice(2); | ||
var m = multiply(m1, m2); | ||
return transform.apply(void 0, [m].concat(_toConsumableArray(rest))); | ||
var m = multiply(m1, m2); | ||
return transform.apply(void 0, [m].concat(_toConsumableArray(rest))); | ||
} | ||
} | ||
@@ -322,3 +324,3 @@ } | ||
* Merge multiple matrices into one | ||
* @param matrices {Matrix[]} Array of matrix | ||
* @param matrices {...Matrix | Matrix[]} Matrices listed as separate parameters or in an array | ||
* @returns {Matrix} Affine Matrix | ||
@@ -2272,3 +2274,3 @@ */ | ||
* @param transformString {string} Transform string as defined by w3 Consortium | ||
* @returns {Matrix[]} Array of MatrixDescriptor | ||
* @returns {MatrixDescriptor[]} Array of MatrixDescriptor | ||
* | ||
@@ -2275,0 +2277,0 @@ * @example |
@@ -1,2 +0,2 @@ | ||
!function(n,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.TransformationMatrix=r():n.TransformationMatrix=r()}(window,function(){return function(n){var r={};function t(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return n[e].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=n,t.c=r,t.d=function(n,r,e){t.o(n,r)||Object.defineProperty(n,r,{enumerable:!0,get:e})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,r){if(1&r&&(n=t(n)),8&r)return n;if(4&r&&"object"==typeof n&&n&&n.__esModule)return n;var e=Object.create(null);if(t.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:n}),2&r&&"string"!=typeof n)for(var o in n)t.d(e,o,function(r){return n[r]}.bind(null,o));return e},t.n=function(n){var r=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(r,"a",r),r},t.o=function(n,r){return Object.prototype.hasOwnProperty.call(n,r)},t.p="",t(t.s=0)}([function(n,r,t){"use strict";function e(n,r){return Array.isArray(r)?[n.a*r[0]+n.c*r[1]+n.e,n.b*r[0]+n.d*r[1]+n.f]:{x:n.a*r.x+n.c*r.y+n.e,y:n.b*r.x+n.d*r.y+n.f}}function o(n,r){return r.map(function(r){return e(n,r)})}function u(n){return{a:parseFloat(n.a),b:parseFloat(n.b),c:parseFloat(n.c),d:parseFloat(n.d),e:parseFloat(n.e),f:parseFloat(n.f)}}t.r(r);var i=/^matrix\(\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*\)$/i;function a(n){var r=n.match(i);if(null===r||r.length<7)throw new Error("'".concat(n,"' is not a matrix"));return{a:parseFloat(r[1]),b:parseFloat(r[2]),c:parseFloat(r[3]),d:parseFloat(r[4]),e:parseFloat(r[5]),f:parseFloat(r[6])}}function c(){return{a:1,c:0,e:0,b:0,d:1,f:0}}function f(n){var r=n.a,t=n.b,e=n.c,o=n.d,u=n.e,i=n.f,a=r*o-t*e;return{a:o/a,b:t/-a,c:e/-a,d:r/a,e:(o*u-e*i)/-a,f:(t*u-r*i)/a}}function s(n){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function l(n){return void 0===n}function p(n){return"number"==typeof n&&!Number.isNaN(n)&&Number.isFinite(n)}function d(n){return"object"===s(r=n)&&null!==r&&!Array.isArray(r)&&"a"in n&&p(n.a)&&"b"in n&&p(n.b)&&"c"in n&&p(n.c)&&"d"in n&&p(n.d)&&"e"in n&&p(n.e)&&"f"in n&&p(n.f);var r}function h(n){return{a:1,c:0,e:n,b:0,d:1,f:arguments.length>1&&void 0!==arguments[1]?arguments[1]:0}}function y(n){return function(n){if(Array.isArray(n)){for(var r=0,t=new Array(n.length);r<n.length;r++)t[r]=n[r];return t}}(n)||A(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function v(n){return function(n){if(Array.isArray(n))return n}(n)||A(n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function A(n){if(Symbol.iterator in Object(n)||"[object Arguments]"===Object.prototype.toString.call(n))return Array.from(n)}function b(){for(var n=arguments.length,r=new Array(n),t=0;t<n;t++)r[t]=arguments[t];var e=function(n,r){return{a:n.a*r.a+n.c*r.b,c:n.a*r.c+n.c*r.d,e:n.a*r.e+n.c*r.f+n.e,b:n.b*r.a+n.d*r.b,d:n.b*r.c+n.d*r.d,f:n.b*r.e+n.d*r.f+n.f}};switch((r=Array.isArray(r[0])?r[0]:r).length){case 0:throw new Error("no matrices provided");case 1:return r[0];case 2:return e(r[0],r[1]);default:var o=v(r),u=o[0],i=o[1],a=o.slice(2),c=e(u,i);return b.apply(void 0,[c].concat(y(a)))}}function x(){return b.apply(void 0,arguments)}var g=Math.cos,m=Math.sin,w=Math.PI;function M(n,r,t){var e=g(n),o=m(n),u={a:e,c:-o,e:0,b:o,d:e,f:0};return l(r)||l(t)?u:b([h(r,t),u,h(-r,-t)])}function S(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return M(n*w/180,r,t)}function _(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return l(r)&&(r=n),{a:n,c:0,e:0,b:0,d:r,f:0}}function C(n,r){return{a:1,c:n,e:0,b:r,d:1,f:0}}var E=Math.tan;function j(n,r){return{a:1,c:E(n),e:0,b:E(r),d:1,f:0}}function F(n,r){return j(n*Math.PI/180,r*Math.PI/180)}function I(n){return T(n)}function R(n){return T(n)}function T(n){return"matrix(".concat(n.a,",").concat(n.b,",").concat(n.c,",").concat(n.d,",").concat(n.e,",").concat(n.f,")")}function P(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e10;return{a:Math.round(n.a*r)/r,b:Math.round(n.b*r)/r,c:Math.round(n.c*r)/r,d:Math.round(n.d*r)/r,e:Math.round(n.e*r)/r,f:Math.round(n.f*r)/r}}function N(n,r){var t=null!=n[0].x?n[0].x:n[0][0],e=null!=n[0].y?n[0].y:n[0][1],o=null!=r[0].x?r[0].x:r[0][0],u=null!=r[0].y?r[0].y:r[0][1],i=null!=n[1].x?n[1].x:n[1][0],a=null!=n[1].y?n[1].y:n[1][1],c=null!=r[1].x?r[1].x:r[1][0],s=null!=r[1].y?r[1].y:r[1][1],l=null!=n[2].x?n[2].x:n[2][0],p=null!=n[2].y?n[2].y:n[2][1],d=null!=r[2].x?r[2].x:r[2][0],h=null!=r[2].y?r[2].y:r[2][1];return P(b([{a:o-d,b:u-h,c:c-d,d:s-h,e:d,f:h},f({a:t-l,b:e-p,c:i-l,d:a-p,e:l,f:p})]))}function O(n){return Array.isArray(n)?n.map(r):r(n);function r(n){switch(n.type){case"matrix":if("a"in n&&"b"in n&&"c"in n&&"d"in n&&"e"in n&&"f"in n)return u(n);throw new Error("MISSING_MANDATORY_PARAM");case"translate":if(!("tx"in n))throw new Error("MISSING_MANDATORY_PARAM");return"ty"in n?h(n.tx,n.ty):h(n.tx);case"scale":if(!("sx"in n))throw new Error("MISSING_MANDATORY_PARAM");return"sy"in n?_(n.sx,n.sy):_(n.sx);case"rotate":if(!("angle"in n))throw new Error("MISSING_MANDATORY_PARAM");return"cx"in n&&"cy"in n?S(n.angle,n.cx,n.cy):S(n.angle);case"skewX":if(!("angle"in n))throw new Error("MISSING_MANDATORY_PARAM");return F(n.angle,0);case"skewY":if(!("angle"in n))throw new Error("MISSING_MANDATORY_PARAM");return F(0,n.angle);case"shear":if(!("shx"in n&&"shy"in n))throw new Error("MISSING_MANDATORY_PARAM");return C(n.shx,n.shy);default:throw new Error("UNSUPPORTED_DESCRIPTOR")}}}function k(n,r,t,e){this.message=n,this.expected=r,this.found=t,this.location=e,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,k)}function D(n,r){r=void 0!==r?r:{};var t,e={},o={transformList:fn},u=fn,i="matrix",a="(",c=")",f="translate",s="scale",l="rotate",p="skewX",d="skewY",h=",",y=".",v=/^[eE]/,A=/^[+\-]/,b=/^[0-9]/,x=/^[ \t\r\n]/,g=nn("matrix",!1),m=nn("(",!1),w=nn(")",!1),M=nn("translate",!1),S=nn("scale",!1),_=nn("rotate",!1),C=nn("skewX",!1),E=nn("skewY",!1),j=nn(",",!1),F=tn("fractionalConstant"),I=rn(["e","E"],!1,!1),R=rn(["+","-"],!1,!1),T=rn([["0","9"]],!1,!1),P=rn([" ","\t","\r","\n"],!1,!1),N=function(n){return n},O=function(n,r){return n.concat(r)},D=function(n,r,t,e,o,u){return[{type:"matrix",a:n,b:r,c:t,d:e,e:o,f:u}]},Y=function(n,r){var t={type:"translate",tx:n};return r&&(t.ty=r),[t]},G=function(n,r){var t={type:"scale",sx:n};return r&&(t.sy=r),[t]},X=function(n,r){var t={type:"rotate",angle:n};return r&&(t.cx=r[0],t.cy=r[1]),[t]},U=function(n){return[{type:"skewX",angle:n}]},L=function(n){return[{type:"skewY",angle:n}]},V=function(n){return parseFloat(n.join(""))},$=function(n){return parseInt(n.join(""))},q=function(n){return n},z=function(n,r){return[n,r]},B=function(n){return n.join("")},H=function(n,r){return[n?n.join(""):null,".",r.join("")].join("")},J=function(n){return n.join("")},K=0,Q=[{line:1,column:1}],W=[],Z=0;if("startRule"in r){if(!(r.startRule in o))throw new Error("Can't start parsing from rule \""+r.startRule+'".');u=o[r.startRule]}function nn(n,r){return{type:"literal",text:n,ignoreCase:r}}function rn(n,r,t){return{type:"class",parts:n,inverted:r,ignoreCase:t}}function tn(n){return{type:"other",description:n}}function en(r){var t,e=Q[r];if(e)return e;for(t=r-1;!Q[t];)t--;for(e={line:(e=Q[t]).line,column:e.column};t<r;)10===n.charCodeAt(t)?(e.line++,e.column=1):e.column++,t++;return Q[r]=e,e}var on="string"==typeof r.filename&&r.filename.length>0;function un(n,t){var e={};on&&(e.filename=r.filename);var o=en(n);e.start={offset:n,line:o.line,column:o.column};var u=en(t);return e.end={offset:t,line:u.line,column:u.column},e}function an(n){var r=W[W.length-1];K<r.pos||(K>r.pos&&(r.pos=K,r.variants=[]),r.variants.push(n))}function cn(n,r,t){return new k(k.buildMessage(n,r),n,r,t)}function fn(){var n,r,t,o,u;for(n=K,r=[],t=xn();t!==e;)r.push(t),t=xn();for((t=function n(){var r,t,o,u;r=K;t=sn();if(t!==e){if(o=[],(u=dn())!==e)for(;u!==e;)o.push(u),u=dn();else o=e;o!==e&&(u=n())!==e?(r,r=O(t,u)):(K=r,r=e)}else K=r,r=e;r===e&&(r=sn());return r}())===e&&(t=null),o=[],u=xn();u!==e;)o.push(u),u=xn();return n,n=N(t)}function sn(){var r;return(r=function(){var r,t,o,u,f,s,l,p,d,h,y,v,A,b=function(n){0===Z&&an(n)};r=K,b(g),n.substr(K,6)===i?(t=i,K+=6):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(b(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(f=[],s=xn();s!==e;)f.push(s),s=xn();if((s=ln())!==e)if(dn()!==e)if((l=ln())!==e)if(dn()!==e)if((p=ln())!==e)if(dn()!==e)if((d=ln())!==e)if(dn()!==e)if((h=ln())!==e)if(dn()!==e)if((y=ln())!==e){for(v=[],A=xn();A!==e;)v.push(A),A=xn();b(w),41===n.charCodeAt(K)?(A=c,K++):A=e,A!==e?(r,r=D(s,l,p,d,h,y)):(K=r,r=e)}else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}())===e&&(r=function(){var r,t,o,u,i,s,l,p,d,h=function(n){0===Z&&an(n)};r=K,h(M),n.substr(K,9)===f?(t=f,K+=9):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(h(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],s=xn();s!==e;)i.push(s),s=xn();if((s=ln())!==e){for((l=pn())===e&&(l=null),p=[],d=xn();d!==e;)p.push(d),d=xn();h(w),41===n.charCodeAt(K)?(d=c,K++):d=e,d!==e?(r,r=Y(s,l)):(K=r,r=e)}else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}())===e&&(r=function(){var r,t,o,u,i,f,l,p,d,h=function(n){0===Z&&an(n)};r=K,h(S),n.substr(K,5)===s?(t=s,K+=5):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(h(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=xn();f!==e;)i.push(f),f=xn();if((f=ln())!==e){for((l=pn())===e&&(l=null),p=[],d=xn();d!==e;)p.push(d),d=xn();h(w),41===n.charCodeAt(K)?(d=c,K++):d=e,d!==e?(r,r=G(f,l)):(K=r,r=e)}else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}())===e&&(r=function(){var r,t,o,u,i,f,s,p,d,h=function(n){0===Z&&an(n)};r=K,h(_),n.substr(K,6)===l?(t=l,K+=6):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(h(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=xn();f!==e;)i.push(f),f=xn();if((f=ln())!==e){for((s=function(){var n,r,t;n=K,dn()!==e&&(r=ln())!==e&&dn()!==e&&(t=ln())!==e?(n,n=z(r,t)):(K=n,n=e);return n}())===e&&(s=null),p=[],d=xn();d!==e;)p.push(d),d=xn();h(w),41===n.charCodeAt(K)?(d=c,K++):d=e,d!==e?(r,r=X(f,s)):(K=r,r=e)}else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}())===e&&(r=function(){var r,t,o,u,i,f,s,l,d=function(n){0===Z&&an(n)};r=K,d(C),n.substr(K,5)===p?(t=p,K+=5):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(d(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=xn();f!==e;)i.push(f),f=xn();if((f=ln())!==e){for(s=[],l=xn();l!==e;)s.push(l),l=xn();d(w),41===n.charCodeAt(K)?(l=c,K++):l=e,l!==e?(r,r=U(f)):(K=r,r=e)}else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}())===e&&(r=function(){var r,t,o,u,i,f,s,l,p=function(n){0===Z&&an(n)};r=K,p(E),n.substr(K,5)===d?(t=d,K+=5):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(p(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=xn();f!==e;)i.push(f),f=xn();if((f=ln())!==e){for(s=[],l=xn();l!==e;)s.push(l),l=xn();p(w),41===n.charCodeAt(K)?(l=c,K++):l=e,l!==e?(r,r=L(f)):(K=r,r=e)}else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}()),r}function ln(){var r,t,o,u;return r=K,t=K,(o=vn())===e&&(o=null),(u=function(){var r,t,o;r=K,(t=function(){var r,t,o,u,i;return i=F,0===Z&&an(i),Z++,r=K,(t=An())===e&&(t=null),46===n.charCodeAt(K)?(o=y,K++):o=e,o!==e&&(u=An())!==e?(r,r=H(t,u)):(K=r,r=e),r===e&&(r=K,(t=An())!==e?(46===n.charCodeAt(K)?(o=y,K++):o=e,o!==e?(r,r=J(t)):(K=r,r=e)):(K=r,r=e)),Z--,r}())!==e?((o=yn())===e&&(o=null),r=t=[t,o]):(K=r,r=e);r===e&&(r=K,(t=An())!==e&&(o=yn())!==e?r=t=[t,o]:(K=r,r=e));return r}())!==e?t=o=[o,u]:(K=t,t=e),t!==e&&(r,t=V(t)),(r=t)===e&&(r=K,t=K,(o=vn())===e&&(o=null),(u=function(){var n,r;n=K,(r=An())!==e&&(n,r=B(r));return n=r}())!==e?t=o=[o,u]:(K=t,t=e),t!==e&&(r,t=$(t)),r=t),r}function pn(){var n,r;return n=K,dn()!==e&&(r=ln())!==e?(n,n=q(r)):(K=n,n=e),n}function dn(){var n,r,t,o,u;if(n=K,r=[],(t=xn())!==e)for(;t!==e;)r.push(t),t=xn();else r=e;if(r!==e){for((t=hn())===e&&(t=null),o=[],u=xn();u!==e;)o.push(u),u=xn();n=r=[r,t,o]}else K=n,n=e;if(n===e)if(n=K,(r=hn())!==e){for(t=[],o=xn();o!==e;)t.push(o),o=xn();n=r=[r,t]}else K=n,n=e;return n}function hn(){var r,t;return t=j,0===Z&&an(t),44===n.charCodeAt(K)?(r=h,K++):r=e,r}function yn(){var r,t,o,u,i;return r=K,i=I,0===Z&&an(i),v.test(n.charAt(K))?(t=n.charAt(K),K++):t=e,t!==e?((o=vn())===e&&(o=null),(u=An())!==e?r=t=[t,o,u]:(K=r,r=e)):(K=r,r=e),r}function vn(){var r,t;return t=R,0===Z&&an(t),A.test(n.charAt(K))?(r=n.charAt(K),K++):r=e,r}function An(){var n,r;if(n=[],(r=bn())!==e)for(;r!==e;)n.push(r),r=bn();else n=e;return n}function bn(){var r,t;return t=T,0===Z&&an(t),b.test(n.charAt(K))?(r=n.charAt(K),K++):r=e,r}function xn(){var r,t;return t=P,0===Z&&an(t),x.test(n.charAt(K))?(r=n.charAt(K),K++):r=e,r}if(W.push({pos:K,variants:[]}),(t=u())!==e&&K===n.length)return t;throw t!==e&&K<n.length&&an({type:"end"}),function(){var r=W[0],t=r.pos;return cn(r.variants,t<n.length?n.charAt(t):null,t<n.length?un(t,t+1):un(t,t))}()}!function(n,r){function t(){this.constructor=n}t.prototype=r.prototype,n.prototype=new t}(k,Error),k.buildMessage=function(n,r){var t={literal:function(n){return'"'+o(n.text)+'"'},class:function(n){var r=n.parts.map(function(n){return Array.isArray(n)?u(n[0])+"-"+u(n[1]):u(n)});return"["+(n.inverted?"^":"")+r+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(n){return n.description},not:function(n){return"not "+i(n.expected)}};function e(n){return n.charCodeAt(0).toString(16).toUpperCase()}function o(n){return n.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(n){return"\\x0"+e(n)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(n){return"\\x"+e(n)})}function u(n){return n.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(n){return"\\x0"+e(n)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(n){return"\\x"+e(n)})}function i(n){return t[n.type](n)}return"Expected "+function(n){var r,t,e=n.map(i);if(e.sort(),e.length>0){for(r=1,t=1;r<e.length;r++)e[r-1]!==e[r]&&(e[t]=e[r],t++);e.length=t}switch(e.length){case 1:return e[0];case 2:return e[0]+" or "+e[1];default:return e.slice(0,-1).join(", ")+", or "+e[e.length-1]}}(n)+" but "+function(n){return n?'"'+o(n)+'"':"end of input"}(r)+" found."};function Y(n){return D(n)}t.d(r,"applyToPoint",function(){return e}),t.d(r,"applyToPoints",function(){return o}),t.d(r,"fromObject",function(){return u}),t.d(r,"fromString",function(){return a}),t.d(r,"identity",function(){return c}),t.d(r,"inverse",function(){return f}),t.d(r,"isAffineMatrix",function(){return d}),t.d(r,"rotate",function(){return M}),t.d(r,"rotateDEG",function(){return S}),t.d(r,"scale",function(){return _}),t.d(r,"shear",function(){return C}),t.d(r,"skew",function(){return j}),t.d(r,"skewDEG",function(){return F}),t.d(r,"toCSS",function(){return I}),t.d(r,"toSVG",function(){return R}),t.d(r,"toString",function(){return T}),t.d(r,"transform",function(){return b}),t.d(r,"compose",function(){return x}),t.d(r,"translate",function(){return h}),t.d(r,"fromTriangles",function(){return N}),t.d(r,"smoothMatrix",function(){return P}),t.d(r,"fromDefinition",function(){return O}),t.d(r,"fromTransformAttribute",function(){return Y})}])}); | ||
!function(n,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.TransformationMatrix=r():n.TransformationMatrix=r()}(window,(function(){return function(n){var r={};function t(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return n[e].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=n,t.c=r,t.d=function(n,r,e){t.o(n,r)||Object.defineProperty(n,r,{enumerable:!0,get:e})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,r){if(1&r&&(n=t(n)),8&r)return n;if(4&r&&"object"==typeof n&&n&&n.__esModule)return n;var e=Object.create(null);if(t.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:n}),2&r&&"string"!=typeof n)for(var o in n)t.d(e,o,function(r){return n[r]}.bind(null,o));return e},t.n=function(n){var r=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(r,"a",r),r},t.o=function(n,r){return Object.prototype.hasOwnProperty.call(n,r)},t.p="",t(t.s=0)}([function(n,r,t){"use strict";function e(n,r){return Array.isArray(r)?[n.a*r[0]+n.c*r[1]+n.e,n.b*r[0]+n.d*r[1]+n.f]:{x:n.a*r.x+n.c*r.y+n.e,y:n.b*r.x+n.d*r.y+n.f}}function o(n,r){return r.map((function(r){return e(n,r)}))}function u(n){return{a:parseFloat(n.a),b:parseFloat(n.b),c:parseFloat(n.c),d:parseFloat(n.d),e:parseFloat(n.e),f:parseFloat(n.f)}}t.r(r);var i=/^matrix\(\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*\)$/i;function a(n){var r=n.match(i);if(null===r||r.length<7)throw new Error("'".concat(n,"' is not a matrix"));return{a:parseFloat(r[1]),b:parseFloat(r[2]),c:parseFloat(r[3]),d:parseFloat(r[4]),e:parseFloat(r[5]),f:parseFloat(r[6])}}function c(){return{a:1,c:0,e:0,b:0,d:1,f:0}}function f(n){var r=n.a,t=n.b,e=n.c,o=n.d,u=n.e,i=n.f,a=r*o-t*e;return{a:o/a,b:t/-a,c:e/-a,d:r/a,e:(o*u-e*i)/-a,f:(t*u-r*i)/a}}function s(n){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function l(n){return void 0===n}function p(n){return"number"==typeof n&&!Number.isNaN(n)&&Number.isFinite(n)}function d(n){return"object"===s(r=n)&&null!==r&&!Array.isArray(r)&&"a"in n&&p(n.a)&&"b"in n&&p(n.b)&&"c"in n&&p(n.c)&&"d"in n&&p(n.d)&&"e"in n&&p(n.e)&&"f"in n&&p(n.f);var r}function h(n){return{a:1,c:0,e:n,b:0,d:1,f:arguments.length>1&&void 0!==arguments[1]?arguments[1]:0}}function y(n){return function(n){if(Array.isArray(n)){for(var r=0,t=new Array(n.length);r<n.length;r++)t[r]=n[r];return t}}(n)||A(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function v(n){return function(n){if(Array.isArray(n))return n}(n)||A(n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function A(n){if(Symbol.iterator in Object(n)||"[object Arguments]"===Object.prototype.toString.call(n))return Array.from(n)}function b(){for(var n=arguments.length,r=new Array(n),t=0;t<n;t++)r[t]=arguments[t];var e=function(n,r){return{a:n.a*r.a+n.c*r.b,c:n.a*r.c+n.c*r.d,e:n.a*r.e+n.c*r.f+n.e,b:n.b*r.a+n.d*r.b,d:n.b*r.c+n.d*r.d,f:n.b*r.e+n.d*r.f+n.f}};switch((r=Array.isArray(r[0])?r[0]:r).length){case 0:throw new Error("no matrices provided");case 1:return r[0];case 2:return e(r[0],r[1]);default:var o=v(r),u=o[0],i=o[1],a=o.slice(2),c=e(u,i);return b.apply(void 0,[c].concat(y(a)))}}function x(){return b.apply(void 0,arguments)}var g=Math.cos,m=Math.sin,w=Math.PI;function M(n,r,t){var e=g(n),o=m(n),u={a:e,c:-o,e:0,b:o,d:e,f:0};return l(r)||l(t)?u:b([h(r,t),u,h(-r,-t)])}function S(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return M(n*w/180,r,t)}function _(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return l(r)&&(r=n),{a:n,c:0,e:0,b:0,d:r,f:0}}function C(n,r){return{a:1,c:n,e:0,b:r,d:1,f:0}}var E=Math.tan;function j(n,r){return{a:1,c:E(n),e:0,b:E(r),d:1,f:0}}function F(n,r){return j(n*Math.PI/180,r*Math.PI/180)}function I(n){return T(n)}function R(n){return T(n)}function T(n){return"matrix(".concat(n.a,",").concat(n.b,",").concat(n.c,",").concat(n.d,",").concat(n.e,",").concat(n.f,")")}function P(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e10;return{a:Math.round(n.a*r)/r,b:Math.round(n.b*r)/r,c:Math.round(n.c*r)/r,d:Math.round(n.d*r)/r,e:Math.round(n.e*r)/r,f:Math.round(n.f*r)/r}}function N(n,r){var t=null!=n[0].x?n[0].x:n[0][0],e=null!=n[0].y?n[0].y:n[0][1],o=null!=r[0].x?r[0].x:r[0][0],u=null!=r[0].y?r[0].y:r[0][1],i=null!=n[1].x?n[1].x:n[1][0],a=null!=n[1].y?n[1].y:n[1][1],c=null!=r[1].x?r[1].x:r[1][0],s=null!=r[1].y?r[1].y:r[1][1],l=null!=n[2].x?n[2].x:n[2][0],p=null!=n[2].y?n[2].y:n[2][1],d=null!=r[2].x?r[2].x:r[2][0],h=null!=r[2].y?r[2].y:r[2][1];return P(b([{a:o-d,b:u-h,c:c-d,d:s-h,e:d,f:h},f({a:t-l,b:e-p,c:i-l,d:a-p,e:l,f:p})]))}function O(n){return Array.isArray(n)?n.map(r):r(n);function r(n){switch(n.type){case"matrix":if("a"in n&&"b"in n&&"c"in n&&"d"in n&&"e"in n&&"f"in n)return u(n);throw new Error("MISSING_MANDATORY_PARAM");case"translate":if(!("tx"in n))throw new Error("MISSING_MANDATORY_PARAM");return"ty"in n?h(n.tx,n.ty):h(n.tx);case"scale":if(!("sx"in n))throw new Error("MISSING_MANDATORY_PARAM");return"sy"in n?_(n.sx,n.sy):_(n.sx);case"rotate":if(!("angle"in n))throw new Error("MISSING_MANDATORY_PARAM");return"cx"in n&&"cy"in n?S(n.angle,n.cx,n.cy):S(n.angle);case"skewX":if(!("angle"in n))throw new Error("MISSING_MANDATORY_PARAM");return F(n.angle,0);case"skewY":if(!("angle"in n))throw new Error("MISSING_MANDATORY_PARAM");return F(0,n.angle);case"shear":if(!("shx"in n&&"shy"in n))throw new Error("MISSING_MANDATORY_PARAM");return C(n.shx,n.shy);default:throw new Error("UNSUPPORTED_DESCRIPTOR")}}}function k(n,r,t,e){this.message=n,this.expected=r,this.found=t,this.location=e,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,k)}function D(n,r){r=void 0!==r?r:{};var t,e={},o={transformList:fn},u=fn,i="matrix",a="(",c=")",f="translate",s="scale",l="rotate",p="skewX",d="skewY",h=",",y=".",v=/^[eE]/,A=/^[+\-]/,b=/^[0-9]/,x=/^[ \t\r\n]/,g=nn("matrix",!1),m=nn("(",!1),w=nn(")",!1),M=nn("translate",!1),S=nn("scale",!1),_=nn("rotate",!1),C=nn("skewX",!1),E=nn("skewY",!1),j=nn(",",!1),F=tn("fractionalConstant"),I=rn(["e","E"],!1,!1),R=rn(["+","-"],!1,!1),T=rn([["0","9"]],!1,!1),P=rn([" ","\t","\r","\n"],!1,!1),N=function(n){return n},O=function(n,r){return n.concat(r)},D=function(n,r,t,e,o,u){return[{type:"matrix",a:n,b:r,c:t,d:e,e:o,f:u}]},Y=function(n,r){var t={type:"translate",tx:n};return r&&(t.ty=r),[t]},G=function(n,r){var t={type:"scale",sx:n};return r&&(t.sy=r),[t]},X=function(n,r){var t={type:"rotate",angle:n};return r&&(t.cx=r[0],t.cy=r[1]),[t]},U=function(n){return[{type:"skewX",angle:n}]},L=function(n){return[{type:"skewY",angle:n}]},V=function(n){return parseFloat(n.join(""))},$=function(n){return parseInt(n.join(""))},q=function(n){return n},z=function(n,r){return[n,r]},B=function(n){return n.join("")},H=function(n,r){return[n?n.join(""):null,".",r.join("")].join("")},J=function(n){return n.join("")},K=0,Q=[{line:1,column:1}],W=[],Z=0;if("startRule"in r){if(!(r.startRule in o))throw new Error("Can't start parsing from rule \""+r.startRule+'".');u=o[r.startRule]}function nn(n,r){return{type:"literal",text:n,ignoreCase:r}}function rn(n,r,t){return{type:"class",parts:n,inverted:r,ignoreCase:t}}function tn(n){return{type:"other",description:n}}function en(r){var t,e=Q[r];if(e)return e;for(t=r-1;!Q[t];)t--;for(e={line:(e=Q[t]).line,column:e.column};t<r;)10===n.charCodeAt(t)?(e.line++,e.column=1):e.column++,t++;return Q[r]=e,e}var on="string"==typeof r.filename&&r.filename.length>0;function un(n,t){var e={};on&&(e.filename=r.filename);var o=en(n);e.start={offset:n,line:o.line,column:o.column};var u=en(t);return e.end={offset:t,line:u.line,column:u.column},e}function an(n){var r=W[W.length-1];K<r.pos||(K>r.pos&&(r.pos=K,r.variants=[]),r.variants.push(n))}function cn(n,r,t){return new k(k.buildMessage(n,r),n,r,t)}function fn(){var n,r,t,o,u;for(n=K,r=[],t=xn();t!==e;)r.push(t),t=xn();for((t=function n(){var r,t,o,u;if(r=K,(t=sn())!==e){if(o=[],(u=dn())!==e)for(;u!==e;)o.push(u),u=dn();else o=e;o!==e&&(u=n())!==e?(r,r=O(t,u)):(K=r,r=e)}else K=r,r=e;r===e&&(r=sn());return r}())===e&&(t=null),o=[],u=xn();u!==e;)o.push(u),u=xn();return n,n=N(t)}function sn(){var r;return(r=function(){var r,t,o,u,f,s,l,p,d,h,y,v,A,b=function(n){0===Z&&an(n)};r=K,b(g),n.substr(K,6)===i?(t=i,K+=6):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(b(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(f=[],s=xn();s!==e;)f.push(s),s=xn();if((s=ln())!==e)if(dn()!==e)if((l=ln())!==e)if(dn()!==e)if((p=ln())!==e)if(dn()!==e)if((d=ln())!==e)if(dn()!==e)if((h=ln())!==e)if(dn()!==e)if((y=ln())!==e){for(v=[],A=xn();A!==e;)v.push(A),A=xn();b(w),41===n.charCodeAt(K)?(A=c,K++):A=e,A!==e?(r,r=D(s,l,p,d,h,y)):(K=r,r=e)}else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e;else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}())===e&&(r=function(){var r,t,o,u,i,s,l,p,d,h=function(n){0===Z&&an(n)};r=K,h(M),n.substr(K,9)===f?(t=f,K+=9):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(h(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],s=xn();s!==e;)i.push(s),s=xn();if((s=ln())!==e){for((l=pn())===e&&(l=null),p=[],d=xn();d!==e;)p.push(d),d=xn();h(w),41===n.charCodeAt(K)?(d=c,K++):d=e,d!==e?(r,r=Y(s,l)):(K=r,r=e)}else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}())===e&&(r=function(){var r,t,o,u,i,f,l,p,d,h=function(n){0===Z&&an(n)};r=K,h(S),n.substr(K,5)===s?(t=s,K+=5):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(h(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=xn();f!==e;)i.push(f),f=xn();if((f=ln())!==e){for((l=pn())===e&&(l=null),p=[],d=xn();d!==e;)p.push(d),d=xn();h(w),41===n.charCodeAt(K)?(d=c,K++):d=e,d!==e?(r,r=G(f,l)):(K=r,r=e)}else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}())===e&&(r=function(){var r,t,o,u,i,f,s,p,d,h=function(n){0===Z&&an(n)};r=K,h(_),n.substr(K,6)===l?(t=l,K+=6):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(h(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=xn();f!==e;)i.push(f),f=xn();if((f=ln())!==e){for((s=function(){var n,r,t;n=K,dn()!==e&&(r=ln())!==e&&dn()!==e&&(t=ln())!==e?(n,n=z(r,t)):(K=n,n=e);return n}())===e&&(s=null),p=[],d=xn();d!==e;)p.push(d),d=xn();h(w),41===n.charCodeAt(K)?(d=c,K++):d=e,d!==e?(r,r=X(f,s)):(K=r,r=e)}else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}())===e&&(r=function(){var r,t,o,u,i,f,s,l,d=function(n){0===Z&&an(n)};r=K,d(C),n.substr(K,5)===p?(t=p,K+=5):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(d(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=xn();f!==e;)i.push(f),f=xn();if((f=ln())!==e){for(s=[],l=xn();l!==e;)s.push(l),l=xn();d(w),41===n.charCodeAt(K)?(l=c,K++):l=e,l!==e?(r,r=U(f)):(K=r,r=e)}else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}())===e&&(r=function(){var r,t,o,u,i,f,s,l,p=function(n){0===Z&&an(n)};r=K,p(E),n.substr(K,5)===d?(t=d,K+=5):t=e;if(t!==e){for(o=[],u=xn();u!==e;)o.push(u),u=xn();if(p(m),40===n.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=xn();f!==e;)i.push(f),f=xn();if((f=ln())!==e){for(s=[],l=xn();l!==e;)s.push(l),l=xn();p(w),41===n.charCodeAt(K)?(l=c,K++):l=e,l!==e?(r,r=L(f)):(K=r,r=e)}else K=r,r=e}else K=r,r=e}else K=r,r=e;return r}()),r}function ln(){var r,t,o,u;return r=K,t=K,(o=vn())===e&&(o=null),(u=function(){var r,t,o;r=K,(t=function(){var r,t,o,u;(function(n){0===Z&&an(n)})(F),Z++,r=K,(t=An())===e&&(t=null);46===n.charCodeAt(K)?(o=y,K++):o=e;o!==e&&(u=An())!==e?(r,r=H(t,u)):(K=r,r=e);r===e&&(r=K,(t=An())!==e?(46===n.charCodeAt(K)?(o=y,K++):o=e,o!==e?(r,r=J(t)):(K=r,r=e)):(K=r,r=e));return Z--,r}())!==e?((o=yn())===e&&(o=null),r=t=[t,o]):(K=r,r=e);r===e&&(r=K,(t=An())!==e&&(o=yn())!==e?r=t=[t,o]:(K=r,r=e));return r}())!==e?t=o=[o,u]:(K=t,t=e),t!==e&&(r,t=V(t)),(r=t)===e&&(r=K,t=K,(o=vn())===e&&(o=null),(u=function(){var n,r;n=K,(r=An())!==e&&(n,r=B(r));return n=r}())!==e?t=o=[o,u]:(K=t,t=e),t!==e&&(r,t=$(t)),r=t),r}function pn(){var n,r;return n=K,dn()!==e&&(r=ln())!==e?(n,n=q(r)):(K=n,n=e),n}function dn(){var n,r,t,o,u;if(n=K,r=[],(t=xn())!==e)for(;t!==e;)r.push(t),t=xn();else r=e;if(r!==e){for((t=hn())===e&&(t=null),o=[],u=xn();u!==e;)o.push(u),u=xn();n=r=[r,t,o]}else K=n,n=e;if(n===e)if(n=K,(r=hn())!==e){for(t=[],o=xn();o!==e;)t.push(o),o=xn();n=r=[r,t]}else K=n,n=e;return n}function hn(){var r;return function(n){0===Z&&an(n)}(j),44===n.charCodeAt(K)?(r=h,K++):r=e,r}function yn(){var r,t,o,u;return r=K,function(n){0===Z&&an(n)}(I),v.test(n.charAt(K))?(t=n.charAt(K),K++):t=e,t!==e?((o=vn())===e&&(o=null),(u=An())!==e?r=t=[t,o,u]:(K=r,r=e)):(K=r,r=e),r}function vn(){var r;return function(n){0===Z&&an(n)}(R),A.test(n.charAt(K))?(r=n.charAt(K),K++):r=e,r}function An(){var n,r;if(n=[],(r=bn())!==e)for(;r!==e;)n.push(r),r=bn();else n=e;return n}function bn(){var r;return function(n){0===Z&&an(n)}(T),b.test(n.charAt(K))?(r=n.charAt(K),K++):r=e,r}function xn(){var r;return function(n){0===Z&&an(n)}(P),x.test(n.charAt(K))?(r=n.charAt(K),K++):r=e,r}if(W.push({pos:K,variants:[]}),(t=u())!==e&&K===n.length)return t;throw t!==e&&K<n.length&&an({type:"end"}),function(){var r=W[0],t=r.pos;return cn(r.variants,t<n.length?n.charAt(t):null,t<n.length?un(t,t+1):un(t,t))}()}!function(n,r){function t(){this.constructor=n}t.prototype=r.prototype,n.prototype=new t}(k,Error),k.buildMessage=function(n,r){var t={literal:function(n){return'"'+o(n.text)+'"'},class:function(n){var r=n.parts.map((function(n){return Array.isArray(n)?u(n[0])+"-"+u(n[1]):u(n)}));return"["+(n.inverted?"^":"")+r+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(n){return n.description},not:function(n){return"not "+i(n.expected)}};function e(n){return n.charCodeAt(0).toString(16).toUpperCase()}function o(n){return n.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(n){return"\\x0"+e(n)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(n){return"\\x"+e(n)}))}function u(n){return n.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(n){return"\\x0"+e(n)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(n){return"\\x"+e(n)}))}function i(n){return t[n.type](n)}return"Expected "+function(n){var r,t,e=n.map(i);if(e.sort(),e.length>0){for(r=1,t=1;r<e.length;r++)e[r-1]!==e[r]&&(e[t]=e[r],t++);e.length=t}switch(e.length){case 1:return e[0];case 2:return e[0]+" or "+e[1];default:return e.slice(0,-1).join(", ")+", or "+e[e.length-1]}}(n)+" but "+function(n){return n?'"'+o(n)+'"':"end of input"}(r)+" found."};function Y(n){return D(n)}t.d(r,"applyToPoint",(function(){return e})),t.d(r,"applyToPoints",(function(){return o})),t.d(r,"fromObject",(function(){return u})),t.d(r,"fromString",(function(){return a})),t.d(r,"identity",(function(){return c})),t.d(r,"inverse",(function(){return f})),t.d(r,"isAffineMatrix",(function(){return d})),t.d(r,"rotate",(function(){return M})),t.d(r,"rotateDEG",(function(){return S})),t.d(r,"scale",(function(){return _})),t.d(r,"shear",(function(){return C})),t.d(r,"skew",(function(){return j})),t.d(r,"skewDEG",(function(){return F})),t.d(r,"toCSS",(function(){return I})),t.d(r,"toSVG",(function(){return R})),t.d(r,"toString",(function(){return T})),t.d(r,"transform",(function(){return b})),t.d(r,"compose",(function(){return x})),t.d(r,"translate",(function(){return h})),t.d(r,"fromTriangles",(function(){return N})),t.d(r,"smoothMatrix",(function(){return P})),t.d(r,"fromDefinition",(function(){return O})),t.d(r,"fromTransformAttribute",(function(){return Y}))}])})); | ||
//# sourceMappingURL=transformation-matrix.min.js.map |
{ | ||
"name": "transformation-matrix", | ||
"version": "2.1.1", | ||
"version": "2.2.0", | ||
"description": "2d transformation matrix functions written in ES6 syntax. Tree shaking ready!", | ||
@@ -21,3 +21,3 @@ "main": "./build-commonjs/index.js", | ||
"coveralls": "jest --coverage --coveragePathIgnorePatterns autogenerated --coverageReporters=text-lcov | coveralls", | ||
"test:ci": "npm-run-all standard test build coveralls", | ||
"test:ci": "npm-run-all standard test build typescript coveralls", | ||
"test": "jest", | ||
@@ -33,3 +33,4 @@ "build-commonjs": "babel src --out-dir build-commonjs", | ||
"add-readme-to-vcs": "git add -A README.md", | ||
"standard": "standard" | ||
"standard": "standard", | ||
"typescript": "tsc --strict transformation-matrix.d.ts" | ||
}, | ||
@@ -56,18 +57,19 @@ "repository": { | ||
"devDependencies": { | ||
"@babel/cli": "^7.5.5", | ||
"@babel/core": "^7.5.5", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.5.5", | ||
"@babel/plugin-transform-runtime": "^7.5.5", | ||
"@babel/preset-env": "^7.5.5", | ||
"@types/jest": "^24.0.15", | ||
"@babel/cli": "^7.7.5", | ||
"@babel/core": "^7.7.5", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.7.4", | ||
"@babel/plugin-transform-runtime": "^7.7.6", | ||
"@babel/preset-env": "^7.7.6", | ||
"@types/jest": "^24.0.23", | ||
"babel-loader": "^8.0.6", | ||
"coveralls": "^3.0.5", | ||
"del-cli": "^2.0.0", | ||
"jest": "^24.8.0", | ||
"jsdoc-to-markdown": "^5.0.0", | ||
"coveralls": "^3.0.9", | ||
"del-cli": "^3.0.0", | ||
"jest": "^24.9.0", | ||
"jsdoc-to-markdown": "^5.0.3", | ||
"npm-run-all": "^4.1.5", | ||
"pegjs": "0.11.0-master.30f3260", | ||
"standard": "^13.1.0", | ||
"webpack": "^4.38.0", | ||
"webpack-cli": "^3.3.6" | ||
"standard": "^14.3.1", | ||
"typescript": "^3.7.3", | ||
"webpack": "^4.41.2", | ||
"webpack-cli": "^3.3.10" | ||
}, | ||
@@ -74,0 +76,0 @@ "standard": { |
@@ -79,3 +79,3 @@ <!--------------------------------------------------------------------> | ||
</dd> | ||
<dt><a href="#fromTransformAttribute">fromTransformAttribute(transformString)</a> ⇒ <code>Array.<Matrix></code></dt> | ||
<dt><a href="#fromTransformAttribute">fromTransformAttribute(transformString)</a> ⇒ <code>Array.<MatrixDescriptor></code></dt> | ||
<dd><p>Parser for SVG Trasform Attribute <a href="http://www.w3.org/TR/SVG/coords.html#TransformAttribute">http://www.w3.org/TR/SVG/coords.html#TransformAttribute</a> <br/> | ||
@@ -157,2 +157,3 @@ Warning: This should be considered BETA until it is released a stable version of pegjs.</p> | ||
- **2.1**- Upgrades deps; Adds Node.js v12 to CI | ||
- **2.2**- Upgrades deps; Improves typescript definition [#66](https://github.com/chrvadala/transformation-matrix/pull/66) | ||
@@ -271,3 +272,3 @@ # API | ||
## fromTransformAttribute(transformString) ⇒ <code>Array.<Matrix></code> | ||
## fromTransformAttribute(transformString) ⇒ <code>Array.<MatrixDescriptor></code> | ||
Parser for SVG Trasform Attribute http://www.w3.org/TR/SVG/coords.html#TransformAttribute <br/> | ||
@@ -277,3 +278,3 @@ Warning: This should be considered BETA until it is released a stable version of pegjs. | ||
**Kind**: global function | ||
**Returns**: <code>Array.<Matrix></code> - Array of MatrixDescriptor | ||
**Returns**: <code>Array.<MatrixDescriptor></code> - Array of MatrixDescriptor | ||
@@ -483,3 +484,3 @@ | Param | Type | Description | | ||
| --- | --- | --- | | ||
| matrices | <code>Array.<Matrix></code> | Array of affine matrix | | ||
| matrices | <code>Matrix</code> \| <code>Array.<Matrix></code> | Matrices listed as separate parameters or in an array | | ||
@@ -496,3 +497,3 @@ <a name="compose"></a> | ||
| --- | --- | --- | | ||
| matrices | <code>Array.<Matrix></code> | Array of matrix | | ||
| matrices | <code>Matrix</code> \| <code>Array.<Matrix></code> | Matrices listed as separate parameters or in an array | | ||
@@ -529,3 +530,4 @@ <a name="translate"></a> | ||
- [mcwebb](https://github.com/mcwebb) | ||
- [https://github.com/signalwerk](https://github.com/signalwerk) | ||
- [signalwerk](https://github.com/signalwerk) | ||
- [estollnitz](https://github.com/estollnitz) | ||
@@ -7,3 +7,3 @@ import { parse } from './fromTransformAttribute.autogenerated' | ||
* @param transformString {string} Transform string as defined by w3 Consortium | ||
* @returns {Matrix[]} Array of MatrixDescriptor | ||
* @returns {MatrixDescriptor[]} Array of MatrixDescriptor | ||
* | ||
@@ -10,0 +10,0 @@ * @example |
/** | ||
* Merge multiple matrices into one | ||
* @param matrices {Matrix[]} Array of affine matrix | ||
* @param matrices {...Matrix | Matrix[]} Matrices listed as separate parameters or in an array | ||
* @returns {Matrix} Affine Matrix | ||
@@ -30,6 +30,7 @@ */ | ||
default: | ||
default: { | ||
const [m1, m2, ...rest] = matrices | ||
const m = multiply(m1, m2) | ||
return transform(m, ...rest) | ||
} | ||
} | ||
@@ -40,3 +41,3 @@ } | ||
* Merge multiple matrices into one | ||
* @param matrices {Matrix[]} Array of matrix | ||
* @param matrices {...Matrix | Matrix[]} Matrices listed as separate parameters or in an array | ||
* @returns {Matrix} Affine Matrix | ||
@@ -43,0 +44,0 @@ */ |
@@ -11,5 +11,14 @@ declare module 'transformation-matrix' { | ||
type Point = { x: number; y: number }; | ||
type MatrixDescriptor = | ||
| { type: 'matrix', a: number, b: number, c: number, d: number, e: number, f: number } | ||
| { type: 'translate', tx: number, ty: number } | ||
| { type: 'scale', sx: number, sy: number } | ||
| { type: 'rotate', angle: number, sx: number, sy: number } | ||
| { type: 'skewX', angle: number } | ||
| { type: 'skewY', angle: number } | ||
| { type: 'shear', shx: number, shy: number} | ||
export { Point, Matrix }; | ||
type Point = { x: number; y: number } | [number, number]; | ||
export { Point, Matrix, MatrixDescriptor }; | ||
} | ||
@@ -137,9 +146,7 @@ | ||
/** Merge multiple matrices into one */ | ||
export function transform(matrices: Matrix[]): Matrix; | ||
export function transform(...matrices: Matrix[]): Matrix; | ||
} | ||
declare module 'transformation-matrix/compose' { | ||
import { Matrix } from 'transformation-matrix'; | ||
/** Merge multiple matrices into one */ | ||
export function compose(matrices: Matrix[]): Matrix; | ||
export function compose(...matrices: Matrix[]): Matrix; | ||
@@ -160,4 +167,3 @@ } | ||
declare module 'transformation-matrix/fromTriangles' { | ||
import { Matrix } from 'transformation-matrix'; | ||
import { Point } from 'transformation-matrix'; | ||
import { Point, Matrix } from 'transformation-matrix'; | ||
@@ -171,3 +177,3 @@ /** | ||
*/ | ||
export function fromTriangles(t1: Array<Array<number>> | Array<Point>, t2: Array<Array<number>> | Array<Point>): Matrix; | ||
export function fromTriangles(t1: Array<Point>, t2: Array<Point>): Matrix; | ||
} | ||
@@ -188,13 +194,4 @@ | ||
declare module 'transformation-matrix/fromDefinition' { | ||
import { Point, Matrix } from 'transformation-matrix'; | ||
type MatrixDescriptor = | ||
| { type: 'matrix', a: number, b: number, c: number, d: number, e: number, f: number } | ||
| { type: 'translate', tx: number, ty: number } | ||
| { type: 'scale', sx: number, sy: number } | ||
| { type: 'rotate', angle: number, sx: number, sy: number } | ||
| { type: 'skewX', angle: number } | ||
| { type: 'skewY', angle: number } | ||
| { type: 'shear', shx: number, shy: number} | ||
import { Point, Matrix, MatrixDescriptor } from 'transformation-matrix'; | ||
/** | ||
@@ -226,5 +223,5 @@ * Converts array of matrix descriptor to array of matrix | ||
**/ | ||
export function fromDefinition(defintion: MatrixDescriptor): Matrix; | ||
export function fromDefinition(definition: MatrixDescriptor): Matrix; | ||
export function fromDefinition( | ||
arrayOfDefintion: MatrixDescriptor[] | ||
arrayOfDefinition: MatrixDescriptor[] | ||
): Matrix[]; | ||
@@ -234,3 +231,3 @@ } | ||
declare module 'transformation-matrix/fromTransformAttribute' { | ||
import { Point, Matrix } from 'transformation-matrix'; | ||
import { MatrixDescriptor } from 'transformation-matrix'; | ||
/** | ||
@@ -240,3 +237,3 @@ * Parser for SVG Trasform Attribute http://www.w3.org/TR/SVG/coords.html#TransformAttribute <br/> | ||
* @param transformString {string} Transform string as defined by w3 Consortium | ||
* @returns {Matrix[]} Array of MatrixDescriptor | ||
* @returns {MatrixDescriptor[]} Array of MatrixDescriptor | ||
* | ||
@@ -254,3 +251,3 @@ * @example | ||
*/ | ||
export function fromTransformAttribute(transformString: string): Matrix[]; | ||
export function fromTransformAttribute(transformString: string): MatrixDescriptor[]; | ||
} | ||
@@ -257,0 +254,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
527
417584
17
5997