dphelper 4.2.0 → 4.2.3

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 (59) hide show
  1. package/README.md +6 -5
  2. package/index.cjs +1 -1
  3. package/index.js +1 -1
  4. package/package.json +3 -3
  5. package/markdown/ai.md +0 -345
  6. package/markdown/anchor.md +0 -156
  7. package/markdown/array.md +0 -208
  8. package/markdown/audio.md +0 -113
  9. package/markdown/avoid.md +0 -53
  10. package/markdown/biometric.md +0 -338
  11. package/markdown/browser.md +0 -203
  12. package/markdown/check.md +0 -65
  13. package/markdown/color.md +0 -159
  14. package/markdown/compress.md +0 -310
  15. package/markdown/cookie.md +0 -115
  16. package/markdown/coords.md +0 -127
  17. package/markdown/credits.md +0 -56
  18. package/markdown/date.md +0 -260
  19. package/markdown/disable.md +0 -109
  20. package/markdown/dispatch.md +0 -108
  21. package/markdown/element.md +0 -53
  22. package/markdown/event.md +0 -85
  23. package/markdown/fetch.md +0 -122
  24. package/markdown/form.md +0 -302
  25. package/markdown/format.md +0 -122
  26. package/markdown/i18n.md +0 -292
  27. package/markdown/image.md +0 -298
  28. package/markdown/json.md +0 -269
  29. package/markdown/load.md +0 -133
  30. package/markdown/logging.md +0 -99
  31. package/markdown/math.md +0 -172
  32. package/markdown/memory.md +0 -85
  33. package/markdown/navigation.md +0 -152
  34. package/markdown/net.md +0 -60
  35. package/markdown/obj.md +0 -242
  36. package/markdown/path.md +0 -46
  37. package/markdown/promise.md +0 -94
  38. package/markdown/sanitize.md +0 -118
  39. package/markdown/screen.md +0 -78
  40. package/markdown/scrollbar.md +0 -82
  41. package/markdown/security.md +0 -289
  42. package/markdown/shortcut.md +0 -100
  43. package/markdown/socket.md +0 -134
  44. package/markdown/sse.md +0 -120
  45. package/markdown/svg.md +0 -167
  46. package/markdown/sync.md +0 -147
  47. package/markdown/system.md +0 -78
  48. package/markdown/terminal.md +0 -73
  49. package/markdown/text.md +0 -245
  50. package/markdown/timer.md +0 -98
  51. package/markdown/tools.md +0 -111
  52. package/markdown/translators.md +0 -65
  53. package/markdown/trigger.md +0 -99
  54. package/markdown/triggers.md +0 -133
  55. package/markdown/type.md +0 -109
  56. package/markdown/types.md +0 -102
  57. package/markdown/ui.md +0 -45
  58. package/markdown/window.md +0 -211
  59. package/markdown/worker.md +0 -223
