dphelper 4.3.5 → 4.5.2

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 +39 -29
  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 +15 -0
  7. package/modules/ai.js +7 -0
  8. package/modules/anchor.cjs +4 -0
  9. package/modules/anchor.d.ts +10 -0
  10. package/modules/anchor.js +4 -0
  11. package/modules/array.cjs +1 -0
  12. package/modules/array.d.ts +25 -0
  13. package/modules/array.js +1 -0
  14. package/modules/audio.cjs +1 -0
  15. package/modules/audio.d.ts +14 -0
  16. package/modules/audio.js +1 -0
  17. package/modules/avoid.cjs +1 -0
  18. package/modules/avoid.d.ts +6 -0
  19. package/modules/avoid.js +1 -0
  20. package/modules/biometric.cjs +2 -0
  21. package/modules/biometric.d.ts +18 -0
  22. package/modules/biometric.js +2 -0
  23. package/modules/browser.cjs +37 -0
  24. package/modules/browser.d.ts +14 -0
  25. package/modules/browser.js +37 -0
  26. package/modules/check.cjs +1 -0
  27. package/modules/check.d.ts +8 -0
  28. package/modules/check.js +1 -0
  29. package/modules/color.cjs +1 -0
  30. package/modules/color.d.ts +10 -0
  31. package/modules/color.js +1 -0
  32. package/modules/compress.cjs +1 -0
  33. package/modules/compress.d.ts +17 -0
  34. package/modules/compress.js +1 -0
  35. package/modules/cookie.cjs +1 -0
  36. package/modules/cookie.d.ts +16 -0
  37. package/modules/cookie.js +1 -0
  38. package/modules/coords.cjs +8 -0
  39. package/modules/coords.d.ts +12 -0
  40. package/modules/coords.js +8 -0
  41. package/modules/credits.cjs +1 -0
  42. package/modules/credits.d.ts +15 -0
  43. package/modules/credits.js +1 -0
  44. package/modules/date.cjs +12 -0
  45. package/modules/date.d.ts +29 -0
  46. package/modules/date.js +12 -0
  47. package/modules/disable.cjs +1 -0
  48. package/modules/disable.d.ts +12 -0
  49. package/modules/disable.js +1 -0
  50. package/modules/dispatch.cjs +1 -0
  51. package/modules/dispatch.d.ts +8 -0
  52. package/modules/dispatch.js +1 -0
  53. package/modules/elements.cjs +1 -0
  54. package/modules/elements.d.ts +7 -0
  55. package/modules/elements.js +1 -0
  56. package/modules/events.cjs +1 -0
  57. package/modules/events.d.ts +10 -0
  58. package/modules/events.js +1 -0
  59. package/modules/fetch.cjs +2 -0
  60. package/modules/fetch.d.ts +19 -0
  61. package/modules/fetch.js +2 -0
  62. package/modules/form.cjs +1 -0
  63. package/modules/form.d.ts +17 -0
  64. package/modules/form.js +1 -0
  65. package/modules/format.cjs +1 -0
  66. package/modules/format.d.ts +7 -0
  67. package/modules/format.js +1 -0
  68. package/modules/i18n.cjs +1 -0
  69. package/modules/i18n.d.ts +15 -0
  70. package/modules/i18n.js +1 -0
  71. package/modules/image.cjs +1 -0
  72. package/modules/image.d.ts +17 -0
  73. package/modules/image.js +1 -0
  74. package/modules/json.cjs +3 -0
  75. package/modules/json.d.ts +12 -0
  76. package/modules/json.js +3 -0
  77. package/modules/load.cjs +1 -0
  78. package/modules/load.d.ts +12 -0
  79. package/modules/load.js +1 -0
  80. package/modules/logging.cjs +1 -0
  81. package/modules/logging.d.ts +12 -0
  82. package/modules/logging.js +1 -0
  83. package/modules/math.cjs +1 -0
  84. package/modules/math.d.ts +17 -0
  85. package/modules/math.js +1 -0
  86. package/modules/memory.cjs +1 -0
  87. package/modules/memory.d.ts +7 -0
  88. package/modules/memory.js +1 -0
  89. package/modules/navigation.cjs +2 -0
  90. package/modules/navigation.d.ts +8 -0
  91. package/modules/navigation.js +2 -0
  92. package/modules/net.cjs +1 -0
  93. package/modules/net.d.ts +14 -0
  94. package/modules/net.js +1 -0
  95. package/modules/objects.cjs +4 -0
  96. package/modules/objects.d.ts +19 -0
  97. package/modules/objects.js +4 -0
  98. package/modules/path.cjs +1 -0
  99. package/modules/path.d.ts +8 -0
  100. package/modules/path.js +1 -0
  101. package/modules/promise.cjs +1 -0
  102. package/modules/promise.d.ts +7 -0
  103. package/modules/promise.js +1 -0
  104. package/modules/sanitize.cjs +2 -0
  105. package/modules/sanitize.d.ts +6 -0
  106. package/modules/sanitize.js +2 -0
  107. package/modules/screen.cjs +1 -0
  108. package/modules/screen.d.ts +15 -0
  109. package/modules/screen.js +1 -0
  110. package/modules/scrollbar.cjs +65 -0
  111. package/modules/scrollbar.d.ts +13 -0
  112. package/modules/scrollbar.js +65 -0
  113. package/modules/security.cjs +1 -0
  114. package/modules/security.d.ts +19 -0
  115. package/modules/security.js +1 -0
  116. package/modules/shortcut.cjs +1 -0
  117. package/modules/shortcut.d.ts +6 -0
  118. package/modules/shortcut.js +1 -0
  119. package/modules/socket.cjs +2 -0
  120. package/modules/socket.d.ts +17 -0
  121. package/modules/socket.js +2 -0
  122. package/modules/sse.cjs +2 -0
  123. package/modules/sse.d.ts +12 -0
  124. package/modules/sse.js +2 -0
  125. package/modules/svg.cjs +2 -0
  126. package/modules/svg.d.ts +16 -0
  127. package/modules/svg.js +2 -0
  128. package/modules/sync.cjs +1 -0
  129. package/modules/sync.d.ts +17 -0
  130. package/modules/sync.js +1 -0
  131. package/modules/system.cjs +1 -0
  132. package/modules/system.d.ts +6 -0
  133. package/modules/system.js +1 -0
  134. package/modules/text.cjs +15 -0
  135. package/modules/text.d.ts +16 -0
  136. package/modules/text.js +15 -0
  137. package/modules/timer.cjs +1 -0
  138. package/modules/timer.d.ts +7 -0
  139. package/modules/timer.js +1 -0
  140. package/modules/tools.cjs +1 -0
  141. package/modules/tools.d.ts +9 -0
  142. package/modules/tools.js +1 -0
  143. package/modules/translators.cjs +1 -0
  144. package/modules/translators.d.ts +6 -0
  145. package/modules/translators.js +1 -0
  146. package/modules/triggers.cjs +1 -0
  147. package/modules/triggers.d.ts +47 -0
  148. package/modules/triggers.js +1 -0
  149. package/modules/types.cjs +1 -0
  150. package/modules/types.d.ts +9 -0
  151. package/modules/types.js +1 -0
  152. package/modules/ui.cjs +6 -0
  153. package/modules/ui.d.ts +7 -0
  154. package/modules/ui.js +6 -0
  155. package/modules/window.cjs +7 -0
  156. package/modules/window.d.ts +13 -0
  157. package/modules/window.js +7 -0
  158. package/modules/worker.cjs +2 -0
  159. package/modules/worker.d.ts +20 -0
  160. package/modules/worker.js +2 -0
  161. package/package.json +277 -4
  162. package/sbom.json +48 -0
