@litecanvas/plugin-migrate 0.6.0 → 0.7.0

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/dist/dist.js CHANGED
@@ -1,3 +1,3 @@
1
- (()=>{var _=(r,u,p,m,n,f,b,x)=>r<n+b&&r+p>n&&u<f+x&&u+m>f;var y=(r,u,p,m,n,f)=>(m-r)*(m-r)+(n-u)*(n-u)<=(p+f)*(p+f);var Bt=2*Math.PI;var N=(r,u,p,m=Math.sin)=>r+(m(p)+1)/2*(u-r);var vr=Math.PI/2;var tt={warnings:!0};function v(r,u={}){if(r.stat(1))throw'Plugin Migrate should be loaded before the "init" event';u=Object.assign({},tt,u);let m={def:c,seed:f,print:T,clear:R,setfps:z,setvar:Y,textstyle:x,textmetrics:I,cliprect:k,clipcirc:F,blendmode:S,transform:C,getcolor:w,mousepos:L,resize:O,path:H,fill:B,stroke:D,clip:V,paint:$,colrect:(...t)=>(g("colrect()"),_(...t)),colcirc:(...t)=>(g("colrect()"),y(...t)),wave:(...t)=>(g("wave()"),N(...t))},n=r.stat(0);function f(t){return a("seed()","rseed()"),t&&r.rseed(t),r.stat(9)}let b="";function x(t){a("textstyle()","the 5th param of text()"),b=t}function T(t,e,s,i){a("print()","text()"),r.text(t,e,s,i)}function I(t,e){a("textmetrics()","ctx().measureText()");let s=r.ctx(),i=r.stat(10),l=r.stat(11);s.font=`${b||""} ${~~(e||i)}px ${l}`;let h=s.measureText(t);return h.height=h.actualBoundingBoxAscent+h.actualBoundingBoxDescent,h}function k(t,e,s,i){a("cliprect()","clip()");let l=r.ctx();l.beginPath(),l.rect(t,e,s,i),l.clip()}function F(t,e,s){a("clipcirc()","clip()");let i=r.ctx();i.beginPath(),i.arc(t,e,s,0,r.TWO_PI),i.clip()}function w(t){a("getcolor()","stat(5)");let e=stat(5);return e[~~t%e.length]}function S(t){a("blendmode()","ctx().globalCompositeOperation");let e=r.ctx();e.globalCompositeOperation=t}function R(t){a("clear()","cls()"),r.cls(t)}function C(t,e,s,i,l,h,j=!0){return a("transform()","ctx().setTransform() or ctx().transform()"),r.ctx()[j?"setTransform":"transform"](t,e,s,i,l,h)}function L(){return a("mousepos()","MX and MY"),[MX,MY]}function z(t){a("setfps()","framerate()"),r.framerate(t)}let o=r.def;function c(t,e){switch(t){case"W":case"WIDTH":o("W",e),o("WIDTH",e);break;case"H":case"HEIGHT":o("H",e),o("HEIGHT",e);break;case"T":case"ELAPSED":o("T",e),o("ELAPSED",e);break;case"CX":case"CENTERX":o("CX",e),o("CENTERX",e);break;case"CY":case"CENTERY":o("CY",e),o("CENTERY",e);break;case"MX":case"MOUSEX":o("MX",e),o("MOUSEX",e);break;case"MY":case"MOUSEY":o("MY",e),o("MOUSEY",e);break;default:o(t,e);break}}function Y(t,e){a("setvar()","def()"),c(t,e)}r.listen("resized",E);function E(){c("CX",r.W/2),c("CY",r.H/2)}E(),c("CANVAS",r.canvas());function O(t,e){if(n.autoscale)throw"resize() don't works with autoscale enabled";a("resize()",null,"Avoid changing the canvas dimensions at runtime."),r.CANVAS.width=t,c("W",t),r.CANVAS.height=e,c("H",e),r.emit("resized",1)}for(let t of["W","H","T","CX","CY","MX","MY"])r[t]!=null&&c(t,r[t]);if(a("FPS","","but you can use our plugin to measure the fps: https://github.com/litecanvas/plugin-frame-rate-meter"),o("FPS",""),n.fps&&r.framerate(n.fps),n.background!=null){a('"background" option',"You must update your canvas CSS");let t=r.listen("before:draw",()=>{r.canvas().style.background=w(~~n.background),t()})}function H(t){return a("path()","`new Path2D()`","See https://developer.mozilla.org/en-US/docs/Web/API/Path2D"),new Path2D(t)}let X=r.fill;function B(t,e){if(e instanceof Path2D){a("fill(color, path)");let s=r.stat(5),i=r.ctx();i.fillStyle=s[~~t%s.length],r.ctx().fill(e)}else X(t)}let W=r.stroke;function D(t,e){if(e instanceof Path2D){a("stroke(color, path)");let s=r.stat(5),i=r.ctx();i.strokeStyle=s[~~t%s.length],r.ctx().stroke(e)}else W(t)}let U=r.clip;function V(t){a("clip(path)","clip(callback)","E.g: `clip((ctx) => ctx.rect(0, 0, 200, 200))`"),t instanceof Path2D?r.ctx().clip(t):U(t)}n.antialias&&a('"antialias" option','"pixelart" option'),n.pixelart===!1&&a('"pixelart" option'),n.animate===!1&&a('"animate" option',"pause() in the of your draw()");let Z=r.paint;function $(t,e,s,i){let l=s;return r.spr&&Array.isArray(s)&&(l=()=>{r.spr(0,0,s.join(`
2
- `))}),Z(t,e,l,i)}let d=r.spr;d&&d.length===3&&(m.spr=function(t,e,s,i,l){Number.isFinite(s)&&s>0?(a("spr() width and height","spr(x, y, pixels)"),d(t,e,l)):d(t,e,s)});let M=r.unlisten;if(M){let t=r.listen;m.listen=(e,s)=>(t(e,s),()=>{A("listen() not returns a function anymore. Please use unlisten(event, callback) instead"),M(e,s)})}function A(t){u.warnings&&console.warn(`[litecanvas/migrate] ${t}.`)}function a(t,e,s=""){A(`${t} is removed. `+(e?`Please use ${e} instead. `:"")+s)}function g(t,e="function"){a(t,`This ${e} was moved to @litecanvas/utils package.`)}return m}window.pluginMigrate=v;})();
1
+ (()=>{var _=(r,u,p,m,n,f,b,x)=>r<n+b&&r+p>n&&u<f+x&&u+m>f;var y=(r,u,p,m,n,f)=>(m-r)*(m-r)+(n-u)*(n-u)<=(p+f)*(p+f);var Wt=2*Math.PI;var N=(r,u,p,m=Math.sin)=>r+(m(p)+1)/2*(u-r);var vr=Math.PI/2;var et={warnings:!0};function w(r,u={}){if(r.stat(1))throw'Plugin Migrate should be loaded before the "init" event';u=Object.assign({},et,u);let m={def:c,seed:f,print:T,clear:R,setfps:O,setvar:Y,textstyle:x,textmetrics:k,cliprect:F,clipcirc:S,blendmode:C,transform:L,getcolor:v,mousepos:z,resize:H,path:X,fill:W,stroke:U,clip:Z,paint:q,colrect:(...t)=>(g("colrect()"),_(...t)),colcirc:(...t)=>(g("colrect()"),y(...t)),wave:(...t)=>(g("wave()"),N(...t))},n=r.stat(0);function f(t){return a("seed()","rseed()"),t&&r.rseed(t),r.stat(9)}let b="";function x(t){a("textstyle()","the 5th param of text()"),b=t}function T(t,e,s,i){a("print()","text()"),r.text(t,e,s,i)}function k(t,e){a("textmetrics()","ctx().measureText()");let s=r.ctx(),i=r.stat(10),l=r.stat(11);s.font=`${b||""} ${~~(e||i)}px ${l}`;let h=s.measureText(t);return h.height=h.actualBoundingBoxAscent+h.actualBoundingBoxDescent,h}function F(t,e,s,i){a("cliprect()","clip()");let l=r.ctx();l.beginPath(),l.rect(t,e,s,i),l.clip()}function S(t,e,s){a("clipcirc()","clip()");let i=r.ctx();i.beginPath(),i.arc(t,e,s,0,r.TWO_PI),i.clip()}function v(t){a("getcolor()","stat(5)");let e=stat(5);return e[~~t%e.length]}function C(t){a("blendmode()","ctx().globalCompositeOperation");let e=r.ctx();e.globalCompositeOperation=t}function R(t){a("clear()","cls()"),r.cls(t)}function L(t,e,s,i,l,h,j=!0){return a("transform()","ctx().setTransform() or ctx().transform()"),r.ctx()[j?"setTransform":"transform"](t,e,s,i,l,h)}function z(){return a("mousepos()","MX and MY"),[MX,MY]}function O(t){a("setfps()","framerate()"),r.framerate(t)}let o=r.def;function c(t,e){switch(t){case"W":case"WIDTH":o("W",e),o("WIDTH",e);break;case"H":case"HEIGHT":o("H",e),o("HEIGHT",e);break;case"T":case"ELAPSED":o("T",e),o("ELAPSED",e);break;case"CX":case"CENTERX":o("CX",e),o("CENTERX",e);break;case"CY":case"CENTERY":o("CY",e),o("CENTERY",e);break;case"MX":case"MOUSEX":o("MX",e),o("MOUSEX",e);break;case"MY":case"MOUSEY":o("MY",e),o("MOUSEY",e);break;default:o(t,e);break}}function Y(t,e){a("setvar()","def()"),c(t,e)}r.listen("resized",E);function E(){c("CX",r.W/2),c("CY",r.H/2)}E(),c("CANVAS",r.canvas());function H(t,e){if(n.autoscale)throw"resize() don't works with autoscale enabled";a("resize()",null,"Avoid changing the canvas dimensions at runtime."),r.CANVAS.width=t,c("W",t),r.CANVAS.height=e,c("H",e),r.emit("resized",1)}for(let t of["W","H","T","CX","CY","MX","MY"])r[t]!=null&&c(t,r[t]);a("FPS","","but you can use our plugin to measure the fps: https://github.com/litecanvas/plugin-frame-rate-meter"),o("FPS",""),n.fps&&r.framerate(n.fps),n.background!=null&&(a('"background" option',"You must update your canvas CSS"),r.listen("after:init",()=>{r.canvas().style.background=v(~~n.background)}));function X(t){return a("path()","`new Path2D()`","See https://developer.mozilla.org/en-US/docs/Web/API/Path2D"),new Path2D(t)}let B=r.fill;function W(t,e){if(e instanceof Path2D){a("fill(color, path)");let s=r.stat(5),i=r.ctx();i.fillStyle=s[~~t%s.length],r.ctx().fill(e)}else B(t)}let D=r.stroke;function U(t,e){if(e instanceof Path2D){a("stroke(color, path)");let s=r.stat(5),i=r.ctx();i.strokeStyle=s[~~t%s.length],r.ctx().stroke(e)}else D(t)}let V=r.clip;function Z(t){a("clip(path)","clip(callback)","E.g: `clip((ctx) => ctx.rect(0, 0, 200, 200))`"),t instanceof Path2D?r.ctx().clip(t):V(t)}n.antialias&&a('"antialias" option','"pixelart" option'),n.pixelart===!1&&a('"pixelart" option'),n.animate===!1&&a('"animate" option',"pause() in the of your draw()");let $=r.paint;function q(t,e,s,i){let l=s;return r.spr&&Array.isArray(s)&&(l=()=>{r.spr(0,0,s.join(`
2
+ `))}),$(t,e,l,i)}let d=r.spr;d&&d.length===3&&(m.spr=function(t,e,s,i,l){Number.isFinite(s)&&s>0?(a("spr() width and height","spr(x, y, pixels)"),d(t,e,l)):d(t,e,s)});let M=r.listen,A=r.unlisten;m.listen=(t,e)=>{let s;return A&&(t==="quit"&&(a('since v0.203, "quit" event','"shutdown" event'),M("shutdown",e)),s=()=>{I("listen() not returns a function anymore. Please use unlisten(event, callback) instead"),A(t,e)}),M(t,e),s};function I(t){u.warnings&&console.warn(`[litecanvas/migrate] ${t}.`)}function a(t,e,s=""){I(`${t} is removed. `+(e?`Please use ${e} instead. `:"")+s)}function g(t,e="function"){a(t,`This ${e} was moved to @litecanvas/utils package.`)}return m}window.pluginMigrate=w;})();
3
3
  /*! Migrate for litecanvas by Luiz Bills | MIT Licensed */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@litecanvas/plugin-migrate",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Sometimes upgrading litecanvas to a new version can be a lot of work. This plugin makes this easier, by restoring the Litecanvas APIs that were removed in newer versions, and additionally shows warnings in the browser console when removed and/or deprecated APIs are used.",
