@nativescript/canvas-polyfill 2.0.0-webgpu.4 → 2.0.0-webgpu.41

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 (61) hide show
  1. package/DOM/Document.d.ts +1 -0
  2. package/DOM/Document.js +7 -8
  3. package/DOM/Document.js.map +1 -1
  4. package/DOM/Element.d.ts +6 -0
  5. package/DOM/Element.js +164 -2
  6. package/DOM/Element.js.map +1 -1
  7. package/DOM/EventTarget.js +3 -0
  8. package/DOM/EventTarget.js.map +1 -1
  9. package/DOM/HTMLCanvasElement.d.ts +2 -0
  10. package/DOM/HTMLCanvasElement.js +4 -0
  11. package/DOM/HTMLCanvasElement.js.map +1 -1
  12. package/DOM/HTMLDivElement.d.ts +2 -0
  13. package/DOM/HTMLDivElement.js +8 -0
  14. package/DOM/HTMLDivElement.js.map +1 -1
  15. package/DOM/HTMLImageElement.d.ts +7 -1
  16. package/DOM/HTMLImageElement.js +195 -62
  17. package/DOM/HTMLImageElement.js.map +1 -1
  18. package/DOM/Node.d.ts +12 -0
  19. package/DOM/Node.js +19 -2
  20. package/DOM/Node.js.map +1 -1
  21. package/DOM/Text.d.ts +1 -0
  22. package/DOM/Text.js +2 -0
  23. package/DOM/Text.js.map +1 -1
  24. package/DOM/svg/SVGElement.js +3 -3
  25. package/DOM/svg/SVGElement.js.map +1 -1
  26. package/MutationObserver.d.ts +0 -1
  27. package/async/file/file.android.js +6 -4
  28. package/async/file/file.android.js.map +1 -1
  29. package/async/file/file.ios.js +6 -4
  30. package/async/file/file.ios.js.map +1 -1
  31. package/async/http/http.android.js +16 -17
  32. package/async/http/http.android.js.map +1 -1
  33. package/async/http/http.ios.js +15 -17
  34. package/async/http/http.ios.js.map +1 -1
  35. package/async/xhr/TNSXMLHttpRequest.d.ts +2 -2
  36. package/async/xhr/TNSXMLHttpRequest.js +72 -83
  37. package/async/xhr/TNSXMLHttpRequest.js.map +1 -1
  38. package/index.d.ts +2 -0
  39. package/index.js +3 -10
  40. package/index.js.map +1 -1
  41. package/navigator.js +1 -1
  42. package/navigator.js.map +1 -1
  43. package/package.json +4 -4
  44. package/platforms/android/async-release.aar +0 -0
  45. package/platforms/android/canvas_polyfill.aar +0 -0
  46. package/process.js +1 -0
  47. package/process.js.map +1 -1
  48. package/urlBlobPatch.d.ts +1 -0
  49. package/urlBlobPatch.js +123 -0
  50. package/urlBlobPatch.js.map +1 -0
  51. package/window.js +30 -0
  52. package/window.js.map +1 -1
  53. package/workerPatch.d.ts +3 -0
  54. package/workerPatch.js +13 -0
  55. package/workerPatch.js.map +1 -0
  56. package/URL.android.d.ts +0 -46
  57. package/URL.android.js +0 -444
  58. package/URL.android.js.map +0 -1
  59. package/URL.ios.d.ts +0 -51
  60. package/URL.ios.js +0 -661
  61. package/URL.ios.js.map +0 -1
