@jucie.io/engine-command-manager 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -1,2 +1,2 @@
1
- var u=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var v=(r,e)=>{for(var n in e)u(r,n,{get:e[n],enumerable:!0})},C=(r,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of d(e))!g.call(r,s)&&s!==n&&u(r,s,{get:()=>e[s],enumerable:!(t=p(e,s))||t.enumerable});return r};var y=r=>C(u({},"__esModule",{value:!0}),r);var K={};v(K,{CommandManager:()=>a,defineCommands:()=>l});module.exports=y(K);var h=require("@jucie.io/engine"),a=class extends h.ServiceProvider{#e=[];#t=new Map;static manifest={name:"Command manager",namespace:"commandManager",description:"Manages commands for the engine",version:"1.0.0",author:"Jucie",license:"MIT",dependencies:[]};actions(e){return{useCommands:(...n)=>{let t=[];for(let s of n){let i=s._name,o=s(e),{target:f,commands:c}=o;this.#n({name:i,target:f,commands:c}),t.push(()=>this.#s(i))}return()=>{for(let s of t)s()}}}}#n({name:e,target:n,commands:t}){for(let s of t){let i=s.options||!1,o=`${s.event}-${n}`;if(!this.#t.has(o)){let f=c=>{this.#i(c,s.event)};n.addEventListener(s.event,f,i),this.#t.set(o,{handler:f,options:i,refCount:0})}this.#t.get(o).refCount++,this.#e.push({...s,target:n,name:e})}}#s(e){let n=this.#e.filter(t=>t.name===e);for(let t of n){let s=`${t.event}-${t.target}`,i=this.#t.get(s);i&&(i.refCount--,i.refCount===0&&(t.target.removeEventListener(t.event,i.handler,i.options),this.#t.delete(s)))}this.#e=this.#e.filter(t=>t.name!==e)}#i(e,n){for(let t of this.#e)t.event===n&&this.#r(t.keys,e)&&(t.matchTarget&&!this.#a(t.matchTarget,e)||t.when&&!t.when(this._engine)||(t.preventDefault&&e.preventDefault(),t.stopPropagation&&e.stopPropagation(),t.action(e)))}#r(e,n){if(!e||e.includes("*"))return!0;let t=this.#o(n);for(let s of e)if(this.#f(s,t))return!0;return!1}#o(e){let n=[];return e.ctrlKey&&n.push("Ctrl"),e.metaKey&&n.push("Meta"),e.altKey&&n.push("Alt"),e.shiftKey&&n.push("Shift"),n.push(e.key),n.join("+")}#f(e,n){if(e===n)return!0;if(e==="char")return n.length===1&&n.match(/^[a-z0-9]$/i);if(e==="Arrow*")return n.includes("Arrow");if(e.endsWith("+*")){let t=e.slice(0,-2);return n.startsWith(t+"+")}return!1}#a(e,n){let t=n.target;return e?typeof e=="function"?e(n):e.startsWith(".")||e.startsWith("#")?t.closest(e)!==null:t.tagName===e.toUpperCase():!0}};var m=require("@jucie.io/engine"),l=(0,m.createDefinition)("commands",[Object]);0&&(module.exports={CommandManager,defineCommands});
1
+ import{ServiceProvider as c}from"@jucie.io/engine";var a=class extends c{#e=[];#t=new Map;static manifest={name:"Command manager",namespace:"commandManager",description:"Manages commands for the engine",version:"1.0.0",author:"Jucie",license:"MIT",dependencies:[]};actions(e){return{useCommands:(...n)=>{let t=[];for(let s of n){let i=s._name,r=s(e),{target:o,commands:f}=r;this.#n({name:i,target:o,commands:f}),t.push(()=>this.#s(i))}return()=>{for(let s of t)s()}}}}#n({name:e,target:n,commands:t}){for(let s of t){let i=s.options||!1,r=`${s.event}-${n}`;if(!this.#t.has(r)){let o=f=>{this.#i(f,s.event)};n.addEventListener(s.event,o,i),this.#t.set(r,{handler:o,options:i,refCount:0})}this.#t.get(r).refCount++,this.#e.push({...s,target:n,name:e})}}#s(e){let n=this.#e.filter(t=>t.name===e);for(let t of n){let s=`${t.event}-${t.target}`,i=this.#t.get(s);i&&(i.refCount--,i.refCount===0&&(t.target.removeEventListener(t.event,i.handler,i.options),this.#t.delete(s)))}this.#e=this.#e.filter(t=>t.name!==e)}#i(e,n){for(let t of this.#e)t.event===n&&this.#r(t.keys,e)&&(t.matchTarget&&!this.#a(t.matchTarget,e)||t.when&&!t.when(this._engine)||(t.preventDefault&&e.preventDefault(),t.stopPropagation&&e.stopPropagation(),t.action(e)))}#r(e,n){if(!e||e.includes("*"))return!0;let t=this.#o(n);for(let s of e)if(this.#f(s,t))return!0;return!1}#o(e){let n=[];return e.ctrlKey&&n.push("Ctrl"),e.metaKey&&n.push("Meta"),e.altKey&&n.push("Alt"),e.shiftKey&&n.push("Shift"),n.push(e.key),n.join("+")}#f(e,n){if(e===n)return!0;if(e==="char")return n.length===1&&n.match(/^[a-z0-9]$/i);if(e==="Arrow*")return n.includes("Arrow");if(e.endsWith("+*")){let t=e.slice(0,-2);return n.startsWith(t+"+")}return!1}#a(e,n){let t=n.target;return e?typeof e=="function"?e(n):e.startsWith(".")||e.startsWith("#")?t.closest(e)!==null:t.tagName===e.toUpperCase():!0}};import{createDefinition as u}from"@jucie.io/engine";var h=u("commands",[Object]);export{a as CommandManager,h as defineCommands};
2
2
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/main.js", "../src/CommandManager.js", "../src/defineCommands.js"],
4
- "sourcesContent": ["export { CommandManager } from './CommandManager';\nexport { defineCommands } from './defineCommands';", "import { ServiceProvider } from '@jucie.io/engine';\n\nexport class CommandManager extends ServiceProvider {\n #bindings = [];\n #listeners = new Map(); // Track event listeners to avoid duplicates\n\n static manifest = {\n name: 'Command manager',\n namespace: 'commandManager',\n description: 'Manages commands for the engine',\n version: '1.0.0',\n author: 'Jucie',\n license: 'MIT',\n dependencies: [],\n }\n\n actions(useContext) {\n return {\n useCommands: (...commands) => {\n const unregisterFns = []\n for (const command of commands) {\n const name = command._name;\n const config = command(useContext);\n const { target, commands } = config;\n this.#registerGroup({ name, target, commands });\n unregisterFns.push(() => this.#unregisterGroup(name));\n }\n\n return () => {\n for (const unregisterFn of unregisterFns) {\n unregisterFn();\n }\n }\n }\n }\n }\n\n #registerGroup({ name, target, commands }) {\n for (const command of commands) {\n const options = command.options || false;\n const listenerKey = `${command.event}-${target}`;\n\n // Only add ONE event listener per event type per target\n if (!this.#listeners.has(listenerKey)) {\n const handler = (e) => {\n this.#handleEvent(e, command.event);\n }\n\n target.addEventListener(command.event, handler, options);\n this.#listeners.set(listenerKey, { handler, options, refCount: 0 });\n }\n\n // Increment reference count\n this.#listeners.get(listenerKey).refCount++;\n\n // Store the binding without the handler (since it's shared)\n this.#bindings.push({ ...command, target, name });\n }\n }\n\n #unregisterGroup(name) {\n const toRemove = this.#bindings.filter(b => b.name === name);\n\n for (const b of toRemove) {\n const listenerKey = `${b.event}-${b.target}`;\n const listener = this.#listeners.get(listenerKey);\n\n if (listener) {\n listener.refCount--;\n\n // Only remove the event listener when ref count reaches 0\n if (listener.refCount === 0) {\n b.target.removeEventListener(b.event, listener.handler, listener.options);\n this.#listeners.delete(listenerKey);\n }\n }\n }\n\n this.#bindings = this.#bindings.filter(b => b.name !== name);\n }\n\n #handleEvent(e, eventType) { \n for (const binding of this.#bindings) {\n if (binding.event !== eventType) continue;\n if (!this.#matchesKey(binding.keys, e)) continue;\n if (binding.matchTarget && !this.#matchesTarget(binding.matchTarget, e)) continue;\n if (binding.when && !binding.when(this._engine)) continue;\n\n if (binding.preventDefault) { \n e.preventDefault()\n };\n\n if (binding.stopPropagation) {\n e.stopPropagation();\n }\n\n binding.action(e);\n }\n }\n\n #matchesKey(keys, e) {\n if (!keys || keys.includes('*')) return true;\n\n const combo = this.#normalizeCombo(e);\n\n for (const key of keys) {\n if (this.#matchPattern(key, combo)) return true;\n }\n\n return false;\n }\n\n #normalizeCombo(e) {\n const parts = [];\n if (e.ctrlKey) parts.push('Ctrl');\n if (e.metaKey) parts.push('Meta');\n if (e.altKey) parts.push('Alt');\n if (e.shiftKey) parts.push('Shift');\n parts.push(e.key);\n return parts.join('+');\n }\n\n #matchPattern(pattern, combo) {\n if (pattern === combo) return true;\n\n // Match typed characters only\n if (pattern === 'char') {\n return combo.length === 1 && combo.match(/^[a-z0-9]$/i);\n }\n\n // Match arrow keys\n if (pattern === 'Arrow*') {\n return combo.includes('Arrow');\n }\n\n // Match modifier combos like 'Ctrl+*'\n if (pattern.endsWith('+*')) {\n const prefix = pattern.slice(0, -2);\n return combo.startsWith(prefix + '+');\n }\n\n return false;\n }\n\n #matchesTarget(matchTarget, e) {\n const el = e.target;\n\n if (!matchTarget) return true;\n if (typeof matchTarget === 'function') return matchTarget(e);\n\n if (matchTarget.startsWith('.') || matchTarget.startsWith('#')) {\n return el.closest(matchTarget) !== null;\n }\n\n return el.tagName === matchTarget.toUpperCase();\n }\n}", "import { createDefinition } from '@jucie.io/engine';\n\nexport const defineCommands = createDefinition('commands', [Object]);"],
5
- "mappings": "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",
6
- "names": ["main_exports", "__export", "CommandManager", "defineCommands", "__toCommonJS", "import_engine", "CommandManager", "#bindings", "#listeners", "useContext", "commands", "unregisterFns", "command", "name", "config", "target", "#registerGroup", "#unregisterGroup", "unregisterFn", "options", "listenerKey", "handler", "e", "#handleEvent", "toRemove", "b", "listener", "eventType", "binding", "#matchesKey", "#matchesTarget", "keys", "combo", "#normalizeCombo", "key", "#matchPattern", "parts", "pattern", "prefix", "matchTarget", "el", "import_engine", "defineCommands"]
3
+ "sources": ["../src/CommandManager.js", "../src/defineCommands.js"],
4
+ "sourcesContent": ["import { ServiceProvider } from '@jucie.io/engine';\n\nexport class CommandManager extends ServiceProvider {\n #bindings = [];\n #listeners = new Map(); // Track event listeners to avoid duplicates\n\n static manifest = {\n name: 'Command manager',\n namespace: 'commandManager',\n description: 'Manages commands for the engine',\n version: '1.0.0',\n author: 'Jucie',\n license: 'MIT',\n dependencies: [],\n }\n\n actions(useContext) {\n return {\n useCommands: (...commands) => {\n const unregisterFns = []\n for (const command of commands) {\n const name = command._name;\n const config = command(useContext);\n const { target, commands } = config;\n this.#registerGroup({ name, target, commands });\n unregisterFns.push(() => this.#unregisterGroup(name));\n }\n\n return () => {\n for (const unregisterFn of unregisterFns) {\n unregisterFn();\n }\n }\n }\n }\n }\n\n #registerGroup({ name, target, commands }) {\n for (const command of commands) {\n const options = command.options || false;\n const listenerKey = `${command.event}-${target}`;\n\n // Only add ONE event listener per event type per target\n if (!this.#listeners.has(listenerKey)) {\n const handler = (e) => {\n this.#handleEvent(e, command.event);\n }\n\n target.addEventListener(command.event, handler, options);\n this.#listeners.set(listenerKey, { handler, options, refCount: 0 });\n }\n\n // Increment reference count\n this.#listeners.get(listenerKey).refCount++;\n\n // Store the binding without the handler (since it's shared)\n this.#bindings.push({ ...command, target, name });\n }\n }\n\n #unregisterGroup(name) {\n const toRemove = this.#bindings.filter(b => b.name === name);\n\n for (const b of toRemove) {\n const listenerKey = `${b.event}-${b.target}`;\n const listener = this.#listeners.get(listenerKey);\n\n if (listener) {\n listener.refCount--;\n\n // Only remove the event listener when ref count reaches 0\n if (listener.refCount === 0) {\n b.target.removeEventListener(b.event, listener.handler, listener.options);\n this.#listeners.delete(listenerKey);\n }\n }\n }\n\n this.#bindings = this.#bindings.filter(b => b.name !== name);\n }\n\n #handleEvent(e, eventType) { \n for (const binding of this.#bindings) {\n if (binding.event !== eventType) continue;\n if (!this.#matchesKey(binding.keys, e)) continue;\n if (binding.matchTarget && !this.#matchesTarget(binding.matchTarget, e)) continue;\n if (binding.when && !binding.when(this._engine)) continue;\n\n if (binding.preventDefault) { \n e.preventDefault()\n };\n\n if (binding.stopPropagation) {\n e.stopPropagation();\n }\n\n binding.action(e);\n }\n }\n\n #matchesKey(keys, e) {\n if (!keys || keys.includes('*')) return true;\n\n const combo = this.#normalizeCombo(e);\n\n for (const key of keys) {\n if (this.#matchPattern(key, combo)) return true;\n }\n\n return false;\n }\n\n #normalizeCombo(e) {\n const parts = [];\n if (e.ctrlKey) parts.push('Ctrl');\n if (e.metaKey) parts.push('Meta');\n if (e.altKey) parts.push('Alt');\n if (e.shiftKey) parts.push('Shift');\n parts.push(e.key);\n return parts.join('+');\n }\n\n #matchPattern(pattern, combo) {\n if (pattern === combo) return true;\n\n // Match typed characters only\n if (pattern === 'char') {\n return combo.length === 1 && combo.match(/^[a-z0-9]$/i);\n }\n\n // Match arrow keys\n if (pattern === 'Arrow*') {\n return combo.includes('Arrow');\n }\n\n // Match modifier combos like 'Ctrl+*'\n if (pattern.endsWith('+*')) {\n const prefix = pattern.slice(0, -2);\n return combo.startsWith(prefix + '+');\n }\n\n return false;\n }\n\n #matchesTarget(matchTarget, e) {\n const el = e.target;\n\n if (!matchTarget) return true;\n if (typeof matchTarget === 'function') return matchTarget(e);\n\n if (matchTarget.startsWith('.') || matchTarget.startsWith('#')) {\n return el.closest(matchTarget) !== null;\n }\n\n return el.tagName === matchTarget.toUpperCase();\n }\n}", "import { createDefinition } from '@jucie.io/engine';\n\nexport const defineCommands = createDefinition('commands', [Object]);"],
5
+ "mappings": "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",
6
+ "names": ["ServiceProvider", "CommandManager", "#bindings", "#listeners", "useContext", "commands", "unregisterFns", "command", "name", "config", "target", "#registerGroup", "#unregisterGroup", "unregisterFn", "options", "listenerKey", "handler", "e", "#handleEvent", "toRemove", "b", "listener", "eventType", "binding", "#matchesKey", "#matchesTarget", "keys", "combo", "#normalizeCombo", "key", "#matchPattern", "parts", "pattern", "prefix", "matchTarget", "el", "createDefinition", "defineCommands"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jucie.io/engine-command-manager",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "Command manager service for @jucie.io/engine with command definition and execution support",
5
5
  "type": "module",
6
6
  "main": "./dist/main.js",