transformation-matrix
Advanced tools
Comparing version 2.0.6 to 2.1.0
@@ -24,3 +24,3 @@ "use strict"; | ||
function fromString(string) { | ||
let parsed = string.match(matrixRegex); | ||
const parsed = string.match(matrixRegex); | ||
if (parsed === null || parsed.length < 7) throw new Error(`'${string}' is not a matrix`); | ||
@@ -27,0 +27,0 @@ return { |
@@ -23,17 +23,17 @@ "use strict"; | ||
// point p = first point of the triangle | ||
let px1 = t1[0].x != null ? t1[0].x : t1[0][0]; | ||
let py1 = t1[0].y != null ? t1[0].y : t1[0][1]; | ||
let px2 = t2[0].x != null ? t2[0].x : t2[0][0]; | ||
let py2 = t2[0].y != null ? t2[0].y : t2[0][1]; // point q = second point of the triangle | ||
const px1 = t1[0].x != null ? t1[0].x : t1[0][0]; | ||
const py1 = t1[0].y != null ? t1[0].y : t1[0][1]; | ||
const px2 = t2[0].x != null ? t2[0].x : t2[0][0]; | ||
const py2 = t2[0].y != null ? t2[0].y : t2[0][1]; // point q = second point of the triangle | ||
let qx1 = t1[1].x != null ? t1[1].x : t1[1][0]; | ||
let qy1 = t1[1].y != null ? t1[1].y : t1[1][1]; | ||
let qx2 = t2[1].x != null ? t2[1].x : t2[1][0]; | ||
let qy2 = t2[1].y != null ? t2[1].y : t2[1][1]; // point r = third point of the triangle | ||
const qx1 = t1[1].x != null ? t1[1].x : t1[1][0]; | ||
const qy1 = t1[1].y != null ? t1[1].y : t1[1][1]; | ||
const qx2 = t2[1].x != null ? t2[1].x : t2[1][0]; | ||
const qy2 = t2[1].y != null ? t2[1].y : t2[1][1]; // point r = third point of the triangle | ||
let rx1 = t1[2].x != null ? t1[2].x : t1[2][0]; | ||
let ry1 = t1[2].y != null ? t1[2].y : t1[2][1]; | ||
let rx2 = t2[2].x != null ? t2[2].x : t2[2][0]; | ||
let ry2 = t2[2].y != null ? t2[2].y : t2[2][1]; | ||
let r1 = { | ||
const rx1 = t1[2].x != null ? t1[2].x : t1[2][0]; | ||
const ry1 = t1[2].y != null ? t1[2].y : t1[2][1]; | ||
const rx2 = t2[2].x != null ? t2[2].x : t2[2][0]; | ||
const ry2 = t2[2].y != null ? t2[2].y : t2[2][1]; | ||
const r1 = { | ||
a: px1 - rx1, | ||
@@ -46,3 +46,3 @@ b: py1 - ry1, | ||
}; | ||
let r2 = { | ||
const r2 = { | ||
a: px2 - rx2, | ||
@@ -55,6 +55,6 @@ b: py2 - ry2, | ||
}; | ||
let inverseR1 = (0, _inverse.inverse)(r1); | ||
let affineMatrix = (0, _transform.transform)([r2, inverseR1]); // round the matrix elements to smooth the finite inversion | ||
const inverseR1 = (0, _inverse.inverse)(r1); | ||
const affineMatrix = (0, _transform.transform)([r2, inverseR1]); // round the matrix elements to smooth the finite inversion | ||
return (0, _smoothMatrix.smoothMatrix)(affineMatrix); | ||
} |
@@ -15,3 +15,3 @@ "use strict"; | ||
// http://www.wolframalpha.com/input/?i=Inverse+%5B%7B%7Ba,c,e%7D,%7Bb,d,f%7D,%7B0,0,1%7D%7D%5D | ||
let { | ||
const { | ||
a, | ||
@@ -24,3 +24,3 @@ b, | ||
} = matrix; | ||
let denom = a * d - b * c; | ||
const denom = a * d - b * c; | ||
return { | ||
@@ -27,0 +27,0 @@ a: d / denom, |
@@ -16,3 +16,3 @@ "use strict"; | ||
function isAffineMatrix(object) { | ||
return (0, _utils.isObject)(object) && object.hasOwnProperty('a') && (0, _utils.isNumeric)(object.a) && object.hasOwnProperty('b') && (0, _utils.isNumeric)(object.b) && object.hasOwnProperty('c') && (0, _utils.isNumeric)(object.c) && object.hasOwnProperty('d') && (0, _utils.isNumeric)(object.d) && object.hasOwnProperty('e') && (0, _utils.isNumeric)(object.e) && object.hasOwnProperty('f') && (0, _utils.isNumeric)(object.f); | ||
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); | ||
} |
@@ -29,5 +29,5 @@ "use strict"; | ||
function rotate(angle, cx, cy) { | ||
let cosAngle = cos(angle); | ||
let sinAngle = sin(angle); | ||
let rotationMatrix = { | ||
const cosAngle = cos(angle); | ||
const sinAngle = sin(angle); | ||
const rotationMatrix = { | ||
a: cosAngle, | ||
@@ -34,0 +34,0 @@ c: -sinAngle, |
@@ -39,4 +39,4 @@ "use strict"; | ||
default: | ||
let [m1, m2, ...rest] = matrices; | ||
let m = multiply(m1, m2); | ||
const [m1, m2, ...rest] = matrices; | ||
const m = multiply(m1, m2); | ||
return transform(m, ...rest); | ||
@@ -43,0 +43,0 @@ } |
@@ -239,3 +239,3 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
function isAffineMatrix(object) { | ||
return isObject(object) && object.hasOwnProperty('a') && isNumeric(object.a) && object.hasOwnProperty('b') && isNumeric(object.b) && object.hasOwnProperty('c') && isNumeric(object.c) && object.hasOwnProperty('d') && isNumeric(object.d) && object.hasOwnProperty('e') && isNumeric(object.e) && object.hasOwnProperty('f') && isNumeric(object.f); | ||
return isObject(object) && 'a' in object && isNumeric(object.a) && 'b' in object && isNumeric(object.b) && 'c' in object && isNumeric(object.c) && 'd' in object && isNumeric(object.d) && 'e' in object && isNumeric(object.e) && 'f' in object && isNumeric(object.f); | ||
} | ||
@@ -242,0 +242,0 @@ // CONCATENATED MODULE: ./src/translate.js |
@@ -1,2 +0,2 @@ | ||
!function(r,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.TransformationMatrix=n():r.TransformationMatrix=n()}(window,function(){return function(r){var n={};function t(e){if(n[e])return n[e].exports;var o=n[e]={i:e,l:!1,exports:{}};return r[e].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=r,t.c=n,t.d=function(r,n,e){t.o(r,n)||Object.defineProperty(r,n,{enumerable:!0,get:e})},t.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},t.t=function(r,n){if(1&n&&(r=t(r)),8&n)return r;if(4&n&&"object"==typeof r&&r&&r.__esModule)return r;var e=Object.create(null);if(t.r(e),Object.defineProperty(e,"default",{enumerable:!0,value:r}),2&n&&"string"!=typeof r)for(var o in r)t.d(e,o,function(n){return r[n]}.bind(null,o));return e},t.n=function(r){var n=r&&r.__esModule?function(){return r.default}:function(){return r};return t.d(n,"a",n),n},t.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},t.p="",t(t.s=0)}([function(r,n,t){"use strict";function e(r,n){return Array.isArray(n)?[r.a*n[0]+r.c*n[1]+r.e,r.b*n[0]+r.d*n[1]+r.f]:{x:r.a*n.x+r.c*n.y+r.e,y:r.b*n.x+r.d*n.y+r.f}}function o(r,n){return n.map(function(n){return e(r,n)})}function u(r){return{a:parseFloat(r.a),b:parseFloat(r.b),c:parseFloat(r.c),d:parseFloat(r.d),e:parseFloat(r.e),f:parseFloat(r.f)}}t.r(n);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(r){var n=r.match(i);if(null===n||n.length<7)throw new Error("'".concat(r,"' is not a matrix"));return{a:parseFloat(n[1]),b:parseFloat(n[2]),c:parseFloat(n[3]),d:parseFloat(n[4]),e:parseFloat(n[5]),f:parseFloat(n[6])}}function c(){return{a:1,c:0,e:0,b:0,d:1,f:0}}function f(r){var n=r.a,t=r.b,e=r.c,o=r.d,u=r.e,i=r.f,a=n*o-t*e;return{a:o/a,b:t/-a,c:e/-a,d:n/a,e:(o*u-e*i)/-a,f:(t*u-n*i)/a}}function s(r){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r})(r)}function l(r){return void 0===r}function p(r){return"number"==typeof r&&!Number.isNaN(r)&&Number.isFinite(r)}function d(r){return"object"===s(n=r)&&null!==n&&!Array.isArray(n)&&r.hasOwnProperty("a")&&p(r.a)&&r.hasOwnProperty("b")&&p(r.b)&&r.hasOwnProperty("c")&&p(r.c)&&r.hasOwnProperty("d")&&p(r.d)&&r.hasOwnProperty("e")&&p(r.e)&&r.hasOwnProperty("f")&&p(r.f);var n}function h(r){return{a:1,c:0,e:r,b:0,d:1,f:arguments.length>1&&void 0!==arguments[1]?arguments[1]:0}}function y(r){return function(r){if(Array.isArray(r)){for(var n=0,t=new Array(r.length);n<r.length;n++)t[n]=r[n];return t}}(r)||A(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function v(r){return function(r){if(Array.isArray(r))return r}(r)||A(r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function A(r){if(Symbol.iterator in Object(r)||"[object Arguments]"===Object.prototype.toString.call(r))return Array.from(r)}function b(){for(var r=arguments.length,n=new Array(r),t=0;t<r;t++)n[t]=arguments[t];var e=function(r,n){return{a:r.a*n.a+r.c*n.b,c:r.a*n.c+r.c*n.d,e:r.a*n.e+r.c*n.f+r.e,b:r.b*n.a+r.d*n.b,d:r.b*n.c+r.d*n.d,f:r.b*n.e+r.d*n.f+r.f}};switch((n=Array.isArray(n[0])?n[0]:n).length){case 0:throw new Error("no matrices provided");case 1:return n[0];case 2:return e(n[0],n[1]);default:var o=v(n),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(r,n,t){var e=g(r),o=m(r),u={a:e,c:-o,e:0,b:o,d:e,f:0};return l(n)||l(t)?u:b([h(n,t),u,h(-n,-t)])}function S(r){var n=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(r*w/180,n,t)}function _(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return l(n)&&(n=r),{a:r,c:0,e:0,b:0,d:n,f:0}}function P(r,n){return{a:1,c:r,e:0,b:n,d:1,f:0}}var O=Math.tan;function C(r,n){return{a:1,c:O(r),e:0,b:O(n),d:1,f:0}}function E(r,n){return C(r*Math.PI/180,n*Math.PI/180)}function j(r){return I(r)}function F(r){return I(r)}function I(r){return"matrix(".concat(r.a,",").concat(r.b,",").concat(r.c,",").concat(r.d,",").concat(r.e,",").concat(r.f,")")}function R(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e10;return{a:Math.round(r.a*n)/n,b:Math.round(r.b*n)/n,c:Math.round(r.c*n)/n,d:Math.round(r.d*n)/n,e:Math.round(r.e*n)/n,f:Math.round(r.f*n)/n}}function T(r,n){var t=null!=r[0].x?r[0].x:r[0][0],e=null!=r[0].y?r[0].y:r[0][1],o=null!=n[0].x?n[0].x:n[0][0],u=null!=n[0].y?n[0].y:n[0][1],i=null!=r[1].x?r[1].x:r[1][0],a=null!=r[1].y?r[1].y:r[1][1],c=null!=n[1].x?n[1].x:n[1][0],s=null!=n[1].y?n[1].y:n[1][1],l=null!=r[2].x?r[2].x:r[2][0],p=null!=r[2].y?r[2].y:r[2][1],d=null!=n[2].x?n[2].x:n[2][0],h=null!=n[2].y?n[2].y:n[2][1];return R(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 N(r){return Array.isArray(r)?r.map(n):n(r);function n(r){switch(r.type){case"matrix":if("a"in r&&"b"in r&&"c"in r&&"d"in r&&"e"in r&&"f"in r)return u(r);throw new Error("MISSING_MANDATORY_PARAM");case"translate":if(!("tx"in r))throw new Error("MISSING_MANDATORY_PARAM");return"ty"in r?h(r.tx,r.ty):h(r.tx);case"scale":if(!("sx"in r))throw new Error("MISSING_MANDATORY_PARAM");return"sy"in r?_(r.sx,r.sy):_(r.sx);case"rotate":if(!("angle"in r))throw new Error("MISSING_MANDATORY_PARAM");return"cx"in r&&"cy"in r?S(r.angle,r.cx,r.cy):S(r.angle);case"skewX":if(!("angle"in r))throw new Error("MISSING_MANDATORY_PARAM");return E(r.angle,0);case"skewY":if(!("angle"in r))throw new Error("MISSING_MANDATORY_PARAM");return E(0,r.angle);case"shear":if(!("shx"in r&&"shy"in r))throw new Error("MISSING_MANDATORY_PARAM");return P(r.shx,r.shy);default:throw new Error("UNSUPPORTED_DESCRIPTOR")}}}function k(r,n,t,e){this.message=r,this.expected=n,this.found=t,this.location=e,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,k)}function D(r,n){n=void 0!==n?n:{};var t,e={},o={transformList:cr},u=cr,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=rr("matrix",!1),m=rr("(",!1),w=rr(")",!1),M=rr("translate",!1),S=rr("scale",!1),_=rr("rotate",!1),P=rr("skewX",!1),O=rr("skewY",!1),C=rr(",",!1),E=tr("fractionalConstant"),j=nr(["e","E"],!1,!1),F=nr(["+","-"],!1,!1),I=nr([["0","9"]],!1,!1),R=nr([" ","\t","\r","\n"],!1,!1),T=function(r){return r},N=function(r,n){return r.concat(n)},D=function(r,n,t,e,o,u){return[{type:"matrix",a:r,b:n,c:t,d:e,e:o,f:u}]},Y=function(r,n){var t={type:"translate",tx:r};return n&&(t.ty=n),[t]},G=function(r,n){var t={type:"scale",sx:r};return n&&(t.sy=n),[t]},X=function(r,n){var t={type:"rotate",angle:r};return n&&(t.cx=n[0],t.cy=n[1]),[t]},U=function(r){return[{type:"skewX",angle:r}]},L=function(r){return[{type:"skewY",angle:r}]},V=function(r){return parseFloat(r.join(""))},$=function(r){return parseInt(r.join(""))},q=function(r){return r},z=function(r,n){return[r,n]},B=function(r){return r.join("")},H=function(r,n){return[r?r.join(""):null,".",n.join("")].join("")},J=function(r){return r.join("")},K=0,Q=[{line:1,column:1}],W=[],Z=0;if("startRule"in n){if(!(n.startRule in o))throw new Error("Can't start parsing from rule \""+n.startRule+'".');u=o[n.startRule]}function rr(r,n){return{type:"literal",text:r,ignoreCase:n}}function nr(r,n,t){return{type:"class",parts:r,inverted:n,ignoreCase:t}}function tr(r){return{type:"other",description:r}}function er(n){var t,e=Q[n];if(e)return e;for(t=n-1;!Q[t];)t--;for(e={line:(e=Q[t]).line,column:e.column};t<n;)10===r.charCodeAt(t)?(e.line++,e.column=1):e.column++,t++;return Q[n]=e,e}var or="string"==typeof n.filename&&n.filename.length>0;function ur(r,t){var e={};or&&(e.filename=n.filename);var o=er(r);e.start={offset:r,line:o.line,column:o.column};var u=er(t);return e.end={offset:t,line:u.line,column:u.column},e}function ir(r){var n=W[W.length-1];K<n.pos||(K>n.pos&&(n.pos=K,n.variants=[]),n.variants.push(r))}function ar(r,n,t){return new k(k.buildMessage(r,n),r,n,t)}function cr(){var r,n,t,o,u;for(r=K,n=[],t=br();t!==e;)n.push(t),t=br();for((t=function r(){var n,t,o,u;n=K;t=fr();if(t!==e){if(o=[],(u=pr())!==e)for(;u!==e;)o.push(u),u=pr();else o=e;o!==e&&(u=r())!==e?(n,n=N(t,u)):(K=n,n=e)}else K=n,n=e;n===e&&(n=fr());return n}())===e&&(t=null),o=[],u=br();u!==e;)o.push(u),u=br();return r,r=T(t)}function fr(){var n;return(n=function(){var n,t,o,u,f,s,l,p,d,h,y,v,A,b=function(r){0===Z&&ir(r)};n=K,b(g),r.substr(K,6)===i?(t=i,K+=6):t=e;if(t!==e){for(o=[],u=br();u!==e;)o.push(u),u=br();if(b(m),40===r.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(f=[],s=br();s!==e;)f.push(s),s=br();if((s=sr())!==e)if(pr()!==e)if((l=sr())!==e)if(pr()!==e)if((p=sr())!==e)if(pr()!==e)if((d=sr())!==e)if(pr()!==e)if((h=sr())!==e)if(pr()!==e)if((y=sr())!==e){for(v=[],A=br();A!==e;)v.push(A),A=br();b(w),41===r.charCodeAt(K)?(A=c,K++):A=e,A!==e?(n,n=D(s,l,p,d,h,y)):(K=n,n=e)}else K=n,n=e;else K=n,n=e;else K=n,n=e;else K=n,n=e;else K=n,n=e;else K=n,n=e;else K=n,n=e;else K=n,n=e;else K=n,n=e;else K=n,n=e;else K=n,n=e}else K=n,n=e}else K=n,n=e;return n}())===e&&(n=function(){var n,t,o,u,i,s,l,p,d,h=function(r){0===Z&&ir(r)};n=K,h(M),r.substr(K,9)===f?(t=f,K+=9):t=e;if(t!==e){for(o=[],u=br();u!==e;)o.push(u),u=br();if(h(m),40===r.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],s=br();s!==e;)i.push(s),s=br();if((s=sr())!==e){for((l=lr())===e&&(l=null),p=[],d=br();d!==e;)p.push(d),d=br();h(w),41===r.charCodeAt(K)?(d=c,K++):d=e,d!==e?(n,n=Y(s,l)):(K=n,n=e)}else K=n,n=e}else K=n,n=e}else K=n,n=e;return n}())===e&&(n=function(){var n,t,o,u,i,f,l,p,d,h=function(r){0===Z&&ir(r)};n=K,h(S),r.substr(K,5)===s?(t=s,K+=5):t=e;if(t!==e){for(o=[],u=br();u!==e;)o.push(u),u=br();if(h(m),40===r.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=br();f!==e;)i.push(f),f=br();if((f=sr())!==e){for((l=lr())===e&&(l=null),p=[],d=br();d!==e;)p.push(d),d=br();h(w),41===r.charCodeAt(K)?(d=c,K++):d=e,d!==e?(n,n=G(f,l)):(K=n,n=e)}else K=n,n=e}else K=n,n=e}else K=n,n=e;return n}())===e&&(n=function(){var n,t,o,u,i,f,s,p,d,h=function(r){0===Z&&ir(r)};n=K,h(_),r.substr(K,6)===l?(t=l,K+=6):t=e;if(t!==e){for(o=[],u=br();u!==e;)o.push(u),u=br();if(h(m),40===r.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=br();f!==e;)i.push(f),f=br();if((f=sr())!==e){for((s=function(){var r,n,t;r=K,pr()!==e&&(n=sr())!==e&&pr()!==e&&(t=sr())!==e?(r,r=z(n,t)):(K=r,r=e);return r}())===e&&(s=null),p=[],d=br();d!==e;)p.push(d),d=br();h(w),41===r.charCodeAt(K)?(d=c,K++):d=e,d!==e?(n,n=X(f,s)):(K=n,n=e)}else K=n,n=e}else K=n,n=e}else K=n,n=e;return n}())===e&&(n=function(){var n,t,o,u,i,f,s,l,d=function(r){0===Z&&ir(r)};n=K,d(P),r.substr(K,5)===p?(t=p,K+=5):t=e;if(t!==e){for(o=[],u=br();u!==e;)o.push(u),u=br();if(d(m),40===r.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=br();f!==e;)i.push(f),f=br();if((f=sr())!==e){for(s=[],l=br();l!==e;)s.push(l),l=br();d(w),41===r.charCodeAt(K)?(l=c,K++):l=e,l!==e?(n,n=U(f)):(K=n,n=e)}else K=n,n=e}else K=n,n=e}else K=n,n=e;return n}())===e&&(n=function(){var n,t,o,u,i,f,s,l,p=function(r){0===Z&&ir(r)};n=K,p(O),r.substr(K,5)===d?(t=d,K+=5):t=e;if(t!==e){for(o=[],u=br();u!==e;)o.push(u),u=br();if(p(m),40===r.charCodeAt(K)?(u=a,K++):u=e,u!==e){for(i=[],f=br();f!==e;)i.push(f),f=br();if((f=sr())!==e){for(s=[],l=br();l!==e;)s.push(l),l=br();p(w),41===r.charCodeAt(K)?(l=c,K++):l=e,l!==e?(n,n=L(f)):(K=n,n=e)}else K=n,n=e}else K=n,n=e}else K=n,n=e;return n}()),n}function sr(){var n,t,o,u;return n=K,t=K,(o=yr())===e&&(o=null),(u=function(){var n,t,o;n=K,(t=function(){var n,t,o,u,i;return i=E,0===Z&&ir(i),Z++,n=K,(t=vr())===e&&(t=null),46===r.charCodeAt(K)?(o=y,K++):o=e,o!==e&&(u=vr())!==e?(n,n=H(t,u)):(K=n,n=e),n===e&&(n=K,(t=vr())!==e?(46===r.charCodeAt(K)?(o=y,K++):o=e,o!==e?(n,n=J(t)):(K=n,n=e)):(K=n,n=e)),Z--,n}())!==e?((o=hr())===e&&(o=null),n=t=[t,o]):(K=n,n=e);n===e&&(n=K,(t=vr())!==e&&(o=hr())!==e?n=t=[t,o]:(K=n,n=e));return n}())!==e?t=o=[o,u]:(K=t,t=e),t!==e&&(n,t=V(t)),(n=t)===e&&(n=K,t=K,(o=yr())===e&&(o=null),(u=function(){var r,n;r=K,(n=vr())!==e&&(r,n=B(n));return r=n}())!==e?t=o=[o,u]:(K=t,t=e),t!==e&&(n,t=$(t)),n=t),n}function lr(){var r,n;return r=K,pr()!==e&&(n=sr())!==e?(r,r=q(n)):(K=r,r=e),r}function pr(){var r,n,t,o,u;if(r=K,n=[],(t=br())!==e)for(;t!==e;)n.push(t),t=br();else n=e;if(n!==e){for((t=dr())===e&&(t=null),o=[],u=br();u!==e;)o.push(u),u=br();r=n=[n,t,o]}else K=r,r=e;if(r===e)if(r=K,(n=dr())!==e){for(t=[],o=br();o!==e;)t.push(o),o=br();r=n=[n,t]}else K=r,r=e;return r}function dr(){var n,t;return t=C,0===Z&&ir(t),44===r.charCodeAt(K)?(n=h,K++):n=e,n}function hr(){var n,t,o,u,i;return n=K,i=j,0===Z&&ir(i),v.test(r.charAt(K))?(t=r.charAt(K),K++):t=e,t!==e?((o=yr())===e&&(o=null),(u=vr())!==e?n=t=[t,o,u]:(K=n,n=e)):(K=n,n=e),n}function yr(){var n,t;return t=F,0===Z&&ir(t),A.test(r.charAt(K))?(n=r.charAt(K),K++):n=e,n}function vr(){var r,n;if(r=[],(n=Ar())!==e)for(;n!==e;)r.push(n),n=Ar();else r=e;return r}function Ar(){var n,t;return t=I,0===Z&&ir(t),b.test(r.charAt(K))?(n=r.charAt(K),K++):n=e,n}function br(){var n,t;return t=R,0===Z&&ir(t),x.test(r.charAt(K))?(n=r.charAt(K),K++):n=e,n}if(W.push({pos:K,variants:[]}),(t=u())!==e&&K===r.length)return t;throw t!==e&&K<r.length&&ir({type:"end"}),function(){var n=W[0],t=n.pos;return ar(n.variants,t<r.length?r.charAt(t):null,t<r.length?ur(t,t+1):ur(t,t))}()}!function(r,n){function t(){this.constructor=r}t.prototype=n.prototype,r.prototype=new t}(k,Error),k.buildMessage=function(r,n){var t={literal:function(r){return'"'+o(r.text)+'"'},class:function(r){var n=r.parts.map(function(r){return Array.isArray(r)?u(r[0])+"-"+u(r[1]):u(r)});return"["+(r.inverted?"^":"")+n+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(r){return r.description},not:function(r){return"not "+i(r.expected)}};function e(r){return r.charCodeAt(0).toString(16).toUpperCase()}function o(r){return r.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(r){return"\\x0"+e(r)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(r){return"\\x"+e(r)})}function u(r){return r.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(r){return"\\x0"+e(r)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(r){return"\\x"+e(r)})}function i(r){return t[r.type](r)}return"Expected "+function(r){var n,t,e=r.map(i);if(e.sort(),e.length>0){for(n=1,t=1;n<e.length;n++)e[n-1]!==e[n]&&(e[t]=e[n],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]}}(r)+" but "+function(r){return r?'"'+o(r)+'"':"end of input"}(n)+" found."};function Y(r){return D(r)}t.d(n,"applyToPoint",function(){return e}),t.d(n,"applyToPoints",function(){return o}),t.d(n,"fromObject",function(){return u}),t.d(n,"fromString",function(){return a}),t.d(n,"identity",function(){return c}),t.d(n,"inverse",function(){return f}),t.d(n,"isAffineMatrix",function(){return d}),t.d(n,"rotate",function(){return M}),t.d(n,"rotateDEG",function(){return S}),t.d(n,"scale",function(){return _}),t.d(n,"shear",function(){return P}),t.d(n,"skew",function(){return C}),t.d(n,"skewDEG",function(){return E}),t.d(n,"toCSS",function(){return j}),t.d(n,"toSVG",function(){return F}),t.d(n,"toString",function(){return I}),t.d(n,"transform",function(){return b}),t.d(n,"compose",function(){return x}),t.d(n,"translate",function(){return h}),t.d(n,"fromTriangles",function(){return T}),t.d(n,"smoothMatrix",function(){return R}),t.d(n,"fromDefinition",function(){return N}),t.d(n,"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;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})}])}); | ||
//# sourceMappingURL=transformation-matrix.min.js.map |
{ | ||
"name": "transformation-matrix", | ||
"version": "2.0.6", | ||
"version": "2.1.0", | ||
"description": "2d transformation matrix functions written in ES6 syntax. Tree shaking ready!", | ||
@@ -54,10 +54,10 @@ "main": "./build-commonjs/index.js", | ||
"devDependencies": { | ||
"@babel/cli": "^7.4.4", | ||
"@babel/core": "^7.4.5", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.4.4", | ||
"@babel/plugin-transform-runtime": "^7.4.4", | ||
"@babel/preset-env": "^7.4.5", | ||
"@types/jest": "^24.0.13", | ||
"@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-loader": "^8.0.6", | ||
"coveralls": "^3.0.4", | ||
"coveralls": "^3.0.5", | ||
"del-cli": "^2.0.0", | ||
@@ -68,5 +68,5 @@ "jest": "^24.8.0", | ||
"pegjs": "0.11.0-master.30f3260", | ||
"standard": "^12.0.1", | ||
"webpack": "^4.33.0", | ||
"webpack-cli": "^3.3.4" | ||
"standard": "^13.1.0", | ||
"webpack": "^4.38.0", | ||
"webpack-cli": "^3.3.6" | ||
}, | ||
@@ -73,0 +73,0 @@ "standard": { |
@@ -155,2 +155,3 @@ <!--------------------------------------------------------------------> | ||
- **2.0**- Migrates to Babel 7 and updates dependencies; introduces `fromDefinition` function; breaking changes on `fromTransformAttribute` function; improves docs | ||
- **2.1**- Upgrades deps; Adds Node.js v12 to CI | ||
@@ -157,0 +158,0 @@ # API |
@@ -17,3 +17,3 @@ /** | ||
export function fromString (string) { | ||
let parsed = string.match(matrixRegex) | ||
const parsed = string.match(matrixRegex) | ||
if (parsed === null || parsed.length < 7) throw new Error(`'${string}' is not a matrix`) | ||
@@ -20,0 +20,0 @@ return { |
@@ -14,20 +14,20 @@ import { inverse } from './inverse' | ||
// point p = first point of the triangle | ||
let px1 = t1[0].x != null ? t1[0].x : t1[0][0] | ||
let py1 = t1[0].y != null ? t1[0].y : t1[0][1] | ||
let px2 = t2[0].x != null ? t2[0].x : t2[0][0] | ||
let py2 = t2[0].y != null ? t2[0].y : t2[0][1] | ||
const px1 = t1[0].x != null ? t1[0].x : t1[0][0] | ||
const py1 = t1[0].y != null ? t1[0].y : t1[0][1] | ||
const px2 = t2[0].x != null ? t2[0].x : t2[0][0] | ||
const py2 = t2[0].y != null ? t2[0].y : t2[0][1] | ||
// point q = second point of the triangle | ||
let qx1 = t1[1].x != null ? t1[1].x : t1[1][0] | ||
let qy1 = t1[1].y != null ? t1[1].y : t1[1][1] | ||
let qx2 = t2[1].x != null ? t2[1].x : t2[1][0] | ||
let qy2 = t2[1].y != null ? t2[1].y : t2[1][1] | ||
const qx1 = t1[1].x != null ? t1[1].x : t1[1][0] | ||
const qy1 = t1[1].y != null ? t1[1].y : t1[1][1] | ||
const qx2 = t2[1].x != null ? t2[1].x : t2[1][0] | ||
const qy2 = t2[1].y != null ? t2[1].y : t2[1][1] | ||
// point r = third point of the triangle | ||
let rx1 = t1[2].x != null ? t1[2].x : t1[2][0] | ||
let ry1 = t1[2].y != null ? t1[2].y : t1[2][1] | ||
let rx2 = t2[2].x != null ? t2[2].x : t2[2][0] | ||
let ry2 = t2[2].y != null ? t2[2].y : t2[2][1] | ||
const rx1 = t1[2].x != null ? t1[2].x : t1[2][0] | ||
const ry1 = t1[2].y != null ? t1[2].y : t1[2][1] | ||
const rx2 = t2[2].x != null ? t2[2].x : t2[2][0] | ||
const ry2 = t2[2].y != null ? t2[2].y : t2[2][1] | ||
let r1 = { | ||
const r1 = { | ||
a: px1 - rx1, | ||
@@ -40,3 +40,3 @@ b: py1 - ry1, | ||
} | ||
let r2 = { | ||
const r2 = { | ||
a: px2 - rx2, | ||
@@ -50,4 +50,4 @@ b: py2 - ry2, | ||
let inverseR1 = inverse(r1) | ||
let affineMatrix = transform([r2, inverseR1]) | ||
const inverseR1 = inverse(r1) | ||
const affineMatrix = transform([r2, inverseR1]) | ||
@@ -54,0 +54,0 @@ // round the matrix elements to smooth the finite inversion |
@@ -9,5 +9,5 @@ /** | ||
let { a, b, c, d, e, f } = matrix | ||
const { a, b, c, d, e, f } = matrix | ||
let denom = a * d - b * c | ||
const denom = a * d - b * c | ||
@@ -14,0 +14,0 @@ return { |
@@ -11,14 +11,14 @@ import { isNumeric, isObject } from './utils' | ||
return isObject(object) && | ||
object.hasOwnProperty('a') && | ||
'a' in object && | ||
isNumeric(object.a) && | ||
object.hasOwnProperty('b') && | ||
'b' in object && | ||
isNumeric(object.b) && | ||
object.hasOwnProperty('c') && | ||
'c' in object && | ||
isNumeric(object.c) && | ||
object.hasOwnProperty('d') && | ||
'd' in object && | ||
isNumeric(object.d) && | ||
object.hasOwnProperty('e') && | ||
'e' in object && | ||
isNumeric(object.e) && | ||
object.hasOwnProperty('f') && | ||
'f' in object && | ||
isNumeric(object.f) | ||
} |
@@ -14,5 +14,5 @@ import { isUndefined } from './utils' | ||
export function rotate (angle, cx, cy) { | ||
let cosAngle = cos(angle) | ||
let sinAngle = sin(angle) | ||
let rotationMatrix = { | ||
const cosAngle = cos(angle) | ||
const sinAngle = sin(angle) | ||
const rotationMatrix = { | ||
a: cosAngle, | ||
@@ -19,0 +19,0 @@ c: -sinAngle, |
@@ -31,4 +31,4 @@ /** | ||
default: | ||
let [m1, m2, ...rest] = matrices | ||
let m = multiply(m1, m2) | ||
const [m1, m2, ...rest] = matrices | ||
const m = multiply(m1, m2) | ||
return transform(m, ...rest) | ||
@@ -35,0 +35,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
524
419659
6055