Socket
Socket
Sign inDemoInstall

@pixi/extensions

Package Overview
Dependencies
Maintainers
2
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pixi/extensions - npm Package Compare versions

Comparing version 7.2.4 to 7.3.0-rc

145

lib/index.js

@@ -1,103 +0,98 @@

'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var ExtensionType = /* @__PURE__ */ ((ExtensionType2) => {
ExtensionType2["Renderer"] = "renderer";
ExtensionType2["Application"] = "application";
ExtensionType2["RendererSystem"] = "renderer-webgl-system";
ExtensionType2["RendererPlugin"] = "renderer-webgl-plugin";
ExtensionType2["CanvasRendererSystem"] = "renderer-canvas-system";
ExtensionType2["CanvasRendererPlugin"] = "renderer-canvas-plugin";
ExtensionType2["Asset"] = "asset";
ExtensionType2["LoadParser"] = "load-parser";
ExtensionType2["ResolveParser"] = "resolve-parser";
ExtensionType2["CacheParser"] = "cache-parser";
ExtensionType2["DetectionParser"] = "detection-parser";
return ExtensionType2;
})(ExtensionType || {});
"use strict";
var ExtensionType = /* @__PURE__ */ ((ExtensionType2) => (ExtensionType2.Renderer = "renderer", ExtensionType2.Application = "application", ExtensionType2.RendererSystem = "renderer-webgl-system", ExtensionType2.RendererPlugin = "renderer-webgl-plugin", ExtensionType2.CanvasRendererSystem = "renderer-canvas-system", ExtensionType2.CanvasRendererPlugin = "renderer-canvas-plugin", ExtensionType2.Asset = "asset", ExtensionType2.LoadParser = "load-parser", ExtensionType2.ResolveParser = "resolve-parser", ExtensionType2.CacheParser = "cache-parser", ExtensionType2.DetectionParser = "detection-parser", ExtensionType2))(ExtensionType || {});
const normalizeExtension = (ext) => {
if (typeof ext === "function" || typeof ext === "object" && ext.extension) {
if (!ext.extension) {
if (typeof ext == "function" || typeof ext == "object" && ext.extension) {
if (!ext.extension)
throw new Error("Extension class must have an extension object");
}
const metadata = typeof ext.extension !== "object" ? { type: ext.extension } : ext.extension;
ext = { ...metadata, ref: ext };
ext = { ...typeof ext.extension != "object" ? { type: ext.extension } : ext.extension, ref: ext };
}
if (typeof ext === "object") {
if (typeof ext == "object")
ext = { ...ext };
} else {
else
throw new Error("Invalid extension type");
}
if (typeof ext.type === "string") {
ext.type = [ext.type];
}
return ext;
};
const normalizePriority = (ext, defaultPriority) => normalizeExtension(ext).priority ?? defaultPriority;
const extensions = {
return typeof ext.type == "string" && (ext.type = [ext.type]), ext;
}, normalizePriority = (ext, defaultPriority) => normalizeExtension(ext).priority ?? defaultPriority, extensions = {
/** @ignore */
_addHandlers: {},
/** @ignore */
_removeHandlers: {},
/** @ignore */
_queue: {},
/**
* Remove extensions from PixiJS.
* @param extensions - Extensions to be removed.
* @returns {PIXI.extensions} For chaining.
*/
remove(...extensions2) {
extensions2.map(normalizeExtension).forEach((ext) => {
return extensions2.map(normalizeExtension).forEach((ext) => {
ext.type.forEach((type) => this._removeHandlers[type]?.(ext));
});
return this;
}), this;
},
/**
* Register new extensions with PixiJS.
* @param extensions - The spread of extensions to add to PixiJS.
* @returns {PIXI.extensions} For chaining.
*/
add(...extensions2) {
extensions2.map(normalizeExtension).forEach((ext) => {
return extensions2.map(normalizeExtension).forEach((ext) => {
ext.type.forEach((type) => {
const handlers = this._addHandlers;
const queue = this._queue;
if (!handlers[type]) {
queue[type] = queue[type] || [];
queue[type].push(ext);
} else {
handlers[type](ext);
}
const handlers = this._addHandlers, queue = this._queue;
handlers[type] ? handlers[type](ext) : (queue[type] = queue[type] || [], queue[type].push(ext));
});
});
return this;
}), this;
},
/**
* Internal method to handle extensions by name.
* @param type - The extension type.
* @param onAdd - Function for handling when extensions are added/registered passes {@link PIXI.ExtensionFormat}.
* @param onRemove - Function for handling when extensions are removed/unregistered passes {@link PIXI.ExtensionFormat}.
* @returns {PIXI.extensions} For chaining.
*/
handle(type, onAdd, onRemove) {
const addHandlers = this._addHandlers;
const removeHandlers = this._removeHandlers;
if (addHandlers[type] || removeHandlers[type]) {
const addHandlers = this._addHandlers, removeHandlers = this._removeHandlers;
if (addHandlers[type] || removeHandlers[type])
throw new Error(`Extension type ${type} already has a handler`);
}
addHandlers[type] = onAdd;
removeHandlers[type] = onRemove;
addHandlers[type] = onAdd, removeHandlers[type] = onRemove;
const queue = this._queue;
if (queue[type]) {
queue[type].forEach((ext) => onAdd(ext));
delete queue[type];
}
return this;
return queue[type] && (queue[type].forEach((ext) => onAdd(ext)), delete queue[type]), this;
},
/**
* Handle a type, but using a map by `name` property.
* @param type - Type of extension to handle.
* @param map - The object map of named extensions.
* @returns {PIXI.extensions} For chaining.
*/
handleByMap(type, map) {
return this.handle(type, (extension) => {
map[extension.name] = extension.ref;
}, (extension) => {
delete map[extension.name];
});
return this.handle(
type,
(extension) => {
map[extension.name] = extension.ref;
},
(extension) => {
delete map[extension.name];
}
);
},
/**
* Handle a type, but using a list of extensions.
* @param type - Type of extension to handle.
* @param list - The list of extensions.
* @param defaultPriority - The default priority to use if none is specified.
* @returns {PIXI.extensions} For chaining.
*/
handleByList(type, list, defaultPriority = -1) {
return this.handle(type, (extension) => {
if (list.includes(extension.ref)) {
return;
return this.handle(
type,
(extension) => {
list.includes(extension.ref) || (list.push(extension.ref), list.sort((a, b) => normalizePriority(b, defaultPriority) - normalizePriority(a, defaultPriority)));
},
(extension) => {
const index = list.indexOf(extension.ref);
index !== -1 && list.splice(index, 1);
}
list.push(extension.ref);
list.sort((a, b) => normalizePriority(b, defaultPriority) - normalizePriority(a, defaultPriority));
}, (extension) => {
const index = list.indexOf(extension.ref);
if (index !== -1) {
list.splice(index, 1);
}
});
);
}
};
exports.ExtensionType = ExtensionType;
exports.extensions = extensions;
//# sourceMappingURL=index.js.map
{
"name": "@pixi/extensions",
"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

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