@@ -0,0 +1,15 @@
1
+ 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.2"};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 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 b={name:"text",active:true,subCommand:[{name:"trim",version:"0.0.2",example:"dphelper.text.trim(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Trims the specified characters from the start and end of a string.",env:"both",subCommand:[]},{name:"capitalize",version:"0.0.2",example:"dphelper.text.capitalize(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Capitalizes the first letter of each word in a string.",env:"both",subCommand:[]},{name:"lower",version:"0.0.2",example:"dphelper.text.lower(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Converts a string to lowercase.",env:"both",subCommand:[]},{name:"upper",version:"0.0.2",example:"dphelper.text.upper(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Converts a string to uppercase.",env:"both",subCommand:[]},{name:"nl2br",version:"0.0.2",example:"dphelper.text.nl2br(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Converts newlines in a string to HTML <br> tags.",env:"both",subCommand:[]},{name:"sanitize",version:"0.0.2",example:"dphelper.text.sanitize(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Sanitizes a string by removing HTML tags.",env:"both",subCommand:[]},{name:"camelCase",version:"0.0.2",example:"dphelper.text.camelCase(...)",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Converts a string to camelCase.",subCommand:[{name:"toSpace",version:"0.0.2",example:"dphelper.text.camelCase.toSpace(...)",type:"function",active:true,description:"Converts camelCase to space-separated words.",env:"both",subCommand:[],author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220"},{name:"toUnderscore",version:"0.0.2",example:"dphelper.text.camelCase.toUnderscore(...)",type:"function",active:true,description:"Converts camelCase to underscore-separated words.",env:"both",subCommand:[],author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220"}]},{name:"fitContainer",version:"0.0.2",example:"dphelper.text.fitContainer([element])",type:"function",active:true,description:"Adjusts the font size of an element to fit its container.",env:"both",subCommand:[],author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220"},{name:"keywords",version:"0.0.2",example:"dphelper.text.keywords([sentence])",type:"function",active:true,description:"Extrapolate keywords from a sentence",env:"both",subCommand:[],author:"Dario Passariello",creationDate:"20250601",lastMod:"20250601"},{name:"replaceText",version:"0.0.2",example:"dphelper.text.replaceText([sentence, object])",type:"function",active:true,description:`
2
+ replace all occurrence from sentence using an object as list
3
+
4
+ example:
5
+
6
+ let text = replaceText(
7
+ "Copyright 2022 (c) by dpHelper",
8
+ {
9
+ "(c)": '&copy;',
10
+ "(r)": '&reg;'
11
+ }
12
+ )
13
+
14
+ Copyright text (c) became an html symbol
15
+ `,env:"both",subCommand:[],author:"Dario Passariello",creationDate:"20250612",lastMod:"20250612"}]},h={trim:(e,t,r,a)=>e.charAt(0)===t?e.substring(r,a):e,capitalize:e=>e.toLowerCase().replace(/\b\w/g,t=>t.toUpperCase()),lower:e=>e.toLowerCase(),upper:e=>e.toUpperCase(),nl2br:e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/(?:\r\n|\r|\n)/g,"<br>"),sanitize:e=>e.replace(/<(|\/|[^>\bi]|\/[^>bi]|[^/>][^>]+|\/[^>][^>]+)>/g,""),camelCase:{toSpace:e=>e.replace(/([A-Z])/g," $1").replace(/^./,t=>t.toUpperCase()),toUnderscore:e=>e.replace(/\.?([A-Z])/g,(t,r)=>`_${r.toLowerCase()}`).replace(/^_/,"")},fitContainer:e=>{if(!e)return;function t(r){let a=document.querySelectorAll(r),l=a.length;if(!(l<=0))for(let n=0;n<l;n++){let u=a[n].offsetWidth*.05;a[n].style.fontSize=`${u}px`;}}dphelper.addListenerMulti(window,"load resize",()=>t(e));},keywords:e=>{let t=/\b[A-Z][a-z]+\b/g,r=e.match(t)?.filter(a=>a.length>3)||[];return [...new Set(r.map(a=>a.toLowerCase()))]},replaceText:(e,t)=>{let r=e;for(let a in t)Object.hasOwn(t,a)&&(r=r.replaceAll(a,t[a]||""));return r}};dphelper?.setDescription(b,h);var j=dphelper.text;export{j as text};
@@ -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.2"};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,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(a,"setDescription",{value:(e,t)=>{Object.defineProperties(a,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(r=>(Object.defineProperties(a[e.name],{[r]:{writable:false,configurable:false,enumerable:false}}),null)),a.setProps(a,e,{writable:false,configurable:false,enumerable:false}),a._list.scripts.push(e);}});var u={name:"timer",active:true,subCommand:[{name:"sleep",version:"0.0.2",example:"dphelper.timer.sleep([ms]) ",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Pauses execution for a specified number of milliseconds.",env:"both",subCommand:[]},{name:"percentage",version:"0.0.2",example:"dphelper.timer.percentage([start], [end])",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Calculates the percentage of time elapsed between two time strings.",env:"both",subCommand:[]}]},b={sleep:e=>new Promise(t=>setTimeout(t,e)),percentage:(e,t)=>{function r(n){let o=n.split(":");return Number.parseInt(o[0]||"",10)*3600+Number.parseInt(o[1]||"",10)*60+Number.parseInt(o[2]||"",10)}return (100*r(e)/r(t)).toFixed(2)}};dphelper?.setDescription(u,b);var O=dphelper.timer;exports.timer=O;
@@ -0,0 +1,7 @@
1
+ /// <reference path="../types/dphelper.d.ts" />
2
+ export interface TimerTool {
3
+ sleep(ms: number): Promise<void>
4
+ percentage(start: string, end: string): string
5
+ }
6
+
7
+ export const timer: TimerTool
@@ -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.2"};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,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(a,"setDescription",{value:(e,t)=>{Object.defineProperties(a,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(r=>(Object.defineProperties(a[e.name],{[r]:{writable:false,configurable:false,enumerable:false}}),null)),a.setProps(a,e,{writable:false,configurable:false,enumerable:false}),a._list.scripts.push(e);}});var b={name:"timer",active:true,subCommand:[{name:"sleep",version:"0.0.2",example:"dphelper.timer.sleep([ms]) ",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Pauses execution for a specified number of milliseconds.",env:"both",subCommand:[]},{name:"percentage",version:"0.0.2",example:"dphelper.timer.percentage([start], [end])",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Calculates the percentage of time elapsed between two time strings.",env:"both",subCommand:[]}]},m={sleep:e=>new Promise(t=>setTimeout(t,e)),percentage:(e,t)=>{function r(p){let o=p.split(":");return Number.parseInt(o[0]||"",10)*3600+Number.parseInt(o[1]||"",10)*60+Number.parseInt(o[2]||"",10)}return (100*r(e)/r(t)).toFixed(2)}};dphelper?.setDescription(b,m);var D=dphelper.timer;export{D as timer};
@@ -0,0 +1 @@
1
+ 'use strict';var n={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.2"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...n},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 r=dphelper;Object.defineProperty(r,"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(r,"setDescription",{value:(e,t)=>{Object.defineProperties(r,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(o=>(Object.defineProperties(r[e.name],{[o]:{writable:false,configurable:false,enumerable:false}}),null)),r.setProps(r,e,{writable:false,configurable:false,enumerable:false}),r._list.scripts.push(e);}});var u={name:"tools",active:true,subCommand:[{name:"byteSize",description:"Give you the total in 'Kb', 'Mb', 'Gb', 'Tb', 'Pb', 'Eb', 'Zb', 'Yb' starting from bytes",example:"dphelper.tools.byteSize(bytes)",version:"0.0.2",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,env:"both",subCommand:[]},{name:"hashPass",description:"Hashes a password using a specified number and total.",example:"dphelper.tools.hashPass(number, total)",version:"0.0.2",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,env:"both",subCommand:[]},{name:"zIndex",description:"Finds the highest z-index value in the document.",example:"dphelper.tools.zIndex()",version:"0.0.2",author:"Dario Passariello",creationDate:"20240807",lastMod:"20240807",type:"function",active:true,env:"both",subCommand:[]},{name:"zeroToFalse",description:"Converts zero to false, otherwise returns the value.",example:"dphelper.tools.zeroToFalse(num)",version:"0.0.2",author:"Dario Passariello",creationDate:"20240924",lastMod:"20240924",type:"function",active:true,env:"both",subCommand:[]}]},c={byteSize:e=>{if(Math.abs(e)<1024)return `${e}b`;let o=["Kb","Mb","Gb","Tb","Pb","Eb","Zb","Yb"],a=-1,l=e;do l/=1024,++a;while(Math.abs(l)>=1024&&a<o.length-1);return l.toFixed(1)+o[a]},zIndex:()=>Array.from(document.querySelectorAll("body *")).map(e=>Number.parseFloat(getComputedStyle(e).zIndex)).reduce((e,t)=>t>e?t:e,1),zeroToFalse:e=>e===0?false:e};dphelper?.setDescription(u,c);var x=dphelper.tools;exports.tools=x;
@@ -0,0 +1,9 @@
1
+ /// <reference path="../types/dphelper.d.ts" />
2
+ export interface ToolsTool {
3
+ getip(): Promise<void>
4
+ byteSize(bytes: number): string
5
+ zIndex(): number
6
+ zeroToFalse(value: number): boolean | number
7
+ }
8
+
9
+ export const tools: ToolsTool
@@ -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 b={version:"4.5.2"};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:b.version,configurable:true,writable:true},isServer:{value:false,configurable:true,writable:true},isBrowser:{value:true,configurable:true,writable:true}});var r=dphelper;Object.defineProperty(r,"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(r,"setDescription",{value:(e,t)=>{Object.defineProperties(r,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(o=>(Object.defineProperties(r[e.name],{[o]:{writable:false,configurable:false,enumerable:false}}),null)),r.setProps(r,e,{writable:false,configurable:false,enumerable:false}),r._list.scripts.push(e);}});var c={name:"tools",active:true,subCommand:[{name:"byteSize",description:"Give you the total in 'Kb', 'Mb', 'Gb', 'Tb', 'Pb', 'Eb', 'Zb', 'Yb' starting from bytes",example:"dphelper.tools.byteSize(bytes)",version:"0.0.2",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,env:"both",subCommand:[]},{name:"hashPass",description:"Hashes a password using a specified number and total.",example:"dphelper.tools.hashPass(number, total)",version:"0.0.2",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,env:"both",subCommand:[]},{name:"zIndex",description:"Finds the highest z-index value in the document.",example:"dphelper.tools.zIndex()",version:"0.0.2",author:"Dario Passariello",creationDate:"20240807",lastMod:"20240807",type:"function",active:true,env:"both",subCommand:[]},{name:"zeroToFalse",description:"Converts zero to false, otherwise returns the value.",example:"dphelper.tools.zeroToFalse(num)",version:"0.0.2",author:"Dario Passariello",creationDate:"20240924",lastMod:"20240924",type:"function",active:true,env:"both",subCommand:[]}]},h={byteSize:e=>{if(Math.abs(e)<1024)return `${e}b`;let o=["Kb","Mb","Gb","Tb","Pb","Eb","Zb","Yb"],a=-1,l=e;do l/=1024,++a;while(Math.abs(l)>=1024&&a<o.length-1);return l.toFixed(1)+o[a]},zIndex:()=>Array.from(document.querySelectorAll("body *")).map(e=>Number.parseFloat(getComputedStyle(e).zIndex)).reduce((e,t)=>t>e?t:e,1),zeroToFalse:e=>e===0?false:e};dphelper?.setDescription(c,h);var z=dphelper.tools;export{z as tools};
@@ -0,0 +1 @@
1
+ 'use strict';var n={info:{title:"List",description:"Complete list of tools"},categories:["3party","system","financial","memory","numbers","time","path","file","forms","ui","other","development"]};var p={version:"4.5.2"};Object.defineProperty(globalThis,"dphelper",{value:new Proxy({},{}),writable:true,configurable:true,enumerable:false});Object.defineProperties(dphelper,{_list:{value:{scripts:[],sockets:[],...n},configurable:true,writable:true},version:{value:p.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,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(a,"setDescription",{value:(e,t)=>{Object.defineProperties(a,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(r=>(Object.defineProperties(a[e.name],{[r]:{writable:false,configurable:false,enumerable:false}}),null)),a.setProps(a,e,{writable:false,configurable:false,enumerable:false}),a._list.scripts.push(e);}});var b={name:"translators",active:true,subCommand:[{name:"convertMatrixToScale",version:"0.0.2",example:"dphelper.translators.convertMatrixToScale({value})",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Converts a transformation matrix to a scale value.",env:"both",subCommand:[]}]},f={convertMatrixToScale:e=>{let t=e.split("(");if(t.length<2)return 0;let r=t[1].split(")")[0];if(!r)return 0;let o=r.split(","),s=Number.parseFloat(o[0]||"0"),i=Number.parseFloat(o[1]||"0");return Math.sqrt(s*s+i*i)}};dphelper?.setDescription(b,f);var k=dphelper.translators;exports.translators=k;
@@ -0,0 +1,6 @@
1
+ /// <reference path="../types/dphelper.d.ts" />
2
+ export interface TranslatorsTool {
3
+ convertMatrixToScale(values: any): number
4
+ }
5
+
6
+ export const translators: TranslatorsTool
@@ -0,0 +1 @@
1
+ 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.2"};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 a=dphelper;Object.defineProperty(a,"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(a,"setDescription",{value:(e,t)=>{Object.defineProperties(a,{[e.name]:{value:t,writable:false,configurable:false,enumerable:false}}),Object.keys(t).map(r=>(Object.defineProperties(a[e.name],{[r]:{writable:false,configurable:false,enumerable:false}}),null)),a.setProps(a,e,{writable:false,configurable:false,enumerable:false}),a._list.scripts.push(e);}});var f={name:"translators",active:true,subCommand:[{name:"convertMatrixToScale",version:"0.0.2",example:"dphelper.translators.convertMatrixToScale({value})",author:"Dario Passariello",creationDate:"20210101",lastMod:"20260220",type:"function",active:true,description:"Converts a transformation matrix to a scale value.",env:"both",subCommand:[]}]},m={convertMatrixToScale:e=>{let t=e.split("(");if(t.length<2)return 0;let r=t[1].split(")")[0];if(!r)return 0;let s=r.split(","),i=Number.parseFloat(s[0]||"0"),n=Number.parseFloat(s[1]||"0");return Math.sqrt(i*i+n*n)}};dphelper?.setDescription(f,m);var D=dphelper.translators;export{D as translators};
@@ -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 s={version:"4.5.2"};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:s.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 b={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,n={add:(e,t)=>{a.has(e)||a.set(e,new Set),a.get(e).add(t);},on:(e,t)=>{n.add(e,t);},emit:(e,...t)=>{let r=a.get(e);r&&r.forEach(c=>{try{c(...t);}catch(p){console.error(`Error in trigger callback for event '${e}':`,p);}});},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(b,n);var D=dphelper.trigger;exports.trigger=D;
@@ -0,0 +1,47 @@
1
+ /// <reference path="../types/dphelper.d.ts" />
2
+ export interface TriggersTool {
3
+ /**
4
+ * Add a trigger for custom events.
5
+ * @param event - The event name
6
+ * @param callback - The callback to execute when the event is triggered
7
+ */
8
+ add: (event: string, callback: (...args: any[]) => void) => void
9
+
10
+ /**
11
+ * Listen for a trigger event (alias for add).
12
+ */
13
+ on: (event: string, callback: (...args: any[]) => void) => void
14
+
15
+ /**
16
+ * Emit a trigger event and call all registered callbacks.
17
+ * @param event - The event name
18
+ * @param args - Arguments to pass to the callbacks
19
+ */
20
+ emit: (event: string, ...args: any[]) => void
21
+
22
+ /**
23
+ * Remove a trigger event and all its callbacks.
24
+ * @param event - The event name
25
+ */
26
+ remove: (event: string) => void
27
+
28
+ /**
29
+ * Remove a specific callback from an event.
30
+ * @param event - The event name
31
+ * @param callback - The callback to remove
32
+ */
33
+ off: (event: string, callback: (...args: any[]) => void) => void
34
+
35
+ /**
36
+ * Clear all triggers.
37
+ */
38
+ clear: () => void
39
+
40
+ /**
41
+ * List all registered trigger events.
42
+ * @returns Array of event names
43
+ */
44
+ list: () => string[]
45
+ }
46
+
47
+ 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.2"};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.2"};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,9 @@
1
+ /// <reference path="../types/dphelper.d.ts" />
2
+ export interface TypesTool {
3
+ of(p: any): string
4
+ instOfObj(p: any): boolean
5
+ isNull(p: any): (p: any) => boolean
6
+ isBool(val: any): boolean
7
+ }
8
+
9
+ 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.2"};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.2"};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,7 @@
1
+ /// <reference path="../types/dphelper.d.ts" />
2
+ export interface UiTool {
3
+ anchorContext(): void
4
+ [key: string]: any
5
+ }
6
+
7
+ 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.2"};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.2"};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,13 @@
1
+ /// <reference path="../types/dphelper.d.ts" />
2
+ export interface WindowTool {
3
+ enhancement(): void
4
+ animationframe(): any
5
+ center(params: { url: string; title: string; name: string; w: number; h: number }): void
6
+ onBeforeUnLoad(e: any): void
7
+ purge(d?: Document, time?: number): void
8
+ stopZoomWheel(e: any): void
9
+ setZoom(element?: string, zoom?: number): string
10
+ getZoom(element?: string): number
11
+ }
12
+
13
+ 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.2"};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.2"};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,20 @@
1
+ /// <reference path="../types/dphelper.d.ts" />
2
+ export interface WorkerPool {
3
+ workers: Worker[]
4
+ busy: Set<Worker>
5
+ queue: Array<{ task: any, resolve: Function, reject: Function }>
6
+ size: number
7
+ }
8
+
9
+ interface WorkerTool {
10
+ create: (src: string, options?: { onmessage?: (e: MessageEvent) => void; onerror?: (e: ErrorEvent) => void }) => Worker
11
+ createInline: (code: string, options?: { onmessage?: (e: MessageEvent) => void; onerror?: (e: ErrorEvent) => void }) => Worker
12
+ post: (worker: Worker, message: any, transferables?: Transferable[]) => void
13
+ terminate: (worker: Worker) => void
14
+ pool: (src: string, size?: number) => WorkerPool
15
+ poolExec: (pool: WorkerPool, tasks: any[]) => Promise<any[]>
16
+ importScripts: (worker: Worker, scripts: string[]) => void
17
+ shared: (src: string, options?: { name?: string; onconnect?: (e: MessageEvent) => void; onmessage?: (e: MessageEvent) => void }) => SharedWorker
18
+ }
19
+
20
+ 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.2"};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};