Files
Foundry-VTT-Docker/resources/app/node_modules/@pixi/extensions/lib/index.mjs.map
2025-01-04 00:34:03 +01:00

1 line
11 KiB
Plaintext

{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["/**\n * Collection of valid extension types.\n * @memberof PIXI\n * @property {string} Application - Application plugins\n * @property {string} RendererPlugin - Plugins for Renderer\n * @property {string} CanvasRendererPlugin - Plugins for CanvasRenderer\n * @property {string} Loader - Plugins to use with Loader\n * @property {string} LoadParser - Parsers for Assets loader.\n * @property {string} ResolveParser - Parsers for Assets resolvers.\n * @property {string} CacheParser - Parsers for Assets cache.\n */\nenum ExtensionType\n// eslint-disable-next-line @typescript-eslint/indent\n{\n Renderer = 'renderer',\n Application = 'application',\n RendererSystem = 'renderer-webgl-system',\n RendererPlugin = 'renderer-webgl-plugin',\n CanvasRendererSystem = 'renderer-canvas-system',\n CanvasRendererPlugin = 'renderer-canvas-plugin',\n Asset = 'asset',\n LoadParser = 'load-parser',\n ResolveParser = 'resolve-parser',\n CacheParser = 'cache-parser',\n DetectionParser = 'detection-parser',\n}\n\ninterface ExtensionMetadataDetails\n{\n type: ExtensionType | ExtensionType[];\n name?: string;\n priority?: number;\n}\n\ntype ExtensionMetadata = ExtensionType | ExtensionMetadataDetails;\n\n/**\n * Format when registering an extension. Generally, the extension\n * should have these values as `extension` static property,\n * but you can override name or type by providing an object.\n * @memberof PIXI\n */\ninterface ExtensionFormatLoose\n{\n /** The extension type, can be multiple types */\n type: ExtensionType | ExtensionType[];\n /** Optional. Some plugins provide an API name/property, such as Renderer plugins */\n name?: string;\n /** Optional, used for sorting the plugins in a particular order */\n priority?: number;\n /** Reference to the plugin object/class */\n ref: any;\n}\n\n/**\n * Strict extension format that is used internally for registrations.\n * @memberof PIXI\n */\ninterface ExtensionFormat extends ExtensionFormatLoose\n{\n /** The extension type, always expressed as multiple, even if a single */\n type: ExtensionType[];\n}\n\ntype ExtensionHandler = (extension: ExtensionFormat) => void;\n\n/**\n * Convert input into extension format data.\n * @ignore\n */\nconst normalizeExtension = (ext: ExtensionFormatLoose | any): ExtensionFormat =>\n{\n // Class/Object submission, use extension object\n if (typeof ext === 'function' || (typeof ext === 'object' && ext.extension))\n {\n if (process.env.DEBUG)\n {\n if (!ext.extension)\n {\n throw new Error('Extension class must have an extension object');\n }\n }\n const metadata: ExtensionMetadataDetails = (typeof ext.extension !== 'object')\n ? { type: ext.extension }\n : ext.extension;\n\n ext = { ...metadata, ref: ext };\n }\n if (typeof ext === 'object')\n {\n ext = { ...ext };\n }\n else\n {\n throw new Error('Invalid extension type');\n }\n\n if (typeof ext.type === 'string')\n {\n ext.type = [ext.type];\n }\n\n return ext;\n};\n\n/**\n * Get the priority for an extension.\n * @ignore\n * @param ext - Any extension\n * @param defaultPriority - Fallback priority if none is defined.\n * @returns The priority for the extension.\n */\nconst normalizePriority = (ext: ExtensionFormatLoose | any, defaultPriority: number): number =>\n normalizeExtension(ext).priority ?? defaultPriority;\n\n/**\n * Global registration of all PixiJS extensions. One-stop-shop for extensibility.\n * @memberof PIXI\n * @namespace extensions\n */\nconst extensions = {\n\n /** @ignore */\n _addHandlers: {} as Partial<Record<ExtensionType, ExtensionHandler>>,\n\n /** @ignore */\n _removeHandlers: {} as Partial<Record<ExtensionType, ExtensionHandler>>,\n\n /** @ignore */\n _queue: {} as Partial<Record<ExtensionType, ExtensionFormat[]>>,\n\n /**\n * Remove extensions from PixiJS.\n * @param extensions - Extensions to be removed.\n * @returns {PIXI.extensions} For chaining.\n */\n remove(...extensions: Array<ExtensionFormatLoose | any>)\n {\n extensions.map(normalizeExtension).forEach((ext) =>\n {\n ext.type.forEach((type) => this._removeHandlers[type]?.(ext));\n });\n\n return this;\n },\n\n /**\n * Register new extensions with PixiJS.\n * @param extensions - The spread of extensions to add to PixiJS.\n * @returns {PIXI.extensions} For chaining.\n */\n add(...extensions: Array<ExtensionFormatLoose | any>)\n {\n // Handle any extensions either passed as class w/ data or as data\n extensions.map(normalizeExtension).forEach((ext) =>\n {\n ext.type.forEach((type) =>\n {\n const handlers = this._addHandlers;\n const queue = this._queue;\n\n if (!handlers[type])\n {\n queue[type] = queue[type] || [];\n queue[type]?.push(ext);\n }\n else\n {\n handlers[type]?.(ext);\n }\n });\n });\n\n return this;\n },\n\n /**\n * Internal method to handle extensions by name.\n * @param type - The extension type.\n * @param onAdd - Function for handling when extensions are added/registered passes {@link PIXI.ExtensionFormat}.\n * @param onRemove - Function for handling when extensions are removed/unregistered passes {@link PIXI.ExtensionFormat}.\n * @returns {PIXI.extensions} For chaining.\n */\n handle(type: ExtensionType, onAdd: ExtensionHandler, onRemove: ExtensionHandler)\n {\n const addHandlers = this._addHandlers;\n const removeHandlers = this._removeHandlers;\n\n if (process.env.DEBUG)\n {\n if (addHandlers[type] || removeHandlers[type])\n {\n throw new Error(`Extension type ${type} already has a handler`);\n }\n }\n\n addHandlers[type] = onAdd;\n removeHandlers[type] = onRemove;\n\n // Process the queue\n const queue = this._queue;\n\n // Process any plugins that have been registered before the handler\n if (queue[type])\n {\n queue[type]?.forEach((ext) => onAdd(ext));\n delete queue[type];\n }\n\n return this;\n },\n\n /**\n * Handle a type, but using a map by `name` property.\n * @param type - Type of extension to handle.\n * @param map - The object map of named extensions.\n * @returns {PIXI.extensions} For chaining.\n */\n handleByMap(type: ExtensionType, map: Record<string, any>)\n {\n return this.handle(type,\n (extension) =>\n {\n if (extension.name)\n {\n map[extension.name] = extension.ref;\n }\n },\n (extension) =>\n {\n if (extension.name)\n {\n delete map[extension.name];\n }\n }\n );\n },\n\n /**\n * Handle a type, but using a list of extensions.\n * @param type - Type of extension to handle.\n * @param list - The list of extensions.\n * @param defaultPriority - The default priority to use if none is specified.\n * @returns {PIXI.extensions} For chaining.\n */\n handleByList(type: ExtensionType, list: any[], defaultPriority = -1)\n {\n return this.handle(\n type,\n (extension) =>\n {\n if (list.includes(extension.ref))\n {\n return;\n }\n\n list.push(extension.ref);\n list.sort((a, b) => normalizePriority(b, defaultPriority) - normalizePriority(a, defaultPriority));\n },\n (extension) =>\n {\n const index = list.indexOf(extension.ref);\n\n if (index !== -1)\n {\n list.splice(index, 1);\n }\n }\n );\n },\n};\n\nexport {\n extensions,\n ExtensionType,\n};\nexport type {\n ExtensionFormat,\n ExtensionFormatLoose,\n ExtensionHandler,\n ExtensionMetadata,\n};\n"],"names":["ExtensionType","extensions"],"mappings":"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"}