5
5
  "author": "Luiz Bills <luizbills@pm.me>",
6
6
  "license": "MIT",
package/src/index.js CHANGED
@@ -238,9 +238,8 @@ export default function plugin(engine, config = {}) {
238
238
  // restore the "background" option
239
239
  if (null != settings.background) {
240
240
  warn('"background" option', "You must update your canvas CSS")
241
- const removeThisListener = engine.listen("before:draw", () => {
241
+ engine.listen("after:init", () => {
242
242
  engine.canvas().style.background = getcolor(~~settings.background)
243
- removeThisListener()
244
243
  })
245
244
  }
246
245
 
@@ -330,19 +329,29 @@ export default function plugin(engine, config = {}) {
330
329
  }
331
330
  }
332
331
 
333
- // restore `listen()` pre v0.200
332
+ // restore `listen()` and some old events like "quit" pre v0.200
333
+ const _core_listen = engine.listen
334
334
  const _core_unlisten = engine.unlisten
335
- if (_core_unlisten) {
336
- const _core_listen = engine.listen
337
- replacements.listen = (eventName, callback) => {
338
- _core_listen(eventName, callback)
339
- return () => {
335
+ replacements.listen = (eventName, callback) => {
336
+ let ret
337
+
338
+ if (_core_unlisten) {
339
+ if (eventName === "quit") {
340
+ warn('since v0.203, "quit" event', '"shutdown" event')
341
+ _core_listen("shutdown", callback)
342
+ }
343
+
344
+ ret = () => {
340
345
  warnMessage(
341
346
  "listen() not returns a function anymore. Please use unlisten(event, callback) instead"
342
347
  )
343
348
  _core_unlisten(eventName, callback)
344
349
  }
345
350
  }
351
+
352
+ _core_listen(eventName, callback)
353
+
354
+ return ret
346
355
  }
347
356
 
348
357
  function warnMessage(message) {