@nativescript/canvas-polyfill 2.0.0-alpha.0 → 2.0.0-alpha.10

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.
@@ -235,16 +235,22 @@ export class TNSXMLHttpRequest {
235
235
  const encodings = ['UTF-8', 'US-ASCII', 'ISO-8859-1', null];
236
236
  let value;
237
237
  const count = encodings.length;
238
+ try {
239
+ const decoder = new TextDecoder();
240
+ const ret = decoder.decode(data);
241
+ return ret;
242
+ }
243
+ catch (error) { }
238
244
  for (let i = 0; i < count; i++) {
239
245
  let encodingType = encodings[i];
240
246
  // let java decide :D
241
247
  if (encodingType === null) {
242
- value = new java.lang.String(data).toString();
248
+ value = java.nio.charset.Charset.defaultCharset().decode(data).toString();
243
249
  break;
244
250
  }
245
251
  try {
246
- let encoding = java.nio.charset.Charset.forName(encodingType);
247
- value = new java.lang.String(data, encoding).toString();
252
+ const encoding = java.nio.charset.Charset.forName(encodingType);
253
+ value = encoding.decode(data).toString();
248
254
  break;
249
255
  }
250
256
  catch (e) { }
@@ -313,6 +319,7 @@ export class TNSXMLHttpRequest {
313
319
  this.emitEvent('loadstart', startEvent);
314
320
  this._updateReadyStateChange(this.LOADING);
315
321
  FileManager.readFile(path, {}, (error, data) => {
322
+ var _d, _e;
316
323
  if (error) {
317
324
  const errorEvent = new ProgressEvent('error', this._lastProgress);
318
325
  this._responseText = error.message;
@@ -334,73 +341,98 @@ export class TNSXMLHttpRequest {
334
341
  this._status = 200;
335
342
  this._httpContent = data;
336
343
  this._responseURL = responseURL;
344
+ const fastRead = FileManager._readFile === undefined;
337
345
  if (this.responseType === XMLHttpRequestResponseType.json) {
338
346
  try {
339
- if (global.isAndroid) {
347
+ if (fastRead) {
340
348
  this._responseText = this._toJSString(data);
341
349
  this._response = JSON.parse(this._responseText);
342
350
  }
343
351
  else {
344
- this._responseText = NSString.alloc().initWithDataEncoding(data, NSUTF8StringEncoding);
345
- if (!this._responseText) {
346
- this._responseText = NSString.alloc().initWithDataEncoding(data, NSISOLatin1StringEncoding);
352
+ if (global.isAndroid) {
353
+ this._responseText = this._toJSString(data);
354
+ this._response = JSON.parse(this._responseText);
355
+ }
356
+ else {
357
+ this._responseText = NSString.alloc().initWithDataEncoding(data, NSUTF8StringEncoding);
358
+ if (!this._responseText) {
359
+ this._responseText = NSString.alloc().initWithDataEncoding(data, NSISOLatin1StringEncoding);
360
+ }
361
+ this._response = JSON.parse(this._responseText);
347
362
  }
348
- this._response = JSON.parse(this._responseText);
349
363
  }
350
364
  }
351
365
  catch (e) {
352
- console.log('json parse error', e);
366
+ console.error('json parse error', e);
353
367
  // this should probably be caught before the promise resolves
354
368
  }
355
369
  }
356
370
  else if (this.responseType === XMLHttpRequestResponseType.text) {
357
- if (global.isIOS) {
358
- let code = NSUTF8StringEncoding; // long:4
359
- let encodedString = NSString.alloc().initWithDataEncoding(data, code);
360
- // If UTF8 string encoding fails try with ISO-8859-1
361
- if (!encodedString) {
362
- code = NSISOLatin1StringEncoding; // long:5
363
- encodedString = NSString.alloc().initWithDataEncoding(data, code);
364
- }
365
- this._responseText = this._response = encodedString.toString();
371
+ if (fastRead) {
372
+ const response = this._toJSString(data);
373
+ this._responseText = this._response = response ? response : '';
366
374
  }
367
375
  else {
368
- const response = this._toJSString(data);
369
- this._responseText = this._response = response ? response.toString() : '';
376
+ if (global.isIOS) {
377
+ let code = NSUTF8StringEncoding; // long:4
378
+ let encodedString = NSString.alloc().initWithDataEncoding(data, code);
379
+ // If UTF8 string encoding fails try with ISO-8859-1
380
+ if (!encodedString) {
381
+ code = NSISOLatin1StringEncoding; // long:5
382
+ encodedString = NSString.alloc().initWithDataEncoding(data, code);
383
+ }
384
+ this._responseText = this._response = encodedString.toString();
385
+ }
386
+ else {
387
+ const response = this._toJSString(data);
388
+ this._responseText = this._response = response ? response.toString() : '';
389
+ }
370
390
  }
371
391
  }
372
392
  else if (this.responseType === XMLHttpRequestResponseType.document) {
373
- if (global.isIOS) {
374
- let code = NSUTF8StringEncoding; // long:4
375
- let encodedString = NSString.alloc().initWithDataEncoding(data, code);
376
- // If UTF8 string encoding fails try with ISO-8859-1
377
- if (!encodedString) {
378
- code = NSISOLatin1StringEncoding; // long:5
379
- encodedString = NSString.alloc().initWithDataEncoding(data, code);
380
- }
381
- this._responseText = this._response = encodedString.toString();
382
- }
383
- else {
393
+ if (fastRead) {
384
394
  let response = this._toJSString(data);
385
395
  this._responseText = this._response = response ? response : '';
386
396
  }
397
+ else {
398
+ if (global.isIOS) {
399
+ let code = NSUTF8StringEncoding; // long:4
400
+ let encodedString = NSString.alloc().initWithDataEncoding(data, code);
401
+ // If UTF8 string encoding fails try with ISO-8859-1
402
+ if (!encodedString) {
403
+ code = NSISOLatin1StringEncoding; // long:5
404
+ encodedString = NSString.alloc().initWithDataEncoding(data, code);
405
+ }
406
+ this._responseText = this._response = encodedString.toString();
407
+ }
408
+ else {
409
+ let response = this._toJSString(data);
410
+ this._responseText = this._response = response ? response : '';
411
+ }
412
+ }
387
413
  }
388
414
  else if (this.responseType === XMLHttpRequestResponseType.arraybuffer) {
389
- if (global.isIOS) {
390
- this._response = interop.bufferFromData(data);
391
- }
392
- else {
393
- this._response = ArrayBuffer.from(java.nio.ByteBuffer.wrap(data));
415
+ this._response = data;
416
+ if (fastRead) {
417
+ if (global.isIOS) {
418
+ this._response = interop.bufferFromData(data);
419
+ }
420
+ else {
421
+ this._response = ArrayBuffer.from(java.nio.ByteBuffer.wrap(data).rewind());
422
+ }
394
423
  }
395
424
  }
396
425
  else if (this.responseType === XMLHttpRequestResponseType.blob) {
397
- let buffer;
398
- if (global.isIOS) {
399
- buffer = interop.bufferFromData(data);
400
- }
401
- else {
402
- const buf = java.nio.ByteBuffer.wrap(data);
403
- buffer = ArrayBuffer.from(buf);
426
+ let buffer = data;
427
+ if (fastRead) {
428
+ if (global.isIOS) {
429
+ buffer = interop.bufferFromData(data);
430
+ }
431
+ else {
432
+ // buffer = data;
433
+ const buf = java.nio.ByteBuffer.wrap(data).rewind();
434
+ buffer = ArrayBuffer.from(buf);
435
+ }
404
436
  }
405
437
  this._response = new Blob([buffer]);
406
438
  }
@@ -411,7 +443,7 @@ export class TNSXMLHttpRequest {
411
443
  }
412
444
  }
413
445
  else {
414
- size = data ? data.length : 0;
446
+ size = (_e = (_d = data === null || data === void 0 ? void 0 : data.length) !== null && _d !== void 0 ? _d : data === null || data === void 0 ? void 0 : data.byteLength) !== null && _e !== void 0 ? _e : 0;
415
447
  }
416
448
  this._lastProgress = {
417
449
  lengthComputable: contentLength > -1,
@@ -1 +1 @@
1
- {"version":3,"file":"TNSXMLHttpRequest.js","sourceRoot":"","sources":["../../../../../packages/canvas-polyfill/async/xhr/TNSXMLHttpRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TNSXMLHttpRequest.js","sourceRoot":"","sources":["../../../../../packages/canvas-polyfill/async/xhr/TNSXMLHttpRequest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript/canvas-polyfill",
3
- "version": "2.0.0-alpha.0",
3
+ "version": "2.0.0-alpha.10",
4
4
  "description": "Polyfill for making NativeScript compatible with web libs like pixi.js, three.js, phaser.js, babylon.js, etc....",
5
5
  "main": "index",
6
6
  "typings": "index.d.ts",
@@ -33,10 +33,11 @@
33
33
  "readmeFilename": "README.md",
34
34
  "bootstrapper": "@nativescript/plugin-seed",
35
35
  "dependencies": {
36
- "xmldom": "~0.6.0"
36
+ "xmldom": "~0.6.0",
37
+ "query-selector": "2.0.0"
37
38
  },
38
39
  "peerDependencies": {
39
- "@nativescript/canvas": "2.0.0-alpha.0",
40
- "@nativescript/canvas-media": "2.0.0-alpha.0"
40
+ "@nativescript/canvas": "2.0.0-alpha.10",
41
+ "@nativescript/canvas-media": "2.0.0-alpha.10"
41
42
  }
42
43
  }
package/performance.js CHANGED
@@ -26,9 +26,9 @@ if (!global.performance || !global.performance.now) {
26
26
  },
27
27
  now() {
28
28
  if (global.isIOS) {
29
- return CACurrentMediaTime() * 1000;
29
+ return performance.now();
30
30
  }
31
- return java.lang.System.nanoTime() / 1000000;
31
+ return __time();
32
32
  },
33
33
  toJSON() {
34
34
  return {
@@ -47,33 +47,33 @@ if (!global.performance || !global.performance.now) {
47
47
  usedJSHeapSize: -1,
48
48
  },
49
49
  measure() {
50
- console.warn("window.performance.measure is not implemented");
50
+ console.warn('window.performance.measure is not implemented');
51
51
  },
52
52
  mark() {
53
- console.warn("window.performance.mark is not implemented");
53
+ console.warn('window.performance.mark is not implemented');
54
54
  },
55
55
  clearMeasures() {
56
- console.warn("window.performance.clearMeasures is not implemented");
56
+ console.warn('window.performance.clearMeasures is not implemented');
57
57
  },
58
58
  clearMarks() {
59
- console.warn("window.performance.clearMarks is not implemented");
59
+ console.warn('window.performance.clearMarks is not implemented');
60
60
  },
61
61
  clearResourceTimings() {
62
- console.warn("window.performance.clearResourceTimings is not implemented");
62
+ console.warn('window.performance.clearResourceTimings is not implemented');
63
63
  },
64
64
  setResourceTimingBufferSize() {
65
- console.warn("window.performance.setResourceTimingBufferSize is not implemented");
65
+ console.warn('window.performance.setResourceTimingBufferSize is not implemented');
66
66
  },
67
67
  getEntriesByType() {
68
- console.warn("window.performance.getEntriesByType is not implemented");
68
+ console.warn('window.performance.getEntriesByType is not implemented');
69
69
  return [];
70
70
  },
71
71
  getEntriesByName() {
72
- console.warn("window.performance.getEntriesByName is not implemented");
72
+ console.warn('window.performance.getEntriesByName is not implemented');
73
73
  return [];
74
74
  },
75
75
  getEntries() {
76
- console.warn("window.performance.getEntries is not implemented");
76
+ console.warn('window.performance.getEntries is not implemented');
77
77
  },
78
78
  };
79
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../packages/canvas-polyfill/performance.ts"],"names":[],"mappings":"AAAA,IAAI,CAAE,MAAc,CAAC,WAAW,IAAI,CAAE,MAAc,CAAC,WAAW,CAAC,GAAG,EAAE;IACjE,MAAc,CAAC,WAAW,GAAG;QAC1B,UAAU,EAAE,CAAC,CAAC;QACd,MAAM,EAAE;YACJ,UAAU,EAAE,CAAC,CAAC;YACd,YAAY,EAAE,CAAC,CAAC;YAChB,WAAW,EAAE,CAAC,CAAC;YACf,wBAAwB,EAAE,CAAC,CAAC;YAC5B,0BAA0B,EAAE,CAAC,CAAC;YAC9B,cAAc,EAAE,CAAC,CAAC;YAClB,UAAU,EAAE,CAAC,CAAC;YACd,eAAe,EAAE,CAAC,CAAC;YACnB,iBAAiB,EAAE,CAAC,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC;YACd,YAAY,EAAE,CAAC,CAAC;YAChB,cAAc,EAAE,CAAC,CAAC;YAClB,eAAe,EAAE,CAAC,CAAC;YACnB,WAAW,EAAE,CAAC,CAAC;YACf,aAAa,EAAE,CAAC,CAAC;YACjB,YAAY,EAAE,CAAC,CAAC;YAChB,WAAW,EAAE,CAAC,CAAC;YACf,aAAa,EAAE,CAAC,CAAC;YACjB,qBAAqB,EAAE,CAAC,CAAC;YACzB,cAAc,EAAE,CAAC,CAAC;YAClB,gBAAgB,EAAE,CAAC,CAAC;SACvB;QACD,GAAG;YACC,IAAI,MAAM,CAAC,KAAK,EAAE;gBACd,OAAO,kBAAkB,EAAE,GAAG,IAAI,CAAC;aACtC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC;QACjD,CAAC;QACD,MAAM;YACF,OAAO;gBACH,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC9B,CAAC;QACN,CAAC;QACD,UAAU,EAAE;YACR,aAAa,EAAE,CAAC,CAAC;YACjB,IAAI,EAAE,CAAC,CAAC;SACX;QACD,MAAM,EAAE;YACJ,eAAe,EAAE,CAAC,CAAC;YACnB,eAAe,EAAE,CAAC,CAAC;YACnB,cAAc,EAAE,CAAC,CAAC;SACrB;QACD,OAAO;YACH,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAClE,CAAC;QACD,IAAI;YACA,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QACD,aAAa;YACT,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACxE,CAAC;QACD,UAAU;YACN,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACrE,CAAC;QACD,oBAAoB;YAChB,OAAO,CAAC,IAAI,CACR,4DAA4D,CAC/D,CAAC;QACN,CAAC;QACD,2BAA2B;YACvB,OAAO,CAAC,IAAI,CACR,mEAAmE,CACtE,CAAC;QACN,CAAC;QACD,gBAAgB;YACZ,OAAO,CAAC,IAAI,CACR,wDAAwD,CAC3D,CAAC;YACF,OAAO,EAAE,CAAC;QACd,CAAC;QACD,gBAAgB;YACZ,OAAO,CAAC,IAAI,CACR,wDAAwD,CAC3D,CAAC;YACF,OAAO,EAAE,CAAC;QACd,CAAC;QACD,UAAU;YACN,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACrE,CAAC;KACJ,CAAC;CACL"}
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../packages/canvas-polyfill/performance.ts"],"names":[],"mappings":"AAAA,IAAI,CAAE,MAAc,CAAC,WAAW,IAAI,CAAE,MAAc,CAAC,WAAW,CAAC,GAAG,EAAE;IACpE,MAAc,CAAC,WAAW,GAAG;QAC7B,UAAU,EAAE,CAAC,CAAC;QACd,MAAM,EAAE;YACP,UAAU,EAAE,CAAC,CAAC;YACd,YAAY,EAAE,CAAC,CAAC;YAChB,WAAW,EAAE,CAAC,CAAC;YACf,wBAAwB,EAAE,CAAC,CAAC;YAC5B,0BAA0B,EAAE,CAAC,CAAC;YAC9B,cAAc,EAAE,CAAC,CAAC;YAClB,UAAU,EAAE,CAAC,CAAC;YACd,eAAe,EAAE,CAAC,CAAC;YACnB,iBAAiB,EAAE,CAAC,CAAC;YACrB,UAAU,EAAE,CAAC,CAAC;YACd,YAAY,EAAE,CAAC,CAAC;YAChB,cAAc,EAAE,CAAC,CAAC;YAClB,eAAe,EAAE,CAAC,CAAC;YACnB,WAAW,EAAE,CAAC,CAAC;YACf,aAAa,EAAE,CAAC,CAAC;YACjB,YAAY,EAAE,CAAC,CAAC;YAChB,WAAW,EAAE,CAAC,CAAC;YACf,aAAa,EAAE,CAAC,CAAC;YACjB,qBAAqB,EAAE,CAAC,CAAC;YACzB,cAAc,EAAE,CAAC,CAAC;YAClB,gBAAgB,EAAE,CAAC,CAAC;SACpB;QACD,GAAG;YACF,IAAI,MAAM,CAAC,KAAK,EAAE;gBACjB,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC;aACzB;YAED,OAAO,MAAM,EAAE,CAAC;QACjB,CAAC;QACD,MAAM;YACL,OAAO;gBACN,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC3B,CAAC;QACH,CAAC;QACD,UAAU,EAAE;YACX,aAAa,EAAE,CAAC,CAAC;YACjB,IAAI,EAAE,CAAC,CAAC;SACR;QACD,MAAM,EAAE;YACP,eAAe,EAAE,CAAC,CAAC;YACnB,eAAe,EAAE,CAAC,CAAC;YACnB,cAAc,EAAE,CAAC,CAAC;SAClB;QACD,OAAO;YACN,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI;YACH,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;QACD,aAAa;YACZ,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;QACD,UAAU;YACT,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAClE,CAAC;QACD,oBAAoB;YACnB,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;QACD,2BAA2B;YAC1B,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACnF,CAAC;QACD,gBAAgB;YACf,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACvE,OAAO,EAAE,CAAC;QACX,CAAC;QACD,gBAAgB;YACf,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACvE,OAAO,EAAE,CAAC;QACX,CAAC;QACD,UAAU;YACT,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAClE,CAAC;KACD,CAAC;CACF"}
@@ -0,0 +1,103 @@
1
+ package org.nativescript.canvas.polyfill;
2
+
3
+ import android.content.Context;
4
+ import android.content.SharedPreferences;
5
+ import android.webkit.MimeTypeMap;
6
+
7
+ import java.io.IOException;
8
+ import java.nio.ByteBuffer;
9
+ import java.io.File;
10
+ import java.io.FileOutputStream;
11
+ import java.nio.channels.Channels;
12
+ import java.nio.channels.WritableByteChannel;
13
+ import java.util.UUID;
14
+
15
+ public class Utils {
16
+
17
+ static final String BLOB_PATH = "blob:nativescript/";
18
+ static final String BLOB_DIR = "ns_blobs";
19
+
20
+ static final String BLOB_KEYS = "org.nativescript.canvas.blob.keys";
21
+
22
+ public static void writeBytes(ByteBuffer buffer, int position, String path) throws IOException {
23
+ buffer.position(position);
24
+ File file = new File(path);
25
+ FileOutputStream fos = new FileOutputStream(file);
26
+ WritableByteChannel channel = Channels.newChannel(fos);
27
+ channel.write(buffer);
28
+ channel.close();
29
+ buffer.position(position);
30
+ }
31
+
32
+
33
+ public static String createObjectURL(Context context, ByteBuffer buffer, int position, String mime, String extension) throws IOException {
34
+ String id = UUID.randomUUID().toString();
35
+ File blob_root = new File(context.getFilesDir(), BLOB_DIR);
36
+ if (!blob_root.exists()) {
37
+ blob_root.mkdirs();
38
+ }
39
+
40
+ String fileName = id;
41
+ if(extension != null){
42
+ fileName = id + "." + extension;
43
+ }else {
44
+ // todo get type from magic bytes
45
+ String ext = MimeTypeMap.getSingleton().getExtensionFromMimeType(mime);
46
+ if (ext != null) {
47
+ fileName = id + "." + ext;
48
+ }
49
+ }
50
+
51
+ org.nativescript.canvas.polyfill.Utils.writeBytes(buffer, position, new File(blob_root, fileName).getAbsolutePath());
52
+
53
+ putItem(context, id, fileName);
54
+ return BLOB_PATH + id;
55
+ }
56
+
57
+ public static void revokeObjectURL(Context context, String url) {
58
+ if (url != null) {
59
+ String id = url.replace(BLOB_PATH, "");
60
+ String realPath = getItem(context, id);
61
+ if (realPath == null || realPath.isEmpty()) {
62
+ return;
63
+ }
64
+ File file = new File(realPath);
65
+ if (file.exists()) {
66
+ file.delete();
67
+ deleteItem(context, id);
68
+ }
69
+ }
70
+ }
71
+
72
+ public static String getPath(Context context, String url) {
73
+ if (url != null) {
74
+ String id = url.replace(BLOB_PATH, "");
75
+ return getItem(context, id);
76
+ }
77
+ return "";
78
+ }
79
+
80
+ public static void putItem(Context context, String key, String value) {
81
+ SharedPreferences sharedPreferences = context.getSharedPreferences(BLOB_KEYS, Context.MODE_PRIVATE);
82
+ sharedPreferences.edit().putString(key, value).commit();
83
+ }
84
+
85
+ public static String getItem(Context context, String key) {
86
+ File blob_root = new File(context.getFilesDir(), BLOB_DIR);
87
+ SharedPreferences sharedPreferences = context.getSharedPreferences(BLOB_KEYS, Context.MODE_PRIVATE);
88
+
89
+ String fileName = sharedPreferences.getString(key, null);
90
+
91
+ if (fileName != null) {
92
+ return new File(blob_root, fileName).getAbsolutePath();
93
+ }
94
+ return null;
95
+ }
96
+
97
+ public static void deleteItem(Context context, String key) {
98
+ if (key != null) {
99
+ putItem(context, key, null);
100
+ }
101
+ }
102
+
103
+ }