Socket
Socket
Sign inDemoInstall

@pixi/runner

Package Overview
Dependencies
Maintainers
2
Versions
112
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pixi/runner - npm Package Compare versions

Comparing version 7.2.4 to 7.3.0-rc

10

lib/index.js

@@ -1,10 +0,4 @@

'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var Runner = require('./Runner.js');
"use strict";
var Runner = require("./Runner.js");
exports.Runner = Runner.Runner;
//# sourceMappingURL=index.js.map

104

lib/Runner.js

@@ -1,63 +0,82 @@

'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
"use strict";
class Runner {
/**
* @param name - The function name that will be executed on the listeners added to this Runner.
*/
constructor(name) {
this.items = [];
this._name = name;
this._aliasCount = 0;
this.items = [], this._name = name, this._aliasCount = 0;
}
/* eslint-disable jsdoc/require-param, jsdoc/check-param-names */
/**
* Dispatch/Broadcast Runner to all listeners added to the queue.
* @param {...any} params - (optional) parameters to pass to each listener
*/
/* eslint-enable jsdoc/require-param, jsdoc/check-param-names */
emit(a0, a1, a2, a3, a4, a5, a6, a7) {
if (arguments.length > 8) {
if (arguments.length > 8)
throw new Error("max arguments reached");
}
const { name, items } = this;
this._aliasCount++;
for (let i = 0, len = items.length; i < len; i++) {
for (let i = 0, len = items.length; i < len; i++)
items[i][name](a0, a1, a2, a3, a4, a5, a6, a7);
}
if (items === this.items) {
this._aliasCount--;
}
return this;
return items === this.items && this._aliasCount--, this;
}
ensureNonAliasedItems() {
if (this._aliasCount > 0 && this.items.length > 1) {
this._aliasCount = 0;
this.items = this.items.slice(0);
}
this._aliasCount > 0 && this.items.length > 1 && (this._aliasCount = 0, this.items = this.items.slice(0));
}
/**
* Add a listener to the Runner
*
* Runners do not need to have scope or functions passed to them.
* All that is required is to pass the listening object and ensure that it has contains a function that has the same name
* as the name provided to the Runner when it was created.
*
* E.g. A listener passed to this Runner will require a 'complete' function.
*
* ```js
* import { Runner } from '@pixi/runner';
*
* const complete = new Runner('complete');
* ```
*
* The scope used will be the object itself.
* @param {any} item - The object that will be listening.
*/
add(item) {
if (item[this._name]) {
this.ensureNonAliasedItems();
this.remove(item);
this.items.push(item);
}
return this;
return item[this._name] && (this.ensureNonAliasedItems(), this.remove(item), this.items.push(item)), this;
}
/**
* Remove a single listener from the dispatch queue.
* @param {any} item - The listener that you would like to remove.
*/
remove(item) {
const index = this.items.indexOf(item);
if (index !== -1) {
this.ensureNonAliasedItems();
this.items.splice(index, 1);
}
return this;
return index !== -1 && (this.ensureNonAliasedItems(), this.items.splice(index, 1)), this;
}
/**
* Check to see if the listener is already in the Runner
* @param {any} item - The listener that you would like to check.
*/
contains(item) {
return this.items.includes(item);
}
/** Remove all listeners from the Runner */
removeAll() {
this.ensureNonAliasedItems();
this.items.length = 0;
return this;
return this.ensureNonAliasedItems(), this.items.length = 0, this;
}
/** Remove all references, don't use after this. */
destroy() {
this.removeAll();
this.items = null;
this._name = null;
this.removeAll(), this.items = null, this._name = null;
}
/**
* `true` if there are no this Runner contains no listeners
* @readonly
*/
get empty() {
return this.items.length === 0;
}
/**
* The name of the runner.
* @readonly
*/
get name() {

@@ -68,7 +87,18 @@ return this._name;

Object.defineProperties(Runner.prototype, {
/**
* Alias for `emit`
* @memberof PIXI.Runner#
* @method dispatch
* @see PIXI.Runner#emit
*/
dispatch: { value: Runner.prototype.emit },
/**
* Alias for `emit`
* @memberof PIXI.Runner#
* @method run
* @see PIXI.Runner#emit
*/
run: { value: Runner.prototype.emit }
});
exports.Runner = Runner;
//# sourceMappingURL=Runner.js.map
{
"name": "@pixi/runner",
"version": "7.2.4",
"version": "7.3.0-rc",
"main": "lib/index.js",

@@ -5,0 +5,0 @@ "module": "lib/index.mjs",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc