dphelper 4.3.1 → 4.5.0

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.
Files changed (162) hide show
  1. package/README.md +31 -30
  2. package/SECURITY.md +26 -26
  3. package/index.cjs +11 -11
  4. package/index.js +11 -11
  5. package/modules/ai.cjs +7 -0
  6. package/modules/ai.d.ts +14 -0
  7. package/modules/ai.js +7 -0
  8. package/modules/anchor.cjs +4 -0
  9. package/modules/anchor.d.ts +9 -0
  10. package/modules/anchor.js +4 -0
  11. package/modules/array.cjs +1 -0
  12. package/modules/array.d.ts +24 -0
  13. package/modules/array.js +1 -0
  14. package/modules/audio.cjs +1 -0
  15. package/modules/audio.d.ts +13 -0
  16. package/modules/audio.js +1 -0
  17. package/modules/avoid.cjs +1 -0
  18. package/modules/avoid.d.ts +5 -0
  19. package/modules/avoid.js +1 -0
  20. package/modules/biometric.cjs +2 -0
  21. package/modules/biometric.d.ts +17 -0
  22. package/modules/biometric.js +2 -0
  23. package/modules/browser.cjs +37 -0
  24. package/modules/browser.d.ts +13 -0
  25. package/modules/browser.js +37 -0
  26. package/modules/check.cjs +1 -0
  27. package/modules/check.d.ts +7 -0
  28. package/modules/check.js +1 -0
  29. package/modules/color.cjs +1 -0
  30. package/modules/color.d.ts +9 -0
  31. package/modules/color.js +1 -0
  32. package/modules/compress.cjs +1 -0
  33. package/modules/compress.d.ts +16 -0
  34. package/modules/compress.js +1 -0
  35. package/modules/cookie.cjs +1 -0
  36. package/modules/cookie.d.ts +15 -0
  37. package/modules/cookie.js +1 -0
  38. package/modules/coords.cjs +8 -0
  39. package/modules/coords.d.ts +11 -0
  40. package/modules/coords.js +8 -0
  41. package/modules/credits.cjs +1 -0
  42. package/modules/credits.d.ts +14 -0
  43. package/modules/credits.js +1 -0
  44. package/modules/date.cjs +12 -0
  45. package/modules/date.d.ts +28 -0
  46. package/modules/date.js +12 -0
  47. package/modules/disable.cjs +1 -0
  48. package/modules/disable.d.ts +11 -0
  49. package/modules/disable.js +1 -0
  50. package/modules/dispatch.cjs +1 -0
  51. package/modules/dispatch.d.ts +7 -0
  52. package/modules/dispatch.js +1 -0
  53. package/modules/elements.cjs +1 -0
  54. package/modules/elements.d.ts +6 -0
  55. package/modules/elements.js +1 -0
  56. package/modules/events.cjs +1 -0
  57. package/modules/events.d.ts +9 -0
  58. package/modules/events.js +1 -0
  59. package/modules/fetch.cjs +2 -0
  60. package/modules/fetch.d.ts +18 -0
  61. package/modules/fetch.js +2 -0
  62. package/modules/form.cjs +1 -0
  63. package/modules/form.d.ts +16 -0
  64. package/modules/form.js +1 -0
  65. package/modules/format.cjs +1 -0
  66. package/modules/format.d.ts +6 -0
  67. package/modules/format.js +1 -0
  68. package/modules/i18n.cjs +1 -0
  69. package/modules/i18n.d.ts +14 -0
  70. package/modules/i18n.js +1 -0
  71. package/modules/image.cjs +1 -0
  72. package/modules/image.d.ts +16 -0
  73. package/modules/image.js +1 -0
  74. package/modules/json.cjs +3 -0
  75. package/modules/json.d.ts +11 -0
  76. package/modules/json.js +3 -0
  77. package/modules/load.cjs +1 -0
  78. package/modules/load.d.ts +11 -0
  79. package/modules/load.js +1 -0
  80. package/modules/logging.cjs +1 -0
  81. package/modules/logging.d.ts +11 -0
  82. package/modules/logging.js +1 -0
  83. package/modules/math.cjs +1 -0
  84. package/modules/math.d.ts +16 -0
  85. package/modules/math.js +1 -0
  86. package/modules/memory.cjs +1 -0
  87. package/modules/memory.d.ts +6 -0
  88. package/modules/memory.js +1 -0
  89. package/modules/navigation.cjs +2 -0
  90. package/modules/navigation.d.ts +7 -0
  91. package/modules/navigation.js +2 -0
  92. package/modules/net.cjs +1 -0
  93. package/modules/net.d.ts +13 -0
  94. package/modules/net.js +1 -0
  95. package/modules/objects.cjs +4 -0
  96. package/modules/objects.d.ts +18 -0
  97. package/modules/objects.js +4 -0
  98. package/modules/path.cjs +1 -0
  99. package/modules/path.d.ts +7 -0
  100. package/modules/path.js +1 -0
  101. package/modules/promise.cjs +1 -0
  102. package/modules/promise.d.ts +6 -0
  103. package/modules/promise.js +1 -0
  104. package/modules/sanitize.cjs +2 -0
  105. package/modules/sanitize.d.ts +5 -0
  106. package/modules/sanitize.js +2 -0
  107. package/modules/screen.cjs +1 -0
  108. package/modules/screen.d.ts +14 -0
  109. package/modules/screen.js +1 -0
  110. package/modules/scrollbar.cjs +65 -0
  111. package/modules/scrollbar.d.ts +12 -0
  112. package/modules/scrollbar.js +65 -0
  113. package/modules/security.cjs +1 -0
  114. package/modules/security.d.ts +18 -0
  115. package/modules/security.js +1 -0
  116. package/modules/shortcut.cjs +1 -0
  117. package/modules/shortcut.d.ts +5 -0
  118. package/modules/shortcut.js +1 -0
  119. package/modules/socket.cjs +2 -0
  120. package/modules/socket.d.ts +16 -0
  121. package/modules/socket.js +2 -0
  122. package/modules/sse.cjs +2 -0
  123. package/modules/sse.d.ts +11 -0
  124. package/modules/sse.js +2 -0
  125. package/modules/svg.cjs +2 -0
  126. package/modules/svg.d.ts +15 -0
  127. package/modules/svg.js +2 -0
  128. package/modules/sync.cjs +1 -0
  129. package/modules/sync.d.ts +16 -0
  130. package/modules/sync.js +1 -0
  131. package/modules/system.cjs +1 -0
  132. package/modules/system.d.ts +5 -0
  133. package/modules/system.js +1 -0
  134. package/modules/text.cjs +15 -0
  135. package/modules/text.d.ts +15 -0
  136. package/modules/text.js +15 -0
  137. package/modules/timer.cjs +1 -0
  138. package/modules/timer.d.ts +6 -0
  139. package/modules/timer.js +1 -0
  140. package/modules/tools.cjs +1 -0
  141. package/modules/tools.d.ts +8 -0
  142. package/modules/tools.js +1 -0
  143. package/modules/translators.cjs +1 -0
  144. package/modules/translators.d.ts +5 -0
  145. package/modules/translators.js +1 -0
  146. package/modules/triggers.cjs +1 -0
  147. package/modules/triggers.d.ts +46 -0
  148. package/modules/triggers.js +1 -0
  149. package/modules/types.cjs +1 -0
  150. package/modules/types.d.ts +8 -0
  151. package/modules/types.js +1 -0
  152. package/modules/ui.cjs +6 -0
  153. package/modules/ui.d.ts +6 -0
  154. package/modules/ui.js +6 -0
  155. package/modules/window.cjs +7 -0
  156. package/modules/window.d.ts +12 -0
  157. package/modules/window.js +7 -0
  158. package/modules/worker.cjs +2 -0
  159. package/modules/worker.d.ts +19 -0
  160. package/modules/worker.js +2 -0
  161. package/package.json +277 -4
  162. package/sbom.json +48 -0
@@ -0,0 +1,46 @@
1
+ export interface TriggersTool {
2
+ /**
3
+ * Add a trigger for custom events.
4
+ * @param event - The event name
5
+ * @param callback - The callback to execute when the event is triggered
6
+ */
7
+ add: (event: string, callback: (...args: any[]) => void) => void
8
+
9
+ /**
10
+ * Listen for a trigger event (alias for add).
11
+ */
12
+ on: (event: string, callback: (...args: any[]) => void) => void
13
+
14
+ /**
15
+ * Emit a trigger event and call all registered callbacks.
16
+ * @param event - The event name
17
+ * @param args - Arguments to pass to the callbacks
18
+ */
19
+ emit: (event: string, ...args: any[]) => void
20
+
21
+ /**
22
+ * Remove a trigger event and all its callbacks.
23
+ * @param event - The event name
24
+ */
25
+ remove: (event: string) => void
26
+
27
+ /**
28
+ * Remove a specific callback from an event.
29
+ * @param event - The event name
30
+ * @param callback - The callback to remove
31
+ */
32
+ off: (event: string, callback: (...args: any[]) => void) => void
33
+
34
+ /**
35
+ * Clear all triggers.
36
+ */
37
+ clear: () => void
38
+
39
+ /**
40
+ * List all registered trigger events.
41
+ * @returns Array of event names
42
+ */
43
+ list: () => string[]
44
+ }
45
+
46
+ export const trigger: TriggersTool
@@ -0,0 +1 @@
1
+ var s={info:{title:"List",description:"Complete list of tools"},categories:["3party","system","financial","memory","numbers","time","path","file","forms","ui","other","development"]};var n={version:"4.5.0"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...s},configurable:true,writable:true},version:{value:n.version,configurable:true,writable:true},isServer:{value:false,configurable:true,writable:true},isBrowser:{value:true,configurable:true,writable:true}});var o=dphelper;Object.defineProperty(o,"setProps",{value:(e,t,r)=>{Object.defineProperty(e,t.name,r||{writable:false,configurable:false,enumerable:false}),r?.lock&&Object.freeze(e[t.name]);},writable:false,configurable:false,enumerable:false});Object.defineProperty(o,"setDescription",{value:(e,t)=>{Object.defineProperties(o,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(r=>(Object.defineProperties(o[e.name],{[r]:{writable:false,configurable:false,enumerable:false}}),null)),o.setProps(o,e,{writable:false,configurable:false,enumerable:false}),o._list.scripts.push(e);}});var g={name:"triggers",active:true,subCommand:[{name:"add",version:"0.0.1",example:"dphelper.triggers.add('event', callback)",author:"Dario Passariello",creationDate:"20250220",lastMod:"20250220",type:"function",active:true,description:"Add a trigger for custom events.",env:"client",subCommand:[]},{name:"on",version:"0.0.1",example:"dphelper.triggers.on('event', callback)",author:"Dario Passariello",creationDate:"20250220",lastMod:"20250220",type:"function",active:true,description:"Listen for a trigger event.",env:"client",subCommand:[]},{name:"emit",version:"0.0.1",example:"dphelper.triggers.emit('event', data)",author:"Dario Passariello",creationDate:"20250220",lastMod:"20250220",type:"function",active:true,description:"Emit a trigger event.",env:"client",subCommand:[]},{name:"remove",version:"0.0.1",example:"dphelper.triggers.remove('event')",author:"Dario Passariello",creationDate:"20250220",lastMod:"20250220",type:"function",active:true,description:"Remove a trigger event.",env:"client",subCommand:[]}]},a=new Map,c={add:(e,t)=>{a.has(e)||a.set(e,new Set),a.get(e).add(t);},on:(e,t)=>{c.add(e,t);},emit:(e,...t)=>{let r=a.get(e);r&&r.forEach(p=>{try{p(...t);}catch(u){console.error(`Error in trigger callback for event '${e}':`,u);}});},remove:e=>{a.delete(e);},off:(e,t)=>{let r=a.get(e);r&&r.delete(t);},clear:()=>{a.clear();},list:()=>Array.from(a.keys())};dphelper?.setDescription(g,c);var O=dphelper.trigger;export{O as trigger};
@@ -0,0 +1 @@
1
+ 'use strict';var l={info:{title:"List",description:"Complete list of tools"},categories:["3party","system","financial","memory","numbers","time","path","file","forms","ui","other","development"]};var i={version:"4.5.0"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...l},configurable:true,writable:true},version:{value:i.version,configurable:true,writable:true},isServer:{value:false,configurable:true,writable:true},isBrowser:{value:true,configurable:true,writable:true}});var a=dphelper;Object.defineProperty(a,"setProps",{value:(e,t,o)=>{Object.defineProperty(e,t.name,o||{writable:false,configurable:false,enumerable:false}),o?.lock&&Object.freeze(e[t.name]);},writable:false,configurable:false,enumerable:false});Object.defineProperty(a,"setDescription",{value:(e,t)=>{Object.defineProperties(a,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(o=>(Object.defineProperties(a[e.name],{[o]:{writable:false,configurable:false,enumerable:false}}),null)),a.setProps(a,e,{writable:false,configurable:false,enumerable:false}),a._list.scripts.push(e);}});var p={name:"type",active:true,subCommand:[{name:"of",version:"0.0.2",example:"dphelper.type.of(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Returns the type of the given parameter.",env:"both",subCommand:[]},{name:"instOfObj",version:"0.0.2",example:"dphelper.type.instOfObj(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Checks if the given parameter is an instance of Object.",env:"both",subCommand:[]},{name:"isNaN",version:"0.0.2",example:"dphelper.type.isNaN(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Checks if the given parameter is NaN.",env:"both",subCommand:[]},{name:"isBool",version:"0.0.2",example:"dphelper.type.isBool(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Checks if the given parameter is a boolean.",env:"both",subCommand:[]}]},c={of:e=>typeof e,instOfObj:e=>e instanceof Object,isNull:e=>t=>!e(t),isBool:e=>!e||e.length==null?true:e==="1"};dphelper?.setDescription(p,c);var j=dphelper.type;exports.type=j;
@@ -0,0 +1,8 @@
1
+ export interface TypesTool {
2
+ of(p: any): string
3
+ instOfObj(p: any): boolean
4
+ isNull(p: any): (p: any) => boolean
5
+ isBool(val: any): boolean
6
+ }
7
+
8
+ export const type: TypesTool
@@ -0,0 +1 @@
1
+ var i={info:{title:"List",description:"Complete list of tools"},categories:["3party","system","financial","memory","numbers","time","path","file","forms","ui","other","development"]};var n={version:"4.5.0"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...i},configurable:true,writable:true},version:{value:n.version,configurable:true,writable:true},isServer:{value:false,configurable:true,writable:true},isBrowser:{value:true,configurable:true,writable:true}});var a=dphelper;Object.defineProperty(a,"setProps",{value:(e,t,o)=>{Object.defineProperty(e,t.name,o||{writable:false,configurable:false,enumerable:false}),o?.lock&&Object.freeze(e[t.name]);},writable:false,configurable:false,enumerable:false});Object.defineProperty(a,"setDescription",{value:(e,t)=>{Object.defineProperties(a,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(o=>(Object.defineProperties(a[e.name],{[o]:{writable:false,configurable:false,enumerable:false}}),null)),a.setProps(a,e,{writable:false,configurable:false,enumerable:false}),a._list.scripts.push(e);}});var c={name:"type",active:true,subCommand:[{name:"of",version:"0.0.2",example:"dphelper.type.of(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Returns the type of the given parameter.",env:"both",subCommand:[]},{name:"instOfObj",version:"0.0.2",example:"dphelper.type.instOfObj(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Checks if the given parameter is an instance of Object.",env:"both",subCommand:[]},{name:"isNaN",version:"0.0.2",example:"dphelper.type.isNaN(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Checks if the given parameter is NaN.",env:"both",subCommand:[]},{name:"isBool",version:"0.0.2",example:"dphelper.type.isBool(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Checks if the given parameter is a boolean.",env:"both",subCommand:[]}]},u={of:e=>typeof e,instOfObj:e=>e instanceof Object,isNull:e=>t=>!e(t),isBool:e=>!e||e.length==null?true:e==="1"};dphelper?.setDescription(c,u);var O=dphelper.type;export{O as type};
package/modules/ui.cjs ADDED
@@ -0,0 +1,6 @@
1
+ 'use strict';var p={info:{title:"List",description:"Complete list of tools"},categories:["3party","system","financial","memory","numbers","time","path","file","forms","ui","other","development"]};var c={version:"4.5.0"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...p},configurable:true,writable:true},version:{value:c.version,configurable:true,writable:true},isServer:{value:false,configurable:true,writable:true},isBrowser:{value:true,configurable:true,writable:true}});var l=dphelper;Object.defineProperty(l,"setProps",{value:(o,e,r)=>{Object.defineProperty(o,e.name,r||{writable:false,configurable:false,enumerable:false}),r?.lock&&Object.freeze(o[e.name]);},writable:false,configurable:false,enumerable:false});Object.defineProperty(l,"setDescription",{value:(o,e)=>{Object.defineProperties(l,{[o.name]:{value:e,writable:false,configurable:false,enumerable:false}}),Object.keys(e).map(r=>(Object.defineProperties(l[o.name],{[r]:{writable:false,configurable:false,enumerable:false}}),null)),l.setProps(l,o,{writable:false,configurable:false,enumerable:false}),l._list.scripts.push(o);}});var f={name:"UI",active:true,subCommand:[{name:"input",version:"0.0.2",example:"dphelper.UI.input(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Creates an input element with specified options.",env:"client",subCommand:[]},{name:"fps",version:"0.0.2",example:"dphelper.UI.fps(true)",author:"Dario Passariello & Jo",creationDate:"20260220",lastMod:"20260220",type:"function",active:true,description:"Toggle a real-time FPS and Memory monitor overlay",env:"client",subCommand:[]},{name:"boxModel",version:"0.0.2",example:"dphelper.UI.boxModel(true)",author:"Dario Passariello & Jo",creationDate:"20260220",lastMod:"20260220",type:"function",active:true,description:"Toggle visual box-model highlighter for all elements",env:"client",subCommand:[]},{name:"anchorContext",version:"0.0.1",example:"dphelper.UI.anchorContext()",author:"Dario Passariello",creationDate:"20260221",lastMod:"20260221",type:"function",active:true,description:"Snapshot and auto-restore UI state (inputs, scroll) across reloads.",env:"client",subCommand:[]}]},b={anchorContext:()=>{if(typeof window>"u"||typeof localStorage>"u")return;let o=`dp_anchor_${btoa(location.pathname).replace(/=/g,"")}`,e=()=>{let n={scroll:{x:window.scrollX,y:window.scrollY},inputs:Array.from(document.querySelectorAll("input, textarea, select")).filter(t=>t.type!=="password"&&!t.hasAttribute("data-private")&&t.getAttribute("autocomplete")!=="off").map(t=>({id:t.id,name:t.name,value:t.value}))};localStorage.setItem(o,JSON.stringify(n));},r=()=>{let n=localStorage.getItem(o);if(n)try{let t=JSON.parse(n);window.scrollTo(t.scroll.x,t.scroll.y),t.inputs.forEach(a=>{let i=a.id?document.getElementById(a.id):document.querySelector(`[name="${a.name}"]`);i&&(i.value=a.value);});}catch{console.warn("dphelper: anchorContext restoration failed.");}};window.addEventListener("beforeunload",e),r();},fps:(o=true)=>{if(typeof document>"u")return;let e=document.getElementById("dphelper-fps-monitor");if(!o){e?.remove();return}e||(e=document.createElement("div"),e.id="dphelper-fps-monitor",Object.assign(e.style,{position:"fixed",top:"10px",right:"10px",padding:"8px 12px",background:"rgba(0,0,0,0.8)",color:"#0f0",fontFamily:"monospace",fontSize:"12px",zIndex:"99999",borderRadius:"4px",pointerEvents:"none",boxShadow:"0 2px 10px rgba(0,0,0,0.5)",border:"1px solid #333"}),document.body.appendChild(e));let r=0,n=performance.now(),t=()=>{if(!document.getElementById("dphelper-fps-monitor"))return;r++;let a=performance.now();if(a>=n+1e3){let i=Math.round(r*1e3/(a-n)),d=performance.memory?` | Mem: ${Math.round(performance.memory.usedJSHeapSize/1048576)}MB`:"";e.innerText=`FPS: ${i}${d}`,r=0,n=a;}requestAnimationFrame(t);};requestAnimationFrame(t);},boxModel:(o=true)=>{if(typeof document>"u")return;let e=document.getElementById("dphelper-boxmodel-style");if(!o){e?.remove();return}e||(e=document.createElement("style"),e.id="dphelper-boxmodel-style",e.innerHTML=`
2
+ * { outline: 1px solid rgba(255, 0, 0, 0.3) !important; }
3
+ * * { outline: 1px solid rgba(0, 255, 0, 0.3) !important; }
4
+ * * * { outline: 1px solid rgba(0, 0, 255, 0.3) !important; }
5
+ * * * * { outline: 1px solid rgba(255, 255, 0, 0.3) !important; }
6
+ `,document.head.appendChild(e));}};dphelper?.setDescription(f,b);var I=dphelper.ui;exports.ui=I;
@@ -0,0 +1,6 @@
1
+ export interface UiTool {
2
+ anchorContext(): void
3
+ [key: string]: any
4
+ }
5
+
6
+ export const ui: UiTool
package/modules/ui.js ADDED
@@ -0,0 +1,6 @@
1
+ var c={info:{title:"List",description:"Complete list of tools"},categories:["3party","system","financial","memory","numbers","time","path","file","forms","ui","other","development"]};var d={version:"4.5.0"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...c},configurable:true,writable:true},version:{value:d.version,configurable:true,writable:true},isServer:{value:false,configurable:true,writable:true},isBrowser:{value:true,configurable:true,writable:true}});var l=dphelper;Object.defineProperty(l,"setProps",{value:(o,e,r)=>{Object.defineProperty(o,e.name,r||{writable:false,configurable:false,enumerable:false}),r?.lock&&Object.freeze(o[e.name]);},writable:false,configurable:false,enumerable:false});Object.defineProperty(l,"setDescription",{value:(o,e)=>{Object.defineProperties(l,{[o.name]:{value:e,writable:false,configurable:false,enumerable:false}}),Object.keys(e).map(r=>(Object.defineProperties(l[o.name],{[r]:{writable:false,configurable:false,enumerable:false}}),null)),l.setProps(l,o,{writable:false,configurable:false,enumerable:false}),l._list.scripts.push(o);}});var b={name:"UI",active:true,subCommand:[{name:"input",version:"0.0.2",example:"dphelper.UI.input(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Creates an input element with specified options.",env:"client",subCommand:[]},{name:"fps",version:"0.0.2",example:"dphelper.UI.fps(true)",author:"Dario Passariello & Jo",creationDate:"20260220",lastMod:"20260220",type:"function",active:true,description:"Toggle a real-time FPS and Memory monitor overlay",env:"client",subCommand:[]},{name:"boxModel",version:"0.0.2",example:"dphelper.UI.boxModel(true)",author:"Dario Passariello & Jo",creationDate:"20260220",lastMod:"20260220",type:"function",active:true,description:"Toggle visual box-model highlighter for all elements",env:"client",subCommand:[]},{name:"anchorContext",version:"0.0.1",example:"dphelper.UI.anchorContext()",author:"Dario Passariello",creationDate:"20260221",lastMod:"20260221",type:"function",active:true,description:"Snapshot and auto-restore UI state (inputs, scroll) across reloads.",env:"client",subCommand:[]}]},h={anchorContext:()=>{if(typeof window>"u"||typeof localStorage>"u")return;let o=`dp_anchor_${btoa(location.pathname).replace(/=/g,"")}`,e=()=>{let n={scroll:{x:window.scrollX,y:window.scrollY},inputs:Array.from(document.querySelectorAll("input, textarea, select")).filter(t=>t.type!=="password"&&!t.hasAttribute("data-private")&&t.getAttribute("autocomplete")!=="off").map(t=>({id:t.id,name:t.name,value:t.value}))};localStorage.setItem(o,JSON.stringify(n));},r=()=>{let n=localStorage.getItem(o);if(n)try{let t=JSON.parse(n);window.scrollTo(t.scroll.x,t.scroll.y),t.inputs.forEach(a=>{let i=a.id?document.getElementById(a.id):document.querySelector(`[name="${a.name}"]`);i&&(i.value=a.value);});}catch{console.warn("dphelper: anchorContext restoration failed.");}};window.addEventListener("beforeunload",e),r();},fps:(o=true)=>{if(typeof document>"u")return;let e=document.getElementById("dphelper-fps-monitor");if(!o){e?.remove();return}e||(e=document.createElement("div"),e.id="dphelper-fps-monitor",Object.assign(e.style,{position:"fixed",top:"10px",right:"10px",padding:"8px 12px",background:"rgba(0,0,0,0.8)",color:"#0f0",fontFamily:"monospace",fontSize:"12px",zIndex:"99999",borderRadius:"4px",pointerEvents:"none",boxShadow:"0 2px 10px rgba(0,0,0,0.5)",border:"1px solid #333"}),document.body.appendChild(e));let r=0,n=performance.now(),t=()=>{if(!document.getElementById("dphelper-fps-monitor"))return;r++;let a=performance.now();if(a>=n+1e3){let i=Math.round(r*1e3/(a-n)),u=performance.memory?` | Mem: ${Math.round(performance.memory.usedJSHeapSize/1048576)}MB`:"";e.innerText=`FPS: ${i}${u}`,r=0,n=a;}requestAnimationFrame(t);};requestAnimationFrame(t);},boxModel:(o=true)=>{if(typeof document>"u")return;let e=document.getElementById("dphelper-boxmodel-style");if(!o){e?.remove();return}e||(e=document.createElement("style"),e.id="dphelper-boxmodel-style",e.innerHTML=`
2
+ * { outline: 1px solid rgba(255, 0, 0, 0.3) !important; }
3
+ * * { outline: 1px solid rgba(0, 255, 0, 0.3) !important; }
4
+ * * * { outline: 1px solid rgba(0, 0, 255, 0.3) !important; }
5
+ * * * * { outline: 1px solid rgba(255, 255, 0, 0.3) !important; }
6
+ `,document.head.appendChild(e));}};dphelper?.setDescription(b,h);var M=dphelper.ui;export{M as ui};
@@ -0,0 +1,7 @@
1
+ 'use strict';var m={info:{title:"List",description:"Complete list of tools"},categories:["3party","system","financial","memory","numbers","time","path","file","forms","ui","other","development"]};var d={version:"4.5.0"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...m},configurable:true,writable:true},version:{value:d.version,configurable:true,writable:true},isServer:{value:false,configurable:true,writable:true},isBrowser:{value:true,configurable:true,writable:true}});var i=dphelper;Object.defineProperty(i,"setProps",{value:(e,t,r)=>{Object.defineProperty(e,t.name,r||{writable:false,configurable:false,enumerable:false}),r?.lock&&Object.freeze(e[t.name]);},writable:false,configurable:false,enumerable:false});Object.defineProperty(i,"setDescription",{value:(e,t)=>{Object.defineProperties(i,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(r=>(Object.defineProperties(i[e.name],{[r]:{writable:false,configurable:false,enumerable:false}}),null)),i.setProps(i,e,{writable:false,configurable:false,enumerable:false}),i._list.scripts.push(e);}});var D={name:"window",active:true,subCommand:[{name:"enhancement",version:"0.0.2",example:"dphelper.window.enhancement()",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Use only one time at end of application",env:"client",subCommand:[]},{name:"center",version:"0.0.2",example:"dphelper.window.center({ url, title, name, w, h })",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Use to center popup to screen",env:"client",subCommand:[]},{name:"onBeforeUnLoad",version:"0.0.2",example:"dphelper.window.onBeforeUnLoad()",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Message during leave the site",env:"client",subCommand:[]},{name:"purge",version:"0.0.2",example:"dphelper.window.purge()",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Purge from memory",env:"client",subCommand:[]},{name:"stopZoomWheel",version:"0.0.2",example:"dphelper.window.stopZoomWheel(e)",author:"Dario Passariello",creationDate:"20230527",lastMod:"20230527",type:"function",active:true,description:"Stop Zoom Generated by Mouse Wheel",env:"client",subCommand:[]},{name:"setZoom",version:"0.0.2",example:"dphelper.window.setZoom([el,1])",author:"Dario Passariello",creationDate:"20240727",lastMod:"20220727",type:"function",active:true,description:"Set the zoom level of an element",env:"client",subCommand:[]},{name:"getZoom",version:"0.0.2",example:"dphelper.window.getZoom([el])",author:"Dario Passariello",creationDate:"20240727",lastMod:"20220727",type:"function",active:true,description:"Get the zoom level of an element",env:"client",subCommand:[]}]},l=false,f=false,E={enhancement:()=>{window.offScreenBuffering="auto",dphelper.window.animationframe();},animationframe:()=>(e=>requestAnimationFrame(e)),center:({url:e,title:t,name:r,w:o,h:n})=>{let a=screenLeft!==void 0?screenLeft:screenX,c=screenTop!==void 0?screenTop:screenY,p=innerWidth||(document.documentElement.clientWidth?document.documentElement.clientWidth:screen.width),h=innerHeight||(document.documentElement.clientHeight?document.documentElement.clientHeight:screen.height),s=p/screen.availWidth,v=(p-o)/2/s+a,b=(h-n)/2/s+c,w=open(e,t,`
2
+ scrollbars=yes,
3
+ width=${o/s},
4
+ height=${n/s},
5
+ top=${b},
6
+ left=${v}
7
+ `);onfocus=()=>w?.focus();},onBeforeUnLoad:e=>{let t="You have made some changes which you might want to save.",r=n=>(n.preventDefault(),t),o=e?document.querySelector(e):null;o&&o.addEventListener("input",()=>{o.value!==""?(l=true,addEventListener("beforeunload",r,{capture:true})):(l=false,removeEventListener("beforeunload",r,{capture:true}));}),f===false&&(document.body.addEventListener("click",n=>{let a=n.target;if(a&&a.tagName.toLowerCase()==="img"&&l===true){if(confirm(t)===true){l=false;return}n.preventDefault();}}),f=true),addEventListener("popstate",n=>{if(l===true){if(confirm(t)===true){l=false;return}n.stopImmediatePropagation(),n.preventDefault();return}}),onbeforeunload=n=>{if(l===true)return n.preventDefault(),n.returnValue=t};},purge:(e=document,t=1e4)=>{setTimeout(()=>{if(!e)return;let r=e.attributes;if(r){let o=r.length;for(let n=0;n<o;n+=1){let a=r[n].name;typeof e[a]=="function"&&(e[a]=null),typeof e[a]>"u"&&(e[a]=null);}}if(r=e.childNodes,r){let o=r.length;for(let n=0;n<o;n+=1)dphelper.purge(e.childNodes[n]);}},t);},stopZoomWheel:()=>{addEventListener("wheel",e=>{e.ctrlKey&&e.preventDefault();},{passive:false}),addEventListener("keydown",e=>{let t=dphelper.event.keys(e);["+","-","="].includes(t.key)&&t.ctrl&&e.preventDefault();});},setZoom:(e="html",t=1)=>{t<0&&(t=1);let r=document.querySelector(e);return r&&(r.style.zoom=String(t)),`New zoom value: ${t*100}% (css: ${t})`},getZoom:(e="html")=>{let t=document.querySelector(e);return Number(t?.style.zoom||1)}};dphelper?.setDescription(D,E);var C=dphelper.window;exports.window=C;
@@ -0,0 +1,12 @@
1
+ export interface WindowTool {
2
+ enhancement(): void
3
+ animationframe(): any
4
+ center(params: { url: string; title: string; name: string; w: number; h: number }): void
5
+ onBeforeUnLoad(e: any): void
6
+ purge(d?: Document, time?: number): void
7
+ stopZoomWheel(e: any): void
8
+ setZoom(element?: string, zoom?: number): string
9
+ getZoom(element?: string): number
10
+ }
11
+
12
+ export const window: WindowTool
@@ -0,0 +1,7 @@
1
+ var d={info:{title:"List",description:"Complete list of tools"},categories:["3party","system","financial","memory","numbers","time","path","file","forms","ui","other","development"]};var f={version:"4.5.0"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...d},configurable:true,writable:true},version:{value:f.version,configurable:true,writable:true},isServer:{value:false,configurable:true,writable:true},isBrowser:{value:true,configurable:true,writable:true}});var i=dphelper;Object.defineProperty(i,"setProps",{value:(e,t,r)=>{Object.defineProperty(e,t.name,r||{writable:false,configurable:false,enumerable:false}),r?.lock&&Object.freeze(e[t.name]);},writable:false,configurable:false,enumerable:false});Object.defineProperty(i,"setDescription",{value:(e,t)=>{Object.defineProperties(i,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(r=>(Object.defineProperties(i[e.name],{[r]:{writable:false,configurable:false,enumerable:false}}),null)),i.setProps(i,e,{writable:false,configurable:false,enumerable:false}),i._list.scripts.push(e);}});var E={name:"window",active:true,subCommand:[{name:"enhancement",version:"0.0.2",example:"dphelper.window.enhancement()",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Use only one time at end of application",env:"client",subCommand:[]},{name:"center",version:"0.0.2",example:"dphelper.window.center({ url, title, name, w, h })",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Use to center popup to screen",env:"client",subCommand:[]},{name:"onBeforeUnLoad",version:"0.0.2",example:"dphelper.window.onBeforeUnLoad()",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Message during leave the site",env:"client",subCommand:[]},{name:"purge",version:"0.0.2",example:"dphelper.window.purge()",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Purge from memory",env:"client",subCommand:[]},{name:"stopZoomWheel",version:"0.0.2",example:"dphelper.window.stopZoomWheel(e)",author:"Dario Passariello",creationDate:"20230527",lastMod:"20230527",type:"function",active:true,description:"Stop Zoom Generated by Mouse Wheel",env:"client",subCommand:[]},{name:"setZoom",version:"0.0.2",example:"dphelper.window.setZoom([el,1])",author:"Dario Passariello",creationDate:"20240727",lastMod:"20220727",type:"function",active:true,description:"Set the zoom level of an element",env:"client",subCommand:[]},{name:"getZoom",version:"0.0.2",example:"dphelper.window.getZoom([el])",author:"Dario Passariello",creationDate:"20240727",lastMod:"20220727",type:"function",active:true,description:"Get the zoom level of an element",env:"client",subCommand:[]}]},l=false,h=false,L={enhancement:()=>{window.offScreenBuffering="auto",dphelper.window.animationframe();},animationframe:()=>(e=>requestAnimationFrame(e)),center:({url:e,title:t,name:r,w:o,h:n})=>{let a=screenLeft!==void 0?screenLeft:screenX,p=screenTop!==void 0?screenTop:screenY,m=innerWidth||(document.documentElement.clientWidth?document.documentElement.clientWidth:screen.width),v=innerHeight||(document.documentElement.clientHeight?document.documentElement.clientHeight:screen.height),s=m/screen.availWidth,b=(m-o)/2/s+a,w=(v-n)/2/s+p,g=open(e,t,`
2
+ scrollbars=yes,
3
+ width=${o/s},
4
+ height=${n/s},
5
+ top=${w},
6
+ left=${b}
7
+ `);onfocus=()=>g?.focus();},onBeforeUnLoad:e=>{let t="You have made some changes which you might want to save.",r=n=>(n.preventDefault(),t),o=e?document.querySelector(e):null;o&&o.addEventListener("input",()=>{o.value!==""?(l=true,addEventListener("beforeunload",r,{capture:true})):(l=false,removeEventListener("beforeunload",r,{capture:true}));}),h===false&&(document.body.addEventListener("click",n=>{let a=n.target;if(a&&a.tagName.toLowerCase()==="img"&&l===true){if(confirm(t)===true){l=false;return}n.preventDefault();}}),h=true),addEventListener("popstate",n=>{if(l===true){if(confirm(t)===true){l=false;return}n.stopImmediatePropagation(),n.preventDefault();return}}),onbeforeunload=n=>{if(l===true)return n.preventDefault(),n.returnValue=t};},purge:(e=document,t=1e4)=>{setTimeout(()=>{if(!e)return;let r=e.attributes;if(r){let o=r.length;for(let n=0;n<o;n+=1){let a=r[n].name;typeof e[a]=="function"&&(e[a]=null),typeof e[a]>"u"&&(e[a]=null);}}if(r=e.childNodes,r){let o=r.length;for(let n=0;n<o;n+=1)dphelper.purge(e.childNodes[n]);}},t);},stopZoomWheel:()=>{addEventListener("wheel",e=>{e.ctrlKey&&e.preventDefault();},{passive:false}),addEventListener("keydown",e=>{let t=dphelper.event.keys(e);["+","-","="].includes(t.key)&&t.ctrl&&e.preventDefault();});},setZoom:(e="html",t=1)=>{t<0&&(t=1);let r=document.querySelector(e);return r&&(r.style.zoom=String(t)),`New zoom value: ${t*100}% (css: ${t})`},getZoom:(e="html")=>{let t=document.querySelector(e);return Number(t?.style.zoom||1)}};dphelper?.setDescription(E,L);var T=dphelper.window;export{T as window};
@@ -0,0 +1,2 @@
1
+ 'use strict';var k={info:{title:"List",description:"Complete list of tools"},categories:["3party","system","financial","memory","numbers","time","path","file","forms","ui","other","development"]};var g={version:"4.5.0"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...k},configurable:true,writable:true},version:{value:g.version,configurable:true,writable:true},isServer:{value:false,configurable:true,writable:true},isBrowser:{value:true,configurable:true,writable:true}});var p=dphelper;Object.defineProperty(p,"setProps",{value:(r,e,t)=>{Object.defineProperty(r,e.name,t||{writable:false,configurable:false,enumerable:false}),t?.lock&&Object.freeze(r[e.name]);},writable:false,configurable:false,enumerable:false});Object.defineProperty(p,"setDescription",{value:(r,e)=>{Object.defineProperties(p,{[r.name]:{value:e,writable:false,configurable:false,enumerable:false}}),Object.keys(e).map(t=>(Object.defineProperties(p[r.name],{[t]:{writable:false,configurable:false,enumerable:false}}),null)),p.setProps(p,r,{writable:false,configurable:false,enumerable:false}),p._list.scripts.push(r);}});var P={name:"worker",active:true,subCommand:[{name:"create",version:"0.0.1",example:"dphelper.worker.create('worker.js', { onmessage: (e) => console.log(e.data) })",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Create a new Web Worker from a script URL or inline code",env:"client",subCommand:[]},{name:"createInline",version:"0.0.1",example:"dphelper.worker.createInline('self.onmessage = e => postMessage(e.data * 2)')",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Create a Web Worker from inline JavaScript code",env:"client",subCommand:[]},{name:"post",version:"0.0.1",example:"dphelper.worker.post(worker, { type: 'compute', data: 42 })",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Send a message to a worker",env:"client",subCommand:[]},{name:"terminate",version:"0.0.1",example:"dphelper.worker.terminate(worker)",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Terminate a Web Worker",env:"client",subCommand:[]},{name:"pool",version:"0.0.1",example:"dphelper.worker.pool('worker.js', 4)",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Create a pool of workers for parallel processing",env:"client",subCommand:[]},{name:"poolExec",version:"0.0.1",example:"dphelper.worker.poolExec(pool, tasks)",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Execute tasks across a worker pool",env:"client",subCommand:[]},{name:"importScripts",version:"0.0.1",example:"dphelper.worker.importScripts(worker, ['lib1.js', 'lib2.js'])",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Import external scripts into a worker",env:"client",subCommand:[]},{name:"shared",version:"0.0.1",example:"dphelper.worker.shared('my-shared-buffer')",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Create a SharedWorker for cross-tab communication",env:"client",subCommand:[]}]},y=(r,e={})=>{try{let t=new URL(r);if(!["http:","https:","blob:","data:"].includes(t.protocol))throw new Error(`Invalid protocol: ${t.protocol}`);let o=new Worker(t.href);return e.onmessage&&(o.onmessage=e.onmessage),e.onerror&&(o.onerror=e.onerror),o}catch(t){if(!(typeof r=="string"&&!r.startsWith("http://")&&!r.startsWith("https://")&&!r.startsWith("blob:")&&!r.startsWith("data:")))throw console.error("[dphelper] worker.create: Invalid URL or protocol. Only http, https, blob, data, or relative paths allowed."),new Error("Invalid worker source URL",{cause:t});let a=new Blob([r],{type:"application/javascript"}),n=new Worker(URL.createObjectURL(a));return e.onmessage&&(n.onmessage=e.onmessage),e.onerror&&(n.onerror=e.onerror),n}},L=(r,e={})=>{let t=new Blob([r],{type:"application/javascript"}),o=URL.createObjectURL(t),a=new Worker(o);return e.onmessage&&(a.onmessage=e.onmessage),e.onerror&&(a.onerror=e.onerror),a.addEventListener("message",()=>{URL.revokeObjectURL(o);}),a.addEventListener("error",()=>{URL.revokeObjectURL(o);}),a},b=(r,e,t)=>{t?r.postMessage(e,t):r.postMessage(e);},D=r=>{r.terminate();},O=(r,e=4)=>{let t=[],o=new Set;for(let n=0;n<e;n++)t.push(y(r));return {workers:t,busy:o,queue:[],size:e}},R=async(r,e,t=3e4)=>new Promise((o,a)=>{let n=new Array(e.length),s=0,l=false,f=setTimeout(()=>{l=true,a(new Error(`[dphelper] Worker pool execution timed out after ${t}ms`));},t),h=()=>{if(!l)for(;r.queue.length>0&&r.busy.size<r.size;){let{task:c}=r.queue.shift();W(c.index,c.data);}},W=(c,d)=>{if(l)return;let i=r.workers.find(u=>!r.busy.has(u));if(!i)return;r.busy.add(i);let v=u=>{i.removeEventListener("message",v),r.busy.delete(i),n[c]=u.data,s++,s===e.length?(clearTimeout(f),o(n)):h();},w=u=>{i.removeEventListener("error",w),r.busy.delete(i),l=true,clearTimeout(f),a(new Error(`[dphelper] Worker task failed: ${u.message}`));};i.addEventListener("message",v),i.addEventListener("error",w),b(i,{index:c,data:d});};e.forEach((c,d)=>{r.queue.push({task:{index:d,data:c}});}),h();}),x=(r,e)=>{e.forEach(s=>{try{let l=new URL(s);if(!["http:","https:","blob:","data:"].includes(l.protocol)){console.error(`[dphelper] Invalid protocol for importScripts: ${l.protocol}`);return}}catch{console.error(`[dphelper] Invalid URL for importScripts: ${s}`);return}});let o=e.map(s=>s.replace(/['\\]/g,"\\$&")).map(s=>`importScripts('${s}');`).join(`
2
+ `),a=new Blob([o],{type:"application/javascript"}),n=URL.createObjectURL(a);b(r,{type:"import",url:n});},M=(r,e={})=>{try{let t=e.name?{name:e.name}:void 0,o=new SharedWorker(r,t);return e.onmessage&&(o.port.onmessage=e.onmessage),e.onconnect&&(o.port.onmessage=a=>{e.onconnect?.(a),e.onmessage&&e.onmessage(a);}),o}catch(t){console.error("[dphelper] SharedWorker creation failed:",t);return}},S={create:y,createInline:L,post:b,terminate:D,pool:O,poolExec:R,importScripts:x,shared:M};dphelper?.setDescription(P,S);var H=dphelper.worker;exports.worker=H;
@@ -0,0 +1,19 @@
1
+ export interface WorkerPool {
2
+ workers: Worker[]
3
+ busy: Set<Worker>
4
+ queue: Array<{ task: any, resolve: Function, reject: Function }>
5
+ size: number
6
+ }
7
+
8
+ interface WorkerTool {
9
+ create: (src: string, options?: { onmessage?: (e: MessageEvent) => void; onerror?: (e: ErrorEvent) => void }) => Worker
10
+ createInline: (code: string, options?: { onmessage?: (e: MessageEvent) => void; onerror?: (e: ErrorEvent) => void }) => Worker
11
+ post: (worker: Worker, message: any, transferables?: Transferable[]) => void
12
+ terminate: (worker: Worker) => void
13
+ pool: (src: string, size?: number) => WorkerPool
14
+ poolExec: (pool: WorkerPool, tasks: any[]) => Promise<any[]>
15
+ importScripts: (worker: Worker, scripts: string[]) => void
16
+ shared: (src: string, options?: { name?: string; onconnect?: (e: MessageEvent) => void; onmessage?: (e: MessageEvent) => void }) => SharedWorker
17
+ }
18
+
19
+ export const worker: WorkerTool
@@ -0,0 +1,2 @@
1
+ var g={info:{title:"List",description:"Complete list of tools"},categories:["3party","system","financial","memory","numbers","time","path","file","forms","ui","other","development"]};var y={version:"4.5.0"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...g},configurable:true,writable:true},version:{value:y.version,configurable:true,writable:true},isServer:{value:false,configurable:true,writable:true},isBrowser:{value:true,configurable:true,writable:true}});var p=dphelper;Object.defineProperty(p,"setProps",{value:(r,e,t)=>{Object.defineProperty(r,e.name,t||{writable:false,configurable:false,enumerable:false}),t?.lock&&Object.freeze(r[e.name]);},writable:false,configurable:false,enumerable:false});Object.defineProperty(p,"setDescription",{value:(r,e)=>{Object.defineProperties(p,{[r.name]:{value:e,writable:false,configurable:false,enumerable:false}}),Object.keys(e).map(t=>(Object.defineProperties(p[r.name],{[t]:{writable:false,configurable:false,enumerable:false}}),null)),p.setProps(p,r,{writable:false,configurable:false,enumerable:false}),p._list.scripts.push(r);}});var L={name:"worker",active:true,subCommand:[{name:"create",version:"0.0.1",example:"dphelper.worker.create('worker.js', { onmessage: (e) => console.log(e.data) })",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Create a new Web Worker from a script URL or inline code",env:"client",subCommand:[]},{name:"createInline",version:"0.0.1",example:"dphelper.worker.createInline('self.onmessage = e => postMessage(e.data * 2)')",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Create a Web Worker from inline JavaScript code",env:"client",subCommand:[]},{name:"post",version:"0.0.1",example:"dphelper.worker.post(worker, { type: 'compute', data: 42 })",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Send a message to a worker",env:"client",subCommand:[]},{name:"terminate",version:"0.0.1",example:"dphelper.worker.terminate(worker)",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Terminate a Web Worker",env:"client",subCommand:[]},{name:"pool",version:"0.0.1",example:"dphelper.worker.pool('worker.js', 4)",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Create a pool of workers for parallel processing",env:"client",subCommand:[]},{name:"poolExec",version:"0.0.1",example:"dphelper.worker.poolExec(pool, tasks)",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Execute tasks across a worker pool",env:"client",subCommand:[]},{name:"importScripts",version:"0.0.1",example:"dphelper.worker.importScripts(worker, ['lib1.js', 'lib2.js'])",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Import external scripts into a worker",env:"client",subCommand:[]},{name:"shared",version:"0.0.1",example:"dphelper.worker.shared('my-shared-buffer')",author:"Dario Passariello",creationDate:"20260313",lastMod:"20260313",type:"function",active:true,description:"Create a SharedWorker for cross-tab communication",env:"client",subCommand:[]}]},W=(r,e={})=>{try{let t=new URL(r);if(!["http:","https:","blob:","data:"].includes(t.protocol))throw new Error(`Invalid protocol: ${t.protocol}`);let o=new Worker(t.href);return e.onmessage&&(o.onmessage=e.onmessage),e.onerror&&(o.onerror=e.onerror),o}catch(t){if(!(typeof r=="string"&&!r.startsWith("http://")&&!r.startsWith("https://")&&!r.startsWith("blob:")&&!r.startsWith("data:")))throw console.error("[dphelper] worker.create: Invalid URL or protocol. Only http, https, blob, data, or relative paths allowed."),new Error("Invalid worker source URL",{cause:t});let a=new Blob([r],{type:"application/javascript"}),n=new Worker(URL.createObjectURL(a));return e.onmessage&&(n.onmessage=e.onmessage),e.onerror&&(n.onerror=e.onerror),n}},D=(r,e={})=>{let t=new Blob([r],{type:"application/javascript"}),o=URL.createObjectURL(t),a=new Worker(o);return e.onmessage&&(a.onmessage=e.onmessage),e.onerror&&(a.onerror=e.onerror),a.addEventListener("message",()=>{URL.revokeObjectURL(o);}),a.addEventListener("error",()=>{URL.revokeObjectURL(o);}),a},f=(r,e,t)=>{t?r.postMessage(e,t):r.postMessage(e);},O=r=>{r.terminate();},R=(r,e=4)=>{let t=[],o=new Set;for(let n=0;n<e;n++)t.push(W(r));return {workers:t,busy:o,queue:[],size:e}},x=async(r,e,t=3e4)=>new Promise((o,a)=>{let n=new Array(e.length),s=0,l=false,h=setTimeout(()=>{l=true,a(new Error(`[dphelper] Worker pool execution timed out after ${t}ms`));},t),v=()=>{if(!l)for(;r.queue.length>0&&r.busy.size<r.size;){let{task:c}=r.queue.shift();E(c.index,c.data);}},E=(c,d)=>{if(l)return;let i=r.workers.find(u=>!r.busy.has(u));if(!i)return;r.busy.add(i);let w=u=>{i.removeEventListener("message",w),r.busy.delete(i),n[c]=u.data,s++,s===e.length?(clearTimeout(h),o(n)):v();},k=u=>{i.removeEventListener("error",k),r.busy.delete(i),l=true,clearTimeout(h),a(new Error(`[dphelper] Worker task failed: ${u.message}`));};i.addEventListener("message",w),i.addEventListener("error",k),f(i,{index:c,data:d});};e.forEach((c,d)=>{r.queue.push({task:{index:d,data:c}});}),v();}),M=(r,e)=>{e.forEach(s=>{try{let l=new URL(s);if(!["http:","https:","blob:","data:"].includes(l.protocol)){console.error(`[dphelper] Invalid protocol for importScripts: ${l.protocol}`);return}}catch{console.error(`[dphelper] Invalid URL for importScripts: ${s}`);return}});let o=e.map(s=>s.replace(/['\\]/g,"\\$&")).map(s=>`importScripts('${s}');`).join(`
2
+ `),a=new Blob([o],{type:"application/javascript"}),n=URL.createObjectURL(a);f(r,{type:"import",url:n});},S=(r,e={})=>{try{let t=e.name?{name:e.name}:void 0,o=new SharedWorker(r,t);return e.onmessage&&(o.port.onmessage=e.onmessage),e.onconnect&&(o.port.onmessage=a=>{e.onconnect?.(a),e.onmessage&&e.onmessage(a);}),o}catch(t){console.error("[dphelper] SharedWorker creation failed:",t);return}},U={create:W,createInline:D,post:f,terminate:O,pool:R,poolExec:x,importScripts:M,shared:S};dphelper?.setDescription(L,U);var J=dphelper.worker;export{J as worker};
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "dphelper",
3
3
  "codeName": "dphelper",
4
- "version": "4.3.1",
4
+ "version": "4.5.0",
5
5
  "description": "dphelper devtools for developers",
6
6
  "main": "./index.cjs",
7
7
  "browser": "./index.cjs",
8
+ "type": "module",
8
9
  "types": "./index.d.ts",
9
10
  "typing": "./types/*",
10
11
  "license": "MIT",
@@ -52,7 +53,19 @@
52
53
  "node": ">=18.0.0"
53
54
  },
54
55
  "files": [
55
- "**/*"
56
+ "index.js",
57
+ "index.cjs",
58
+ "index.d.ts",
59
+ "modules/**/*",
60
+ "types/**/*",
61
+ "README.md",
62
+ "LICENSE.md",
63
+ "COPYRIGHT.md",
64
+ "FUNDING.yml",
65
+ "SECURITY.md",
66
+ "SUMMARY.md",
67
+ "llms.txt",
68
+ "sbom.json"
56
69
  ],
57
70
  "support": {
58
71
  "name": "Dario Passariello",
@@ -65,14 +78,274 @@
65
78
  "overrides": {
66
79
  "esbuild": "^0.25.0"
67
80
  },
68
- "module": "./index.js",
69
81
  "exports": {
70
82
  ".": {
71
83
  "import": "./index.js",
72
84
  "require": "./index.cjs",
73
85
  "types": "./index.d.ts"
74
86
  },
75
- "./types/*": "./types/*"
87
+ "./types/*": "./types/*",
88
+ "./ai": {
89
+ "import": "./modules/ai.js",
90
+ "require": "./modules/ai.cjs",
91
+ "types": "./modules/ai.d.ts"
92
+ },
93
+ "./anchor": {
94
+ "import": "./modules/anchor.js",
95
+ "require": "./modules/anchor.cjs",
96
+ "types": "./modules/anchor.d.ts"
97
+ },
98
+ "./array": {
99
+ "import": "./modules/array.js",
100
+ "require": "./modules/array.cjs",
101
+ "types": "./modules/array.d.ts"
102
+ },
103
+ "./audio": {
104
+ "import": "./modules/audio.js",
105
+ "require": "./modules/audio.cjs",
106
+ "types": "./modules/audio.d.ts"
107
+ },
108
+ "./avoid": {
109
+ "import": "./modules/avoid.js",
110
+ "require": "./modules/avoid.cjs",
111
+ "types": "./modules/avoid.d.ts"
112
+ },
113
+ "./biometric": {
114
+ "import": "./modules/biometric.js",
115
+ "require": "./modules/biometric.cjs",
116
+ "types": "./modules/biometric.d.ts"
117
+ },
118
+ "./browser": {
119
+ "import": "./modules/browser.js",
120
+ "require": "./modules/browser.cjs",
121
+ "types": "./modules/browser.d.ts"
122
+ },
123
+ "./check": {
124
+ "import": "./modules/check.js",
125
+ "require": "./modules/check.cjs",
126
+ "types": "./modules/check.d.ts"
127
+ },
128
+ "./color": {
129
+ "import": "./modules/color.js",
130
+ "require": "./modules/color.cjs",
131
+ "types": "./modules/color.d.ts"
132
+ },
133
+ "./compress": {
134
+ "import": "./modules/compress.js",
135
+ "require": "./modules/compress.cjs",
136
+ "types": "./modules/compress.d.ts"
137
+ },
138
+ "./cookie": {
139
+ "import": "./modules/cookie.js",
140
+ "require": "./modules/cookie.cjs",
141
+ "types": "./modules/cookie.d.ts"
142
+ },
143
+ "./coords": {
144
+ "import": "./modules/coords.js",
145
+ "require": "./modules/coords.cjs",
146
+ "types": "./modules/coords.d.ts"
147
+ },
148
+ "./credits": {
149
+ "import": "./modules/credits.js",
150
+ "require": "./modules/credits.cjs",
151
+ "types": "./modules/credits.d.ts"
152
+ },
153
+ "./date": {
154
+ "import": "./modules/date.js",
155
+ "require": "./modules/date.cjs",
156
+ "types": "./modules/date.d.ts"
157
+ },
158
+ "./disable": {
159
+ "import": "./modules/disable.js",
160
+ "require": "./modules/disable.cjs",
161
+ "types": "./modules/disable.d.ts"
162
+ },
163
+ "./dispatch": {
164
+ "import": "./modules/dispatch.js",
165
+ "require": "./modules/dispatch.cjs",
166
+ "types": "./modules/dispatch.d.ts"
167
+ },
168
+ "./elements": {
169
+ "import": "./modules/elements.js",
170
+ "require": "./modules/elements.cjs",
171
+ "types": "./modules/elements.d.ts"
172
+ },
173
+ "./events": {
174
+ "import": "./modules/events.js",
175
+ "require": "./modules/events.cjs",
176
+ "types": "./modules/events.d.ts"
177
+ },
178
+ "./fetch": {
179
+ "import": "./modules/fetch.js",
180
+ "require": "./modules/fetch.cjs",
181
+ "types": "./modules/fetch.d.ts"
182
+ },
183
+ "./form": {
184
+ "import": "./modules/form.js",
185
+ "require": "./modules/form.cjs",
186
+ "types": "./modules/form.d.ts"
187
+ },
188
+ "./format": {
189
+ "import": "./modules/format.js",
190
+ "require": "./modules/format.cjs",
191
+ "types": "./modules/format.d.ts"
192
+ },
193
+ "./i18n": {
194
+ "import": "./modules/i18n.js",
195
+ "require": "./modules/i18n.cjs",
196
+ "types": "./modules/i18n.d.ts"
197
+ },
198
+ "./image": {
199
+ "import": "./modules/image.js",
200
+ "require": "./modules/image.cjs",
201
+ "types": "./modules/image.d.ts"
202
+ },
203
+ "./json": {
204
+ "import": "./modules/json.js",
205
+ "require": "./modules/json.cjs",
206
+ "types": "./modules/json.d.ts"
207
+ },
208
+ "./load": {
209
+ "import": "./modules/load.js",
210
+ "require": "./modules/load.cjs",
211
+ "types": "./modules/load.d.ts"
212
+ },
213
+ "./logging": {
214
+ "import": "./modules/logging.js",
215
+ "require": "./modules/logging.cjs",
216
+ "types": "./modules/logging.d.ts"
217
+ },
218
+ "./math": {
219
+ "import": "./modules/math.js",
220
+ "require": "./modules/math.cjs",
221
+ "types": "./modules/math.d.ts"
222
+ },
223
+ "./memory": {
224
+ "import": "./modules/memory.js",
225
+ "require": "./modules/memory.cjs",
226
+ "types": "./modules/memory.d.ts"
227
+ },
228
+ "./navigation": {
229
+ "import": "./modules/navigation.js",
230
+ "require": "./modules/navigation.cjs",
231
+ "types": "./modules/navigation.d.ts"
232
+ },
233
+ "./net": {
234
+ "import": "./modules/net.js",
235
+ "require": "./modules/net.cjs",
236
+ "types": "./modules/net.d.ts"
237
+ },
238
+ "./objects": {
239
+ "import": "./modules/objects.js",
240
+ "require": "./modules/objects.cjs",
241
+ "types": "./modules/objects.d.ts"
242
+ },
243
+ "./path": {
244
+ "import": "./modules/path.js",
245
+ "require": "./modules/path.cjs",
246
+ "types": "./modules/path.d.ts"
247
+ },
248
+ "./promise": {
249
+ "import": "./modules/promise.js",
250
+ "require": "./modules/promise.cjs",
251
+ "types": "./modules/promise.d.ts"
252
+ },
253
+ "./sanitize": {
254
+ "import": "./modules/sanitize.js",
255
+ "require": "./modules/sanitize.cjs",
256
+ "types": "./modules/sanitize.d.ts"
257
+ },
258
+ "./screen": {
259
+ "import": "./modules/screen.js",
260
+ "require": "./modules/screen.cjs",
261
+ "types": "./modules/screen.d.ts"
262
+ },
263
+ "./scrollbar": {
264
+ "import": "./modules/scrollbar.js",
265
+ "require": "./modules/scrollbar.cjs",
266
+ "types": "./modules/scrollbar.d.ts"
267
+ },
268
+ "./security": {
269
+ "import": "./modules/security.js",
270
+ "require": "./modules/security.cjs",
271
+ "types": "./modules/security.d.ts"
272
+ },
273
+ "./shortcut": {
274
+ "import": "./modules/shortcut.js",
275
+ "require": "./modules/shortcut.cjs",
276
+ "types": "./modules/shortcut.d.ts"
277
+ },
278
+ "./socket": {
279
+ "import": "./modules/socket.js",
280
+ "require": "./modules/socket.cjs",
281
+ "types": "./modules/socket.d.ts"
282
+ },
283
+ "./sse": {
284
+ "import": "./modules/sse.js",
285
+ "require": "./modules/sse.cjs",
286
+ "types": "./modules/sse.d.ts"
287
+ },
288
+ "./svg": {
289
+ "import": "./modules/svg.js",
290
+ "require": "./modules/svg.cjs",
291
+ "types": "./modules/svg.d.ts"
292
+ },
293
+ "./sync": {
294
+ "import": "./modules/sync.js",
295
+ "require": "./modules/sync.cjs",
296
+ "types": "./modules/sync.d.ts"
297
+ },
298
+ "./system": {
299
+ "import": "./modules/system.js",
300
+ "require": "./modules/system.cjs",
301
+ "types": "./modules/system.d.ts"
302
+ },
303
+ "./text": {
304
+ "import": "./modules/text.js",
305
+ "require": "./modules/text.cjs",
306
+ "types": "./modules/text.d.ts"
307
+ },
308
+ "./timer": {
309
+ "import": "./modules/timer.js",
310
+ "require": "./modules/timer.cjs",
311
+ "types": "./modules/timer.d.ts"
312
+ },
313
+ "./tools": {
314
+ "import": "./modules/tools.js",
315
+ "require": "./modules/tools.cjs",
316
+ "types": "./modules/tools.d.ts"
317
+ },
318
+ "./translators": {
319
+ "import": "./modules/translators.js",
320
+ "require": "./modules/translators.cjs",
321
+ "types": "./modules/translators.d.ts"
322
+ },
323
+ "./triggers": {
324
+ "import": "./modules/triggers.js",
325
+ "require": "./modules/triggers.cjs",
326
+ "types": "./modules/triggers.d.ts"
327
+ },
328
+ "./types": {
329
+ "import": "./modules/types.js",
330
+ "require": "./modules/types.cjs",
331
+ "types": "./modules/types.d.ts"
332
+ },
333
+ "./ui": {
334
+ "import": "./modules/ui.js",
335
+ "require": "./modules/ui.cjs",
336
+ "types": "./modules/ui.d.ts"
337
+ },
338
+ "./window": {
339
+ "import": "./modules/window.js",
340
+ "require": "./modules/window.cjs",
341
+ "types": "./modules/window.d.ts"
342
+ },
343
+ "./worker": {
344
+ "import": "./modules/worker.js",
345
+ "require": "./modules/worker.cjs",
346
+ "types": "./modules/worker.d.ts"
347
+ }
76
348
  },
349
+ "module": "./index.js",
77
350
  "typings": "./index.d.ts"
78
351
  }
package/sbom.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json",
3
+ "bomFormat": "CycloneDX",
4
+ "specVersion": "1.5",
5
+ "serialNumber": "urn:uuid:499fee7f-746f-4de5-96f7-b8939d1f94cf",
6
+ "version": 1,
7
+ "metadata": {
8
+ "timestamp": "2026-08-13T06:01:43.151Z",
9
+ "lifecycles": [
10
+ {
11
+ "phase": "build"
12
+ }
13
+ ],
14
+ "tools": [
15
+ {
16
+ "vendor": "npm",
17
+ "name": "cli",
18
+ "version": "12.0.1"
19
+ }
20
+ ],
21
+ "component": {
22
+ "bom-ref": "dphelper@4.5.0",
23
+ "type": "library",
24
+ "name": "dphelper",
25
+ "version": "4.5.0",
26
+ "scope": "required",
27
+ "author": "Dario Passariello",
28
+ "description": "dphelper devtools for developers",
29
+ "purl": "pkg:npm/dphelper@4.5.0",
30
+ "properties": [],
31
+ "externalReferences": [],
32
+ "licenses": [
33
+ {
34
+ "license": {
35
+ "id": "MIT"
36
+ }
37
+ }
38
+ ]
39
+ }
40
+ },
41
+ "components": [],
42
+ "dependencies": [
43
+ {
44
+ "ref": "dphelper@4.5.0",
45
+ "dependsOn": []
46
+ }
47
+ ]
48
+ }