package/URL.ios.js DELETED
@@ -1,661 +0,0 @@
1
- import { knownFolders, File as NSFile, path, Folder } from '@nativescript/core';
2
- const BLOB_PATH = 'blob:nativescript/';
3
- const BLOB_DIR = 'ns_blobs';
4
- const BLOB_KEYS = 'org.nativescript.canvas.blob.keys';
5
- let sharedPreferences;
6
- const BLOB_STORE = new Map();
7
- /*
8
- export class URLSearchParams {
9
- _native = new Map();
10
- constructor(search: string | URLSearchParams) {
11
- if (search instanceof URLSearchParams) {
12
- this._native = new Map(search._native);
13
- } else if (typeof search === 'string') {
14
- this._native = NSURLComponents.alloc().initWithString(search);
15
- } else {
16
- this._native = NSURLComponents.alloc().initWithString((<any>search)?.toString?.());
17
- }
18
- }
19
-
20
- append(name: string, value: string) {
21
- let queryItems: NSMutableArray<NSURLQueryItem> = this._native.queryItems.mutableCopy();
22
- if (!queryItems) {
23
- queryItems = NSMutableArray.array();
24
- }
25
-
26
- if (value) {
27
- queryItems.addObject(NSURLQueryItem.queryItemWithNameValue(name, value));
28
- }
29
-
30
- this._native.queryItems = queryItems;
31
- }
32
-
33
- set(name: string, value: string) {
34
- let queryItems: NSMutableArray<NSURLQueryItem> = this._native.queryItems.mutableCopy();
35
- if (!queryItems) {
36
- queryItems = NSMutableArray.array();
37
- }
38
-
39
- queryItems.filterUsingPredicate(NSPredicate.predicateWithFormatArgumentArray('name != %@', NSArray.arrayWithObject(value)));
40
-
41
- if (value) {
42
- queryItems.addObject(NSURLQueryItem.queryItemWithNameValue(name, value));
43
- }
44
-
45
- this._native.queryItems = queryItems;
46
- }
47
-
48
- get(name: string) {
49
- const queryItems = this._native.queryItems;
50
- const count = queryItems.count;
51
- for (let i = 0; i < count; i++) {
52
- const queryItem = queryItems.objectAtIndex(i);
53
- if (queryItem.name === name) {
54
- return queryItem.value;
55
- }
56
- }
57
- return null;
58
- }
59
-
60
- delete(name: string, value?: string) {
61
- const queryItems: NSMutableArray<NSURLQueryItem> = this._native.queryItems.mutableCopy();
62
- if (!queryItems) {
63
- return;
64
- }
65
-
66
- if (!value) {
67
- queryItems.filterUsingPredicate(NSPredicate.predicateWithFormatArgumentArray('name != %@', NSArray.arrayWithObject(value)));
68
- this._native.queryItems = queryItems;
69
- return;
70
- }
71
-
72
- queryItems.filterUsingPredicate(NSPredicate.predicateWithFormatArgumentArray('name != %@ OR value != %@', NSArray.arrayWithArray([name, value])));
73
-
74
- this._native.queryItems = queryItems;
75
- }
76
-
77
- toString() {
78
- return this._native.string;
79
- }
80
- }
81
- */
82
- import './url-search';
83
- /*
84
- export class URL {
85
- _native: NSURLComponents;
86
- constructor(url: string, base?: string | URL) {
87
- let baseUrl: NSURL;
88
- let nativeURL: NSURL;
89
- if (base instanceof URL) {
90
- baseUrl = base._native.URL;
91
- } else {
92
- baseUrl = NSURL.URLWithString(base);
93
- }
94
-
95
- if (baseUrl) {
96
- nativeURL = NSURL.URLWithStringRelativeToURL(url, baseUrl);
97
- } else {
98
- nativeURL = NSURL.URLWithString(url);
99
- }
100
-
101
- this._native = NSURLComponents.componentsWithString(nativeURL.absoluteString);
102
- }
103
-
104
- get native() {
105
- return this._native.URL;
106
- }
107
-
108
- get hash() {
109
- const hash = this.native.fragment;
110
- return hash ? `#${hash}` : '';
111
- }
112
-
113
- set hash(value: string) {
114
- this._native.fragment = value;
115
- }
116
-
117
- get host() {
118
- return this.native.host;
119
- }
120
-
121
- set host(value: string) {
122
- this._native.host = value;
123
- }
124
-
125
- get hostname() {
126
- return this.native.host;
127
- }
128
-
129
- set hostname(value: string) {
130
- this._native.host = value;
131
- }
132
-
133
- get href() {
134
- return this._native.URL.absoluteString;
135
- }
136
-
137
- set href(value: string) {
138
- this._native = NSURLComponents.componentsWithString(value);
139
- }
140
-
141
- get origin() {
142
- return `${this.native.scheme}${this.native.host}`;
143
- }
144
-
145
- get password() {
146
- return this.native.password;
147
- }
148
-
149
- set password(value: string) {
150
- this._native.password = value;
151
- }
152
-
153
- get pathname() {
154
- return this.native.path;
155
- }
156
-
157
- set pathname(value: string) {
158
- this._native.path = value;
159
- }
160
-
161
- get port() {
162
- return String(this.native.port);
163
- }
164
-
165
- set port(value: string) {
166
- this._native.port = +value;
167
- }
168
-
169
- get protocol() {
170
- return this.native.scheme + ':';
171
- }
172
-
173
- set protocol(value: string) {
174
- this._native.scheme = value;
175
- }
176
-
177
- get search() {
178
- const query = this.native.query;
179
- return query ? `?${query}` : '';
180
- }
181
-
182
- set search(value: string) {
183
- this._native.query = value;
184
- }
185
-
186
- get username() {
187
- return this.native.user;
188
- }
189
-
190
- set username(value: string) {
191
- this._native.user = value;
192
- }
193
-
194
- get searchParams() {
195
- return new URLSearchParams(this.native.absoluteString);
196
- }
197
-
198
- toJSON() {
199
- return this.native.toString();
200
- }
201
-
202
- toString() {
203
- return this.native.toString();
204
- }
205
-
206
- public static createObjectURL(object: any, options = null): string {
207
- // const buf = (Blob as any).InternalAccessor.getBuffer(object);
208
- if (object instanceof Blob || object instanceof File) {
209
- const id = this.getUUID();
210
- const ret = `blob:nativescript/${id}`;
211
- BLOB_STORE.set(ret, {
212
- blob: object,
213
- type: object?.type,
214
- ext: options?.ext,
215
- });
216
- return ret;
217
-
218
- // const id = this.getUUID();
219
- // const exists = Folder.exists(path.join(knownFolders.documents().path, BLOB_DIR));
220
- // if (!exists) {
221
- // Folder.fromPath(path.join(knownFolders.documents().path, BLOB_DIR));
222
- // }
223
- // let fileName = id;
224
- // // todo get type from magic bytes
225
- // if (options?.appendExt) {
226
- // fileName = `${fileName}.${options.ext}`;
227
- // }
228
-
229
- // const filePath = path.join(knownFolders.documents().path, BLOB_DIR, fileName);
230
-
231
- // NSFile.fromPath(filePath).writeSync(NSData.dataWithData(buf));
232
-
233
- // URL.putItem(id, fileName);
234
- // return `${BLOB_PATH}${id}`;
235
- }
236
- return null;
237
- }
238
-
239
- public static createObjectURLLegacy(object: any, options = null): string {
240
- return this.createObjectURLLegacyWithId(this.getUUID(), object, options);
241
- }
242
-
243
- static createObjectURLLegacyWithId(id: string, object: any, options = null): string {
244
- const buf = (Blob as any).InternalAccessor.getBuffer(object);
245
- if (buf || object instanceof Blob || object instanceof File) {
246
- const exists = Folder.exists(path.join(knownFolders.documents().path, BLOB_DIR));
247
- if (!exists) {
248
- Folder.fromPath(path.join(knownFolders.documents().path, BLOB_DIR));
249
- }
250
- let fileName = id;
251
- // todo get type from magic bytes
252
- if (options?.ext) {
253
- fileName = `${fileName}.${options.ext}`;
254
- }
255
-
256
- const filePath = path.join(knownFolders.documents().path, BLOB_DIR, fileName);
257
-
258
- NSFile.fromPath(filePath).writeSync(NSData.dataWithData(buf));
259
-
260
- URL.putItem(id, fileName);
261
- return `${BLOB_PATH}${id}`;
262
- }
263
- return null;
264
- }
265
-
266
- public static revokeObjectURL(url: string) {
267
- if (typeof url === 'string') {
268
- const blob = BLOB_STORE.get(url);
269
- if (blob.path) {
270
- if (NSFile.exists(blob.path)) {
271
- const file = NSFile.fromPath(blob.path);
272
- file.removeSync();
273
- }
274
- }
275
- BLOB_STORE.delete(url);
276
-
277
- // const id = url.replace(BLOB_PATH, '');
278
- // const realPath = URL.getItem(id);
279
- // if (NSFile.exists(realPath)) {
280
- // const file = NSFile.fromPath(realPath);
281
- // file.removeSync();
282
- // }
283
- }
284
- }
285
-
286
- public static InternalAccessor = class {
287
- public static getPath(url: string) {
288
- const blob = BLOB_STORE.get(url);
289
- if (!blob) {
290
- return '';
291
- }
292
- if (blob.path) {
293
- return blob.path;
294
- }
295
- //const buf = (Blob as any).InternalAccessor.getBuffer(blob.blob);
296
-
297
- const id = url.replace(BLOB_PATH, '');
298
-
299
- if (id === '') {
300
- return '';
301
- }
302
-
303
- const created = URL.createObjectURLLegacyWithId(id, blob.blob, {
304
- type: blob?.type,
305
- ext: blob?.ext,
306
- });
307
-
308
- if (!created) {
309
- return '';
310
- }
311
-
312
- let fileName = id;
313
-
314
- if (blob?.ext) {
315
- fileName = `${fileName}.${blob?.ext}`;
316
- }
317
-
318
- const filePath = path.join(knownFolders.documents().path, BLOB_DIR, fileName);
319
-
320
- blob.path = filePath;
321
- BLOB_STORE.set(url, blob);
322
- return filePath;
323
-
324
- // if (typeof url === 'string') {
325
- // const id = url.replace(BLOB_PATH, '');
326
- // return URL.getItem(id);
327
- // }
328
- // return '';
329
- }
330
-
331
- public static getData(url: string) {
332
- return BLOB_STORE.get(url);
333
- }
334
- };
335
-
336
- private static getUUID() {
337
- return NSUUID.UUID().UUIDString;
338
- }
339
-
340
- private static putItem(key: string, value: string) {
341
- if (!sharedPreferences) {
342
- sharedPreferences = NSUserDefaults.alloc().initWithSuiteName(BLOB_KEYS);
343
- }
344
-
345
- (<NSUserDefaults>sharedPreferences).setObjectForKey(value, key);
346
- }
347
-
348
- private static getItem(key: string) {
349
- const fileDir = Folder.fromPath(path.join(knownFolders.documents().path, BLOB_DIR));
350
- let fileName = null;
351
-
352
- if (!sharedPreferences) {
353
- sharedPreferences = NSUserDefaults.alloc().initWithSuiteName(BLOB_KEYS);
354
- }
355
-
356
- if (!(<NSUserDefaults>sharedPreferences).objectForKey(key)) {
357
- return null;
358
- }
359
-
360
- fileName = (<NSUserDefaults>sharedPreferences).stringForKey(key);
361
-
362
- if (fileName) {
363
- return path.join(fileDir.path, fileName);
364
- }
365
- return null;
366
- }
367
- }
368
- */
369
- export class URL {
370
- constructor(url, base) {
371
- this._isBlobURL = false;
372
- if (url?.startsWith?.('blob:')) {
373
- this._isBlobURL = true;
374
- }
375
- let baseUrl;
376
- if (typeof url === 'string' && url.startsWith('blob:')) {
377
- this._native = new global.CanvasModule.URL(url);
378
- }
379
- else {
380
- if (base instanceof URL) {
381
- baseUrl = base._native.toString();
382
- }
383
- else if (base) {
384
- try {
385
- baseUrl = base.toString();
386
- }
387
- catch (e) {
388
- throw new TypeError(`Failed to construct 'URL': Invalid base URL`);
389
- }
390
- }
391
- try {
392
- if (baseUrl) {
393
- this._native = new global.CanvasModule.URL(url, baseUrl);
394
- }
395
- else {
396
- this._native = new global.CanvasModule.URL(url);
397
- }
398
- }
399
- catch (e) {
400
- throw new TypeError(`Failed to construct 'URL': Invalid URL`);
401
- }
402
- }
403
- }
404
- get native() {
405
- return this._native;
406
- }
407
- get hash() {
408
- return this.native.hash;
409
- }
410
- set hash(value) {
411
- this.native.hash = value;
412
- }
413
- get host() {
414
- return this.native.host;
415
- }
416
- set host(value) {
417
- this.native.host = value;
418
- }
419
- get hostname() {
420
- return this.native.hostname;
421
- }
422
- set hostname(value) {
423
- this.native.hostname = value;
424
- }
425
- get href() {
426
- return this.native.href;
427
- }
428
- set href(value) {
429
- this.native.href = value;
430
- }
431
- get origin() {
432
- // let url = this._native;
433
- // if (this._isBlobURL) {
434
- // url = new java.net.URI(this._native.toString().replace('blob:', ''));
435
- // }
436
- // return `${url.getScheme()}://${url.getHost()}`;
437
- return this.native.origin;
438
- }
439
- get password() {
440
- return this.native.password;
441
- }
442
- set password(value) {
443
- this.native.password = value;
444
- }
445
- get pathname() {
446
- return this.native.pathname;
447
- }
448
- set pathname(value) {
449
- this.native.pathname = value;
450
- }
451
- get port() {
452
- return this.native.port;
453
- }
454
- set port(value) {
455
- this.native.port = value;
456
- }
457
- get protocol() {
458
- return this.native.protocol;
459
- }
460
- set protocol(value) {
461
- this.native.protocol = value;
462
- }
463
- get search() {
464
- return this.native.search;
465
- }
466
- set search(value) {
467
- this.native.search = value;
468
- }
469
- get searchParams() {
470
- return new URLSearchParams(this.native.toString());
471
- }
472
- get username() {
473
- return this.native.username;
474
- }
475
- set username(value) {
476
- this.native.username = value;
477
- }
478
- toJSON() {
479
- return this.native.toString();
480
- }
481
- toString() {
482
- return this.native.toString();
483
- }
484
- static canParse(url, base) {
485
- let ret = false;
486
- if (url?.startsWith?.('blob:')) {
487
- ret = true;
488
- }
489
- let baseUrl;
490
- if (typeof url === 'string' && url.startsWith('blob:')) {
491
- ret = true;
492
- }
493
- else {
494
- if (base instanceof URL) {
495
- baseUrl = base._native.toString();
496
- }
497
- else if (base) {
498
- try {
499
- baseUrl = base.toString();
500
- }
501
- catch (e) {
502
- throw new TypeError(`Failed to construct 'URL': Invalid base URL`);
503
- }
504
- }
505
- try {
506
- if (baseUrl) {
507
- ret = global.CanvasModule.URL.canParse(url, baseUrl);
508
- }
509
- else {
510
- ret = global.CanvasModule.URL.canParse(url);
511
- }
512
- }
513
- catch (e) { }
514
- }
515
- return ret;
516
- }
517
- static createObjectURL(object, options = null) {
518
- // const buf = (Blob as any).InternalAccessor.getBuffer(object);
519
- if (object instanceof Blob || object instanceof File) {
520
- const id = this.getUUID();
521
- const ret = `blob:nativescript/${id}`;
522
- BLOB_STORE.set(ret, {
523
- blob: object,
524
- type: object?.type,
525
- ext: options?.ext,
526
- });
527
- return ret;
528
- // const id = this.getUUID();
529
- // const exists = Folder.exists(path.join(knownFolders.documents().path, BLOB_DIR));
530
- // if (!exists) {
531
- // Folder.fromPath(path.join(knownFolders.documents().path, BLOB_DIR));
532
- // }
533
- // let fileName = id;
534
- // // todo get type from magic bytes
535
- // if (options?.appendExt) {
536
- // fileName = `${fileName}.${options.ext}`;
537
- // }
538
- // const filePath = path.join(knownFolders.documents().path, BLOB_DIR, fileName);
539
- // NSFile.fromPath(filePath).writeSync(NSData.dataWithData(buf));
540
- // URL.putItem(id, fileName);
541
- // return `${BLOB_PATH}${id}`;
542
- }
543
- return null;
544
- }
545
- static createObjectURLLegacy(object, options = null) {
546
- return this.createObjectURLLegacyWithId(this.getUUID(), object, options);
547
- }
548
- static createObjectURLLegacyWithId(id, object, options = null) {
549
- const buf = Blob.InternalAccessor.getBuffer(object);
550
- if (buf || object instanceof Blob || object instanceof File) {
551
- const exists = Folder.exists(path.join(knownFolders.documents().path, BLOB_DIR));
552
- if (!exists) {
553
- Folder.fromPath(path.join(knownFolders.documents().path, BLOB_DIR));
554
- }
555
- let fileName = id;
556
- // todo get type from magic bytes
557
- if (options?.ext) {
558
- fileName = `${fileName}.${options.ext}`;
559
- }
560
- const filePath = path.join(knownFolders.documents().path, BLOB_DIR, fileName);
561
- NSFile.fromPath(filePath).writeSync(NSData.dataWithData(buf));
562
- URL.putItem(id, fileName);
563
- return `${BLOB_PATH}${id}`;
564
- }
565
- return null;
566
- }
567
- static revokeObjectURL(url) {
568
- if (typeof url === 'string') {
569
- const blob = BLOB_STORE.get(url);
570
- if (blob.path) {
571
- if (NSFile.exists(blob.path)) {
572
- const file = NSFile.fromPath(blob.path);
573
- file.removeSync();
574
- }
575
- }
576
- BLOB_STORE.delete(url);
577
- // const id = url.replace(BLOB_PATH, '');
578
- // const realPath = URL.getItem(id);
579
- // if (NSFile.exists(realPath)) {
580
- // const file = NSFile.fromPath(realPath);
581
- // file.removeSync();
582
- // }
583
- }
584
- }
585
- static getUUID() {
586
- return NSUUID.UUID().UUIDString;
587
- }
588
- static putItem(key, value) {
589
- if (!sharedPreferences) {
590
- sharedPreferences = NSUserDefaults.alloc().initWithSuiteName(BLOB_KEYS);
591
- }
592
- sharedPreferences.setObjectForKey(value, key);
593
- }
594
- static getItem(key) {
595
- const fileDir = Folder.fromPath(path.join(knownFolders.documents().path, BLOB_DIR));
596
- let fileName = null;
597
- if (!sharedPreferences) {
598
- sharedPreferences = NSUserDefaults.alloc().initWithSuiteName(BLOB_KEYS);
599
- }
600
- if (!sharedPreferences.objectForKey(key)) {
601
- return null;
602
- }
603
- fileName = sharedPreferences.stringForKey(key);
604
- if (fileName) {
605
- return path.join(fileDir.path, fileName);
606
- }
607
- return null;
608
- }
609
- }
610
- URL.InternalAccessor = class {
611
- static getPath(url) {
612
- const blob = BLOB_STORE.get(url);
613
- if (!blob) {
614
- return '';
615
- }
616
- if (blob.path) {
617
- return blob.path;
618
- }
619
- //const buf = (Blob as any).InternalAccessor.getBuffer(blob.blob);
620
- const id = url.replace(BLOB_PATH, '');
621
- if (id === '') {
622
- return '';
623
- }
624
- const created = URL.createObjectURLLegacyWithId(id, blob.blob, {
625
- type: blob?.type,
626
- ext: blob?.ext,
627
- });
628
- if (!created) {
629
- return '';
630
- }
631
- let fileName = id;
632
- if (blob?.ext) {
633
- fileName = `${fileName}.${blob?.ext}`;
634
- }
635
- const filePath = path.join(knownFolders.documents().path, BLOB_DIR, fileName);
636
- blob.path = filePath;
637
- BLOB_STORE.set(url, blob);
638
- return filePath;
639
- // if (typeof url === 'string') {
640
- // const id = url.replace(BLOB_PATH, '');
641
- // return URL.getItem(id);
642
- // }
643
- // return '';
644
- }
645
- static getData(url) {
646
- return BLOB_STORE.get(url);
647
- }
648
- };
649
- class WorkerImpl extends Worker {
650
- constructor(url) {
651
- if (typeof url === 'string' && url.startsWith('blob:nativescript/')) {
652
- const path = URL.InternalAccessor.getPath(url);
653
- super(path);
654
- }
655
- else {
656
- super(url);
657
- }
658
- }
659
- }
660
- global.Worker = WorkerImpl;
661
- //# sourceMappingURL=URL.ios.js.map
package/URL.ios.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"URL.ios.js","sourceRoot":"","sources":["../../../packages/canvas-polyfill/URL.ios.ts"],"names":[],"mappings":"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"}