From b96f2982923d45bbcdc55febafce6ebee66e7bdc Mon Sep 17 00:00:00 2001 From: Reece Como Date: Sun, 4 Aug 2024 20:19:00 +1000 Subject: [PATCH] #11 v1.2.4 add rollup esm and commonjs versions (#14) --- .eslintrc | 3 + .github/workflows/{lint.yml => eslint.yml} | 4 +- .github/workflows/{test.yml => tests.yml} | 4 +- .gitignore | 2 +- README.md | 25 +- dist/index.cjs | 2 + dist/index.cjs.map | 1 + dist/index.d.ts | 615 ++++++++ dist/index.mjs | 2 + dist/index.mjs.map | 1 + jest.config.js | 8 + package-lock.json | 1591 +++++++++++++++++++- package.json | 65 +- rollup.config.js | 31 + src/__tests__/tsconfig.jest.json | 6 + src/globals.d.ts | 114 ++ src/index.ts | 81 - src/types.d.ts | 33 - tsconfig.json | 21 +- 19 files changed, 2415 insertions(+), 194 deletions(-) rename .github/workflows/{lint.yml => eslint.yml} (93%) rename .github/workflows/{test.yml => tests.yml} (98%) create mode 100644 dist/index.cjs create mode 100644 dist/index.cjs.map create mode 100644 dist/index.d.ts create mode 100644 dist/index.mjs create mode 100644 dist/index.mjs.map create mode 100644 rollup.config.js create mode 100644 src/__tests__/tsconfig.jest.json create mode 100644 src/globals.d.ts delete mode 100644 src/types.d.ts diff --git a/.eslintrc b/.eslintrc index f3bb6d0..c340458 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,5 +1,8 @@ { "root": true, + "ignorePatterns": [ + "dist" + ], "rules": { "@typescript-eslint/indent": 0, "@typescript-eslint/no-duplicate-enum-values": 0, diff --git a/.github/workflows/lint.yml b/.github/workflows/eslint.yml similarity index 93% rename from .github/workflows/lint.yml rename to .github/workflows/eslint.yml index 14fcb3f..4d58e06 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/eslint.yml @@ -1,4 +1,4 @@ -name: "lint" +name: "eslint" on: push: @@ -11,7 +11,7 @@ on: - "**/*.ts" jobs: - lint: + eslint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test.yml b/.github/workflows/tests.yml similarity index 98% rename from .github/workflows/test.yml rename to .github/workflows/tests.yml index f20d99b..1fea1a6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/tests.yml @@ -1,4 +1,4 @@ -name: "test" +name: "tests" on: push: @@ -13,7 +13,7 @@ on: - "**/*.ts" jobs: - test: + tests: runs-on: ubuntu-latest strategy: matrix: diff --git a/.gitignore b/.gitignore index 18f2b36..3077f7a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ +.DS_Store coverage -dist node_modules diff --git a/README.md b/README.md index 2a75e00..8978542 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,14 @@ -# 🎬 pixijs-actions  [![NPM version](https://img.shields.io/npm/v/pixijs-actions.svg?style=flat-square)](https://www.npmjs.com/package/pixijs-actions) [![test ci/cd status badge](https://github.com/reececomo/pixijs-actions/actions/workflows/test.yml/badge.svg)](https://github.com/reececomo/pixijs-actions/actions/workflows/test.yml) [![lint ci/cd status badge](https://github.com/reececomo/pixijs-actions/actions/workflows/lint.yml/badge.svg)](https://github.com/reececomo/pixijs-actions/actions/workflows/lint.yml) +# 🎬 pixijs-actions  [![NPM version](https://img.shields.io/npm/v/pixijs-actions.svg?style=flat-square)](https://www.npmjs.com/package/pixijs-actions) [![Minzipped](https://badgen.net/bundlephobia/minzip/pixijs-actions@latest)](https://bundlephobia.com/package/pixijs-actions) [![Downloads](https://img.shields.io/npm/dt/pixijs-actions.svg)](https://www.npmjs.com/package/pixijs-actions) [![Tests](https://github.com/reececomo/pixijs-actions/actions/workflows/tests.yml/badge.svg)](https://github.com/reececomo/pixijs-actions/actions/workflows/tests.yml) [![License](https://badgen.net/npm/license/pixijs-actions)](https://github.com/reececomo/pixijs-actions/blob/main/LICENSE) -**PixiJS Actions** allows developers to easily configure complex, high-performance animations in [PixiJS](https://pixijs.com/). +⚡ Powerful, high-performance animations for PixiJS + +| | | +| ------ | ------ | +| 🔮 Simple, declarative API | 🎬 Based on [Cocos2d](https://docs.cocos2d-x.org/cocos2d-x/v3/en/actions/getting_started.html)/[SKActions](https://developer.apple.com/documentation/spritekit/getting_started_with_actions) | +| 🚀 35+ [built-in actions](#action-initializers)
30+ [smoothing options](#timing-modes) | 🔀 Reuseable, chainable & reversible | +| 🍃 Zero dependencies | ⌚ Full speed/pausing control | +| 🤏 `<4.5kb` minzipped | ✨ Supports PixiJS 8+, 7+, 6.3+ | -- 🚀 35+ [built-in actions](#action-initializers), 30+ [smoothing options](#timing-modes) -- 🔀 Reuseable, chainable & reversible actions -- ⌚ Comprehensive speed and pausing support -- ✨ Support for PixiJS v8, v7 and v6.3+ -- 🎬 Inspired by actions in [Cocos2d-x](https://docs.cocos2d-x.org/cocos2d-x/v3/en/actions/getting_started.html), [LibGDX](https://libgdx.com/wiki/graphics/2d/scene2d/scene2d#actions), [SpriteKit](https://developer.apple.com/documentation/spritekit/getting_started_with_actions) & many more ## Sample Usage @@ -25,7 +27,6 @@ const spinAndRemove = Action.sequence([ mySprite.run(spinAndRemove); ``` - ## Getting Started with PixiJS Actions *Everything you need to quickly build beautiful animations.* @@ -38,8 +39,10 @@ The core concepts are: 2. **Actions:** _Stateless, reusable recipes_ (e.g. animations, triggers, and more) 3. **TimingMode & speed:** _Controls for the speed & smoothness of actions and animations_ +> [!TIP] > _See [Timing Modes](#timing-modes) and [Manipulating Action Speed](#manipulating-action-speed) for more information._ + ## Installation *Quick start guide.* @@ -60,14 +63,14 @@ yarn add pixijs-actions --dev import * as PIXI from 'pixi.js'; import { Action, registerPixiJSActionsMixin } from 'pixijs-actions'; -// Register mixin for containers. +// register container mixin registerPixiJSActionsMixin(PIXI.Container); -// Register `Action.tick(...)` with shared ticker +// register `Action.tick(...)` with shared ticker Ticker.shared.add(ticker => Action.tick(ticker.elapsedMS)); ``` -**For PixiJS v6.3+ / v7+, that might look like:** +**PixiJS 7 / 6.3+:** ```ts Ticker.shared.add((dt) => Action.tick(dt / 60)); diff --git a/dist/index.cjs b/dist/index.cjs new file mode 100644 index 0000000..94782cb --- /dev/null +++ b/dist/index.cjs @@ -0,0 +1,2 @@ +"use strict";const t=Math.pow,e=Math.sqrt,i=Math.sin,n=Math.cos,s=Math.PI,r=1.70158,o=1.525*r,a=r+1,c=2*s/3,u=2*s/4.5,_bounceOut=function(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},d={linear:t=>t,easeInQuad:function(t){return t*t},easeOutQuad:function(t){return 1-(1-t)*(1-t)},easeInOutQuad:function(e){return e<.5?2*e*e:1-t(-2*e+2,2)/2},easeInCubic:function(t){return t*t*t},easeOutCubic:function(e){return 1-t(1-e,3)},easeInOutCubic:function(e){return e<.5?4*e*e*e:1-t(-2*e+2,3)/2},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(e){return 1-t(1-e,4)},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-t(-2*e+2,4)/2},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(e){return 1-t(1-e,5)},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1-t(-2*e+2,5)/2},easeInSine:function(t){return 1-n(t*s/2)},easeOutSine:function(t){return i(t*s/2)},easeInOutSine:function(t){return-(n(s*t)-1)/2},easeInExpo:function(e){return 0===e?0:t(2,10*e-10)},easeOutExpo:function(e){return 1===e?1:1-t(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:e<.5?t(2,20*e-10)/2:(2-t(2,-20*e+10))/2},easeInCirc:function(i){return 1-e(1-t(i,2))},easeOutCirc:function(i){return e(1-t(i-1,2))},easeInOutCirc:function(i){return i<.5?(1-e(1-t(2*i,2)))/2:(e(1-t(-2*i+2,2))+1)/2},easeInBack:function(t){return a*t*t*t-r*t*t},easeOutBack:function(e){return 1+a*t(e-1,3)+r*t(e-1,2)},easeInOutBack:function(e){return e<.5?t(2*e,2)*(7.189819*e-o)/2:(t(2*e-2,2)*((o+1)*(2*e-2)+o)+2)/2},easeInElastic:function(e){return 0===e?0:1===e?1:-t(2,10*e-10)*i((10*e-10.75)*c)},easeOutElastic:function(e){return 0===e?0:1===e?1:t(2,-10*e)*i((10*e-.75)*c)+1},easeInOutElastic:function(e){return 0===e?0:1===e?1:e<.5?-t(2,20*e-10)*i((20*e-11.125)*u)/2:t(2,-20*e+10)*i((20*e-11.125)*u)/2+1},easeInBounce:function(t){return 1-_bounceOut(1-t)},easeOutBounce:_bounceOut,easeInOutBounce:function(t){return t<.5?(1-_bounceOut(1-2*t))/2:(1+_bounceOut(2*t-1))/2}};class Action{constructor(t,e=1,i=d.linear){if(this.duration=t,this.speed=e,this.timingMode=i,this.log=!1,t<0)throw new RangeError("Action duration must be 0 or more.")}get scaledDuration(){return this.duration/this.speed}setSpeed(t){return this.speed=t,this}setTimingMode(t){return this.timingMode=t,this}linear(){return this.setTimingMode(d.linear)}easeIn(){return this.setTimingMode(Action._defaultTimingModeEaseIn)}easeOut(){return this.setTimingMode(Action._defaultTimingModeEaseOut)}easeInOut(){return this.setTimingMode(Action._defaultTimingModeEaseInOut)}onSetupTicker(t,e){}onTickerDidReset(t){}}Action._defaultTimingModeEaseIn=d.easeInSine,Action._defaultTimingModeEaseOut=d.easeOutSine,Action._defaultTimingModeEaseInOut=d.easeInOutSine;const h=1-1e-10;class ActionTicker{static tickAll(t,e){const i=.001*t;for(const[t,n]of this._tickers.entries()){const[s,r]=_getTargetState(t);if(!(s||r<=0))for(const t of n.values())try{t.tick(i*r)}catch(i){void 0===e?console.error("Action failed with error: ",i):e(i),this._removeActionTicker(t)}}}static runAction(t,e,i){this._tickers.has(e)||this._tickers.set(e,new Map);const n=new ActionTicker(t,e,i);this._tickers.get(e).set(null!=t?t:n,n)}static hasTargetActions(t){return this._tickers.has(t)}static getTargetActionForKey(t,e){var i,n;return null===(n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e))||void 0===n?void 0:n.action}static removeTargetActionForKey(t,e){var i;const n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e);n&&this._removeActionTicker(n)}static removeAllTargetActions(t){this._tickers.delete(t)}static _removeActionTicker(t){var e;const i=this._tickers.get(t.target);void 0!==i&&(i.delete(null!==(e=t.key)&&void 0!==e?e:t),0===i.size&&this._tickers.delete(t.target))}constructor(t,e,i){this.key=t,this.target=e,this.action=i,this.isDone=!1,this.autoComplete=!0,this._elapsed=0,this._isSetup=!1,this.speed=i.speed,this.scaledDuration=i.scaledDuration,this.timingMode=i.timingMode}get timeDistance(){return 0===this.scaledDuration?1:Math.min(1,this._elapsed/this.scaledDuration)}get easedTimeDistance(){return this.timingMode(this.timeDistance)}tick(t){this._isSetup||(this.speed=this.action.speed,this.scaledDuration=this.action.duration,this.timingMode=this.action.timingMode,this.data=this.action.onSetupTicker(this.target,this),this._isSetup=!0);const e=this.target,i=this.action;if(null==e||e.destroyed)return void ActionTicker._removeActionTicker(this);const n=t*this.speed;if(0===this.scaledDuration)return i.onTick(this.target,1,1,this,n),this.isDone=!0,ActionTicker._removeActionTicker(this),t;if(0===t&&this.timeDistance=h?(this.isDone=!0,ActionTicker._removeActionTicker(this),this._elapsed>this.scaledDuration?this._elapsed-this.scaledDuration:0):-1}reset(){this._elapsed=0,this.isDone=!1,this._isSetup=!1,this.action.onTickerDidReset(this)}}function _getTargetState(t){let e=t,i=e.isPaused,n=e.speed;for(;!i&&null!=e.parent;)i=e.parent.isPaused,n*=e.parent.speed,e=e.parent;return[i,n]}ActionTicker._tickers=new Map;class GroupAction extends Action{constructor(t){super(Math.max(...t.map((t=>t.scaledDuration)))),this.actions=t}reversed(){return new GroupAction(this.actions.map((t=>t.reversed()))).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this.actions.map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){const r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;let o=!0;for(const t of n.data.childTickers)t.isDone||(o=!1,t.tick(r));o&&(n.isDone=!0)}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}}class RepeatAction extends Action{constructor(t,e){if(super(t.scaledDuration*e),this.action=t,this.repeats=e,!Number.isInteger(e)||e<0)throw new RangeError("The number of repeats must be a positive integer.")}reversed(){return new RepeatAction(this.action.reversed(),this.repeats).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i,n:0}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*this.speed;if(o=r.tick(o),o>0||0===r.scaledDuration){if(++n.data.n>=this.repeats)return void(n.isDone=!0);r.reset(),o=r.tick(o)}}onTickerDidReset(t){t.data.childTicker.reset(),t.data.n=0}}class RepeatForeverAction extends Action{constructor(t){if(super(1/0),this.action=t,t.scaledDuration<=0)throw new TypeError("The action to be repeated must have a non-instantaneous duration.")}reversed(){return new RepeatForeverAction(this.action.reversed()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*n.speed;o=r.tick(o),o>0&&(r.reset(),o=r.tick(o))}onTickerDidReset(t){t.data.childTicker.reset()}}class SequenceAction extends Action{constructor(t){super(t.reduce(((t,e)=>t+e.scaledDuration),0)),this.actions=t}reversed(){return new SequenceAction(this.actions.map((t=>t.reversed())).reverse()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this._squashedActions().map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){let r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;for(const t of n.data.childTickers)if(!t.isDone&&(r=t.tick(r),r<0))return;n.isDone=!0}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}_squashedActions(){const t=[];for(const e of this.actions)e instanceof SequenceAction&&1===e.speed&&e.timingMode===d.linear?t.push(...e._squashedActions()):t.push(e);return t}}class CustomAction extends Action{constructor(t,e){super(t),this.stepFn=e}onTick(t,e,i){this.stepFn(t,e,i)}reversed(){return this}}class RunBlockAction extends Action{constructor(t){super(0),this.block=t}reversed(){return this}onTick(){this.block()}}class DelayAction extends Action{onTick(){}reversed(){return this}}class RemoveFromParentAction extends Action{constructor(){super(0)}reversed(){return this}onTick(t){var e;null===(e=t.parent)||void 0===e||e.removeChild(t)}}class RunOnChildAction extends Action{constructor(t,e){super(0),this.action=t,this.nameOrLabel=e}reversed(){return new RunOnChildAction(this.action.reversed(),this.nameOrLabel).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){if(void 0===t.children||!Array.isArray(t.children))throw new TypeError("The target did not have children.");let e;if(e="getChildByLabel"in t?t.getChildByLabel(this.nameOrLabel):t.children.find((t=>t.label===this.nameOrLabel||t.name===this.nameOrLabel)),!e)throw new ReferenceError(`The target did not have a child matching '${this.nameOrLabel}'.`);e.run(this.action)}}class SetVisibleAction extends Action{constructor(t){super(0),this.visible=t}reversed(){return new SetVisibleAction(!this.visible).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){t.visible=this.visible}}const l=Math.PI/2;class FollowPathAction extends Action{constructor(t,e,i,n,s){if(super(e),this.asOffset=i,this.orientToPath=n,this.fixedSpeed=s,this.path=t,this.lastIndex=t.length-1,n||s){const[e,i]=FollowPathAction.getLength(t);this.segmentLengths=i,s&&(this.segmentWeights=i.map((t=>t/(e||1))))}}static getPath(t){return Array.isArray(t)?[...t]:[...t.points]}static getLength(t){let e=0;const i=[];for(let n=0;n0){const t=this.path[0],e=this.path[this.path.length-1],i=e.x+t.x,n=e.y+t.y;return this.path.map((({x:t,y:e})=>({x:t-i,y:e-n}))).reverse()}return[...this.path].reverse()}_getDynamicSpeedProgress(t){const e=Math.max(Math.min(Math.floor(t*this.lastIndex),this.lastIndex-1),0),i=this.lastIndex||1;return[e,(t-e/i)*i]}_getFixedSpeedProgress(t){let e=t,i=0,n=0;for(let t=0;te||t===this.lastIndex-1){n=e/s||1;break}e-=s,i++}return[i,n]}}class MoveByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new MoveByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.position.x+=this.x*i,t.position.y+=this.y*i}}class MoveToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.x,startY:t.y}}onTick(t,e,i,n){t.position.set(void 0===this.x?t.position.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.position.y:n.data.startY+(this.y-n.data.startY)*e)}}class RotateByAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new RotateByAction(-this.rotation,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.rotation+=this.rotation*i}}class RotateToAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startRotation:t.rotation}}onTick(t,e,i,n){t.rotation=n.data.startRotation+(this.rotation-n.data.startRotation)*e}}class ScaleByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new ScaleByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t){return{dx:t.scale.x*this.x-t.scale.x,dy:t.scale.y*this.y-t.scale.y}}onTick(t,e,i,n){t.scale.set(t.scale.x+n.data.dx*i,t.scale.y+n.data.dy*i)}}class ScaleToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.scale.x,startY:t.scale.y}}onTick(t,e,i,n){t.scale.set(void 0===this.x?t.scale.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.scale.y:n.data.startY+(this.y-n.data.startY)*e)}}class ScaleToSizeAction extends Action{constructor(t,e,i){super(i),this.width=t,this.height=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){if("number"!=typeof t.width||"number"!=typeof t.height)throw new TypeError("The target must have numeric 'width' and 'height'.");return{width:t.width,height:t.height}}onTick(t,e,i,n){t.width=n.data.width+(this.width-n.data.width)*e,t.height=n.data.height+(this.height-n.data.height)*e}}class SpeedByAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new SpeedByAction(-this._speed,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.speed+=this._speed*i}}class SpeedToAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startSpeed:t.speed}}onTick(t,e,i,n){t.speed=n.data.startSpeed+(this._speed-n.data.startSpeed)*e}}class FadeByAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new FadeByAction(-this.alpha,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.alpha+=this.alpha*i}}class FadeAlphaToAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startAlpha:t.alpha}}onTick(t,e,i,n){t.alpha=n.data.startAlpha+(this.alpha-n.data.startAlpha)*e}}class FadeInAction extends FadeAlphaToAction{constructor(t){super(1,t)}reversed(){return new FadeAlphaToAction(0,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}class FadeOutAction extends FadeAlphaToAction{constructor(t){super(0,t)}reversed(){return new FadeAlphaToAction(1,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}const p=Math.PI/180;class _ extends Action{static get DefaultTimingModeEaseIn(){return Action._defaultTimingModeEaseIn}static set DefaultTimingModeEaseIn(t){Action._defaultTimingModeEaseIn=t}static get DefaultTimingModeEaseOut(){return Action._defaultTimingModeEaseOut}static set DefaultTimingModeEaseOut(t){Action._defaultTimingModeEaseOut=t}static get DefaultTimingModeEaseInOut(){return Action._defaultTimingModeEaseInOut}static set DefaultTimingModeEaseInOut(t){Action._defaultTimingModeEaseInOut=t}static tick(t,e){ActionTicker.tickAll(t,e)}static group(t){return new GroupAction(t)}static sequence(t){return new SequenceAction(t)}static repeat(t,e){return new RepeatAction(t,e)}static repeatForever(t){return new RepeatForeverAction(t)}static waitForDuration(t){return new DelayAction(t)}static waitForDurationWithRange(t,e){return new DelayAction(t+(e*Math.random()-.5*e))}static moveBy(t,e,i){return"number"==typeof t?new MoveByAction(t,e,i):new MoveByAction(t.x,t.y,e)}static moveByX(t,e){return this.moveBy(t,0,e)}static moveByY(t,e){return this.moveBy(0,t,e)}static moveTo(t,e,i){return"number"==typeof t?new MoveToAction(t,e,i):new MoveToAction(t.x,t.y,e)}static moveToX(t,e){return new MoveToAction(t,void 0,e)}static moveToY(t,e){return new MoveToAction(void 0,t,e)}static follow(t,e,i=!0,n=!0,s=!0){const r=FollowPathAction.getPath(t);return new FollowPathAction(r,e,i,n,s)}static followAtSpeed(t,e,i=!0,n=!0){const s=FollowPathAction.getPath(t),r=FollowPathAction.getLength(s);return new FollowPathAction(s,r[0]/e,i,n,!0)}static rotateBy(t,e){return new RotateByAction(t,e)}static rotateByDegrees(t,e){return this.rotateBy(t*p,e)}static rotateTo(t,e){return new RotateToAction(t,e)}static rotateToDegrees(t,e){return this.rotateTo(t*p,e)}static speedBy(t,e){return new SpeedByAction(t,e)}static speedTo(t,e){return new SpeedToAction(t,e)}static scaleBy(t,e,i){return"number"==typeof t?void 0===i?new ScaleByAction(t,t,e):new ScaleByAction(t,e,i):new ScaleByAction(t.x,t.y,e)}static scaleByX(t,e){return this.scaleBy(t,0,e)}static scaleByY(t,e){return this.scaleBy(0,t,e)}static scaleTo(t,e,i){return"number"==typeof t?void 0===i?new ScaleToAction(t,t,e):new ScaleToAction(t,e,i):new ScaleToSizeAction(t.width,t.height,e)}static scaleToX(t,e){return new ScaleToAction(t,void 0,e)}static scaleToY(t,e){return new ScaleToAction(void 0,t,e)}static fadeIn(t){return new FadeInAction(t)}static fadeOut(t){return new FadeOutAction(t)}static fadeAlphaTo(t,e){return new FadeAlphaToAction(t,e)}static fadeAlphaBy(t,e){return new FadeByAction(t,e)}static hide(){return new SetVisibleAction(!1)}static unhide(){return new SetVisibleAction(!0)}static removeFromParent(){return new RemoveFromParentAction}static runOnChild(t,e){return new RunOnChildAction(e,t)}static run(t){return new RunBlockAction(t)}static customAction(t,e){return new CustomAction(t,e)}constructor(){super(-1)}}exports.Action=_,exports.TimingMode=d,exports.registerPixiJSActionsMixin=function registerPixiJSActionsMixin(t){const e=t.prototype;e.speed=1,e.isPaused=!1,e.run=function(t,e){return e?ActionTicker.runAction(void 0,this,_.sequence([t,_.run(e)])):ActionTicker.runAction(void 0,this,t)},e.runWithKey=function(t,e){ActionTicker.runAction(e,this,t)},e.runAsPromise=function(t){return new Promise((e=>this.run(t,(()=>e()))))},e.action=function(t){return ActionTicker.getTargetActionForKey(this,t)},e.hasActions=function(){return ActionTicker.hasTargetActions(this)},e.removeAllActions=function(){ActionTicker.removeAllTargetActions(this)},e.removeAction=function(t){ActionTicker.removeTargetActionForKey(this,t)}}; +//# sourceMappingURL=index.cjs.map diff --git a/dist/index.cjs.map b/dist/index.cjs.map new file mode 100644 index 0000000..6e6d3fa --- /dev/null +++ b/dist/index.cjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index.cjs","sources":["../src/TimingMode.ts","../src/lib/Action.ts","../src/lib/ActionTicker.ts","../src/actions/chainable/GroupAction.ts","../src/actions/chainable/RepeatAction.ts","../src/actions/chainable/RepeatForeverAction.ts","../src/actions/chainable/SequenceAction.ts","../src/actions/custom/CustomAction.ts","../src/actions/custom/RunBlockAction.ts","../src/actions/delay/DelayAction.ts","../src/actions/display-object/RemoveFromParentAction.ts","../src/actions/display-object/RunOnChildAction.ts","../src/actions/display-object/SetVisibleAction.ts","../src/actions/follow-path/FollowPathAction.ts","../src/actions/move/MoveByAction.ts","../src/actions/move/MoveToAction.ts","../src/actions/rotate/RotateByAction.ts","../src/actions/rotate/RotateToAction.ts","../src/actions/scale/ScaleByAction.ts","../src/actions/scale/ScaleToAction.ts","../src/actions/scale/ScaleToSizeAction.ts","../src/actions/speed/SpeedByAction.ts","../src/actions/speed/SpeedToAction.ts","../src/actions/transparency/FadeAlphaByAction.ts","../src/actions/transparency/FadeAlphaToAction.ts","../src/actions/transparency/FadeInAction.ts","../src/actions/transparency/FadeOutAction.ts","../src/Action.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["pow","Math","sqrt","sin","cos","PI","c1","c2","c3","c4","c5","_bounceOut","x","n1","d1","TimingMode","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","Action","constructor","duration","speed","timingMode","this","log","RangeError","scaledDuration","setSpeed","setTimingMode","easeIn","_defaultTimingModeEaseIn","easeOut","_defaultTimingModeEaseOut","easeInOut","_defaultTimingModeEaseInOut","onSetupTicker","target","ticker","onTickerDidReset","EPSILON_1","ActionTicker","tickAll","deltaTimeMs","onErrorHandler","deltaTime","tickers","_tickers","entries","isPaused","_getTargetState","actionTicker","values","tick","error","undefined","console","_removeActionTicker","runAction","key","action","has","set","Map","get","hasTargetActions","getTargetActionForKey","_a","_b","removeTargetActionForKey","removeAllTargetActions","delete","size","isDone","autoComplete","_elapsed","_isSetup","timeDistance","min","easedTimeDistance","data","destroyed","scaledDeltaTime","onTick","b","t","dt","reset","leaf","parent","GroupAction","actions","super","max","map","reversed","childTickers","relativeDeltaTime","Infinity","allDone","childTicker","forEach","RepeatAction","repeats","Number","isInteger","n","remainingDeltaTime","RepeatForeverAction","TypeError","SequenceAction","reduce","total","reverse","_squashedActions","push","CustomAction","stepFn","RunBlockAction","block","DelayAction","RemoveFromParentAction","removeChild","RunOnChildAction","nameOrLabel","children","Array","isArray","child","getChildByLabel","find","label","name","ReferenceError","run","SetVisibleAction","visible","HALF_PI","FollowPathAction","path","asOffset","orientToPath","fixedSpeed","lastIndex","length","totalDist","segmentLengths","getLength","segmentWeights","v","getPath","points","totalLength","i","directionX","directionY","y","_getReversedPath","index","st","_getFixedSpeedProgress","_getDynamicSpeedProgress","startPoint","endPoint","position","ndx","ndy","rotation","atan2","first","last","dx","dy","floor","lastIndexNonZero","remainingProgress","segmentWeight","MoveByAction","MoveToAction","startX","startY","RotateByAction","RotateToAction","startRotation","ScaleByAction","scale","ScaleToAction","ScaleToSizeAction","width","height","SpeedByAction","_speed","SpeedToAction","startSpeed","FadeByAction","alpha","FadeAlphaToAction","startAlpha","FadeInAction","FadeOutAction","DEG_TO_RAD","_","DefaultTimingModeEaseIn","value","DefaultTimingModeEaseOut","DefaultTimingModeEaseInOut","group","sequence","repeat","repeatForever","waitForDuration","waitForDurationWithRange","average","rangeSize","random","moveBy","a","c","moveByX","moveByY","moveTo","moveToX","moveToY","follow","_path","followAtSpeed","_length","rotateBy","rotateByDegrees","degrees","rotateTo","rotateToDegrees","speedBy","speedTo","scaleBy","scaleByX","scaleByY","scaleTo","scaleToX","scaleToY","fadeIn","fadeOut","fadeAlphaTo","fadeAlphaBy","hide","unhide","removeFromParent","runOnChild","fn","customAction","registerPixiJSActionsMixin","container","prototype","completion","runWithKey","runAsPromise","Promise","resolve","forKey","hasActions","removeAllActions","removeAction"],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..56f7767 --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,615 @@ +import * as PIXI from 'pixi.js'; + +/* + * PixiJs Mixin: + */ + +declare module 'pixi.js' { + + export interface Container { + + /** + * A boolean value that determines whether actions on the node and its descendants are processed. + */ + isPaused: boolean; + + /** + * A speed modifier applied to all actions executed by a node and its descendants. + */ + speed: number; + + /** + * Adds an action to the list of actions executed by the node. + * + * The new action is processed the next time the canvas's animation loop is processed. + * + * After the action completes, your completion block is called, but only if the action runs to + * completion. If the action is removed before it completes, the completion handler is never + * called. + * + * @param action The action to perform. + * @param completion (Optional) A completion block called when the action completes. + */ + run(action: Action, completion?: () => void): void; + + /** + * Adds an identifiable action to the list of actions executed by the node. + * + * The action is stored so that it can be retrieved later. If an action using the same key is + * already running, it is removed before the new action is added. + * + * @param action The action to perform. + * @param withKey A unique key used to identify the action. + */ + runWithKey(action: Action, key: string): void; + + /** + * Adds an action to the list of actions executed by the node. + * + * The new action is processed the next time the canvas's animation loop is processed. + * + * Runs the action as a promise. + * + * @param action The action to perform. + */ + runAsPromise(action: Action): Promise; + + /** + * Returns an action associated with a specific key. + */ + action(forKey: string): Action | undefined; + + /** + * Returns a boolean value that indicates whether the node is executing actions. + */ + hasActions(): boolean; + + /** + * Ends and removes all actions from the node. + */ + removeAllActions(): void; + + /** + * Removes an action associated with a specific key. + */ + removeAction(forKey: string): void; + } + +} + +/* + * Type aliases: + */ + +declare global { + + /** Time measured in seconds. */ + type TimeInterval = number; + + /** Targeted display node. */ + type TargetNode = PIXI.Container; + + /** Targeted display node with a width and height. */ + type SizedTargetNode = TargetNode & SizeLike; + + /** Any vector-like object (e.g. PIXI.Point, or any node). */ + interface VectorLike { + x: number; + y: number; + } + + /** Any object with a width and height (e.g. PIXI.Sprite). */ + interface SizeLike { + width: number; + height: number; + } + + /** Any object containing an array of points (e.g. PIXI.SimpleRope). */ + interface PathObjectLike { + points: VectorLike[]; + } + +} + +export {}; +declare abstract class Action { + /** The duration required to complete an action. */ + readonly duration: TimeInterval; + /** A speed factor that modifies how fast an action runs. */ + speed: number; + /** A setting that controls the speed curve of an animation. */ + timingMode: TimingModeFn; + log: boolean; + protected static _defaultTimingModeEaseIn: (x: number) => number; + protected static _defaultTimingModeEaseOut: (x: number) => number; + protected static _defaultTimingModeEaseInOut: (x: number) => number; + protected constructor( + /** The duration required to complete an action. */ + duration: TimeInterval, + /** A speed factor that modifies how fast an action runs. */ + speed?: number, + /** A setting that controls the speed curve of an animation. */ + timingMode?: TimingModeFn); + /** Duration of the action after its local speed scalar is applied. */ + get scaledDuration(): number; + /** + * Set the action's speed scale. Default: `1.0`. + * + * This function mutates the underlying action. + */ + setSpeed(speed: number): this; + /** + * Adjust the speed curve of an animation. Default: `TimingMode.linear`. + * + * This function mutates the underlying action. + * + * @see {TimingMode} + */ + setTimingMode(timingMode: TimingModeFn): this; + /** + * Default `timingMode`. Sets the speed curve of the action to linear pacing. Linear pacing causes + * an animation to occur evenly over its duration. + * + * This function mutates the underlying action. + * + * @see {TimingMode.linear} + */ + linear(): this; + /** + * Sets the speed curve of the action to the default ease-in pacing. Ease-in pacing causes the + * animation to begin slowly and then speed up as it progresses. + * + * This function mutates the underlying action. + * + * @see {Action.DefaultTimingModeEaseIn} + */ + easeIn(): this; + /** + * Sets the speed curve of the action to the default ease-out pacing. Ease-out pacing causes the + * animation to begin quickly and then slow as it completes. + * + * This function mutates the underlying action. + * + * @see {Action.DefaultTimingModeEaseOut} + */ + easeOut(): this; + /** + * Sets the speed curve of the action to the default ease-in, ease-out pacing. Ease-in, ease-out + * pacing causes the animation to begin slowly, accelerate through the middle of its duration, + * and then slow again before completing. + * + * This function mutates the underlying action. + * + * @see {Action.DefaultTimingModeEaseInOut} + */ + easeInOut(): this; + /** (optional) */ + protected onSetupTicker(target: TargetNode, ticker: IActionTicker): any; + /** (optional) */ + protected onTickerDidReset(ticker: IActionTicker): any; + /** + * Creates an action that reverses the behavior of another action. + * + * This method always returns an action object; however, not all actions are reversible. + * When reversed, some actions return an object that either does nothing or that performs the same + * action as the original action. + */ + abstract reversed(): Action; + /** + * Update function for the action. + * + * @param target The affected node. + * @param t The elapsed progress of the action, with the timing mode function applied. Generally a scalar number between 0.0 and 1.0. + * @param dt Relative change in progress since the previous animation change. Use this for relative actions. + * @param ticker The action ticker running this update. + * @param deltaTime The amount of time elapsed in this tick. This number is scaled by both speed of target and any parent actions. + */ + protected abstract onTick(target: TargetNode, t: number, dt: number, ticker: IActionTicker, deltaTime: number): void; +} +/** + * Create, configure, and run actions in PixiJS. + * + * An action is an animation that is executed by a target node. + * + * ### Setup: + * Bind `Action.tick(deltaTimeMs)` to your renderer/shared ticker to activate actions. + */ +declare abstract class _ extends Action { + /** + * Default timing mode used for ease-in pacing. + * + * Set this to update the default `easeIn()` timing mode. + * + * @see TimingMode.easeInSine - Default value. + */ + static get DefaultTimingModeEaseIn(): TimingModeFn; + static set DefaultTimingModeEaseIn(value: TimingModeFn); + /** + * Default timing mode used for ease-out pacing. + * + * Set this to update the default `easeOut()` timing mode. + * + * @see TimingMode.easeOutSine - Default value. + */ + static get DefaultTimingModeEaseOut(): TimingModeFn; + static set DefaultTimingModeEaseOut(value: TimingModeFn); + /** + * Default timing mode used for ease-in, ease-out pacing. + * + * Set this to update the default `easeInOut()` timing mode. + * + * @see TimingMode.easeInOutSine - Default value. + */ + static get DefaultTimingModeEaseInOut(): TimingModeFn; + static set DefaultTimingModeEaseInOut(value: TimingModeFn); + /** + * Tick all actions forward. + * + * @param deltaTimeMs Delta time in milliseconds. + * @param onErrorHandler Handle action errors. + */ + static tick(deltaTimeMs: number, onErrorHandler?: (error: any) => void): void; + /** + * Creates an action that runs a collection of actions in parallel. + * + * When the action executes, the actions that comprise the group all start immediately and run in + * parallel. The duration of the group action is the longest duration among the collection of + * actions. If an action in the group has a duration less than the group’s duration, the action + * completes, then idles until the group completes the remaining actions. This matters most when + * creating a repeating action that repeats a group. + * + * This action is reversible; it creates a new group action that contains the reverse of each + * action specified in the group. + */ + static group(actions: Action[]): Action; + /** + * Creates an action that runs a collection of actions sequentially. + * + * When the action executes, the first action in the sequence starts and runs to completion. + * Subsequent actions in the sequence run in a similar fashion until all of the actions in the + * sequence have executed. The duration of the sequence action is the sum of the durations of the + * actions in the sequence. + * + * This action is reversible; it creates a new sequence action that reverses the order of the + * actions. Each action in the reversed sequence is itself reversed. For example, if an action + * sequence is {1,2,3}, the reversed sequence would be {3R,2R,1R}. + */ + static sequence(actions: Action[]): Action; + /** + * Creates an action that repeats another action a specified number of times. + * + * When the action executes, the associated action runs to completion and then repeats, until the + * count is reached. + * + * This action is reversible; it creates a new action that is the reverse of the specified action + * and then repeats it the same number of times. + */ + static repeat(action: Action, repeats: number): Action; + /** + * Creates an action that repeats another action forever. + * + * When the action executes, the associated action runs to completion and then repeats. + * + * This action is reversible; it creates a new action that is the reverse of the specified action + * and then repeats it forever. + */ + static repeatForever(action: Action): Action; + /** + * Creates an action that idles for a specified period of time. + * + * This action is not reversible; the reverse of this action is the same action. + */ + static waitForDuration(duration: TimeInterval): Action; + /** + * Creates an action that idles for a randomized period of time. + * The resulting action will wait for averageDuration ± (rangeSize / 2). + * + * @param average The average amount of time to wait. + * @param rangeSize The range of possible values for the duration. + * + * @example Action.waitForDurationWithRange(10.0, 5.0) // duration will be 7.5 -> 12.5 + * + * This action is not reversible; the reverse of this action is the same action. + */ + static waitForDurationWithRange(average: TimeInterval, rangeSize: TimeInterval): Action; + /** + * Creates an action that moves a node relative to its current position. + * + * This action is reversible. + */ + static moveBy(delta: VectorLike, duration: TimeInterval): Action; + static moveBy(dx: number, dy: number, duration: TimeInterval): Action; + /** + * Creates an action that moves a node horizontally relative to its current position. + * + * This action is reversible. + */ + static moveByX(x: number, duration: TimeInterval): Action; + /** + * Creates an action that moves a node vertically relative to its current position. + * + * This action is reversible. + */ + static moveByY(y: number, duration: TimeInterval): Action; + /** + * Creates an action that moves a node to a new position. + * + * This action is not reversible; the reverse of this action has the same duration but does not + * move the node. + */ + static moveTo(position: VectorLike, duration: TimeInterval): Action; + static moveTo(x: number, y: number, duration: TimeInterval): Action; + /** + * Creates an action that moves a node horizontally. + * + * This action is not reversible; the reverse of this action has the same duration but does not + * move the node. + */ + static moveToX(x: number, duration: TimeInterval): Action; + /** + * Creates an action that moves a node vertically. + * + * This action is not reversible; the reverse of this action has the same duration but does not + * move the node. + */ + static moveToY(y: number, duration: TimeInterval): Action; + /** + * Creates an action that moves the node along a path, optionally orienting the node to the path. + * + * This action is reversible; the resulting action creates a reversed path and then follows it, + * with the same duration. + * + * @param path A path to follow, or an object containing an array of points called `points`. + * @param duration The duration of the animation. + * @param asOffset (Default: true) When true, the path is relative to the node's current position. + * @param orientToPath (Default: true) When true, the node’s rotation turns to follow the path. + * @param fixedSpeed (Default: true) When true, the node's speed is consistent for each segment. + */ + static follow(path: PathObjectLike | VectorLike[], duration: number, asOffset?: boolean, orientToPath?: boolean, fixedSpeed?: boolean): Action; + /** + * Creates an action that moves the node along a path at a specified speed, optionally orienting + * the node to the path. + * + * This action is reversible; the resulting action creates a reversed path and then follows it, + * with the same speed. + * + * @param path A path to follow. + * @param speed The velocity at which the node should move, in world units per second. + * @param asOffset (Default: true) When true, the path is relative to the node's current position. + * @param orientToPath (Default: true) When true, the node’s rotation turns to follow the path. + */ + static followAtSpeed(path: PathObjectLike | VectorLike[], speed: number, asOffset?: boolean, orientToPath?: boolean): Action; + /** + * Creates an action that rotates the node by a relative value (in radians). + * + * This action is reversible. + */ + static rotateBy(rotation: number, duration: TimeInterval): Action; + /** + * Creates an action that rotates the node by a relative value (in degrees). + * + * This action is reversible. + */ + static rotateByDegrees(degrees: number, duration: TimeInterval): Action; + /** + * Creates an action that rotates the node to an absolute value (in radians). + * + * This action is not reversible; the reverse of this action has the same duration but does not + * change anything. + */ + static rotateTo(rotation: number, duration: TimeInterval): Action; + /** + * Creates an action that rotates the node to an absolute value (in degrees). + * + * This action is not reversible; the reverse of this action has the same duration but does not + * change anything. + */ + static rotateToDegrees(degrees: number, duration: TimeInterval): Action; + /** + * Creates an action that changes how fast the node executes actions by a relative value. + * + * This action is reversible. + */ + static speedBy(speed: number, duration: TimeInterval): Action; + /** + * Creates an action that changes how fast the node executes actions. + * + * This action is not reversible; the reverse of this action has the same duration but does not + * change anything. + */ + static speedTo(speed: number, duration: TimeInterval): Action; + /** + * Creates an action that changes the scale of a node by a relative value. + * + * This action is reversible. + */ + static scaleBy(scale: number, duration: TimeInterval): Action; + static scaleBy(size: VectorLike, duration: TimeInterval): Action; + static scaleBy(dx: number, dy: number, duration: TimeInterval): Action; + /** + * Creates an action that changes the x scale of a node by a relative value. + * + * This action is reversible. + */ + static scaleByX(x: number, duration: TimeInterval): Action; + /** + * Creates an action that changes the y scale of a node by a relative value. + * + * This action is reversible. + */ + static scaleByY(y: number, duration: TimeInterval): Action; + /** + * Creates an action that changes the x and y scale values of a node. + * + * This action is not reversible; the reverse of this action has the same duration but does not + * change anything. + */ + static scaleTo(scale: number, duration: TimeInterval): Action; + static scaleTo(size: SizeLike, duration: TimeInterval): Action; + static scaleTo(x: number, y: number, duration: TimeInterval): Action; + /** + * Creates an action that changes the y scale values of a node. + * + * This action is not reversible; the reverse of this action has the same duration but does not + * change anything. + */ + static scaleToX(x: number, duration: TimeInterval): Action; + /** + * Creates an action that changes the x scale values of a node. + * + * This action is not reversible; the reverse of this action has the same duration but does not + * change anything. + */ + static scaleToY(y: number, duration: TimeInterval): Action; + /** + * Creates an action that changes the alpha value of the node to 1.0. + * + * This action is reversible. The reverse is equivalent to fadeOut(duration). + */ + static fadeIn(duration: TimeInterval): Action; + /** + * Creates an action that changes the alpha value of the node to 0.0. + * + * This action is reversible. The reverse is equivalent to fadeIn(duration). + */ + static fadeOut(duration: TimeInterval): Action; + /** + * Creates an action that adjusts the alpha value of a node to a new value. + * + * This action is not reversible; the reverse of this action has the same duration but does not + * change anything. + */ + static fadeAlphaTo(alpha: number, duration: TimeInterval): Action; + /** + * Creates an action that adjusts the alpha value of a node by a relative value. + * + * This action is reversible. + */ + static fadeAlphaBy(alpha: number, duration: TimeInterval): Action; + /** + * Creates an action that hides a node. + * + * This action has an instantaneous duration. When the action executes, the node’s visible + * property is set to true. + * + * This action is reversible. The reversed action is equivalent to show(). + */ + static hide(): Action; + /** + * Creates an action that makes a node visible. + * + * This action has an instantaneous duration. When the action executes, the node’s visible + * property is set to false. + * + * This action is reversible. The reversed action is equivalent to hide(). + */ + static unhide(): Action; + /** + * Creates an action that removes the node from its parent. + * + * This action has an instantaneous duration. + * + * This action is not reversible; the reverse of this action is the same action. + */ + static removeFromParent(): Action; + /** + * Creates an action that runs an action on a named child object. + * + * This action has an instantaneous duration, although the action executed on the child may have + * a duration of its own. When the action executes, it looks up an appropriate child node and + * calls its `run(action)` method, passing in the action to execute. + * + * This action is reversible; it tells the child to execute the reverse of the action specified by + * the action parameter. + */ + static runOnChild(nameOrLabel: string, action: Action): Action; + /** + * Creates an action that executes a block. + * + * This action takes place instantaneously. + * + * This action is not reversible; the reverse action executes the same block. + */ + static run(fn: () => void): Action; + /** + * Creates an action that executes a stepping function over its duration. + * + * The function will be triggered on every redraw until the action completes, and is passed + * the target and the elasped time as a scalar between 0 and 1 (which is passed through the timing + * mode function). + * + * This action is not reversible; the reverse action executes the same block. + */ + static customAction(duration: number, stepFn: (target: TargetNode, t: number, dt: number) => void): Action; + private constructor(); +} +/** + * Timing mode functions + * + * @see https://easings.net/ + * @see https://raw.githubusercontent.com/ai/easings.net/master/src/easings/easingsFunctions.ts + */ +export declare const TimingMode: { + linear: (x: number) => number; + easeInQuad: (x: number) => number; + easeOutQuad: (x: number) => number; + easeInOutQuad: (x: number) => number; + easeInCubic: (x: number) => number; + easeOutCubic: (x: number) => number; + easeInOutCubic: (x: number) => number; + easeInQuart: (x: number) => number; + easeOutQuart: (x: number) => number; + easeInOutQuart: (x: number) => number; + easeInQuint: (x: number) => number; + easeOutQuint: (x: number) => number; + easeInOutQuint: (x: number) => number; + easeInSine: (x: number) => number; + easeOutSine: (x: number) => number; + easeInOutSine: (x: number) => number; + easeInExpo: (x: number) => number; + easeOutExpo: (x: number) => number; + easeInOutExpo: (x: number) => number; + easeInCirc: (x: number) => number; + easeOutCirc: (x: number) => number; + easeInOutCirc: (x: number) => number; + easeInBack: (x: number) => number; + easeOutBack: (x: number) => number; + easeInOutBack: (x: number) => number; + easeInElastic: (x: number) => number; + easeOutElastic: (x: number) => number; + easeInOutElastic: (x: number) => number; + easeInBounce: (x: number) => number; + easeOutBounce: (x: number) => number; + easeInOutBounce: (x: number) => number; +}; +/** + * Register the mixin for PIXI.Container. + * + * @param container A reference to `PIXI.Container`. + */ +export declare function registerPixiJSActionsMixin(container: any): void; +export interface IActionTicker { + readonly scaledDuration: number; + readonly speed: number; + readonly timingMode: TimingModeFn; + readonly timeDistance: number; + autoComplete: boolean; + isDone: boolean; + data: any; + tick(deltaTime: number): number; + reset(): void; +} +/** + * Any timing mode function. + * + * @example x => x // Linear, constant-time. + * + * @see {TimingMode} + */ +export type TimingModeFn = (x: number) => number; + +export { + _ as Action, +}; + +export {}; diff --git a/dist/index.mjs b/dist/index.mjs new file mode 100644 index 0000000..daeccf0 --- /dev/null +++ b/dist/index.mjs @@ -0,0 +1,2 @@ +const t=Math.pow,e=Math.sqrt,i=Math.sin,n=Math.cos,s=Math.PI,r=1.70158,o=1.525*r,a=r+1,c=2*s/3,u=2*s/4.5,_bounceOut=function(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},h={linear:t=>t,easeInQuad:function(t){return t*t},easeOutQuad:function(t){return 1-(1-t)*(1-t)},easeInOutQuad:function(e){return e<.5?2*e*e:1-t(-2*e+2,2)/2},easeInCubic:function(t){return t*t*t},easeOutCubic:function(e){return 1-t(1-e,3)},easeInOutCubic:function(e){return e<.5?4*e*e*e:1-t(-2*e+2,3)/2},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(e){return 1-t(1-e,4)},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-t(-2*e+2,4)/2},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(e){return 1-t(1-e,5)},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1-t(-2*e+2,5)/2},easeInSine:function(t){return 1-n(t*s/2)},easeOutSine:function(t){return i(t*s/2)},easeInOutSine:function(t){return-(n(s*t)-1)/2},easeInExpo:function(e){return 0===e?0:t(2,10*e-10)},easeOutExpo:function(e){return 1===e?1:1-t(2,-10*e)},easeInOutExpo:function(e){return 0===e?0:1===e?1:e<.5?t(2,20*e-10)/2:(2-t(2,-20*e+10))/2},easeInCirc:function(i){return 1-e(1-t(i,2))},easeOutCirc:function(i){return e(1-t(i-1,2))},easeInOutCirc:function(i){return i<.5?(1-e(1-t(2*i,2)))/2:(e(1-t(-2*i+2,2))+1)/2},easeInBack:function(t){return a*t*t*t-r*t*t},easeOutBack:function(e){return 1+a*t(e-1,3)+r*t(e-1,2)},easeInOutBack:function(e){return e<.5?t(2*e,2)*(7.189819*e-o)/2:(t(2*e-2,2)*((o+1)*(2*e-2)+o)+2)/2},easeInElastic:function(e){return 0===e?0:1===e?1:-t(2,10*e-10)*i((10*e-10.75)*c)},easeOutElastic:function(e){return 0===e?0:1===e?1:t(2,-10*e)*i((10*e-.75)*c)+1},easeInOutElastic:function(e){return 0===e?0:1===e?1:e<.5?-t(2,20*e-10)*i((20*e-11.125)*u)/2:t(2,-20*e+10)*i((20*e-11.125)*u)/2+1},easeInBounce:function(t){return 1-_bounceOut(1-t)},easeOutBounce:_bounceOut,easeInOutBounce:function(t){return t<.5?(1-_bounceOut(1-2*t))/2:(1+_bounceOut(2*t-1))/2}};class Action{constructor(t,e=1,i=h.linear){if(this.duration=t,this.speed=e,this.timingMode=i,this.log=!1,t<0)throw new RangeError("Action duration must be 0 or more.")}get scaledDuration(){return this.duration/this.speed}setSpeed(t){return this.speed=t,this}setTimingMode(t){return this.timingMode=t,this}linear(){return this.setTimingMode(h.linear)}easeIn(){return this.setTimingMode(Action._defaultTimingModeEaseIn)}easeOut(){return this.setTimingMode(Action._defaultTimingModeEaseOut)}easeInOut(){return this.setTimingMode(Action._defaultTimingModeEaseInOut)}onSetupTicker(t,e){}onTickerDidReset(t){}}Action._defaultTimingModeEaseIn=h.easeInSine,Action._defaultTimingModeEaseOut=h.easeOutSine,Action._defaultTimingModeEaseInOut=h.easeInOutSine;const d=1-1e-10;class ActionTicker{static tickAll(t,e){const i=.001*t;for(const[t,n]of this._tickers.entries()){const[s,r]=_getTargetState(t);if(!(s||r<=0))for(const t of n.values())try{t.tick(i*r)}catch(i){void 0===e?console.error("Action failed with error: ",i):e(i),this._removeActionTicker(t)}}}static runAction(t,e,i){this._tickers.has(e)||this._tickers.set(e,new Map);const n=new ActionTicker(t,e,i);this._tickers.get(e).set(null!=t?t:n,n)}static hasTargetActions(t){return this._tickers.has(t)}static getTargetActionForKey(t,e){var i,n;return null===(n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e))||void 0===n?void 0:n.action}static removeTargetActionForKey(t,e){var i;const n=null===(i=this._tickers.get(t))||void 0===i?void 0:i.get(e);n&&this._removeActionTicker(n)}static removeAllTargetActions(t){this._tickers.delete(t)}static _removeActionTicker(t){var e;const i=this._tickers.get(t.target);void 0!==i&&(i.delete(null!==(e=t.key)&&void 0!==e?e:t),0===i.size&&this._tickers.delete(t.target))}constructor(t,e,i){this.key=t,this.target=e,this.action=i,this.isDone=!1,this.autoComplete=!0,this._elapsed=0,this._isSetup=!1,this.speed=i.speed,this.scaledDuration=i.scaledDuration,this.timingMode=i.timingMode}get timeDistance(){return 0===this.scaledDuration?1:Math.min(1,this._elapsed/this.scaledDuration)}get easedTimeDistance(){return this.timingMode(this.timeDistance)}tick(t){this._isSetup||(this.speed=this.action.speed,this.scaledDuration=this.action.duration,this.timingMode=this.action.timingMode,this.data=this.action.onSetupTicker(this.target,this),this._isSetup=!0);const e=this.target,i=this.action;if(null==e||e.destroyed)return void ActionTicker._removeActionTicker(this);const n=t*this.speed;if(0===this.scaledDuration)return i.onTick(this.target,1,1,this,n),this.isDone=!0,ActionTicker._removeActionTicker(this),t;if(0===t&&this.timeDistance=d?(this.isDone=!0,ActionTicker._removeActionTicker(this),this._elapsed>this.scaledDuration?this._elapsed-this.scaledDuration:0):-1}reset(){this._elapsed=0,this.isDone=!1,this._isSetup=!1,this.action.onTickerDidReset(this)}}function _getTargetState(t){let e=t,i=e.isPaused,n=e.speed;for(;!i&&null!=e.parent;)i=e.parent.isPaused,n*=e.parent.speed,e=e.parent;return[i,n]}ActionTicker._tickers=new Map;class GroupAction extends Action{constructor(t){super(Math.max(...t.map((t=>t.scaledDuration)))),this.actions=t}reversed(){return new GroupAction(this.actions.map((t=>t.reversed()))).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this.actions.map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){const r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;let o=!0;for(const t of n.data.childTickers)t.isDone||(o=!1,t.tick(r));o&&(n.isDone=!0)}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}}class RepeatAction extends Action{constructor(t,e){if(super(t.scaledDuration*e),this.action=t,this.repeats=e,!Number.isInteger(e)||e<0)throw new RangeError("The number of repeats must be a positive integer.")}reversed(){return new RepeatAction(this.action.reversed(),this.repeats).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i,n:0}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*this.speed;if(o=r.tick(o),o>0||0===r.scaledDuration){if(++n.data.n>=this.repeats)return void(n.isDone=!0);r.reset(),o=r.tick(o)}}onTickerDidReset(t){t.data.childTicker.reset(),t.data.n=0}}class RepeatForeverAction extends Action{constructor(t){if(super(1/0),this.action=t,t.scaledDuration<=0)throw new TypeError("The action to be repeated must have a non-instantaneous duration.")}reversed(){return new RepeatForeverAction(this.action.reversed()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){e.autoComplete=!1;const i=new ActionTicker(void 0,t,this.action);return i.timingMode=t=>e.timingMode(i.timingMode(t)),{childTicker:i}}onTick(t,e,i,n,s){const r=n.data.childTicker;let o=s*n.speed;o=r.tick(o),o>0&&(r.reset(),o=r.tick(o))}onTickerDidReset(t){t.data.childTicker.reset()}}class SequenceAction extends Action{constructor(t){super(t.reduce(((t,e)=>t+e.scaledDuration),0)),this.actions=t}reversed(){return new SequenceAction(this.actions.map((t=>t.reversed())).reverse()).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t,e){return e.autoComplete=!1,{childTickers:this._squashedActions().map((e=>new ActionTicker(void 0,t,e)))}}onTick(t,e,i,n,s){let r=n.scaledDuration===1/0?s*this.speed:i*n.scaledDuration;for(const t of n.data.childTickers)if(!t.isDone&&(r=t.tick(r),r<0))return;n.isDone=!0}onTickerDidReset(t){t.data.childTickers.forEach((t=>t.reset()))}_squashedActions(){const t=[];for(const e of this.actions)e instanceof SequenceAction&&1===e.speed&&e.timingMode===h.linear?t.push(...e._squashedActions()):t.push(e);return t}}class CustomAction extends Action{constructor(t,e){super(t),this.stepFn=e}onTick(t,e,i){this.stepFn(t,e,i)}reversed(){return this}}class RunBlockAction extends Action{constructor(t){super(0),this.block=t}reversed(){return this}onTick(){this.block()}}class DelayAction extends Action{onTick(){}reversed(){return this}}class RemoveFromParentAction extends Action{constructor(){super(0)}reversed(){return this}onTick(t){var e;null===(e=t.parent)||void 0===e||e.removeChild(t)}}class RunOnChildAction extends Action{constructor(t,e){super(0),this.action=t,this.nameOrLabel=e}reversed(){return new RunOnChildAction(this.action.reversed(),this.nameOrLabel).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){if(void 0===t.children||!Array.isArray(t.children))throw new TypeError("The target did not have children.");let e;if(e="getChildByLabel"in t?t.getChildByLabel(this.nameOrLabel):t.children.find((t=>t.label===this.nameOrLabel||t.name===this.nameOrLabel)),!e)throw new ReferenceError(`The target did not have a child matching '${this.nameOrLabel}'.`);e.run(this.action)}}class SetVisibleAction extends Action{constructor(t){super(0),this.visible=t}reversed(){return new SetVisibleAction(!this.visible).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t){t.visible=this.visible}}const l=Math.PI/2;class FollowPathAction extends Action{constructor(t,e,i,n,s){if(super(e),this.asOffset=i,this.orientToPath=n,this.fixedSpeed=s,this.path=t,this.lastIndex=t.length-1,n||s){const[e,i]=FollowPathAction.getLength(t);this.segmentLengths=i,s&&(this.segmentWeights=i.map((t=>t/(e||1))))}}static getPath(t){return Array.isArray(t)?[...t]:[...t.points]}static getLength(t){let e=0;const i=[];for(let n=0;n0){const t=this.path[0],e=this.path[this.path.length-1],i=e.x+t.x,n=e.y+t.y;return this.path.map((({x:t,y:e})=>({x:t-i,y:e-n}))).reverse()}return[...this.path].reverse()}_getDynamicSpeedProgress(t){const e=Math.max(Math.min(Math.floor(t*this.lastIndex),this.lastIndex-1),0),i=this.lastIndex||1;return[e,(t-e/i)*i]}_getFixedSpeedProgress(t){let e=t,i=0,n=0;for(let t=0;te||t===this.lastIndex-1){n=e/s||1;break}e-=s,i++}return[i,n]}}class MoveByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new MoveByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.position.x+=this.x*i,t.position.y+=this.y*i}}class MoveToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.x,startY:t.y}}onTick(t,e,i,n){t.position.set(void 0===this.x?t.position.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.position.y:n.data.startY+(this.y-n.data.startY)*e)}}class RotateByAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new RotateByAction(-this.rotation,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.rotation+=this.rotation*i}}class RotateToAction extends Action{constructor(t,e){super(e),this.rotation=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startRotation:t.rotation}}onTick(t,e,i,n){t.rotation=n.data.startRotation+(this.rotation-n.data.startRotation)*e}}class ScaleByAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new ScaleByAction(-this.x,-this.y,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onSetupTicker(t){return{dx:t.scale.x*this.x-t.scale.x,dy:t.scale.y*this.y-t.scale.y}}onTick(t,e,i,n){t.scale.set(t.scale.x+n.data.dx*i,t.scale.y+n.data.dy*i)}}class ScaleToAction extends Action{constructor(t,e,i){super(i),this.x=t,this.y=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startX:t.scale.x,startY:t.scale.y}}onTick(t,e,i,n){t.scale.set(void 0===this.x?t.scale.x:n.data.startX+(this.x-n.data.startX)*e,void 0===this.y?t.scale.y:n.data.startY+(this.y-n.data.startY)*e)}}class ScaleToSizeAction extends Action{constructor(t,e,i){super(i),this.width=t,this.height=e}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){if("number"!=typeof t.width||"number"!=typeof t.height)throw new TypeError("The target must have numeric 'width' and 'height'.");return{width:t.width,height:t.height}}onTick(t,e,i,n){t.width=n.data.width+(this.width-n.data.width)*e,t.height=n.data.height+(this.height-n.data.height)*e}}class SpeedByAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new SpeedByAction(-this._speed,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.speed+=this._speed*i}}class SpeedToAction extends Action{constructor(t,e){super(e),this._speed=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startSpeed:t.speed}}onTick(t,e,i,n){t.speed=n.data.startSpeed+(this._speed-n.data.startSpeed)*e}}class FadeByAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new FadeByAction(-this.alpha,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}onTick(t,e,i){t.alpha+=this.alpha*i}}class FadeAlphaToAction extends Action{constructor(t,e){super(e),this.alpha=t}reversed(){return new DelayAction(this.scaledDuration)}onSetupTicker(t){return{startAlpha:t.alpha}}onTick(t,e,i,n){t.alpha=n.data.startAlpha+(this.alpha-n.data.startAlpha)*e}}class FadeInAction extends FadeAlphaToAction{constructor(t){super(1,t)}reversed(){return new FadeAlphaToAction(0,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}class FadeOutAction extends FadeAlphaToAction{constructor(t){super(0,t)}reversed(){return new FadeAlphaToAction(1,this.duration).setTimingMode(this.timingMode).setSpeed(this.speed)}}const p=Math.PI/180;class _ extends Action{static get DefaultTimingModeEaseIn(){return Action._defaultTimingModeEaseIn}static set DefaultTimingModeEaseIn(t){Action._defaultTimingModeEaseIn=t}static get DefaultTimingModeEaseOut(){return Action._defaultTimingModeEaseOut}static set DefaultTimingModeEaseOut(t){Action._defaultTimingModeEaseOut=t}static get DefaultTimingModeEaseInOut(){return Action._defaultTimingModeEaseInOut}static set DefaultTimingModeEaseInOut(t){Action._defaultTimingModeEaseInOut=t}static tick(t,e){ActionTicker.tickAll(t,e)}static group(t){return new GroupAction(t)}static sequence(t){return new SequenceAction(t)}static repeat(t,e){return new RepeatAction(t,e)}static repeatForever(t){return new RepeatForeverAction(t)}static waitForDuration(t){return new DelayAction(t)}static waitForDurationWithRange(t,e){return new DelayAction(t+(e*Math.random()-.5*e))}static moveBy(t,e,i){return"number"==typeof t?new MoveByAction(t,e,i):new MoveByAction(t.x,t.y,e)}static moveByX(t,e){return this.moveBy(t,0,e)}static moveByY(t,e){return this.moveBy(0,t,e)}static moveTo(t,e,i){return"number"==typeof t?new MoveToAction(t,e,i):new MoveToAction(t.x,t.y,e)}static moveToX(t,e){return new MoveToAction(t,void 0,e)}static moveToY(t,e){return new MoveToAction(void 0,t,e)}static follow(t,e,i=!0,n=!0,s=!0){const r=FollowPathAction.getPath(t);return new FollowPathAction(r,e,i,n,s)}static followAtSpeed(t,e,i=!0,n=!0){const s=FollowPathAction.getPath(t),r=FollowPathAction.getLength(s);return new FollowPathAction(s,r[0]/e,i,n,!0)}static rotateBy(t,e){return new RotateByAction(t,e)}static rotateByDegrees(t,e){return this.rotateBy(t*p,e)}static rotateTo(t,e){return new RotateToAction(t,e)}static rotateToDegrees(t,e){return this.rotateTo(t*p,e)}static speedBy(t,e){return new SpeedByAction(t,e)}static speedTo(t,e){return new SpeedToAction(t,e)}static scaleBy(t,e,i){return"number"==typeof t?void 0===i?new ScaleByAction(t,t,e):new ScaleByAction(t,e,i):new ScaleByAction(t.x,t.y,e)}static scaleByX(t,e){return this.scaleBy(t,0,e)}static scaleByY(t,e){return this.scaleBy(0,t,e)}static scaleTo(t,e,i){return"number"==typeof t?void 0===i?new ScaleToAction(t,t,e):new ScaleToAction(t,e,i):new ScaleToSizeAction(t.width,t.height,e)}static scaleToX(t,e){return new ScaleToAction(t,void 0,e)}static scaleToY(t,e){return new ScaleToAction(void 0,t,e)}static fadeIn(t){return new FadeInAction(t)}static fadeOut(t){return new FadeOutAction(t)}static fadeAlphaTo(t,e){return new FadeAlphaToAction(t,e)}static fadeAlphaBy(t,e){return new FadeByAction(t,e)}static hide(){return new SetVisibleAction(!1)}static unhide(){return new SetVisibleAction(!0)}static removeFromParent(){return new RemoveFromParentAction}static runOnChild(t,e){return new RunOnChildAction(e,t)}static run(t){return new RunBlockAction(t)}static customAction(t,e){return new CustomAction(t,e)}constructor(){super(-1)}}function registerPixiJSActionsMixin(t){const e=t.prototype;e.speed=1,e.isPaused=!1,e.run=function(t,e){return e?ActionTicker.runAction(void 0,this,_.sequence([t,_.run(e)])):ActionTicker.runAction(void 0,this,t)},e.runWithKey=function(t,e){ActionTicker.runAction(e,this,t)},e.runAsPromise=function(t){return new Promise((e=>this.run(t,(()=>e()))))},e.action=function(t){return ActionTicker.getTargetActionForKey(this,t)},e.hasActions=function(){return ActionTicker.hasTargetActions(this)},e.removeAllActions=function(){ActionTicker.removeAllTargetActions(this)},e.removeAction=function(t){ActionTicker.removeTargetActionForKey(this,t)}}export{_ as Action,h as TimingMode,registerPixiJSActionsMixin}; +//# sourceMappingURL=index.mjs.map diff --git a/dist/index.mjs.map b/dist/index.mjs.map new file mode 100644 index 0000000..8bc3a8e --- /dev/null +++ b/dist/index.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index.mjs","sources":["../src/TimingMode.ts","../src/lib/Action.ts","../src/lib/ActionTicker.ts","../src/actions/chainable/GroupAction.ts","../src/actions/chainable/RepeatAction.ts","../src/actions/chainable/RepeatForeverAction.ts","../src/actions/chainable/SequenceAction.ts","../src/actions/custom/CustomAction.ts","../src/actions/custom/RunBlockAction.ts","../src/actions/delay/DelayAction.ts","../src/actions/display-object/RemoveFromParentAction.ts","../src/actions/display-object/RunOnChildAction.ts","../src/actions/display-object/SetVisibleAction.ts","../src/actions/follow-path/FollowPathAction.ts","../src/actions/move/MoveByAction.ts","../src/actions/move/MoveToAction.ts","../src/actions/rotate/RotateByAction.ts","../src/actions/rotate/RotateToAction.ts","../src/actions/scale/ScaleByAction.ts","../src/actions/scale/ScaleToAction.ts","../src/actions/scale/ScaleToSizeAction.ts","../src/actions/speed/SpeedByAction.ts","../src/actions/speed/SpeedToAction.ts","../src/actions/transparency/FadeAlphaByAction.ts","../src/actions/transparency/FadeAlphaToAction.ts","../src/actions/transparency/FadeInAction.ts","../src/actions/transparency/FadeOutAction.ts","../src/Action.ts","../src/Container.mixin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["pow","Math","sqrt","sin","cos","PI","c1","c2","c3","c4","c5","_bounceOut","x","n1","d1","TimingMode","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInBack","easeOutBack","easeInOutBack","easeInElastic","easeOutElastic","easeInOutElastic","easeInBounce","easeOutBounce","easeInOutBounce","Action","constructor","duration","speed","timingMode","this","log","RangeError","scaledDuration","setSpeed","setTimingMode","easeIn","_defaultTimingModeEaseIn","easeOut","_defaultTimingModeEaseOut","easeInOut","_defaultTimingModeEaseInOut","onSetupTicker","target","ticker","onTickerDidReset","EPSILON_1","ActionTicker","tickAll","deltaTimeMs","onErrorHandler","deltaTime","tickers","_tickers","entries","isPaused","_getTargetState","actionTicker","values","tick","error","undefined","console","_removeActionTicker","runAction","key","action","has","set","Map","get","hasTargetActions","getTargetActionForKey","_a","_b","removeTargetActionForKey","removeAllTargetActions","delete","size","isDone","autoComplete","_elapsed","_isSetup","timeDistance","min","easedTimeDistance","data","destroyed","scaledDeltaTime","onTick","b","t","dt","reset","leaf","parent","GroupAction","actions","super","max","map","reversed","childTickers","relativeDeltaTime","Infinity","allDone","childTicker","forEach","RepeatAction","repeats","Number","isInteger","n","remainingDeltaTime","RepeatForeverAction","TypeError","SequenceAction","reduce","total","reverse","_squashedActions","push","CustomAction","stepFn","RunBlockAction","block","DelayAction","RemoveFromParentAction","removeChild","RunOnChildAction","nameOrLabel","children","Array","isArray","child","getChildByLabel","find","label","name","ReferenceError","run","SetVisibleAction","visible","HALF_PI","FollowPathAction","path","asOffset","orientToPath","fixedSpeed","lastIndex","length","totalDist","segmentLengths","getLength","segmentWeights","v","getPath","points","totalLength","i","directionX","directionY","y","_getReversedPath","index","st","_getFixedSpeedProgress","_getDynamicSpeedProgress","startPoint","endPoint","position","ndx","ndy","rotation","atan2","first","last","dx","dy","floor","lastIndexNonZero","remainingProgress","segmentWeight","MoveByAction","MoveToAction","startX","startY","RotateByAction","RotateToAction","startRotation","ScaleByAction","scale","ScaleToAction","ScaleToSizeAction","width","height","SpeedByAction","_speed","SpeedToAction","startSpeed","FadeByAction","alpha","FadeAlphaToAction","startAlpha","FadeInAction","FadeOutAction","DEG_TO_RAD","_","DefaultTimingModeEaseIn","value","DefaultTimingModeEaseOut","DefaultTimingModeEaseInOut","group","sequence","repeat","repeatForever","waitForDuration","waitForDurationWithRange","average","rangeSize","random","moveBy","a","c","moveByX","moveByY","moveTo","moveToX","moveToY","follow","_path","followAtSpeed","_length","rotateBy","rotateByDegrees","degrees","rotateTo","rotateToDegrees","speedBy","speedTo","scaleBy","scaleByX","scaleByY","scaleTo","scaleToX","scaleToY","fadeIn","fadeOut","fadeAlphaTo","fadeAlphaBy","hide","unhide","removeFromParent","runOnChild","fn","customAction","registerPixiJSActionsMixin","container","prototype","completion","runWithKey","runAsPromise","Promise","resolve","forKey","hasActions","removeAllActions","removeAction"],"mappings":"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"} \ No newline at end of file diff --git a/jest.config.js b/jest.config.js index 04a4d88..430cafb 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,10 +1,18 @@ /** @type {import('ts-jest').JestConfigWithTsJest} */ module.exports = { roots: ['/src'], + testMatch: ['**/*.test.ts'], preset: 'ts-jest', testEnvironment: 'node', testPathIgnorePatterns: [ '/node_modules/' ], + transform: { + '^.+\\.(ts|tsx)$': [ + 'ts-jest', { + tsconfig: 'src/__tests__/tsconfig.jest.json' + } + ] + }, verbose: false, }; diff --git a/package-lock.json b/package-lock.json index b6816e0..e92beae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,22 +1,30 @@ { "name": "pixijs-actions", - "version": "1.2.3", + "version": "1.2.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "pixijs-actions", - "version": "1.2.3", + "version": "1.2.4", "license": "MIT", "devDependencies": { + "@rollup/plugin-commonjs": "^26.0.1", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-typescript": "^11.1.6", "@types/jest": "^29.2.6", "@typescript-eslint/eslint-plugin": "^7.1.0", "@typescript-eslint/parser": "^7.1.0", + "dts-bundle-generator": "^9.5.1", "eslint": "^8.57.0", "eslint-plugin-disable-autofix": "^4.2.0", "jest": "^29.3.1", "pixi.js": "6.3.x", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", "ts-jest": "^29.0.5", + "tslib": "^2.6.3", "typescript": "4.9.5" }, "peerDependencies": { @@ -757,6 +765,102 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -1175,10 +1279,20 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { @@ -1626,6 +1740,364 @@ "@pixi/settings": "6.3.2" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz", + "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^10.4.1", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=16.0.0 || 14 >= 14.17" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-typescript": { + "version": "11.1.6", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.6.tgz", + "integrity": "sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.1.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.14.0||^3.0.0||^4.0.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + }, + "tslib": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz", + "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz", + "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz", + "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz", + "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz", + "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz", + "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz", + "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz", + "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz", + "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz", + "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz", + "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz", + "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz", + "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz", + "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz", + "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz", + "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -1697,6 +2169,12 @@ "integrity": "sha512-qp3m9PPz4gULB9MhjGID7wpo3gJ4bTGXm7ltNDsmOvsPduTeHp8wSW9YckBj3mljeOh4F0m2z/0JKAALRKbmLQ==", "dev": true }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, "node_modules/@types/graceful-fs": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", @@ -1761,6 +2239,12 @@ "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==", "dev": true }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, "node_modules/@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -2241,12 +2725,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -2311,6 +2795,18 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", @@ -2462,6 +2958,18 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -2614,12 +3122,47 @@ "node": ">=6.0.0" } }, + "node_modules/dts-bundle-generator": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-9.5.1.tgz", + "integrity": "sha512-DxpJOb2FNnEyOzMkG11sxO2dmxPjthoVWxfKqWYJ/bI/rT1rvTMktF5EKjAYrRZu6Z6t3NhOUZ0sZ5ZXevOfbA==", + "dev": true, + "dependencies": { + "typescript": ">=5.0.2", + "yargs": "^17.6.0" + }, + "bin": { + "dts-bundle-generator": "dist/bin/dts-bundle-generator.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/dts-bundle-generator/node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, "node_modules/earcut": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", "dev": true }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/electron-to-chromium": { "version": "1.4.745", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", @@ -2886,6 +3429,12 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -3026,9 +3575,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -3067,12 +3616,56 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/flatted": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, + "node_modules/foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -3420,6 +4013,21 @@ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", @@ -3471,6 +4079,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -3489,6 +4103,15 @@ "node": ">=8" } }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -3579,6 +4202,21 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", @@ -4288,6 +4926,15 @@ "yallist": "^3.0.2" } }, + "node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, "node_modules/make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -4370,6 +5017,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -4513,6 +5169,12 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4576,6 +5238,28 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -4834,6 +5518,15 @@ } ] }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", @@ -4916,20 +5609,140 @@ } }, "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "bin": { - "rimraf": "bin.js" + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rollup": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz", + "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.20.0", + "@rollup/rollup-android-arm64": "4.20.0", + "@rollup/rollup-darwin-arm64": "4.20.0", + "@rollup/rollup-darwin-x64": "4.20.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.20.0", + "@rollup/rollup-linux-arm-musleabihf": "4.20.0", + "@rollup/rollup-linux-arm64-gnu": "4.20.0", + "@rollup/rollup-linux-arm64-musl": "4.20.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", + "@rollup/rollup-linux-riscv64-gnu": "4.20.0", + "@rollup/rollup-linux-s390x-gnu": "4.20.0", + "@rollup/rollup-linux-x64-gnu": "4.20.0", + "@rollup/rollup-linux-x64-musl": "4.20.0", + "@rollup/rollup-win32-arm64-msvc": "4.20.0", + "@rollup/rollup-win32-ia32-msvc": "4.20.0", + "@rollup/rollup-win32-x64-msvc": "4.20.0", + "fsevents": "~2.3.2" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -4953,6 +5766,26 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/semver": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", @@ -4986,6 +5819,15 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -5063,6 +5905,12 @@ "node": ">=8" } }, + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "dev": true + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -5136,6 +5984,21 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -5148,6 +6011,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -5202,6 +6078,34 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/terser": { + "version": "5.31.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", + "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -5326,6 +6230,12 @@ } } }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -5491,6 +6401,24 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -6121,6 +7049,71 @@ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -6447,10 +7440,20 @@ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true }, + "@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "@jridgewell/trace-mapping": { @@ -6743,6 +7746,201 @@ "url": "^0.11.0" } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@rollup/plugin-commonjs": { + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz", + "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^10.4.1", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" + }, + "dependencies": { + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + } + } + }, + "@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + } + }, + "@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "requires": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + } + }, + "@rollup/plugin-typescript": { + "version": "11.1.6", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-11.1.6.tgz", + "integrity": "sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.1.0", + "resolve": "^1.22.1" + } + }, + "@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@rollup/rollup-android-arm-eabi": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz", + "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-android-arm64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz", + "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-arm64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz", + "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-darwin-x64": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz", + "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz", + "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm-musleabihf": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz", + "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz", + "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-arm64-musl": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz", + "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz", + "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-riscv64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz", + "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-s390x-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz", + "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-gnu": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz", + "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==", + "dev": true, + "optional": true + }, + "@rollup/rollup-linux-x64-musl": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz", + "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-arm64-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz", + "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-ia32-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz", + "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==", + "dev": true, + "optional": true + }, + "@rollup/rollup-win32-x64-msvc": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz", + "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==", + "dev": true, + "optional": true + }, "@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -6814,6 +8012,12 @@ "integrity": "sha512-qp3m9PPz4gULB9MhjGID7wpo3gJ4bTGXm7ltNDsmOvsPduTeHp8wSW9YckBj3mljeOh4F0m2z/0JKAALRKbmLQ==", "dev": true }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, "@types/graceful-fs": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", @@ -6878,6 +8082,12 @@ "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==", "dev": true }, + "@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, "@types/semver": { "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", @@ -7204,12 +8414,12 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "browserslist": { @@ -7248,6 +8458,12 @@ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, "call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", @@ -7345,6 +8561,18 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -7452,12 +8680,36 @@ "esutils": "^2.0.2" } }, + "dts-bundle-generator": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-9.5.1.tgz", + "integrity": "sha512-DxpJOb2FNnEyOzMkG11sxO2dmxPjthoVWxfKqWYJ/bI/rT1rvTMktF5EKjAYrRZu6Z6t3NhOUZ0sZ5ZXevOfbA==", + "dev": true, + "requires": { + "typescript": ">=5.0.2", + "yargs": "^17.6.0" + }, + "dependencies": { + "typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "dev": true + } + } + }, "earcut": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", "dev": true }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "electron-to-chromium": { "version": "1.4.745", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.745.tgz", @@ -7653,6 +8905,12 @@ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -7771,9 +9029,9 @@ } }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -7798,6 +9056,17 @@ "flatted": "^3.2.9", "keyv": "^4.5.3", "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } } }, "flatted": { @@ -7806,6 +9075,24 @@ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, + "foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -8052,6 +9339,15 @@ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, + "is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "requires": { + "builtin-modules": "^3.3.0" + } + }, "is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", @@ -8088,6 +9384,12 @@ "is-extglob": "^2.1.1" } }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -8100,6 +9402,15 @@ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -8169,6 +9480,16 @@ "istanbul-lib-report": "^3.0.0" } }, + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", @@ -8719,6 +10040,15 @@ "yallist": "^3.0.2" } }, + "magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, "make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -8780,6 +10110,12 @@ "brace-expansion": "^2.0.1" } }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -8887,6 +10223,12 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -8932,6 +10274,24 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + } + } + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -9115,6 +10475,15 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, "react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", @@ -9174,12 +10543,90 @@ "dev": true }, "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", "dev": true, "requires": { - "glob": "^7.1.3" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" + }, + "dependencies": { + "glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + } + }, + "jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true + }, + "minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "requires": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + } + } + } + }, + "rollup": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz", + "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.20.0", + "@rollup/rollup-android-arm64": "4.20.0", + "@rollup/rollup-darwin-arm64": "4.20.0", + "@rollup/rollup-darwin-x64": "4.20.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.20.0", + "@rollup/rollup-linux-arm-musleabihf": "4.20.0", + "@rollup/rollup-linux-arm64-gnu": "4.20.0", + "@rollup/rollup-linux-arm64-musl": "4.20.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", + "@rollup/rollup-linux-riscv64-gnu": "4.20.0", + "@rollup/rollup-linux-s390x-gnu": "4.20.0", + "@rollup/rollup-linux-x64-gnu": "4.20.0", + "@rollup/rollup-linux-x64-musl": "4.20.0", + "@rollup/rollup-win32-arm64-msvc": "4.20.0", + "@rollup/rollup-win32-ia32-msvc": "4.20.0", + "@rollup/rollup-win32-x64-msvc": "4.20.0", + "@types/estree": "1.0.5", + "fsevents": "~2.3.2" } }, "run-parallel": { @@ -9191,6 +10638,12 @@ "queue-microtask": "^1.2.2" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, "semver": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", @@ -9217,6 +10670,15 @@ } } }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -9276,6 +10738,12 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -9336,6 +10804,17 @@ "strip-ansi": "^6.0.1" } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -9345,6 +10824,15 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -9378,6 +10866,30 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "terser": { + "version": "5.31.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", + "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, "test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -9460,6 +10972,12 @@ "yargs-parser": "^21.0.1" } }, + "tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true + }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -9570,6 +11088,17 @@ "strip-ansi": "^6.0.0" } }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index 1587db5..5c54097 100644 --- a/package.json +++ b/package.json @@ -1,28 +1,51 @@ { "name": "pixijs-actions", - "version": "1.2.3", + "version": "1.2.4", "author": "Reece Como ", "authors": [ "Reece Como ", "sunil patel " ], - "license": "MIT", - "description": "Powerful, lightweight animations in PixiJS. A TypeScript implementation of Apple's SKActions, forked from srpatel/pixijs-actions.", "repository": "https://github.com/reececomo/pixijs-actions", "homepage": "https://github.com/reececomo/pixijs-actions#readme", - "main": "dist/index.js", - "types": "dist/index.d.ts", + "license": "MIT", + "description": "Powerful, lightweight animations for PixiJS 6, 7, 8+. A TypeScript implementation of Apple's SKActions, forked from srpatel/pixijs-actions.", + "main": "dist/index.cjs", + "module": "dist/index.mjs", + "types": "./dist/index.d.ts", + "files": ["./dist"], "scripts": { - "lint": "eslint src --ext .ts", - "fix": "eslint src --ext .ts --fix", - "test": "jest --runInBand", + "build:rollup": "rimraf dist && echo 'rollup (1/2):' && rollup -c --bundleConfigAsCjs", + "build:rm-dts": "rimraf dist/*.d.ts dist/actions dist/lib", + "build:dts-gen": "echo 'dts-bundle-generator (2/2):' && ./node_modules/.bin/dts-bundle-generator -o dist/index.d.ts src/index.ts --sort --no-banner --export-referenced-types --external-imports pixi.js --no-check", + "build:export-globals": "(cat src/globals.d.ts && cat dist/index.d.ts) > tmp.d.ts && mv tmp.d.ts dist/index.d.ts", + "build": "npm run build:rollup && npm run build:rm-dts && npm run build:dts-gen && npm run build:export-globals", "coverage": "jest --runInBand --collectCoverage", - "build": "tsc --build", - "clean": "tsc --build --clean" + "lint": "eslint src --ext .ts", + "test": "jest --runInBand" + }, + "peerDependencies": { + "pixi.js": "^6.3.0 || ^7.0.0 || ^8.0.0" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^26.0.1", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-typescript": "^11.1.6", + "@types/jest": "^29.2.6", + "@typescript-eslint/eslint-plugin": "^7.1.0", + "@typescript-eslint/parser": "^7.1.0", + "dts-bundle-generator": "^9.5.1", + "eslint-plugin-disable-autofix": "^4.2.0", + "eslint": "^8.57.0", + "jest": "^29.3.1", + "pixi.js": "6.3.x", + "rimraf": "^6.0.1", + "rollup": "^4.20.0", + "ts-jest": "^29.0.5", + "tslib": "^2.6.3", + "typescript": "4.9.5" }, - "files": [ - "dist/" - ], "keywords": [ "actions", "animate", @@ -37,19 +60,5 @@ "transition", "tween", "tweening" - ], - "peerDependencies": { - "pixi.js": "^6.3.0 || ^7.0.0 || ^8.0.0" - }, - "devDependencies": { - "@types/jest": "^29.2.6", - "@typescript-eslint/eslint-plugin": "^7.1.0", - "@typescript-eslint/parser": "^7.1.0", - "eslint": "^8.57.0", - "eslint-plugin-disable-autofix": "^4.2.0", - "jest": "^29.3.1", - "pixi.js": "6.3.x", - "ts-jest": "^29.0.5", - "typescript": "4.9.5" - } + ] } diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..d7acd4a --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,31 @@ +import resolve from '@rollup/plugin-node-resolve'; +import commonjs from '@rollup/plugin-commonjs'; +import typescript from '@rollup/plugin-typescript'; +import terser from '@rollup/plugin-terser'; + +export default [ + { + input: [ 'src/index.ts' ], + output: [ + { + file: 'dist/index.cjs', + format: 'cjs', + sourcemap: true, + }, + { + file: 'dist/index.mjs', + format: 'es', + sourcemap: true, + } + ], + plugins: [ + resolve(), + commonjs(), + typescript(), + terser({ + keep_classnames: true, + keep_fnames: true + }), + ], + } +]; diff --git a/src/__tests__/tsconfig.jest.json b/src/__tests__/tsconfig.jest.json new file mode 100644 index 0000000..c742c4d --- /dev/null +++ b/src/__tests__/tsconfig.jest.json @@ -0,0 +1,6 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "types": ["jest"] + } +} \ No newline at end of file diff --git a/src/globals.d.ts b/src/globals.d.ts new file mode 100644 index 0000000..9ed6ab6 --- /dev/null +++ b/src/globals.d.ts @@ -0,0 +1,114 @@ +import * as PIXI from 'pixi.js'; + +/* + * PixiJs Mixin: + */ + +declare module 'pixi.js' { + + export interface Container { + + /** + * A boolean value that determines whether actions on the node and its descendants are processed. + */ + isPaused: boolean; + + /** + * A speed modifier applied to all actions executed by a node and its descendants. + */ + speed: number; + + /** + * Adds an action to the list of actions executed by the node. + * + * The new action is processed the next time the canvas's animation loop is processed. + * + * After the action completes, your completion block is called, but only if the action runs to + * completion. If the action is removed before it completes, the completion handler is never + * called. + * + * @param action The action to perform. + * @param completion (Optional) A completion block called when the action completes. + */ + run(action: Action, completion?: () => void): void; + + /** + * Adds an identifiable action to the list of actions executed by the node. + * + * The action is stored so that it can be retrieved later. If an action using the same key is + * already running, it is removed before the new action is added. + * + * @param action The action to perform. + * @param withKey A unique key used to identify the action. + */ + runWithKey(action: Action, key: string): void; + + /** + * Adds an action to the list of actions executed by the node. + * + * The new action is processed the next time the canvas's animation loop is processed. + * + * Runs the action as a promise. + * + * @param action The action to perform. + */ + runAsPromise(action: Action): Promise; + + /** + * Returns an action associated with a specific key. + */ + action(forKey: string): Action | undefined; + + /** + * Returns a boolean value that indicates whether the node is executing actions. + */ + hasActions(): boolean; + + /** + * Ends and removes all actions from the node. + */ + removeAllActions(): void; + + /** + * Removes an action associated with a specific key. + */ + removeAction(forKey: string): void; + } + +} + +/* + * Type aliases: + */ + +declare global { + + /** Time measured in seconds. */ + type TimeInterval = number; + + /** Targeted display node. */ + type TargetNode = PIXI.Container; + + /** Targeted display node with a width and height. */ + type SizedTargetNode = TargetNode & SizeLike; + + /** Any vector-like object (e.g. PIXI.Point, or any node). */ + interface VectorLike { + x: number; + y: number; + } + + /** Any object with a width and height (e.g. PIXI.Sprite). */ + interface SizeLike { + width: number; + height: number; + } + + /** Any object containing an array of points (e.g. PIXI.SimpleRope). */ + interface PathObjectLike { + points: VectorLike[]; + } + +} + +export {}; diff --git a/src/index.ts b/src/index.ts index 3b35ff7..eaa3814 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,90 +2,9 @@ import { _ as Action } from "./Action"; import { TimingMode, TimingModeFn } from "./TimingMode"; import { registerPixiJSActionsMixin } from './Container.mixin'; -// -// ----- PixiJS Actions library: ----- -// - export { Action, registerPixiJSActionsMixin, TimingMode, TimingModeFn, }; - -// -// ----- Types and documentation for the Container mixin: ----- -// - -declare module 'pixi.js' { - - export interface Container { - - /** - * A boolean value that determines whether actions on the node and its descendants are processed. - */ - isPaused: boolean; - - /** - * A speed modifier applied to all actions executed by a node and its descendants. - */ - speed: number; - - /** - * Adds an action to the list of actions executed by the node. - * - * The new action is processed the next time the canvas's animation loop is processed. - * - * After the action completes, your completion block is called, but only if the action runs to - * completion. If the action is removed before it completes, the completion handler is never - * called. - * - * @param action The action to perform. - * @param completion (Optional) A completion block called when the action completes. - */ - run(action: Action, completion?: () => void): void; - - /** - * Adds an identifiable action to the list of actions executed by the node. - * - * The action is stored so that it can be retrieved later. If an action using the same key is - * already running, it is removed before the new action is added. - * - * @param action The action to perform. - * @param withKey A unique key used to identify the action. - */ - runWithKey(action: Action, key: string): void; - - /** - * Adds an action to the list of actions executed by the node. - * - * The new action is processed the next time the canvas's animation loop is processed. - * - * Runs the action as a promise. - * - * @param action The action to perform. - */ - runAsPromise(action: Action): Promise; - - /** - * Returns an action associated with a specific key. - */ - action(forKey: string): Action | undefined; - - /** - * Returns a boolean value that indicates whether the node is executing actions. - */ - hasActions(): boolean; - - /** - * Ends and removes all actions from the node. - */ - removeAllActions(): void; - - /** - * Removes an action associated with a specific key. - */ - removeAction(forKey: string): void; - } - -} diff --git a/src/types.d.ts b/src/types.d.ts deleted file mode 100644 index 299691f..0000000 --- a/src/types.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import * as PIXI from 'pixi.js'; - -declare global { - - /** Time measured in seconds. */ - type TimeInterval = number; - - /** Targeted display node. */ - type TargetNode = PIXI.Container; - - /** Targeted display node with a width and height. */ - type SizedTargetNode = TargetNode & SizeLike; - - /** Any vector-like object (e.g. PIXI.Point, or any node). */ - interface VectorLike { - x: number; - y: number; - } - - /** Any object with a width and height (e.g. PIXI.Sprite). */ - interface SizeLike { - width: number; - height: number; - } - - /** Any object containing an array of points (e.g. PIXI.SimpleRope). */ - interface PathObjectLike { - points: VectorLike[]; - } - -} - -export {}; diff --git a/tsconfig.json b/tsconfig.json index 1962ca0..ccd580e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,19 +1,30 @@ { "compilerOptions": { - "outDir": "./dist/", + "outDir": "./dist", "sourceMap": true, "noImplicitAny": true, - "module": "es6", "target": "es6", + "module": "esnext", + "lib": ["dom", "es2020"], "allowJs": false, "moduleResolution": "node", "downlevelIteration": true, "declaration": true, + "declarationMap": false, + "emitDeclarationOnly": true, "allowSyntheticDefaultImports": true, "esModuleInterop": true, "baseUrl": "./", - "skipLibCheck": true + "skipLibCheck": true, + "stripInternal": true, + "types": ["./src/globals.d.ts"], + "paths": { + "pixi.js": ["node_modules/pixi.js"] + } }, - "include": ["src/*", "src/**/*", "src/**/**/*"], - "exclude": ["src/__tests__/**/*"] + "include": ["./src", "src/globals.d.ts"], + "exclude": [ + "./node_modules", + "./src/__tests__" + ] } \ No newline at end of file