@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.
- package/DOM/Document.d.ts +1 -1
- package/DOM/Element.d.ts +3 -3
- package/DOM/Element.js +17 -10
- package/DOM/Element.js.map +1 -1
- package/DOM/HTMLCanvasElement.js +10 -0
- package/DOM/HTMLCanvasElement.js.map +1 -1
- package/DOM/HTMLImageElement.js +12 -22
- package/DOM/HTMLImageElement.js.map +1 -1
- package/DOM/Node.d.ts +2 -0
- package/DOM/Node.js +17 -0
- package/DOM/Node.js.map +1 -1
- package/DOM/XMLDocument.d.ts +5 -1
- package/DOM/XMLDocument.js +23 -20
- package/DOM/XMLDocument.js.map +1 -1
- package/URL.android.d.ts +11 -5
- package/URL.android.js +56 -142
- package/URL.android.js.map +1 -1
- package/async/file/file.android.js +11 -9
- package/async/file/file.android.js.map +1 -1
- package/async/file/file.ios.d.ts +1 -0
- package/async/file/file.ios.js +43 -39
- package/async/file/file.ios.js.map +1 -1
- package/async/xhr/TNSXMLHttpRequest.js +76 -44
- package/async/xhr/TNSXMLHttpRequest.js.map +1 -1
- package/package.json +5 -4
- package/performance.js +11 -11
- package/performance.js.map +1 -1
- package/platforms/android/canvas_polyfill.aar +0 -0
- package/platforms/android/java/org/nativescript/canvas/polyfill/Utils.java +103 -0
package/URL.android.js
CHANGED
|
@@ -1,44 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
4
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
5
|
-
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
-
};
|
|
12
|
-
var _URL_native, _URL_isBlobURL, _URL_hash, _URL_hostname, _URL_password, _URL_pathname, _URL_port, _URL_protocol, _URL_search, _URL_username;
|
|
13
|
-
import { knownFolders, File as NSFile, isIOS, path, Folder, Application } from '@nativescript/core';
|
|
1
|
+
import { Utils } from '@nativescript/core';
|
|
14
2
|
const BLOB_PATH = 'blob:nativescript/';
|
|
15
3
|
const BLOB_DIR = 'ns_blobs';
|
|
16
4
|
const BLOB_KEYS = 'org.nativescript.canvas.blob.keys';
|
|
5
|
+
const MIME_TO_EXT = {
|
|
6
|
+
'image/jpeg': '.jpg',
|
|
7
|
+
'image/png': '.png',
|
|
8
|
+
'image/gif': '.gif',
|
|
9
|
+
};
|
|
10
|
+
function get_mime_ext(value) {
|
|
11
|
+
var _a;
|
|
12
|
+
return (_a = '.' + MIME_TO_EXT[value]) !== null && _a !== void 0 ? _a : '';
|
|
13
|
+
}
|
|
17
14
|
let sharedPreferences;
|
|
18
15
|
export class URL {
|
|
19
16
|
constructor(url, base) {
|
|
20
17
|
var _a;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
_URL_username.set(this, '');
|
|
31
|
-
console.log('URL');
|
|
18
|
+
this._isBlobURL = false;
|
|
19
|
+
this._hash = '';
|
|
20
|
+
this._hostname = '';
|
|
21
|
+
this._password = '';
|
|
22
|
+
this._pathname = '';
|
|
23
|
+
this._port = -1;
|
|
24
|
+
this._protocol = '';
|
|
25
|
+
this._search = '';
|
|
26
|
+
this._username = '';
|
|
32
27
|
if ((_a = url === null || url === void 0 ? void 0 : url.startsWith) === null || _a === void 0 ? void 0 : _a.call(url, 'blob:')) {
|
|
33
|
-
|
|
28
|
+
this._isBlobURL = true;
|
|
34
29
|
}
|
|
35
30
|
let baseUrl;
|
|
36
31
|
if (typeof url === 'string' && url.startsWith('blob:')) {
|
|
37
|
-
|
|
32
|
+
this._native = new java.net.URI(url);
|
|
38
33
|
}
|
|
39
34
|
else {
|
|
40
35
|
if (base instanceof URL) {
|
|
41
|
-
baseUrl =
|
|
36
|
+
baseUrl = base._native.toURL();
|
|
42
37
|
}
|
|
43
38
|
else if (base) {
|
|
44
39
|
try {
|
|
@@ -50,10 +45,10 @@ export class URL {
|
|
|
50
45
|
}
|
|
51
46
|
try {
|
|
52
47
|
if (baseUrl) {
|
|
53
|
-
|
|
48
|
+
this._native = new java.net.URL(baseUrl, url).toURI();
|
|
54
49
|
}
|
|
55
50
|
else {
|
|
56
|
-
|
|
51
|
+
this._native = new java.net.URL(url).toURI();
|
|
57
52
|
}
|
|
58
53
|
}
|
|
59
54
|
catch (e) {
|
|
@@ -62,98 +57,98 @@ export class URL {
|
|
|
62
57
|
}
|
|
63
58
|
}
|
|
64
59
|
get native() {
|
|
65
|
-
return
|
|
60
|
+
return this._native.toURL();
|
|
66
61
|
}
|
|
67
62
|
_updateURL() {
|
|
68
63
|
const currentURL = this.native;
|
|
69
|
-
|
|
64
|
+
this._native = new java.net.URI(this._protocol || currentURL.getProtocol(), `${this._username}${this.password ? ':' : ''}${this._password}` || currentURL.getUserInfo(), this._hostname || currentURL.getHost(), this._port || currentURL.getPort(), this._pathname || currentURL.getPath(), this._search || currentURL.getQuery(), this._hash || currentURL.getRef());
|
|
70
65
|
}
|
|
71
66
|
get hash() {
|
|
72
|
-
const hash =
|
|
67
|
+
const hash = this._native.getFragment();
|
|
73
68
|
return hash ? `#${hash}` : '';
|
|
74
69
|
}
|
|
75
70
|
set hash(value) {
|
|
76
|
-
|
|
71
|
+
this._hash = value;
|
|
77
72
|
this._updateURL();
|
|
78
73
|
}
|
|
79
74
|
get host() {
|
|
80
|
-
const port =
|
|
75
|
+
const port = this._native.getPort();
|
|
81
76
|
const scheme = this.protocol;
|
|
82
77
|
let returnPort = true;
|
|
83
78
|
if (scheme === 'https' && port === 443) {
|
|
84
79
|
returnPort = false;
|
|
85
80
|
}
|
|
86
|
-
return `${
|
|
81
|
+
return `${this._native.getHost()}${returnPort && port != -1 ? ':' : ''}${returnPort && port != -1 ? port : ''}`;
|
|
87
82
|
}
|
|
88
83
|
set host(value) {
|
|
89
84
|
const url = new java.net.URL(value);
|
|
90
|
-
|
|
91
|
-
|
|
85
|
+
this._port = url.getPort();
|
|
86
|
+
this._hostname = url.getHost();
|
|
92
87
|
this._updateURL();
|
|
93
88
|
}
|
|
94
89
|
get hostname() {
|
|
95
|
-
return
|
|
90
|
+
return this._native.getHost();
|
|
96
91
|
}
|
|
97
92
|
set hostname(value) {
|
|
98
|
-
|
|
93
|
+
this._hostname = value;
|
|
99
94
|
this._updateURL();
|
|
100
95
|
}
|
|
101
96
|
get href() {
|
|
102
|
-
return
|
|
97
|
+
return this._native.toString();
|
|
103
98
|
}
|
|
104
99
|
set href(value) {
|
|
105
|
-
|
|
100
|
+
this._native = new java.net.URI(value);
|
|
106
101
|
}
|
|
107
102
|
get origin() {
|
|
108
|
-
let url =
|
|
109
|
-
if (
|
|
110
|
-
url = new java.net.URI(
|
|
103
|
+
let url = this._native;
|
|
104
|
+
if (this._isBlobURL) {
|
|
105
|
+
url = new java.net.URI(this._native.toString().replace('blob:', ''));
|
|
111
106
|
}
|
|
112
107
|
return `${url.getScheme()}://${url.getHost()}`;
|
|
113
108
|
}
|
|
114
109
|
get password() {
|
|
115
|
-
const user =
|
|
110
|
+
const user = this._native.getUserInfo() || '';
|
|
116
111
|
return user.split(':')[1] || '';
|
|
117
112
|
}
|
|
118
113
|
set password(value) {
|
|
119
|
-
|
|
114
|
+
this._password = value;
|
|
120
115
|
this._updateURL();
|
|
121
116
|
}
|
|
122
117
|
get pathname() {
|
|
123
|
-
return
|
|
118
|
+
return this._native.getPath();
|
|
124
119
|
}
|
|
125
120
|
set pathname(value) {
|
|
126
|
-
|
|
121
|
+
this._pathname = value;
|
|
127
122
|
this._updateURL();
|
|
128
123
|
}
|
|
129
124
|
get port() {
|
|
130
|
-
const port =
|
|
125
|
+
const port = this._native.getPort();
|
|
131
126
|
if (port === -1) {
|
|
132
127
|
return '';
|
|
133
128
|
}
|
|
134
129
|
return `${port}`;
|
|
135
130
|
}
|
|
136
131
|
set port(value) {
|
|
137
|
-
|
|
132
|
+
this._port = +value;
|
|
138
133
|
this._updateURL();
|
|
139
134
|
}
|
|
140
135
|
get protocol() {
|
|
141
|
-
return
|
|
136
|
+
return this._native.getScheme() + ':';
|
|
142
137
|
}
|
|
143
138
|
set protocol(value) {
|
|
144
|
-
|
|
139
|
+
this._protocol = value;
|
|
145
140
|
this._updateURL();
|
|
146
141
|
}
|
|
147
142
|
get search() {
|
|
148
|
-
const query =
|
|
143
|
+
const query = this._native.getQuery();
|
|
149
144
|
return query ? `?${query}` : '';
|
|
150
145
|
}
|
|
151
146
|
set search(value) {
|
|
152
|
-
|
|
147
|
+
this._search = value;
|
|
153
148
|
this._updateURL();
|
|
154
149
|
}
|
|
155
150
|
get username() {
|
|
156
|
-
const user =
|
|
151
|
+
const user = this._native.getUserInfo() || '';
|
|
157
152
|
return user.split(':')[0] || '';
|
|
158
153
|
}
|
|
159
154
|
set username(value) {
|
|
@@ -161,107 +156,26 @@ export class URL {
|
|
|
161
156
|
this._updateURL();
|
|
162
157
|
}
|
|
163
158
|
toJSON() {
|
|
164
|
-
return
|
|
159
|
+
return this._native.toString();
|
|
165
160
|
}
|
|
166
161
|
toString() {
|
|
167
|
-
return
|
|
162
|
+
return this._native.toString();
|
|
168
163
|
}
|
|
169
164
|
static createObjectURL(object, options = null) {
|
|
165
|
+
var _a, _b;
|
|
170
166
|
const buf = Blob.InternalAccessor.getBuffer(object);
|
|
171
167
|
if (buf || object instanceof Blob || object instanceof File) {
|
|
172
|
-
|
|
173
|
-
const exists = Folder.exists(path.join(knownFolders.documents().path, BLOB_DIR));
|
|
174
|
-
if (!exists) {
|
|
175
|
-
Folder.fromPath(path.join(knownFolders.documents().path, BLOB_DIR));
|
|
176
|
-
}
|
|
177
|
-
let fileName = id;
|
|
178
|
-
// todo get type from magic bytes
|
|
179
|
-
if (options === null || options === void 0 ? void 0 : options.appendExt) {
|
|
180
|
-
fileName = `${fileName}.${options.ext}`;
|
|
181
|
-
}
|
|
182
|
-
const filePath = path.join(knownFolders.documents().path, BLOB_DIR, fileName);
|
|
183
|
-
if (isIOS) {
|
|
184
|
-
NSFile.fromPath(filePath).writeSync(NSData.dataWithData(buf));
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
try {
|
|
188
|
-
const file = new java.io.File(filePath);
|
|
189
|
-
const fos = new java.io.FileOutputStream(file);
|
|
190
|
-
fos.write(Array.from(buf));
|
|
191
|
-
fos.flush();
|
|
192
|
-
fos.close();
|
|
193
|
-
}
|
|
194
|
-
catch (e) {
|
|
195
|
-
return null;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
URL.putItem(id, fileName);
|
|
199
|
-
return `${BLOB_PATH}${id}`;
|
|
168
|
+
return org.nativescript.canvas.polyfill.Utils.createObjectURL(Utils.android.getApplicationContext(), buf, buf.byteOffset, (_a = object === null || object === void 0 ? void 0 : object.type) !== null && _a !== void 0 ? _a : null, (_b = options === null || options === void 0 ? void 0 : options.ext) !== null && _b !== void 0 ? _b : null);
|
|
200
169
|
}
|
|
201
170
|
return null;
|
|
202
171
|
}
|
|
203
172
|
static revokeObjectURL(url) {
|
|
204
|
-
|
|
205
|
-
const id = url.replace(BLOB_PATH, '');
|
|
206
|
-
const realPath = URL.getItem(id);
|
|
207
|
-
if (NSFile.exists(realPath)) {
|
|
208
|
-
const file = NSFile.fromPath(realPath);
|
|
209
|
-
file.removeSync();
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
static getUUID() {
|
|
214
|
-
if (isIOS) {
|
|
215
|
-
return NSUUID.UUID().UUIDString;
|
|
216
|
-
}
|
|
217
|
-
return java.util.UUID.randomUUID().toString();
|
|
218
|
-
}
|
|
219
|
-
static putItem(key, value) {
|
|
220
|
-
if (global.isAndroid) {
|
|
221
|
-
if (!sharedPreferences) {
|
|
222
|
-
sharedPreferences = Application.getNativeApplication().getApplicationContext().getSharedPreferences(BLOB_KEYS, 0);
|
|
223
|
-
}
|
|
224
|
-
sharedPreferences.edit().putString(key, value).apply();
|
|
225
|
-
}
|
|
226
|
-
else {
|
|
227
|
-
if (!sharedPreferences) {
|
|
228
|
-
sharedPreferences = NSUserDefaults.alloc().initWithSuiteName(BLOB_KEYS);
|
|
229
|
-
}
|
|
230
|
-
sharedPreferences.setObjectForKey(value, key);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
static getItem(key) {
|
|
234
|
-
const fileDir = Folder.fromPath(path.join(knownFolders.documents().path, BLOB_DIR));
|
|
235
|
-
let fileName = null;
|
|
236
|
-
if (global.isAndroid) {
|
|
237
|
-
if (!sharedPreferences) {
|
|
238
|
-
sharedPreferences = Application.getNativeApplication().getApplicationContext().getSharedPreferences(BLOB_KEYS, 0);
|
|
239
|
-
}
|
|
240
|
-
fileName = sharedPreferences.getString(key, null);
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
if (!sharedPreferences) {
|
|
244
|
-
sharedPreferences = NSUserDefaults.alloc().initWithSuiteName(BLOB_KEYS);
|
|
245
|
-
}
|
|
246
|
-
if (!sharedPreferences.objectForKey(key)) {
|
|
247
|
-
return null;
|
|
248
|
-
}
|
|
249
|
-
fileName = sharedPreferences.stringForKey(key);
|
|
250
|
-
}
|
|
251
|
-
if (fileName) {
|
|
252
|
-
return path.join(fileDir.path, fileName);
|
|
253
|
-
}
|
|
254
|
-
return null;
|
|
173
|
+
org.nativescript.canvas.polyfill.Utils.revokeObjectURL(Utils.android.getApplicationContext(), url !== null && url !== void 0 ? url : null);
|
|
255
174
|
}
|
|
256
175
|
}
|
|
257
|
-
_URL_native = new WeakMap(), _URL_isBlobURL = new WeakMap(), _URL_hash = new WeakMap(), _URL_hostname = new WeakMap(), _URL_password = new WeakMap(), _URL_pathname = new WeakMap(), _URL_port = new WeakMap(), _URL_protocol = new WeakMap(), _URL_search = new WeakMap(), _URL_username = new WeakMap();
|
|
258
176
|
URL.InternalAccessor = class {
|
|
259
177
|
static getPath(url) {
|
|
260
|
-
|
|
261
|
-
const id = url.replace(BLOB_PATH, '');
|
|
262
|
-
return URL.getItem(id);
|
|
263
|
-
}
|
|
264
|
-
return "";
|
|
178
|
+
return org.nativescript.canvas.polyfill.Utils.getPath(Utils.android.getApplicationContext(), url !== null && url !== void 0 ? url : null);
|
|
265
179
|
}
|
|
266
180
|
};
|
|
267
181
|
//# sourceMappingURL=URL.android.js.map
|
package/URL.android.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"URL.android.js","sourceRoot":"","sources":["../../../packages/canvas-polyfill/URL.android.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"URL.android.js","sourceRoot":"","sources":["../../../packages/canvas-polyfill/URL.android.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,15 +21,20 @@ export class FileManager {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
static readFile(path, options = { asStream: false }, callback) {
|
|
24
|
+
var _a;
|
|
24
25
|
//const opts = new com.github.triniwiz.async.Async2.FileManager.Options();
|
|
25
26
|
//opts.asStream = options.asStream;
|
|
27
|
+
if (this._readFile === undefined) {
|
|
28
|
+
this._readFile = (_a = global === null || global === void 0 ? void 0 : global.CanvasJSIModule) === null || _a === void 0 ? void 0 : _a.readFile;
|
|
29
|
+
}
|
|
26
30
|
if (this._readFile) {
|
|
27
|
-
this._readFile(path)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
this._readFile(path, (error, buffer) => {
|
|
32
|
+
if (error) {
|
|
33
|
+
callback(new Error(error), null);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
callback(null, buffer);
|
|
37
|
+
}
|
|
33
38
|
});
|
|
34
39
|
}
|
|
35
40
|
else {
|
|
@@ -48,7 +53,4 @@ export class FileManager {
|
|
|
48
53
|
callback(null, true);
|
|
49
54
|
}
|
|
50
55
|
}
|
|
51
|
-
(() => {
|
|
52
|
-
// this._readFile = global?.CanvasJSIModule?.readFile;
|
|
53
|
-
})();
|
|
54
56
|
//# sourceMappingURL=file.android.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.android.js","sourceRoot":"","sources":["../../../../../packages/canvas-polyfill/async/file/file.android.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IAChB,MAAM,CAAC,SAAS,CAAC,KAAU,EAAE,IAAY,EAAE,QAA2B;QAC5E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC1E,OAAO,CAAC,MAAc,EAAE,MAA2B;gBAClD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,UAAU,CAAC,MAAW;gBACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxB,CAAC;SACD,CAAC,CAAC;QACH,IAAI,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YACzC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;SACtF;aAAM,IAAI,KAAK,YAAY,WAAW,EAAE;YACxC,IAAK,KAAa,CAAC,YAAY,EAAE;gBAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAE,KAAa,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC5G;SACD;aAAM;YACN,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC9E;IACF,CAAC;
|
|
1
|
+
{"version":3,"file":"file.android.js","sourceRoot":"","sources":["../../../../../packages/canvas-polyfill/async/file/file.android.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IAChB,MAAM,CAAC,SAAS,CAAC,KAAU,EAAE,IAAY,EAAE,QAA2B;QAC5E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC1E,OAAO,CAAC,MAAc,EAAE,MAA2B;gBAClD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,UAAU,CAAC,MAAW;gBACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxB,CAAC;SACD,CAAC,CAAC;QACH,IAAI,KAAK,YAAY,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YACzC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;SACtF;aAAM,IAAI,KAAK,YAAY,WAAW,EAAE;YACxC,IAAK,KAAa,CAAC,YAAY,EAAE;gBAChC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAE,KAAa,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;aAC5G;SACD;aAAM;YACN,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC9E;IACF,CAAC;IAIM,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,UAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAA2B;;QACvG,0EAA0E;QAC1E,mCAAmC;QACnC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,0CAAE,QAAQ,CAAC;SACnD;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,IAAI,KAAK,EAAE;oBACV,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;iBACjC;qBAAM;oBACN,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBACvB;YACF,CAAC,CAAC,CAAC;SACH;aAAM;YACN,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CACpD,IAAI,EACJ,IAAI,EACJ,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;gBACzD,OAAO,CAAC,MAAc,EAAE,MAA2B;oBAClD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACxB,CAAC;gBACD,UAAU,CAAC,MAAW;oBACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACxB,CAAC;aACD,CAAC,CACF,CAAC;SACF;IACF,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,UAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAA2B;QACzG,OAAO;QACP,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;CACD"}
|
package/async/file/file.ios.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare class FileManager {
|
|
2
2
|
static writeFile(bytes: any, path: string, callback: (...args: any[]) => void): void;
|
|
3
|
+
static _readFile: any;
|
|
3
4
|
static readFile(path: string, options: Options, callback: (...args: any[]) => void): void;
|
|
4
5
|
static deleteFile(path: string, options: Options, callback: (...args: any[]) => void): void;
|
|
5
6
|
}
|
package/async/file/file.ios.js
CHANGED
|
@@ -1,53 +1,57 @@
|
|
|
1
|
-
const background_queue = dispatch_get_global_queue(qos_class_t.QOS_CLASS_DEFAULT, 0);
|
|
2
|
-
const main_queue = dispatch_get_current_queue();
|
|
3
1
|
export class FileManager {
|
|
4
2
|
static writeFile(bytes, path, callback) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
3
|
+
let native;
|
|
4
|
+
if (bytes instanceof NSData) {
|
|
5
|
+
native = bytes;
|
|
6
|
+
}
|
|
7
|
+
else if (bytes instanceof ArrayBuffer) {
|
|
8
|
+
native = NSData.dataWithData(bytes);
|
|
9
|
+
}
|
|
10
|
+
console.log('writeFile');
|
|
11
|
+
NSSCanvasHelpers.writeFile(bytes, path, (error, result) => {
|
|
12
|
+
console.log('writeFile', error, result);
|
|
13
|
+
if (error) {
|
|
14
|
+
callback(new Error(error), null);
|
|
16
15
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
callback(e, null);
|
|
20
|
-
});
|
|
16
|
+
else {
|
|
17
|
+
callback(null, result);
|
|
21
18
|
}
|
|
22
19
|
});
|
|
23
20
|
}
|
|
24
21
|
static readFile(path, options = { asStream: false }, callback) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
var _a;
|
|
23
|
+
if (this._readFile === undefined) {
|
|
24
|
+
this._readFile = (_a = global === null || global === void 0 ? void 0 : global.CanvasJSIModule) === null || _a === void 0 ? void 0 : _a.readFile;
|
|
25
|
+
}
|
|
26
|
+
if (this._readFile) {
|
|
27
|
+
this._readFile(path, (error, buffer) => {
|
|
28
|
+
if (error) {
|
|
29
|
+
callback(new Error(error), null);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
callback(null, buffer);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
NSSCanvasHelpers.readFile(path, (error, data) => {
|
|
38
|
+
if (error) {
|
|
39
|
+
callback(new Error(error), null);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
29
42
|
callback(null, data);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
dispatch_async(main_queue, () => {
|
|
34
|
-
callback(e, null);
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
});
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
38
46
|
}
|
|
39
47
|
static deleteFile(path, options = { asStream: false }, callback) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
callback(null, true);
|
|
45
|
-
});
|
|
48
|
+
console.log('deleteFile');
|
|
49
|
+
NSSCanvasHelpers.deleteFile(path, (error, done) => {
|
|
50
|
+
if (error) {
|
|
51
|
+
callback(new Error(error), null);
|
|
46
52
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
callback(e, false);
|
|
50
|
-
});
|
|
53
|
+
else {
|
|
54
|
+
callback(null, done);
|
|
51
55
|
}
|
|
52
56
|
});
|
|
53
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.ios.js","sourceRoot":"","sources":["../../../../../packages/canvas-polyfill/async/file/file.ios.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file.ios.js","sourceRoot":"","sources":["../../../../../packages/canvas-polyfill/async/file/file.ios.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,WAAW;IAChB,MAAM,CAAC,SAAS,CAAC,KAAU,EAAE,IAAY,EAAE,QAA2B;QAC5E,IAAI,MAAM,CAAC;QACX,IAAI,KAAK,YAAY,MAAM,EAAE;YAC5B,MAAM,GAAG,KAAK,CAAC;SACf;aAAM,IAAI,KAAK,YAAY,WAAW,EAAE;YACxC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,KAAY,CAAC,CAAC;SAC3C;QAED,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACzD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,KAAK,EAAE;gBACV,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;aACjC;iBAAM;gBACN,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACvB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAIM,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,UAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAA2B;;QACvG,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,SAAS,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,0CAAE,QAAQ,CAAC;SACnD;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACtC,IAAI,KAAK,EAAE;oBACV,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;iBACjC;qBAAM;oBACN,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;iBACvB;YACF,CAAC,CAAC,CAAC;SACH;aAAM;YACN,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC/C,IAAI,KAAK,EAAE;oBACV,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;iBACjC;qBAAM;oBACN,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBACrB;YACF,CAAC,CAAC,CAAC;SACH;IACF,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,IAAY,EAAE,UAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAA2B;QACzG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACjD,IAAI,KAAK,EAAE;gBACV,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;aACjC;iBAAM;gBACN,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACrB;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
|