@csstools/postcss-trigonometric-functions 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changes to PostCSS Trigonometric Functions
2
2
 
3
+ ### 1.0.2 (July 8, 2022)
4
+
5
+ - Fix case insensitive matching.
6
+
3
7
  ### 1.0.1 (May 31, 2022)
4
8
 
5
9
  - Ensure that the plugin works in node 14
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var t=require("postcss-value-parser"),e=require("vm");function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=n(t),u=n(e);function i(t){return t*(180/Math.PI)}const o={turn:function(t){return 2*t*Math.PI},deg:function(t){return t*(Math.PI/180)},grad:function(t){return t*(Math.PI/200)}};function a(t){return"word"===t.type}const s=["+","-","*","/"];var l;function c(t){return!Number.isNaN(t)&&Number.isFinite(t)}function f(t,e=!1){let n=!0;const i=[];if(t.filter((t=>"function"===t.type)).forEach((t=>{var r;if(!n)return;if(""!==t.value)return void(n=!1);const u=f(t.nodes.slice(0),e),i=1===u.length,o=Number((null==(r=u[0])?void 0:r.value)||"");i&&"word"===u[0].type&&!Number.isNaN(o)?(v(t),t.value=u[0].value):n=!1})),!n)return t;const a=t.filter((t=>"word"===t.type||s.includes(t.value)));let d=l.Number;const m=[];let h;const N=(t,e,r)=>{if(d===e){if(e===l.Number){const e=r||"";m.includes(e)||m.push({number:t,unit:e,index:i.length})}i.push(t),d=e===l.Number?l.Operation:l.Number}else n=!1};for(let t=0,u=a.length;t<u&&n;t++){const u=a[t];if(s.includes(u.value)){N(u.value,l.Operation);continue}if("pi"===u.value){N(Math.PI.toString(),l.Number);continue}if("e"===u.value){N(Math.E.toString(),l.Number);continue}const i=r.default.unit(u.value);if(!i){n=!1;break}if(e){if(h||(h=i.unit),h!==i.unit){n=!1;break}N(u.value,l.Operation)}else i.unit?"rad"!==i.unit&&"function"!=typeof o[i.unit]?n=!1:N(i.number,l.Number,i.unit):N(u.value,l.Number)}if(!n)return t;if(i.length%2==0||i.length<3)return t;let b;try{let t="";const e=new Set(m.map((t=>t.unit)));if(e.size>1)if(e.has("")){if(2!==e.size)throw new Error;[t]=Array.from(e).filter((t=>""!==t))}else m.forEach((t=>{if("rad"!==t.unit){const e=o[t.unit](Number(t.number));if(!c(e))throw new Error;i[t.index]=e.toString()}}));const n=u.default.createContext({result:NaN});new u.default.Script(`result = ${i.join(" ")}`).runInContext(n),"number"==typeof n.result&&c(n.result)&&(t&&(n.result=o[t](n.result)),c(n.result)&&(b=n.result))}catch(t){}if(void 0!==b){let e=b.toString();h&&(e+=h);const n=t[0].sourceIndex,r=e.length;t.length=0,t.push({type:"word",value:e,sourceIndex:n,sourceEndIndex:r})}return t}function v(t){delete t.nodes;const e=t;return e.type="word",e}function d(t,e){if(!Number.isNaN(t)){if(t>Number.MAX_SAFE_INTEGER)return"infinity";if(t<Number.MIN_SAFE_INTEGER)return"-infinity"}return Number(t.toFixed(e)).toString()}function m(t){let e,n="";if("infinity"===t.toLowerCase()?e=1/0:"-infinity"===t.toLowerCase()?e=-1/0:"pi"===t?e=Math.PI:"e"===t&&(e=Math.E),!e){const u=r.default.unit(t);if(!u)return!1;e=Number(u.number),Number.isNaN(e)||(n=u.unit)}return{number:e,unit:n}}function h(t,e=!0){t.nodes=f(t.nodes);const n=t.nodes.filter(a);if(1!==t.nodes.length||1!==n.length)return;const{value:r}=n[0],u=m(r);if(!u)return;let i=u.number;if(e){if(u.unit&&"rad"!==u.unit){if(!o[u.unit])return;i=o[u.unit](i)}}else if(u.unit)return;return[v(t),i]}!function(t){t[t.Number=0]="Number",t[t.Operation=1]="Operation"}(l||(l={}));const N=[{check:"asin(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"asin"!==t.value)return;const e=h(t,!1);if(!e)return;const[n,r]=e;let u=Math.asin(r);Number.isNaN(u)||"number"!=typeof u||(u=`${d(i(u),2)}deg`),n.value=u+""})),e.toString()}},{check:"acos(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"acos"!==t.value)return;const e=h(t,!1);if(!e)return;const[n,r]=e;let u=Math.acos(r);Number.isNaN(u)||"number"!=typeof u||(u=`${d(i(u),2)}deg`),n.value=u+""})),e.toString()}},{check:"atan(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"atan"!==t.value)return;const e=h(t,!1);if(!e)return;const[n,r]=e;let u=Math.atan(r);Number.isNaN(u)||"number"!=typeof u||(u=`${d(i(u),2)}deg`),n.value=u+""})),e.toString()}},{check:"atan2(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"atan2"!==t.value)return;const e=t.nodes.findIndex((t=>"div"===t.type&&","===t.value));if(e<0)return;let n=t.nodes.slice(0,e).filter(a),r=t.nodes.slice(e+1).filter(a);if(0===n.length||0===r.length)return;if(n.length>1&&(n=f(n,!0)),r.length>1&&(r=f(r,!0)),1!==n.length||1!==r.length)return;const u=m(n[0].value),o=m(r[0].value);if(!u||!o)return;if(u.unit!==o.unit)return;let s=Math.atan2(u.number,o.number);Number.isNaN(s)||"number"!=typeof s||(s=`${d(i(s),2)}deg`);v(t).value=s+""})),e.toString()}},{check:"sin(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"sin"!==t.value)return;const e=h(t);if(!e)return;const[n,r]=e;n.value=d(Math.sin(r),5)})),e.toString()}},{check:"cos(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"cos"!==t.value)return;const e=h(t);if(!e)return;const[n,r]=e;n.value=d(Math.cos(r),5)})),e.toString()}},{check:"tan(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"tan"!==t.value)return;const e=h(t);if(!e)return;const[n,r]=e,u=Number(d(i(r),2)),o=u/90;n.value=u%90==0&&o%2!=0?o>0?"infinity":"-infinity":d(Math.tan(r),5)})),e.toString()}}],b=t=>{const e=Object.assign({preserve:!1},t);return{postcssPlugin:"postcss-trigonometric-functions",Declaration(t){const n=N.filter((e=>t.value.includes(e.check)));if(!t||0===n.length)return;const r=t.clone();n.forEach((t=>{const e=t.transform(r);e&&(r.value=e)})),t.value!==r.value&&(e.preserve?t.cloneBefore({value:r.value}):t.value=r.value)}}};b.postcss=!0,module.exports=b;
1
+ "use strict";var t=require("postcss-value-parser"),e=require("vm");function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=n(t),u=n(e);function i(t){return t*(180/Math.PI)}const o={turn:function(t){return 2*t*Math.PI},deg:function(t){return t*(Math.PI/180)},grad:function(t){return t*(Math.PI/200)}};function a(t){return"word"===t.type}const s=["+","-","*","/"];var f;function c(t){return!Number.isNaN(t)&&Number.isFinite(t)}function l(t,e=!1){let n=!0;const i=[];if(t.filter((t=>"function"===t.type)).forEach((t=>{var r;if(!n)return;if(""!==t.value)return void(n=!1);const u=l(t.nodes.slice(0),e),i=1===u.length,o=Number((null==(r=u[0])?void 0:r.value)||"");i&&"word"===u[0].type&&!Number.isNaN(o)?(d(t),t.value=u[0].value):n=!1})),!n)return t;const a=t.filter((t=>"word"===t.type||s.includes(t.value)));let v=f.Number;const m=[];let h;const N=(t,e,r)=>{if(v===e){if(e===f.Number){const e=r||"";m.includes(e)||m.push({number:t,unit:e,index:i.length})}i.push(t),v=e===f.Number?f.Operation:f.Number}else n=!1};for(let t=0,u=a.length;t<u&&n;t++){const u=a[t];if(s.includes(u.value)){N(u.value,f.Operation);continue}if("pi"===u.value){N(Math.PI.toString(),f.Number);continue}if("e"===u.value){N(Math.E.toString(),f.Number);continue}const i=r.default.unit(u.value);if(!i){n=!1;break}if(e){if(h||(h=i.unit),h!==i.unit){n=!1;break}N(u.value,f.Operation)}else i.unit?"rad"!==i.unit&&"function"!=typeof o[i.unit]?n=!1:N(i.number,f.Number,i.unit):N(u.value,f.Number)}if(!n)return t;if(i.length%2==0||i.length<3)return t;let b;try{let t="";const e=new Set(m.map((t=>t.unit)));if(e.size>1)if(e.has("")){if(2!==e.size)throw new Error;[t]=Array.from(e).filter((t=>""!==t))}else m.forEach((t=>{if("rad"!==t.unit){const e=o[t.unit](Number(t.number));if(!c(e))throw new Error;i[t.index]=e.toString()}}));const n=u.default.createContext({result:NaN});new u.default.Script(`result = ${i.join(" ")}`).runInContext(n),"number"==typeof n.result&&c(n.result)&&(t&&(n.result=o[t](n.result)),c(n.result)&&(b=n.result))}catch(t){}if(void 0!==b){let e=b.toString();h&&(e+=h);const n=t[0].sourceIndex,r=e.length;t.length=0,t.push({type:"word",value:e,sourceIndex:n,sourceEndIndex:r})}return t}function d(t){delete t.nodes;const e=t;return e.type="word",e}function v(t,e){if(!Number.isNaN(t)){if(t>Number.MAX_SAFE_INTEGER)return"infinity";if(t<Number.MIN_SAFE_INTEGER)return"-infinity"}return Number(t.toFixed(e)).toString()}function m(t){let e,n="";if("infinity"===t.toLowerCase()?e=1/0:"-infinity"===t.toLowerCase()?e=-1/0:"pi"===t?e=Math.PI:"e"===t&&(e=Math.E),!e){const u=r.default.unit(t);if(!u)return!1;e=Number(u.number),Number.isNaN(e)||(n=u.unit)}return{number:e,unit:n}}function h(t,e=!0){t.nodes=l(t.nodes);const n=t.nodes.filter(a);if(1!==t.nodes.length||1!==n.length)return;const{value:r}=n[0],u=m(r);if(!u)return;let i=u.number;if(e){if(u.unit&&"rad"!==u.unit){if(!o[u.unit])return;i=o[u.unit](i)}}else if(u.unit)return;return[d(t),i]}!function(t){t[t.Number=0]="Number",t[t.Operation=1]="Operation"}(f||(f={}));const N=[{check:"asin(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"asin"!==t.value.toLowerCase())return;const e=h(t,!1);if(!e)return;const[n,r]=e;let u=Math.asin(r);Number.isNaN(u)||"number"!=typeof u||(u=`${v(i(u),2)}deg`),n.value=u+""}),!0),e.toString()}},{check:"acos(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"acos"!==t.value.toLowerCase())return;const e=h(t,!1);if(!e)return;const[n,r]=e;let u=Math.acos(r);Number.isNaN(u)||"number"!=typeof u||(u=`${v(i(u),2)}deg`),n.value=u+""}),!0),e.toString()}},{check:"atan(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"atan"!==t.value.toLowerCase())return;const e=h(t,!1);if(!e)return;const[n,r]=e;let u=Math.atan(r);Number.isNaN(u)||"number"!=typeof u||(u=`${v(i(u),2)}deg`),n.value=u+""}),!0),e.toString()}},{check:"atan2(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"atan2"!==t.value.toLowerCase())return;const e=t.nodes.findIndex((t=>"div"===t.type&&","===t.value));if(e<0)return;let n=t.nodes.slice(0,e).filter(a),r=t.nodes.slice(e+1).filter(a);if(0===n.length||0===r.length)return;if(n.length>1&&(n=l(n,!0)),r.length>1&&(r=l(r,!0)),1!==n.length||1!==r.length)return;const u=m(n[0].value),o=m(r[0].value);if(!u||!o)return;if(u.unit!==o.unit)return;let s=Math.atan2(u.number,o.number);Number.isNaN(s)||"number"!=typeof s||(s=`${v(i(s),2)}deg`);d(t).value=s+""}),!0),e.toString()}},{check:"sin(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"sin"!==t.value.toLowerCase())return;const e=h(t);if(!e)return;const[n,r]=e;n.value=v(Math.sin(r),5)}),!0),e.toString()}},{check:"cos(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"cos"!==t.value.toLowerCase())return;const e=h(t);if(!e)return;const[n,r]=e;n.value=v(Math.cos(r),5)}),!0),e.toString()}},{check:"tan(",transform:function(t){const e=r.default(t.value);return e.walk((t=>{if("function"!==t.type||"tan"!==t.value.toLowerCase())return;const e=h(t);if(!e)return;const[n,r]=e,u=Number(v(i(r),2)),o=u/90;n.value=u%90==0&&o%2!=0?o>0?"infinity":"-infinity":v(Math.tan(r),5)}),!0),e.toString()}}],b=t=>{const e=Object.assign({preserve:!1},t);return{postcssPlugin:"postcss-trigonometric-functions",Declaration(t){const n=N.filter((e=>t.value.toLowerCase().includes(e.check)));if(!t||0===n.length)return;const r=t.clone();n.forEach((t=>{const e=t.transform(r);e&&(r.value=e)})),t.value!==r.value&&(t.before(r),e.preserve||t.remove())}}};b.postcss=!0,module.exports=b;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import t from"postcss-value-parser";import n from"vm";function e(t){return t*(180/Math.PI)}const r={turn:function(t){return 2*t*Math.PI},deg:function(t){return t*(Math.PI/180)},grad:function(t){return t*(Math.PI/200)}};function u(t){return"word"===t.type}const i=["+","-","*","/"];var o;function a(t){return!Number.isNaN(t)&&Number.isFinite(t)}function s(e,u=!1){let l=!0;const f=[];if(e.filter((t=>"function"===t.type)).forEach((t=>{var n;if(!l)return;if(""!==t.value)return void(l=!1);const e=s(t.nodes.slice(0),u),r=1===e.length,i=Number((null==(n=e[0])?void 0:n.value)||"");r&&"word"===e[0].type&&!Number.isNaN(i)?(c(t),t.value=e[0].value):l=!1})),!l)return e;const v=e.filter((t=>"word"===t.type||i.includes(t.value)));let m=o.Number;const h=[];let N;const b=(t,n,e)=>{if(m===n){if(n===o.Number){const n=e||"";h.includes(n)||h.push({number:t,unit:n,index:f.length})}f.push(t),m=n===o.Number?o.Operation:o.Number}else l=!1};for(let n=0,e=v.length;n<e&&l;n++){const e=v[n];if(i.includes(e.value)){b(e.value,o.Operation);continue}if("pi"===e.value){b(Math.PI.toString(),o.Number);continue}if("e"===e.value){b(Math.E.toString(),o.Number);continue}const a=t.unit(e.value);if(!a){l=!1;break}if(u){if(N||(N=a.unit),N!==a.unit){l=!1;break}b(e.value,o.Operation)}else a.unit?"rad"!==a.unit&&"function"!=typeof r[a.unit]?l=!1:b(a.number,o.Number,a.unit):b(e.value,o.Number)}if(!l)return e;if(f.length%2==0||f.length<3)return e;let d;try{let t="";const e=new Set(h.map((t=>t.unit)));if(e.size>1)if(e.has("")){if(2!==e.size)throw new Error;[t]=Array.from(e).filter((t=>""!==t))}else h.forEach((t=>{if("rad"!==t.unit){const n=r[t.unit](Number(t.number));if(!a(n))throw new Error;f[t.index]=n.toString()}}));const u=n.createContext({result:NaN});new n.Script(`result = ${f.join(" ")}`).runInContext(u),"number"==typeof u.result&&a(u.result)&&(t&&(u.result=r[t](u.result)),a(u.result)&&(d=u.result))}catch(t){}if(void 0!==d){let t=d.toString();N&&(t+=N);const n=e[0].sourceIndex,r=t.length;e.length=0,e.push({type:"word",value:t,sourceIndex:n,sourceEndIndex:r})}return e}function c(t){delete t.nodes;const n=t;return n.type="word",n}function l(t,n){if(!Number.isNaN(t)){if(t>Number.MAX_SAFE_INTEGER)return"infinity";if(t<Number.MIN_SAFE_INTEGER)return"-infinity"}return Number(t.toFixed(n)).toString()}function f(n){let e,r="";if("infinity"===n.toLowerCase()?e=1/0:"-infinity"===n.toLowerCase()?e=-1/0:"pi"===n?e=Math.PI:"e"===n&&(e=Math.E),!e){const u=t.unit(n);if(!u)return!1;e=Number(u.number),Number.isNaN(e)||(r=u.unit)}return{number:e,unit:r}}function v(t,n=!0){t.nodes=s(t.nodes);const e=t.nodes.filter(u);if(1!==t.nodes.length||1!==e.length)return;const{value:i}=e[0],o=f(i);if(!o)return;let a=o.number;if(n){if(o.unit&&"rad"!==o.unit){if(!r[o.unit])return;a=r[o.unit](a)}}else if(o.unit)return;return[c(t),a]}!function(t){t[t.Number=0]="Number",t[t.Operation=1]="Operation"}(o||(o={}));const m=[{check:"asin(",transform:function(n){const r=t(n.value);return r.walk((t=>{if("function"!==t.type||"asin"!==t.value)return;const n=v(t,!1);if(!n)return;const[r,u]=n;let i=Math.asin(u);Number.isNaN(i)||"number"!=typeof i||(i=`${l(e(i),2)}deg`),r.value=i+""})),r.toString()}},{check:"acos(",transform:function(n){const r=t(n.value);return r.walk((t=>{if("function"!==t.type||"acos"!==t.value)return;const n=v(t,!1);if(!n)return;const[r,u]=n;let i=Math.acos(u);Number.isNaN(i)||"number"!=typeof i||(i=`${l(e(i),2)}deg`),r.value=i+""})),r.toString()}},{check:"atan(",transform:function(n){const r=t(n.value);return r.walk((t=>{if("function"!==t.type||"atan"!==t.value)return;const n=v(t,!1);if(!n)return;const[r,u]=n;let i=Math.atan(u);Number.isNaN(i)||"number"!=typeof i||(i=`${l(e(i),2)}deg`),r.value=i+""})),r.toString()}},{check:"atan2(",transform:function(n){const r=t(n.value);return r.walk((t=>{if("function"!==t.type||"atan2"!==t.value)return;const n=t.nodes.findIndex((t=>"div"===t.type&&","===t.value));if(n<0)return;let r=t.nodes.slice(0,n).filter(u),i=t.nodes.slice(n+1).filter(u);if(0===r.length||0===i.length)return;if(r.length>1&&(r=s(r,!0)),i.length>1&&(i=s(i,!0)),1!==r.length||1!==i.length)return;const o=f(r[0].value),a=f(i[0].value);if(!o||!a)return;if(o.unit!==a.unit)return;let v=Math.atan2(o.number,a.number);Number.isNaN(v)||"number"!=typeof v||(v=`${l(e(v),2)}deg`);c(t).value=v+""})),r.toString()}},{check:"sin(",transform:function(n){const e=t(n.value);return e.walk((t=>{if("function"!==t.type||"sin"!==t.value)return;const n=v(t);if(!n)return;const[e,r]=n;e.value=l(Math.sin(r),5)})),e.toString()}},{check:"cos(",transform:function(n){const e=t(n.value);return e.walk((t=>{if("function"!==t.type||"cos"!==t.value)return;const n=v(t);if(!n)return;const[e,r]=n;e.value=l(Math.cos(r),5)})),e.toString()}},{check:"tan(",transform:function(n){const r=t(n.value);return r.walk((t=>{if("function"!==t.type||"tan"!==t.value)return;const n=v(t);if(!n)return;const[r,u]=n,i=Number(l(e(u),2)),o=i/90;r.value=i%90==0&&o%2!=0?o>0?"infinity":"-infinity":l(Math.tan(u),5)})),r.toString()}}],h=t=>{const n=Object.assign({preserve:!1},t);return{postcssPlugin:"postcss-trigonometric-functions",Declaration(t){const e=m.filter((n=>t.value.includes(n.check)));if(!t||0===e.length)return;const r=t.clone();e.forEach((t=>{const n=t.transform(r);n&&(r.value=n)})),t.value!==r.value&&(n.preserve?t.cloneBefore({value:r.value}):t.value=r.value)}}};h.postcss=!0;export{h as default};
1
+ import t from"postcss-value-parser";import e from"vm";function n(t){return t*(180/Math.PI)}const r={turn:function(t){return 2*t*Math.PI},deg:function(t){return t*(Math.PI/180)},grad:function(t){return t*(Math.PI/200)}};function u(t){return"word"===t.type}const i=["+","-","*","/"];var o;function a(t){return!Number.isNaN(t)&&Number.isFinite(t)}function s(n,u=!1){let f=!0;const l=[];if(n.filter((t=>"function"===t.type)).forEach((t=>{var e;if(!f)return;if(""!==t.value)return void(f=!1);const n=s(t.nodes.slice(0),u),r=1===n.length,i=Number((null==(e=n[0])?void 0:e.value)||"");r&&"word"===n[0].type&&!Number.isNaN(i)?(c(t),t.value=n[0].value):f=!1})),!f)return n;const m=n.filter((t=>"word"===t.type||i.includes(t.value)));let v=o.Number;const h=[];let N;const b=(t,e,n)=>{if(v===e){if(e===o.Number){const e=n||"";h.includes(e)||h.push({number:t,unit:e,index:l.length})}l.push(t),v=e===o.Number?o.Operation:o.Number}else f=!1};for(let e=0,n=m.length;e<n&&f;e++){const n=m[e];if(i.includes(n.value)){b(n.value,o.Operation);continue}if("pi"===n.value){b(Math.PI.toString(),o.Number);continue}if("e"===n.value){b(Math.E.toString(),o.Number);continue}const a=t.unit(n.value);if(!a){f=!1;break}if(u){if(N||(N=a.unit),N!==a.unit){f=!1;break}b(n.value,o.Operation)}else a.unit?"rad"!==a.unit&&"function"!=typeof r[a.unit]?f=!1:b(a.number,o.Number,a.unit):b(n.value,o.Number)}if(!f)return n;if(l.length%2==0||l.length<3)return n;let d;try{let t="";const n=new Set(h.map((t=>t.unit)));if(n.size>1)if(n.has("")){if(2!==n.size)throw new Error;[t]=Array.from(n).filter((t=>""!==t))}else h.forEach((t=>{if("rad"!==t.unit){const e=r[t.unit](Number(t.number));if(!a(e))throw new Error;l[t.index]=e.toString()}}));const u=e.createContext({result:NaN});new e.Script(`result = ${l.join(" ")}`).runInContext(u),"number"==typeof u.result&&a(u.result)&&(t&&(u.result=r[t](u.result)),a(u.result)&&(d=u.result))}catch(t){}if(void 0!==d){let t=d.toString();N&&(t+=N);const e=n[0].sourceIndex,r=t.length;n.length=0,n.push({type:"word",value:t,sourceIndex:e,sourceEndIndex:r})}return n}function c(t){delete t.nodes;const e=t;return e.type="word",e}function f(t,e){if(!Number.isNaN(t)){if(t>Number.MAX_SAFE_INTEGER)return"infinity";if(t<Number.MIN_SAFE_INTEGER)return"-infinity"}return Number(t.toFixed(e)).toString()}function l(e){let n,r="";if("infinity"===e.toLowerCase()?n=1/0:"-infinity"===e.toLowerCase()?n=-1/0:"pi"===e?n=Math.PI:"e"===e&&(n=Math.E),!n){const u=t.unit(e);if(!u)return!1;n=Number(u.number),Number.isNaN(n)||(r=u.unit)}return{number:n,unit:r}}function m(t,e=!0){t.nodes=s(t.nodes);const n=t.nodes.filter(u);if(1!==t.nodes.length||1!==n.length)return;const{value:i}=n[0],o=l(i);if(!o)return;let a=o.number;if(e){if(o.unit&&"rad"!==o.unit){if(!r[o.unit])return;a=r[o.unit](a)}}else if(o.unit)return;return[c(t),a]}!function(t){t[t.Number=0]="Number",t[t.Operation=1]="Operation"}(o||(o={}));const v=[{check:"asin(",transform:function(e){const r=t(e.value);return r.walk((t=>{if("function"!==t.type||"asin"!==t.value.toLowerCase())return;const e=m(t,!1);if(!e)return;const[r,u]=e;let i=Math.asin(u);Number.isNaN(i)||"number"!=typeof i||(i=`${f(n(i),2)}deg`),r.value=i+""}),!0),r.toString()}},{check:"acos(",transform:function(e){const r=t(e.value);return r.walk((t=>{if("function"!==t.type||"acos"!==t.value.toLowerCase())return;const e=m(t,!1);if(!e)return;const[r,u]=e;let i=Math.acos(u);Number.isNaN(i)||"number"!=typeof i||(i=`${f(n(i),2)}deg`),r.value=i+""}),!0),r.toString()}},{check:"atan(",transform:function(e){const r=t(e.value);return r.walk((t=>{if("function"!==t.type||"atan"!==t.value.toLowerCase())return;const e=m(t,!1);if(!e)return;const[r,u]=e;let i=Math.atan(u);Number.isNaN(i)||"number"!=typeof i||(i=`${f(n(i),2)}deg`),r.value=i+""}),!0),r.toString()}},{check:"atan2(",transform:function(e){const r=t(e.value);return r.walk((t=>{if("function"!==t.type||"atan2"!==t.value.toLowerCase())return;const e=t.nodes.findIndex((t=>"div"===t.type&&","===t.value));if(e<0)return;let r=t.nodes.slice(0,e).filter(u),i=t.nodes.slice(e+1).filter(u);if(0===r.length||0===i.length)return;if(r.length>1&&(r=s(r,!0)),i.length>1&&(i=s(i,!0)),1!==r.length||1!==i.length)return;const o=l(r[0].value),a=l(i[0].value);if(!o||!a)return;if(o.unit!==a.unit)return;let m=Math.atan2(o.number,a.number);Number.isNaN(m)||"number"!=typeof m||(m=`${f(n(m),2)}deg`);c(t).value=m+""}),!0),r.toString()}},{check:"sin(",transform:function(e){const n=t(e.value);return n.walk((t=>{if("function"!==t.type||"sin"!==t.value.toLowerCase())return;const e=m(t);if(!e)return;const[n,r]=e;n.value=f(Math.sin(r),5)}),!0),n.toString()}},{check:"cos(",transform:function(e){const n=t(e.value);return n.walk((t=>{if("function"!==t.type||"cos"!==t.value.toLowerCase())return;const e=m(t);if(!e)return;const[n,r]=e;n.value=f(Math.cos(r),5)}),!0),n.toString()}},{check:"tan(",transform:function(e){const r=t(e.value);return r.walk((t=>{if("function"!==t.type||"tan"!==t.value.toLowerCase())return;const e=m(t);if(!e)return;const[r,u]=e,i=Number(f(n(u),2)),o=i/90;r.value=i%90==0&&o%2!=0?o>0?"infinity":"-infinity":f(Math.tan(u),5)}),!0),r.toString()}}],h=t=>{const e=Object.assign({preserve:!1},t);return{postcssPlugin:"postcss-trigonometric-functions",Declaration(t){const n=v.filter((e=>t.value.toLowerCase().includes(e.check)));if(!t||0===n.length)return;const r=t.clone();n.forEach((t=>{const e=t.transform(r);e&&(r.value=e)})),t.value!==r.value&&(t.before(r),e.preserve||t.remove())}}};h.postcss=!0;export{h as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@csstools/postcss-trigonometric-functions",
3
3
  "description": "Use sin(), cos(), tan(), acos(), atan(), and atan2() to compute trigonometric relationships",
4
- "version": "1.0.1",
4
+ "version": "1.0.2",
5
5
  "contributors": [
6
6
  {
7
7
  "name": "Antonio Laguna",
@@ -9,7 +9,7 @@
9
9
  "url": "https://antonio.laguna.es"
10
10
  },
11
11
  {
12
- "name": "Romain Menke ",
12
+ "name": "Romain Menke",
13
13
  "email": "romainmenke@gmail.com"
14
14
  }
15
15
  ],
@@ -41,7 +41,7 @@
41
41
  "postcss-value-parser": "^4.2.0"
42
42
  },
43
43
  "peerDependencies": {
44
- "postcss": "^8.4"
44
+ "postcss": "^8.2"
45
45
  },
46
46
  "scripts": {
47
47
  "build": "rollup -c ../../rollup/default.js",