@@ -1,310 +0,0 @@
1
- # compress
2
-
3
- Compression and encoding utilities for data compression, decompression, and various encoding formats including gzip, deflate, LZW, base64, URL, and HTML encoding.
4
-
5
- ## Functions
6
-
7
- | Function | Description | Example |
8
- |----------|-------------|---------|
9
- | `gzip` | Compress with gzip | `await dphelper.compress.gzip('Hello World')` |
10
- | `gunzip` | Decompress gzip | `await dphelper.compress.gunzip(compressedBlob)` |
11
- | `deflate` | Compress with deflate | `await dphelper.compress.deflate('Hello World')` |
12
- | `inflate` | Decompress deflate | `await dphelper.compress.inflate(compressedBlob)` |
13
- | `compress` | LZW compress | `dphelper.compress.compress('Hello World')` |
14
- | `decompress` | LZW decompress | `dphelper.compress.decompress(compressedString)` |
15
- | `base64Encode` | Encode to base64 | `dphelper.compress.base64Encode('Hello')` |
16
- | `base64Decode` | Decode from base64 | `dphelper.compress.base64Decode('SGVsbG8=')` |
17
- | `urlEncode` | URL encode | `dphelper.compress.urlEncode('Hello World!')` |
18
- | `urlDecode` | URL decode | `dphelper.compress.urlDecode('Hello%20World!')` |
19
- | `htmlEncode` | HTML encode | `dphelper.compress.htmlEncode('<script>')` |
20
- | `htmlDecode` | HTML decode | `dphelper.compress.htmlDecode('<script>')` |
21
-
22
- ## Description
23
-
24
- Comprehensive compression and encoding module providing:
25
- - **Gzip/Deflate** - Browser-native compression using CompressionStream API
26
- - **LZW Compression** - JavaScript-compatible compression for data storage
27
- - **Base64** - Binary-to-text encoding for data transfer
28
- - **URL Encoding** - Percent-encoding for URLs and query strings
29
- - **HTML Encoding** - Escape special characters for safe HTML rendering
30
- - **Universal** - Works in both browser and server environments
31
-
32
- ## Usage Examples
33
-
34
- ### Gzip Compression
35
-
36
- ```javascript
37
- // Compress string with gzip
38
- const original = 'Hello World! This is a test string for compression.';
39
- const compressed = await dphelper.compress.gzip(original);
40
-
41
- console.log('Original size:', original.length);
42
- console.log('Compressed type:', compressed.type); // "application/gzip"
43
-
44
- // Decompress
45
- const decompressed = await dphelper.compress.gunzip(compressed);
46
- console.log('Decompressed:', decompressed); // "Hello World! This is a test..."
47
- ```
48
-
49
- ### Deflate Compression
50
-
51
- ```javascript
52
- // Compress with deflate (smaller than gzip, no header)
53
- const data = JSON.stringify({ users: [...], metadata: {...} });
54
- const deflated = await dphelper.compress.deflate(data);
55
-
56
- // Decompress
57
- const inflated = await dphelper.compress.inflate(deflated);
58
- console.log(JSON.parse(inflated));
59
- ```
60
-
61
- ### LZW Compression (JavaScript Compatible)
62
-
63
- ```javascript
64
- // LZW compression - works in both browser and Node.js
65
- const original = 'ABABABABABABABAB';
66
- const compressed = dphelper.compress.compress(original);
67
-
68
- console.log('Original:', original.length, 'chars');
69
- console.log('Compressed:', compressed.length, 'chars');
70
-
71
- // Decompress
72
- const decompressed = dphelper.compress.decompress(compressed);
73
- console.log('Decompressed:', decompressed); // "ABABABABABABABAB"
74
- ```
75
-
76
- ### Base64 Encoding
77
-
78
- ```javascript
79
- // Encode string to base64
80
- const plain = 'Hello, World!';
81
- const encoded = dphelper.compress.base64Encode(plain);
82
- console.log(encoded); // "SGVsbG8sIFdvcmxkIQ=="
83
-
84
- // Decode from base64
85
- const decoded = dphelper.compress.base64Decode(encoded);
86
- console.log(decoded); // "Hello, World!"
87
-
88
- // Encode binary data
89
- const bytes = new Uint8Array([72, 101, 108, 108, 111]);
90
- const binaryEncoded = dphelper.compress.base64Encode(String.fromCharCode(...bytes));
91
- console.log(binaryEncoded); // "SGVsbG8="
92
- ```
93
-
94
- ### URL Encoding
95
-
96
- ```javascript
97
- // URL encode (percent-encoding)
98
- const url = 'Hello World! Test=1&value=abc';
99
- const encoded = dphelper.compress.urlEncode(url);
100
- console.log(encoded); // "Hello%20World!%20Test%3D1%26value%3Dabc"
101
-
102
- // URL decode
103
- const decoded = dphelper.compress.urlDecode(encoded);
104
- console.log(decoded); // "Hello World! Test=1&value=abc"
105
-
106
- // Encode for query string
107
- const query = 'name=John Doe&city=New York';
108
- const queryEncoded = dphelper.compress.urlEncode(query);
109
- console.log(queryEncoded); // "name%3DJohn%20Doe%26city%3DNew%20York"
110
- ```
111
-
112
- ### HTML Encoding
113
-
114
- ```javascript
115
- // HTML encode (escape special characters)
116
- const unsafe = '<script>alert("XSS!")</script>';
117
- const encoded = dphelper.compress.htmlEncode(unsafe);
118
- console.log(encoded);
119
- // "<script>alert("XSS!")</script>"
120
-
121
- // HTML decode
122
- const decoded = dphelper.compress.htmlDecode(encoded);
123
- console.log(decoded); // '<script>alert("XSS!")</script>'
124
-
125
- // Encode user input before displaying
126
- const userInput = '<div onclick="evil()">Click me</div>';
127
- const safe = dphelper.compress.htmlEncode(userInput);
128
- // In HTML: <div onclick="evil()">Click me</div>
129
- ```
130
-
131
- ## Advanced Usage
132
-
133
- ### Data Compression for Storage
134
-
135
- ```javascript
136
- class CompressedStorage {
137
- async compress(key, data) {
138
- const json = JSON.stringify(data);
139
- const compressed = await dphelper.compress.gzip(json);
140
- localStorage.setItem(key, await compressed.text());
141
- }
142
-
143
- async decompress(key) {
144
- const stored = localStorage.getItem(key);
145
- if (!stored) return null;
146
-
147
- const blob = new Blob([stored], { type: 'application/gzip' });
148
- const decompressed = await dphelper.compress.gunzip(blob);
149
- return JSON.parse(decompressed);
150
- }
151
- }
152
-
153
- // Usage
154
- const storage = new CompressedStorage();
155
- await storage.compress('cache', { users: [...], timestamp: Date.now() });
156
- const data = await storage.decompress('cache');
157
- ```
158
-
159
- ### API Response Compression
160
-
161
- ```javascript
162
- // Compress data before sending to server
163
- async function sendCompressed(url, data) {
164
- const json = JSON.stringify(data);
165
- const compressed = await dphelper.compress.gzip(json);
166
-
167
- return fetch(url, {
168
- method: 'POST',
169
- headers: {
170
- 'Content-Type': 'application/gzip'
171
- },
172
- body: compressed
173
- });
174
- }
175
-
176
- // Decompress server response
177
- async function fetchCompressed(url) {
178
- const response = await fetch(url);
179
- const compressed = await response.blob();
180
- const decompressed = await dphelper.compress.gunzip(compressed);
181
- return JSON.parse(decompressed);
182
- }
183
- ```
184
-
185
- ### String Compression for URLs
186
-
187
- ```javascript
188
- // Compress data for URL-safe storage (using LZW)
189
- function compressForUrl(data) {
190
- const compressed = dphelper.compress.compress(JSON.stringify(data));
191
- return dphelper.compress.base64Encode(compressed)
192
- .replace(/\+/g, '-')
193
- .replace(/\//g, '_')
194
- .replace(/=+$/, '');
195
- }
196
-
197
- // Decompress from URL
198
- function decompressFromUrl(encoded) {
199
- const base64 = encoded.replace(/-/g, '+').replace(/_/g, '/');
200
- const padded = base64.padEnd(base64.length + (4 - base64.length % 4) % 4, '=');
201
- const compressed = dphelper.compress.base64Decode(padded);
202
- return JSON.parse(dphelper.compress.decompress(compressed));
203
- }
204
-
205
- // Usage
206
- const data = { id: 123, type: 'test', values: [1,2,3] };
207
- const encoded = compressForUrl(data);
208
- console.log(encoded); // URL-safe compressed string
209
-
210
- const decoded = decompressFromUrl(encoded);
211
- console.log(decoded); // { id: 123, type: 'test', values: [1,2,3] }
212
- ```
213
-
214
- ### Secure Data Transfer
215
-
216
- ```javascript
217
- // Encode sensitive data for transfer
218
- function encodeSecure(data) {
219
- const json = JSON.stringify(data);
220
- const base64 = dphelper.compress.base64Encode(json);
221
- return base64;
222
- }
223
-
224
- // Decode secure data
225
- function decodeSecure(encoded) {
226
- const json = dphelper.compress.base64Decode(encoded);
227
- return JSON.parse(json);
228
- }
229
-
230
- // Sanitize HTML content
231
- function sanitizeHtml(content) {
232
- return dphelper.compress.htmlEncode(content);
233
- }
234
-
235
- // Build safe query string
236
- function buildQueryString(params) {
237
- return Object.entries(params)
238
- .map(([k, v]) => `${dphelper.compress.urlEncode(k)}=${dphelper.compress.urlEncode(v)}`)
239
- .join('&');
240
- }
241
-
242
- console.log(buildQueryString({ name: 'John Doe', age: '30' }));
243
- // "name=John%20Doe=30"
244
- ```
245
-
246
- ### Cache with Compression
247
-
248
- ```javascript
249
- class CacheManager {
250
- constructor(prefix = 'cache_') {
251
- this.prefix = prefix;
252
- }
253
-
254
- async set(key, value, maxAge = 3600000) {
255
- const entry = {
256
- data: value,
257
- expires: Date.now() + maxAge
258
- };
259
-
260
- const compressed = await dphelper.compress.gzip(JSON.stringify(entry));
261
- localStorage.setItem(
262
- this.prefix + key,
263
- await compressed.text()
264
- );
265
- }
266
-
267
- async get(key) {
268
- const stored = localStorage.getItem(this.prefix + key);
269
- if (!stored) return null;
270
-
271
- try {
272
- const blob = new Blob([stored], { type: 'application/gzip' });
273
- const decompressed = await dphelper.compress.gunzip(blob);
274
- const entry = JSON.parse(decompressed);
275
-
276
- if (Date.now() > entry.expires) {
277
- localStorage.removeItem(this.prefix + key);
278
- return null;
279
- }
280
-
281
- return entry.data;
282
- } catch {
283
- return null;
284
- }
285
- }
286
-
287
- clear() {
288
- Object.keys(localStorage)
289
- .filter(k => k.startsWith(this.prefix))
290
- .forEach(k => localStorage.removeItem(k));
291
- }
292
- }
293
-
294
- // Usage
295
- const cache = new CacheManager();
296
- await cache.set('user_123', { name: 'John', email: 'john@example.com' });
297
- const user = await cache.get('user_123');
298
- ```
299
-
300
- ## Details
301
-
302
- - **Author:** Dario Passariello
303
- - **Version:** 0.0.1
304
- - **Creation Date:** 20260313
305
- - **Last Modified:** 20260313
306
- - **Environment:** Works in both client and server environments
307
-
308
- ---
309
-
310
- *Automatically generated document*
@@ -1,115 +0,0 @@
1
- # cookie
2
-
3
- Cookie management utilities with security features.
4
-
5
- ## Functions
6
-
7
- | Function | Description | Example |
8
- |----------|-------------|---------|
9
- | `set` | Creates a cookie with specified properties | `dphelper.cookie.set({name: 'user', value: 'john', time: 365})` |
10
- | `get` | Retrieves a cookie value by name | `dphelper.cookie.get('user')` |
11
- | `delete` | Deletes a cookie by name | `dphelper.cookie.delete('user')` |
12
- | `removeAll` | Clears all cookies | `dphelper.cookie.removeAll()` |
13
-
14
- ## Description
15
-
16
- Complete cookie management:
17
- - **Create** - Set cookies with expiration, path, security
18
- - **Read** - Get cookie values
19
- - **Delete** - Remove specific or all cookies
20
- - **Security** - SameSite, Secure flags for CSRF protection
21
-
22
- ## Usage Examples
23
-
24
- ### Setting Cookies
25
-
26
- ```javascript
27
- // Simple cookie
28
- dphelper.cookie.set({
29
- name: 'theme',
30
- value: 'dark'
31
- });
32
-
33
- // Cookie with expiration (days)
34
- dphelper.cookie.set({
35
- name: 'user',
36
- value: 'john@example.com',
37
- time: 30 // 30 days
38
- });
39
-
40
- // Secure cookie (HTTPS only)
41
- dphelper.cookie.set({
42
- name: 'session',
43
- value: 'abc123',
44
- secure: true,
45
- sameSite: 'Strict'
46
- });
47
- ```
48
-
49
- ### Reading Cookies
50
-
51
- ```javascript
52
- // Get cookie value
53
- const theme = dphelper.cookie.get('theme');
54
- console.log(theme); // "dark"
55
-
56
- // Get session
57
- const session = dphelper.cookie.get('session');
58
- ```
59
-
60
- ### Deleting Cookies
61
-
62
- ```javascript
63
- // Delete specific cookie
64
- dphelper.cookie.delete('theme');
65
-
66
- // Clear all cookies
67
- dphelper.cookie.removeAll();
68
- ```
69
-
70
- ### Complete Example
71
-
72
- ```javascript
73
- class CookieManager {
74
- constructor() {}
75
-
76
- // Save user preferences
77
- savePreferences(prefs) {
78
- dphelper.cookie.set({
79
- name: 'preferences',
80
- value: JSON.stringify(prefs),
81
- time: 365,
82
- sameSite: 'Lax'
83
- });
84
- }
85
-
86
- // Load preferences
87
- loadPreferences() {
88
- const prefs = dphelper.cookie.get('preferences');
89
- return prefs ? JSON.parse(prefs) : null;
90
- }
91
-
92
- // Clear all
93
- clearAll() {
94
- dphelper.cookie.removeAll();
95
- }
96
- }
97
- ```
98
-
99
- ## Security Features
100
-
101
- - **SameSite** - Default 'Lax' for CSRF protection
102
- - **Secure** - Automatic on HTTPS
103
- - **Value Encoding** - URL encoding to prevent injection
104
-
105
- ## Details
106
-
107
- - **Author:** Dario Passariello
108
- - **Version:** 0.0.2
109
- - **Creation Date:** 20210101
110
- - **Last Modified:** 20240613
111
- - **Environment:** Client-side only (browser)
112
-
113
- ---
114
-
115
- *Automatically generated document*
@@ -1,127 +0,0 @@
1
- # coords
2
-
3
- Coordinate and geometry utilities for GPS, mapping, and calculations.
4
-
5
- ## Functions
6
-
7
- | Function | Description | Example |
8
- |----------|-------------|---------|
9
- | `degreesToRadians` | Convert degrees to radians | `dphelper.coords.degreesToRadians(45)` |
10
- | `latToMeters` | Convert latitude to meters | `dphelper.coords.latToMeters([40.68, -74.04])` |
11
- | `toVector` | Convert coordinates to 3D vector | `dphelper.coords.toVector([lat, lon, alt])` |
12
- | `convertToDecDegrees` | Convert DMS to decimal degrees | `dphelper.coords.convertToDecDegrees(39, 5, 59, 'N')` |
13
- | `distance` | Calculate distance between two points (Haversine) | `dphelper.coords.distance([lat1, lon1], [lat2, lon2])` |
14
- | `polarToCartesian` | Convert polar to Cartesian coordinates | `dphelper.coords.polarToCartesian(x, y, radius, angle)` |
15
- | `mapDegreesToPixels` | Map degrees to pixel values | `dphelper.coords.mapDegreesToPixels(deg, min, max, minPx, maxPx, pad)` |
16
-
17
- ## Description
18
-
19
- Coordinate manipulation toolkit:
20
- - **Unit Conversion** - Degrees, radians, meters
21
- - **Distance Calculation** - Haversine formula for GPS
22
- - **Coordinate Systems** - Polar, Cartesian, 3D vectors
23
- - **Mapping** - Degrees to pixels for maps
24
-
25
- ## Usage Examples
26
-
27
- ### Degree/Radian Conversion
28
-
29
- ```javascript
30
- // Degrees to radians
31
- console.log(dphelper.coords.degreesToRadians(0)); // 0
32
- console.log(dphelper.coords.degreesToRadians(90)); // 1.57...
33
- console.log(dphelper.coords.degreesToRadians(180)); // 3.14...
34
- console.log(dphelper.coords.degreesToRadians(360)); // 6.28...
35
- ```
36
-
37
- ### Distance Calculation (GPS)
38
-
39
- ```javascript
40
- // Distance between New York and Washington DC
41
- const nyc = [40.7128, -74.0060];
42
- const dc = [38.9072, -77.0369];
43
-
44
- const dist = dphelper.coords.distance(nyc, dc);
45
- console.log(dist);
46
- // { km: 328.54, mi: 204.18, nMi: 177.4 }
47
-
48
- // Calculate travel distance for logistics
49
- const locations = [
50
- [40.7128, -74.0060], // NYC
51
- [39.9526, -75.1652], // Philadelphia
52
- [39.2894, -76.6152], // Baltimore
53
- [38.9072, -77.0369] // Washington DC
54
- ];
55
-
56
- function calculateTotalDistance(points) {
57
- let total = 0;
58
- for (let i = 0; i < points.length - 1; i++) {
59
- const dist = dphelper.coords.distance(points[i], points[i + 1]);
60
- total += dist.km;
61
- }
62
- return total;
63
- }
64
- ```
65
-
66
- ### Coordinate Conversion
67
-
68
- ```javascript
69
- // Convert DMS to decimal degrees
70
- // 39° 5' 59" N -> decimal
71
- const dec = dphelper.coords.convertToDecDegrees(39, 5, 59, 'N');
72
- console.log(dec); // 39.0997...
73
-
74
- // With South/West (negative)
75
- const south = dphelper.coords.convertToDecDegrees(33, 51, 30, 'S');
76
- console.log(south); // -33.8583...
77
- ```
78
-
79
- ### 3D Vector from GPS
80
-
81
- ```javascript
82
- // Convert GPS coordinates to 3D Earth-centered vector
83
- const vector = dphelper.coords.toVector([40.7128, -74.0060, 0]);
84
- console.log(vector);
85
- // [x, y, z] in meters from Earth center
86
- ```
87
-
88
- ### Polar to Cartesian
89
-
90
- ```javascript
91
- // Convert polar to Cartesian for graphics
92
- const cart = dphelper.coords.polarToCartesian(100, 100, 50, 90);
93
- console.log(cart);
94
- // { x: 100, y: 150 }
95
-
96
- // Create circular motion
97
- for (let angle = 0; angle < 360; angle += 30) {
98
- const pos = dphelper.coords.polarToCartesian(200, 200, 80, angle);
99
- console.log(`Angle ${angle}:`, pos);
100
- }
101
- ```
102
-
103
- ### Map Pixel Mapping
104
-
105
- ```javascript
106
- // Map latitude to pixel for interactive maps
107
- const pixel = dphelper.coords.mapDegreesToPixels(
108
- 45, // Current degree
109
- 30, // Min latitude
110
- 60, // Max latitude
111
- 0, // Min pixel
112
- 500, // Max pixel
113
- 10 // Padding
114
- );
115
- ```
116
-
117
- ## Details
118
-
119
- - **Author:** Dario Passariello
120
- - **Version:** 0.0.2
121
- - **Creation Date:** 20210101
122
- - **Last Modified:** 20260220
123
- - **Environment:** Client-side only (browser)
124
-
125
- ---
126
-
127
- *Automatically generated document*
@@ -1,56 +0,0 @@
1
- # credits
2
-
3
- Application startup credits and initialization logger.
4
-
5
- ## Functions
6
-
7
- | Function | Description |
8
- |----------|-------------|
9
- | `credits` | Logs application startup information to console |
10
-
11
- ## Description
12
-
13
- Displays application information on startup:
14
- - **Version** - Current application version
15
- - **Author** - Developer credits
16
- - **Console Logging** - Grouped, styled output
17
-
18
- ## Usage Examples
19
-
20
- ### Automatic Startup
21
-
22
- ```javascript
23
- // Automatically called on dphelper initialization
24
- // Shows in console:
25
- //
26
- // ┌─────────────────────────────────────┐
27
- // │ dphelper v1.0.0 │
28
- // │ by Dario Passariello started │
29
- // │ name: dphelper │
30
- // │ version: 1.0.0 │
31
- // └─────────────────────────────────────┘
32
-
33
- // Output is styled with orange color for visibility
34
- ```
35
-
36
- ### Console Output
37
-
38
- ```javascript
39
- // When called, displays:
40
- // dphelper v1.0.0
41
- // by Dario Passariello started
42
- // name: dphelper
43
- // version: 1.0.0
44
- ```
45
-
46
- ## Details
47
-
48
- - **Author:** Dario Passariello
49
- - **Version:** 0.0.1
50
- - **Creation Date:** 20210101
51
- - **Last Modified:** 20210101
52
- - **Environment:** Client-side only (browser)
53
-
54
- ---
55
-
56
- *Automatically generated document*