OLD | NEW |
| (Empty) |
1 dart_library.library('dart/html_common', null, /* Imports */[ | |
2 'dart/_runtime', | |
3 'dart/_metadata', | |
4 'dart/core', | |
5 'dart/html', | |
6 'dart/typed_data', | |
7 'dart/_js_helper', | |
8 'dart/_native_typed_data', | |
9 'dart/async', | |
10 'dart/_internal', | |
11 'dart/collection' | |
12 ], /* Lazy imports */[ | |
13 'dart/web_gl' | |
14 ], function(exports, dart, _metadata, core, html, typed_data, _js_helper, _nativ
e_typed_data, async, _internal, collection, web_gl) { | |
15 'use strict'; | |
16 let dartx = dart.dartx; | |
17 dart.export(exports, _metadata); | |
18 const _validateToken = Symbol('_validateToken'); | |
19 class CssClassSetImpl extends core.Object { | |
20 [_validateToken](value) { | |
21 if (dart.notNull(CssClassSetImpl._validTokenRE.hasMatch(value))) return va
lue; | |
22 dart.throw(new core.ArgumentError.value(value, 'value', 'Not a valid class
token')); | |
23 } | |
24 toString() { | |
25 return this.readClasses().join(' '); | |
26 } | |
27 toggle(value, shouldAdd) { | |
28 if (shouldAdd === void 0) shouldAdd = null; | |
29 this[_validateToken](value); | |
30 let s = this.readClasses(); | |
31 let result = false; | |
32 if (shouldAdd == null) shouldAdd = !dart.notNull(s.contains(value)); | |
33 if (dart.notNull(shouldAdd)) { | |
34 s.add(value); | |
35 result = true; | |
36 } else { | |
37 s.remove(value); | |
38 } | |
39 this.writeClasses(s); | |
40 return result; | |
41 } | |
42 get frozen() { | |
43 return false; | |
44 } | |
45 get iterator() { | |
46 return this.readClasses().iterator; | |
47 } | |
48 [Symbol.iterator]() { | |
49 return new dart.JsIterator(this.iterator); | |
50 } | |
51 forEach(f) { | |
52 this.readClasses().forEach(f); | |
53 } | |
54 join(separator) { | |
55 if (separator === void 0) separator = ""; | |
56 return this.readClasses().join(separator); | |
57 } | |
58 map(f) { | |
59 return this.readClasses().map(f); | |
60 } | |
61 where(f) { | |
62 return this.readClasses().where(f); | |
63 } | |
64 expand(f) { | |
65 return this.readClasses().expand(f); | |
66 } | |
67 every(f) { | |
68 return this.readClasses().every(f); | |
69 } | |
70 any(f) { | |
71 return this.readClasses().any(f); | |
72 } | |
73 get isEmpty() { | |
74 return this.readClasses().isEmpty; | |
75 } | |
76 get isNotEmpty() { | |
77 return this.readClasses().isNotEmpty; | |
78 } | |
79 get length() { | |
80 return this.readClasses().length; | |
81 } | |
82 reduce(combine) { | |
83 return this.readClasses().reduce(combine); | |
84 } | |
85 fold(initialValue, combine) { | |
86 return this.readClasses().fold(initialValue, combine); | |
87 } | |
88 contains(value) { | |
89 if (!(typeof value == 'string')) return false; | |
90 this[_validateToken](dart.as(value, core.String)); | |
91 return this.readClasses().contains(value); | |
92 } | |
93 lookup(value) { | |
94 return dart.as(dart.notNull(this.contains(value)) ? value : null, core.Str
ing); | |
95 } | |
96 add(value) { | |
97 this[_validateToken](value); | |
98 return dart.as(this.modify(dart.fn(s => s.add(value), core.bool, [core.Set
$(core.String)])), core.bool); | |
99 } | |
100 remove(value) { | |
101 this[_validateToken](dart.as(value, core.String)); | |
102 if (!(typeof value == 'string')) return false; | |
103 let s = this.readClasses(); | |
104 let result = s.remove(value); | |
105 this.writeClasses(s); | |
106 return result; | |
107 } | |
108 addAll(iterable) { | |
109 this.modify(dart.fn(s => s.addAll(iterable[dartx.map](dart.bind(this, _val
idateToken))), dart.void, [core.Set$(core.String)])); | |
110 } | |
111 removeAll(iterable) { | |
112 this.modify(dart.fn(s => s.removeAll(iterable[dartx.map](dart.as(dart.bind
(this, _validateToken), dart.functionType(core.String, [core.Object])))), dart.v
oid, [core.Set$(core.String)])); | |
113 } | |
114 toggleAll(iterable, shouldAdd) { | |
115 if (shouldAdd === void 0) shouldAdd = null; | |
116 iterable[dartx.forEach](dart.fn(e => this.toggle(e, shouldAdd), core.bool,
[core.String])); | |
117 } | |
118 retainAll(iterable) { | |
119 this.modify(dart.fn(s => s.retainAll(iterable), dart.void, [core.Set$(core
.String)])); | |
120 } | |
121 removeWhere(test) { | |
122 this.modify(dart.fn(s => s.removeWhere(test), dart.void, [core.Set$(core.S
tring)])); | |
123 } | |
124 retainWhere(test) { | |
125 this.modify(dart.fn(s => s.retainWhere(test), dart.void, [core.Set$(core.S
tring)])); | |
126 } | |
127 containsAll(collection) { | |
128 return this.readClasses().containsAll(collection); | |
129 } | |
130 intersection(other) { | |
131 return this.readClasses().intersection(other); | |
132 } | |
133 union(other) { | |
134 return this.readClasses().union(other); | |
135 } | |
136 difference(other) { | |
137 return this.readClasses().difference(other); | |
138 } | |
139 get first() { | |
140 return this.readClasses().first; | |
141 } | |
142 get last() { | |
143 return this.readClasses().last; | |
144 } | |
145 get single() { | |
146 return this.readClasses().single; | |
147 } | |
148 toList(opts) { | |
149 let growable = opts && 'growable' in opts ? opts.growable : true; | |
150 return this.readClasses().toList({growable: growable}); | |
151 } | |
152 toSet() { | |
153 return this.readClasses().toSet(); | |
154 } | |
155 take(n) { | |
156 return this.readClasses().take(n); | |
157 } | |
158 takeWhile(test) { | |
159 return this.readClasses().takeWhile(test); | |
160 } | |
161 skip(n) { | |
162 return this.readClasses().skip(n); | |
163 } | |
164 skipWhile(test) { | |
165 return this.readClasses().skipWhile(test); | |
166 } | |
167 firstWhere(test, opts) { | |
168 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | |
169 return this.readClasses().firstWhere(test, {orElse: orElse}); | |
170 } | |
171 lastWhere(test, opts) { | |
172 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | |
173 return this.readClasses().lastWhere(test, {orElse: orElse}); | |
174 } | |
175 singleWhere(test) { | |
176 return this.readClasses().singleWhere(test); | |
177 } | |
178 elementAt(index) { | |
179 return this.readClasses().elementAt(index); | |
180 } | |
181 clear() { | |
182 this.modify(dart.fn(s => s.clear(), dart.void, [core.Set$(core.String)])); | |
183 } | |
184 modify(f) { | |
185 let s = this.readClasses(); | |
186 let ret = f(s); | |
187 this.writeClasses(s); | |
188 return ret; | |
189 } | |
190 } | |
191 CssClassSetImpl[dart.implements] = () => [html.CssClassSet]; | |
192 dart.setSignature(CssClassSetImpl, { | |
193 methods: () => ({ | |
194 [_validateToken]: [core.String, [core.String]], | |
195 toggle: [core.bool, [core.String], [core.bool]], | |
196 forEach: [dart.void, [dart.functionType(dart.void, [core.String])]], | |
197 join: [core.String, [], [core.String]], | |
198 map: [core.Iterable, [dart.functionType(dart.dynamic, [core.String])]], | |
199 where: [core.Iterable$(core.String), [dart.functionType(core.bool, [core.S
tring])]], | |
200 expand: [core.Iterable, [dart.functionType(core.Iterable, [core.String])]]
, | |
201 every: [core.bool, [dart.functionType(core.bool, [core.String])]], | |
202 any: [core.bool, [dart.functionType(core.bool, [core.String])]], | |
203 reduce: [core.String, [dart.functionType(core.String, [core.String, core.S
tring])]], | |
204 fold: [dart.dynamic, [dart.dynamic, dart.functionType(dart.dynamic, [dart.
dynamic, core.String])]], | |
205 contains: [core.bool, [core.Object]], | |
206 lookup: [core.String, [core.Object]], | |
207 add: [core.bool, [core.String]], | |
208 remove: [core.bool, [core.Object]], | |
209 addAll: [dart.void, [core.Iterable$(core.String)]], | |
210 removeAll: [dart.void, [core.Iterable$(core.Object)]], | |
211 toggleAll: [dart.void, [core.Iterable$(core.String)], [core.bool]], | |
212 retainAll: [dart.void, [core.Iterable$(core.Object)]], | |
213 removeWhere: [dart.void, [dart.functionType(core.bool, [core.String])]], | |
214 retainWhere: [dart.void, [dart.functionType(core.bool, [core.String])]], | |
215 containsAll: [core.bool, [core.Iterable$(core.Object)]], | |
216 intersection: [core.Set$(core.String), [core.Set$(core.Object)]], | |
217 union: [core.Set$(core.String), [core.Set$(core.String)]], | |
218 difference: [core.Set$(core.String), [core.Set$(core.String)]], | |
219 toList: [core.List$(core.String), [], {growable: core.bool}], | |
220 toSet: [core.Set$(core.String), []], | |
221 take: [core.Iterable$(core.String), [core.int]], | |
222 takeWhile: [core.Iterable$(core.String), [dart.functionType(core.bool, [co
re.String])]], | |
223 skip: [core.Iterable$(core.String), [core.int]], | |
224 skipWhile: [core.Iterable$(core.String), [dart.functionType(core.bool, [co
re.String])]], | |
225 firstWhere: [core.String, [dart.functionType(core.bool, [core.String])], {
orElse: dart.functionType(core.String, [])}], | |
226 lastWhere: [core.String, [dart.functionType(core.bool, [core.String])], {o
rElse: dart.functionType(core.String, [])}], | |
227 singleWhere: [core.String, [dart.functionType(core.bool, [core.String])]], | |
228 elementAt: [core.String, [core.int]], | |
229 clear: [dart.void, []], | |
230 modify: [dart.dynamic, [dart.functionType(dart.dynamic, [core.Set$(core.St
ring)])]] | |
231 }) | |
232 }); | |
233 dart.defineExtensionMembers(CssClassSetImpl, [ | |
234 'forEach', | |
235 'join', | |
236 'map', | |
237 'where', | |
238 'expand', | |
239 'every', | |
240 'any', | |
241 'reduce', | |
242 'fold', | |
243 'contains', | |
244 'toList', | |
245 'toSet', | |
246 'take', | |
247 'takeWhile', | |
248 'skip', | |
249 'skipWhile', | |
250 'firstWhere', | |
251 'lastWhere', | |
252 'singleWhere', | |
253 'elementAt', | |
254 'iterator', | |
255 'isEmpty', | |
256 'isNotEmpty', | |
257 'length', | |
258 'first', | |
259 'last', | |
260 'single' | |
261 ]); | |
262 dart.defineLazyProperties(CssClassSetImpl, { | |
263 get _validTokenRE() { | |
264 return core.RegExp.new('^\\S+$'); | |
265 } | |
266 }); | |
267 function convertDartToNative_SerializedScriptValue(value) { | |
268 return convertDartToNative_PrepareForStructuredClone(value); | |
269 } | |
270 dart.fn(convertDartToNative_SerializedScriptValue); | |
271 function convertNativeToDart_SerializedScriptValue(object) { | |
272 return convertNativeToDart_AcceptStructuredClone(object, {mustCopy: true}); | |
273 } | |
274 dart.fn(convertNativeToDart_SerializedScriptValue); | |
275 class _StructuredClone extends core.Object { | |
276 _StructuredClone() { | |
277 this.values = []; | |
278 this.copies = []; | |
279 } | |
280 findSlot(value) { | |
281 let length = this.values[dartx.length]; | |
282 for (let i = 0; i < dart.notNull(length); i++) { | |
283 if (core.identical(this.values[dartx.get](i), value)) return i; | |
284 } | |
285 this.values[dartx.add](value); | |
286 this.copies[dartx.add](null); | |
287 return length; | |
288 } | |
289 readSlot(i) { | |
290 return this.copies[dartx.get](i); | |
291 } | |
292 writeSlot(i, x) { | |
293 this.copies[dartx.set](i, x); | |
294 } | |
295 cleanupSlots() {} | |
296 walk(e) { | |
297 if (e == null) return e; | |
298 if (typeof e == 'boolean') return e; | |
299 if (typeof e == 'number') return e; | |
300 if (typeof e == 'string') return e; | |
301 if (dart.is(e, core.DateTime)) { | |
302 return convertDartToNative_DateTime(e); | |
303 } | |
304 if (dart.is(e, core.RegExp)) { | |
305 dart.throw(new core.UnimplementedError('structured clone of RegExp')); | |
306 } | |
307 if (dart.is(e, html.File)) return e; | |
308 if (dart.is(e, html.Blob)) return e; | |
309 if (dart.is(e, html.FileList)) return e; | |
310 if (dart.is(e, html.ImageData)) return e; | |
311 if (dart.notNull(this.cloneNotRequired(e))) return e; | |
312 if (dart.is(e, core.Map)) { | |
313 let slot = this.findSlot(e); | |
314 let copy = this.readSlot(slot); | |
315 if (copy != null) return copy; | |
316 copy = this.newJsMap(); | |
317 this.writeSlot(slot, copy); | |
318 e[dartx.forEach](dart.fn((key, value) => { | |
319 this.putIntoMap(copy, key, this.walk(value)); | |
320 }, dart.void, [dart.dynamic, dart.dynamic])); | |
321 return copy; | |
322 } | |
323 if (dart.is(e, core.List)) { | |
324 let slot = this.findSlot(e); | |
325 let copy = this.readSlot(slot); | |
326 if (copy != null) return copy; | |
327 copy = this.copyList(e, slot); | |
328 return copy; | |
329 } | |
330 dart.throw(new core.UnimplementedError('structured clone of other type')); | |
331 } | |
332 copyList(e, slot) { | |
333 let i = 0; | |
334 let length = e[dartx.length]; | |
335 let copy = this.newJsList(length); | |
336 this.writeSlot(slot, copy); | |
337 for (; i < dart.notNull(length); i++) { | |
338 dart.dsetindex(copy, i, this.walk(e[dartx.get](i))); | |
339 } | |
340 return copy; | |
341 } | |
342 convertDartToNative_PrepareForStructuredClone(value) { | |
343 let copy = this.walk(value); | |
344 this.cleanupSlots(); | |
345 return copy; | |
346 } | |
347 } | |
348 dart.setSignature(_StructuredClone, { | |
349 methods: () => ({ | |
350 findSlot: [core.int, [dart.dynamic]], | |
351 readSlot: [dart.dynamic, [core.int]], | |
352 writeSlot: [dart.dynamic, [core.int, dart.dynamic]], | |
353 cleanupSlots: [dart.dynamic, []], | |
354 walk: [dart.dynamic, [dart.dynamic]], | |
355 copyList: [dart.dynamic, [core.List, core.int]], | |
356 convertDartToNative_PrepareForStructuredClone: [dart.dynamic, [dart.dynami
c]] | |
357 }) | |
358 }); | |
359 class _AcceptStructuredClone extends core.Object { | |
360 _AcceptStructuredClone() { | |
361 this.values = []; | |
362 this.copies = []; | |
363 this.mustCopy = false; | |
364 } | |
365 findSlot(value) { | |
366 let length = this.values[dartx.length]; | |
367 for (let i = 0; i < dart.notNull(length); i++) { | |
368 if (dart.notNull(this.identicalInJs(this.values[dartx.get](i), value)))
return i; | |
369 } | |
370 this.values[dartx.add](value); | |
371 this.copies[dartx.add](null); | |
372 return length; | |
373 } | |
374 readSlot(i) { | |
375 return this.copies[dartx.get](i); | |
376 } | |
377 writeSlot(i, x) { | |
378 this.copies[dartx.set](i, x); | |
379 } | |
380 walk(e) { | |
381 if (e == null) return e; | |
382 if (typeof e == 'boolean') return e; | |
383 if (typeof e == 'number') return e; | |
384 if (typeof e == 'string') return e; | |
385 if (dart.notNull(isJavaScriptDate(e))) { | |
386 return convertNativeToDart_DateTime(e); | |
387 } | |
388 if (dart.notNull(isJavaScriptRegExp(e))) { | |
389 dart.throw(new core.UnimplementedError('structured clone of RegExp')); | |
390 } | |
391 if (dart.notNull(isJavaScriptPromise(e))) { | |
392 return convertNativePromiseToDartFuture(e); | |
393 } | |
394 if (dart.notNull(isJavaScriptSimpleObject(e))) { | |
395 let slot = this.findSlot(e); | |
396 let copy = this.readSlot(slot); | |
397 if (copy != null) return copy; | |
398 copy = dart.map(); | |
399 this.writeSlot(slot, copy); | |
400 this.forEachJsField(e, dart.fn((key, value) => dart.dsetindex(copy, key,
this.walk(value)))); | |
401 return copy; | |
402 } | |
403 if (dart.notNull(isJavaScriptArray(e))) { | |
404 let slot = this.findSlot(e); | |
405 let copy = this.readSlot(slot); | |
406 if (copy != null) return copy; | |
407 let length = dart.as(dart.dload(e, 'length'), core.int); | |
408 copy = dart.notNull(this.mustCopy) ? this.newDartList(length) : e; | |
409 this.writeSlot(slot, copy); | |
410 for (let i = 0; i < dart.notNull(length); i++) { | |
411 dart.dsetindex(copy, i, this.walk(dart.dindex(e, i))); | |
412 } | |
413 return copy; | |
414 } | |
415 return e; | |
416 } | |
417 convertNativeToDart_AcceptStructuredClone(object, opts) { | |
418 let mustCopy = opts && 'mustCopy' in opts ? opts.mustCopy : false; | |
419 this.mustCopy = dart.as(mustCopy, core.bool); | |
420 let copy = this.walk(object); | |
421 return copy; | |
422 } | |
423 } | |
424 dart.setSignature(_AcceptStructuredClone, { | |
425 methods: () => ({ | |
426 findSlot: [core.int, [dart.dynamic]], | |
427 readSlot: [dart.dynamic, [core.int]], | |
428 writeSlot: [dart.dynamic, [core.int, dart.dynamic]], | |
429 walk: [dart.dynamic, [dart.dynamic]], | |
430 convertNativeToDart_AcceptStructuredClone: [dart.dynamic, [dart.dynamic],
{mustCopy: dart.dynamic}] | |
431 }) | |
432 }); | |
433 class _TypedContextAttributes extends core.Object { | |
434 _TypedContextAttributes(alpha, antialias, depth, failIfMajorPerformanceCavea
t, premultipliedAlpha, preserveDrawingBuffer, stencil) { | |
435 this.alpha = alpha; | |
436 this.antialias = antialias; | |
437 this.depth = depth; | |
438 this.failIfMajorPerformanceCaveat = failIfMajorPerformanceCaveat; | |
439 this.premultipliedAlpha = premultipliedAlpha; | |
440 this.preserveDrawingBuffer = preserveDrawingBuffer; | |
441 this.stencil = stencil; | |
442 } | |
443 } | |
444 _TypedContextAttributes[dart.implements] = () => [web_gl.ContextAttributes]; | |
445 dart.setSignature(_TypedContextAttributes, { | |
446 constructors: () => ({_TypedContextAttributes: [_TypedContextAttributes, [co
re.bool, core.bool, core.bool, core.bool, core.bool, core.bool, core.bool]]}) | |
447 }); | |
448 dart.defineExtensionMembers(_TypedContextAttributes, [ | |
449 'alpha', | |
450 'alpha', | |
451 'antialias', | |
452 'antialias', | |
453 'depth', | |
454 'depth', | |
455 'premultipliedAlpha', | |
456 'premultipliedAlpha', | |
457 'preserveDrawingBuffer', | |
458 'preserveDrawingBuffer', | |
459 'stencil', | |
460 'stencil', | |
461 'failIfMajorPerformanceCaveat', | |
462 'failIfMajorPerformanceCaveat' | |
463 ]); | |
464 function convertNativeToDart_ContextAttributes(nativeContextAttributes) { | |
465 if (dart.is(nativeContextAttributes, web_gl.ContextAttributes)) { | |
466 return nativeContextAttributes; | |
467 } | |
468 return new _TypedContextAttributes(dart.as(nativeContextAttributes.alpha, co
re.bool), dart.as(nativeContextAttributes.antialias, core.bool), dart.as(nativeC
ontextAttributes.depth, core.bool), dart.as(nativeContextAttributes.failIfMajorP
erformanceCaveat, core.bool), dart.as(nativeContextAttributes.premultipliedAlpha
, core.bool), dart.as(nativeContextAttributes.preserveDrawingBuffer, core.bool),
dart.as(nativeContextAttributes.stencil, core.bool)); | |
469 } | |
470 dart.fn(convertNativeToDart_ContextAttributes, () => dart.definiteFunctionType
(web_gl.ContextAttributes, [dart.dynamic])); | |
471 class _TypedImageData extends core.Object { | |
472 _TypedImageData(data, height, width) { | |
473 this.data = data; | |
474 this.height = height; | |
475 this.width = width; | |
476 } | |
477 } | |
478 _TypedImageData[dart.implements] = () => [html.ImageData]; | |
479 dart.setSignature(_TypedImageData, { | |
480 constructors: () => ({_TypedImageData: [_TypedImageData, [typed_data.Uint8Cl
ampedList, core.int, core.int]]}) | |
481 }); | |
482 dart.defineExtensionMembers(_TypedImageData, ['data', 'height', 'width']); | |
483 function convertNativeToDart_ImageData(nativeImageData) { | |
484 0; | |
485 if (dart.is(nativeImageData, html.ImageData)) { | |
486 let data = nativeImageData[dartx.data]; | |
487 if (data.constructor === Array) { | |
488 if (typeof CanvasPixelArray !== "undefined") { | |
489 data.constructor = CanvasPixelArray; | |
490 data.BYTES_PER_ELEMENT = 1; | |
491 } | |
492 } | |
493 return nativeImageData; | |
494 } | |
495 return new _TypedImageData(dart.as(nativeImageData.data, typed_data.Uint8Cla
mpedList), dart.as(nativeImageData.height, core.int), dart.as(nativeImageData.wi
dth, core.int)); | |
496 } | |
497 dart.fn(convertNativeToDart_ImageData, html.ImageData, [dart.dynamic]); | |
498 function convertDartToNative_ImageData(imageData) { | |
499 if (dart.is(imageData, _TypedImageData)) { | |
500 return {data: imageData.data, height: imageData.height, width: imageData.w
idth}; | |
501 } | |
502 return imageData; | |
503 } | |
504 dart.fn(convertDartToNative_ImageData, dart.dynamic, [html.ImageData]); | |
505 const _serializedScriptValue = 'num|String|bool|' + 'JSExtendableArray|=Object
|' + 'Blob|File|NativeByteBuffer|NativeTypedData'; | |
506 const annotation_Creates_SerializedScriptValue = dart.const(new _js_helper.Cre
ates(_serializedScriptValue)); | |
507 const annotation_Returns_SerializedScriptValue = dart.const(new _js_helper.Ret
urns(_serializedScriptValue)); | |
508 function convertNativeToDart_Dictionary(object) { | |
509 if (object == null) return null; | |
510 let dict = dart.map(); | |
511 let keys = Object.getOwnPropertyNames(object); | |
512 for (let key of dart.as(keys, core.Iterable)) { | |
513 dict[dartx.set](key, object[key]); | |
514 } | |
515 return dict; | |
516 } | |
517 dart.fn(convertNativeToDart_Dictionary, core.Map, [dart.dynamic]); | |
518 function convertDartToNative_Dictionary(dict, postCreate) { | |
519 if (postCreate === void 0) postCreate = null; | |
520 if (dict == null) return null; | |
521 let object = {}; | |
522 if (postCreate != null) { | |
523 dart.dcall(postCreate, object); | |
524 } | |
525 dict[dartx.forEach](dart.fn((key, value) => { | |
526 object[key] = value; | |
527 }, dart.void, [core.String, dart.dynamic])); | |
528 return object; | |
529 } | |
530 dart.fn(convertDartToNative_Dictionary, dart.dynamic, [core.Map], [dart.functi
onType(dart.void, [dart.dynamic])]); | |
531 function convertDartToNative_StringArray(input) { | |
532 return input; | |
533 } | |
534 dart.fn(convertDartToNative_StringArray, core.List, [core.List$(core.String)])
; | |
535 function convertNativeToDart_DateTime(date) { | |
536 let millisSinceEpoch = date.getTime(); | |
537 return new core.DateTime.fromMillisecondsSinceEpoch(millisSinceEpoch, {isUtc
: true}); | |
538 } | |
539 dart.fn(convertNativeToDart_DateTime, core.DateTime, [dart.dynamic]); | |
540 function convertDartToNative_DateTime(date) { | |
541 return new Date(date.millisecondsSinceEpoch); | |
542 } | |
543 dart.fn(convertDartToNative_DateTime, dart.dynamic, [core.DateTime]); | |
544 function convertDartToNative_PrepareForStructuredClone(value) { | |
545 return new _StructuredCloneDart2Js().convertDartToNative_PrepareForStructure
dClone(value); | |
546 } | |
547 dart.fn(convertDartToNative_PrepareForStructuredClone); | |
548 function convertNativeToDart_AcceptStructuredClone(object, opts) { | |
549 let mustCopy = opts && 'mustCopy' in opts ? opts.mustCopy : false; | |
550 return new _AcceptStructuredCloneDart2Js().convertNativeToDart_AcceptStructu
redClone(object, {mustCopy: mustCopy}); | |
551 } | |
552 dart.fn(convertNativeToDart_AcceptStructuredClone, dart.dynamic, [dart.dynamic
], {mustCopy: dart.dynamic}); | |
553 class _StructuredCloneDart2Js extends _StructuredClone { | |
554 _StructuredCloneDart2Js() { | |
555 super._StructuredClone(); | |
556 } | |
557 newJsMap() { | |
558 return {}; | |
559 } | |
560 putIntoMap(map, key, value) { | |
561 return map[key] = value; | |
562 } | |
563 newJsList(length) { | |
564 return new Array(length); | |
565 } | |
566 cloneNotRequired(e) { | |
567 return dart.is(e, _native_typed_data.NativeByteBuffer) || dart.is(e, _nati
ve_typed_data.NativeTypedData); | |
568 } | |
569 } | |
570 dart.setSignature(_StructuredCloneDart2Js, { | |
571 methods: () => ({ | |
572 newJsMap: [dart.dynamic, []], | |
573 putIntoMap: [dart.void, [dart.dynamic, dart.dynamic, dart.dynamic]], | |
574 newJsList: [dart.dynamic, [dart.dynamic]], | |
575 cloneNotRequired: [core.bool, [dart.dynamic]] | |
576 }) | |
577 }); | |
578 class _AcceptStructuredCloneDart2Js extends _AcceptStructuredClone { | |
579 _AcceptStructuredCloneDart2Js() { | |
580 super._AcceptStructuredClone(); | |
581 } | |
582 newJsList(length) { | |
583 return new Array(length); | |
584 } | |
585 newDartList(length) { | |
586 return this.newJsList(length); | |
587 } | |
588 identicalInJs(a, b) { | |
589 return core.identical(a, b); | |
590 } | |
591 forEachJsField(object, action) { | |
592 for (let key of dart.as(Object.keys(object), core.Iterable)) { | |
593 dart.dcall(action, key, object[key]); | |
594 } | |
595 } | |
596 } | |
597 dart.setSignature(_AcceptStructuredCloneDart2Js, { | |
598 methods: () => ({ | |
599 newJsList: [dart.dynamic, [dart.dynamic]], | |
600 newDartList: [dart.dynamic, [dart.dynamic]], | |
601 identicalInJs: [core.bool, [dart.dynamic, dart.dynamic]], | |
602 forEachJsField: [dart.void, [dart.dynamic, dart.dynamic]] | |
603 }) | |
604 }); | |
605 function isJavaScriptDate(value) { | |
606 return value instanceof Date; | |
607 } | |
608 dart.fn(isJavaScriptDate, core.bool, [dart.dynamic]); | |
609 function isJavaScriptRegExp(value) { | |
610 return value instanceof RegExp; | |
611 } | |
612 dart.fn(isJavaScriptRegExp, core.bool, [dart.dynamic]); | |
613 function isJavaScriptArray(value) { | |
614 return value instanceof Array; | |
615 } | |
616 dart.fn(isJavaScriptArray, core.bool, [dart.dynamic]); | |
617 function isJavaScriptSimpleObject(value) { | |
618 let proto = Object.getPrototypeOf(value); | |
619 return proto === Object.prototype || proto === null; | |
620 } | |
621 dart.fn(isJavaScriptSimpleObject, core.bool, [dart.dynamic]); | |
622 function isImmutableJavaScriptArray(value) { | |
623 return !!value.immutable$list; | |
624 } | |
625 dart.fn(isImmutableJavaScriptArray, core.bool, [dart.dynamic]); | |
626 function isJavaScriptPromise(value) { | |
627 return typeof Promise != "undefined" && value instanceof Promise; | |
628 } | |
629 dart.fn(isJavaScriptPromise, core.bool, [dart.dynamic]); | |
630 function convertNativePromiseToDartFuture(promise) { | |
631 let completer = async.Completer.new(); | |
632 let then = dart.dcall(/* Unimplemented unknown name */convertDartClosureToJS
, dart.fn(result => completer.complete(result), dart.void, [dart.dynamic]), 1); | |
633 let error = dart.dcall(/* Unimplemented unknown name */convertDartClosureToJ
S, dart.fn(result => completer.completeError(result), dart.void, [dart.dynamic])
, 1); | |
634 let newPromise = promise.then(then).catch(error); | |
635 return completer.future; | |
636 } | |
637 dart.fn(convertNativePromiseToDartFuture, async.Future, [dart.dynamic]); | |
638 function wrap_jso(jsObject) { | |
639 return jsObject; | |
640 } | |
641 dart.fn(wrap_jso); | |
642 function unwrap_jso(dartClass_instance) { | |
643 return dartClass_instance; | |
644 } | |
645 dart.fn(unwrap_jso); | |
646 class Device extends core.Object { | |
647 static get userAgent() { | |
648 return html.window[dartx.navigator][dartx.userAgent]; | |
649 } | |
650 static get isOpera() { | |
651 if (Device._isOpera == null) { | |
652 Device._isOpera = Device.userAgent[dartx.contains]("Opera", 0); | |
653 } | |
654 return Device._isOpera; | |
655 } | |
656 static get isIE() { | |
657 if (Device._isIE == null) { | |
658 Device._isIE = !dart.notNull(Device.isOpera) && dart.notNull(Device.user
Agent[dartx.contains]("Trident/", 0)); | |
659 } | |
660 return Device._isIE; | |
661 } | |
662 static get isFirefox() { | |
663 if (Device._isFirefox == null) { | |
664 Device._isFirefox = Device.userAgent[dartx.contains]("Firefox", 0); | |
665 } | |
666 return Device._isFirefox; | |
667 } | |
668 static get isWebKit() { | |
669 if (Device._isWebKit == null) { | |
670 Device._isWebKit = !dart.notNull(Device.isOpera) && dart.notNull(Device.
userAgent[dartx.contains]("WebKit", 0)); | |
671 } | |
672 return Device._isWebKit; | |
673 } | |
674 static get cssPrefix() { | |
675 let prefix = Device._cachedCssPrefix; | |
676 if (prefix != null) return prefix; | |
677 if (dart.notNull(Device.isFirefox)) { | |
678 prefix = '-moz-'; | |
679 } else if (dart.notNull(Device.isIE)) { | |
680 prefix = '-ms-'; | |
681 } else if (dart.notNull(Device.isOpera)) { | |
682 prefix = '-o-'; | |
683 } else { | |
684 prefix = '-webkit-'; | |
685 } | |
686 return Device._cachedCssPrefix = prefix; | |
687 } | |
688 static get propertyPrefix() { | |
689 let prefix = Device._cachedPropertyPrefix; | |
690 if (prefix != null) return prefix; | |
691 if (dart.notNull(Device.isFirefox)) { | |
692 prefix = 'moz'; | |
693 } else if (dart.notNull(Device.isIE)) { | |
694 prefix = 'ms'; | |
695 } else if (dart.notNull(Device.isOpera)) { | |
696 prefix = 'o'; | |
697 } else { | |
698 prefix = 'webkit'; | |
699 } | |
700 return Device._cachedPropertyPrefix = prefix; | |
701 } | |
702 static isEventTypeSupported(eventType) { | |
703 try { | |
704 let e = html.Event.eventType(eventType, ''); | |
705 return dart.is(e, html.Event); | |
706 } catch (_) { | |
707 } | |
708 | |
709 return false; | |
710 } | |
711 } | |
712 dart.setSignature(Device, { | |
713 statics: () => ({isEventTypeSupported: [core.bool, [core.String]]}), | |
714 names: ['isEventTypeSupported'] | |
715 }); | |
716 Device._isOpera = null; | |
717 Device._isIE = null; | |
718 Device._isFirefox = null; | |
719 Device._isWebKit = null; | |
720 Device._cachedCssPrefix = null; | |
721 Device._cachedPropertyPrefix = null; | |
722 const _childNodes = Symbol('_childNodes'); | |
723 const _node = Symbol('_node'); | |
724 const _iterable = Symbol('_iterable'); | |
725 const _filtered = Symbol('_filtered'); | |
726 class FilteredElementList extends collection.ListBase$(html.Element) { | |
727 FilteredElementList(node) { | |
728 this[_childNodes] = node[dartx.nodes]; | |
729 this[_node] = node; | |
730 } | |
731 get [_iterable]() { | |
732 return new (_internal.WhereIterable$(html.Element))(this[_childNodes], dar
t.fn(n => dart.is(n, html.Element), core.bool, [html.Element])); | |
733 } | |
734 get [_filtered]() { | |
735 return core.List$(html.Element).from(this[_iterable], {growable: false}); | |
736 } | |
737 forEach(f) { | |
738 this[_filtered][dartx.forEach](f); | |
739 } | |
740 set(index, value) { | |
741 this.get(index)[dartx.replaceWith](value); | |
742 return value; | |
743 } | |
744 set length(newLength) { | |
745 let len = this.length; | |
746 if (dart.notNull(newLength) >= dart.notNull(len)) { | |
747 return; | |
748 } else if (dart.notNull(newLength) < 0) { | |
749 dart.throw(new core.ArgumentError("Invalid list length")); | |
750 } | |
751 this.removeRange(newLength, len); | |
752 } | |
753 add(value) { | |
754 this[_childNodes][dartx.add](value); | |
755 } | |
756 addAll(iterable) { | |
757 for (let element of iterable) { | |
758 this.add(element); | |
759 } | |
760 } | |
761 contains(needle) { | |
762 if (!dart.is(needle, html.Element)) return false; | |
763 let element = dart.as(needle, html.Element); | |
764 return dart.equals(element[dartx.parentNode], this[_node]); | |
765 } | |
766 get reversed() { | |
767 return this[_filtered][dartx.reversed]; | |
768 } | |
769 sort(compare) { | |
770 if (compare === void 0) compare = null; | |
771 dart.throw(new core.UnsupportedError('Cannot sort filtered list')); | |
772 } | |
773 setRange(start, end, iterable, skipCount) { | |
774 if (skipCount === void 0) skipCount = 0; | |
775 dart.throw(new core.UnsupportedError('Cannot setRange on filtered list')); | |
776 } | |
777 fillRange(start, end, fillValue) { | |
778 if (fillValue === void 0) fillValue = null; | |
779 dart.throw(new core.UnsupportedError('Cannot fillRange on filtered list'))
; | |
780 } | |
781 replaceRange(start, end, iterable) { | |
782 dart.throw(new core.UnsupportedError('Cannot replaceRange on filtered list
')); | |
783 } | |
784 removeRange(start, end) { | |
785 core.List.from(this[_iterable][dartx.skip](start)[dartx.take](dart.notNull
(end) - dart.notNull(start)))[dartx.forEach](dart.fn(el => dart.dsend(el, 'remov
e'), dart.void, [dart.dynamic])); | |
786 } | |
787 clear() { | |
788 this[_childNodes][dartx.clear](); | |
789 } | |
790 removeLast() { | |
791 let result = this[_iterable][dartx.last]; | |
792 if (result != null) { | |
793 result[dartx.remove](); | |
794 } | |
795 return result; | |
796 } | |
797 insert(index, value) { | |
798 if (index == this.length) { | |
799 this.add(value); | |
800 } else { | |
801 let element = this[_iterable][dartx.elementAt](index); | |
802 element[dartx.parentNode][dartx.insertBefore](value, element); | |
803 } | |
804 } | |
805 insertAll(index, iterable) { | |
806 if (index == this.length) { | |
807 this.addAll(iterable); | |
808 } else { | |
809 let element = this[_iterable][dartx.elementAt](index); | |
810 element[dartx.parentNode][dartx.insertAllBefore](iterable, element); | |
811 } | |
812 } | |
813 removeAt(index) { | |
814 let result = this.get(index); | |
815 result[dartx.remove](); | |
816 return result; | |
817 } | |
818 remove(element) { | |
819 if (!dart.is(element, html.Element)) return false; | |
820 if (dart.notNull(this.contains(element))) { | |
821 dart.as(element, html.Element)[dartx.remove](); | |
822 return true; | |
823 } else { | |
824 return false; | |
825 } | |
826 } | |
827 get length() { | |
828 return this[_iterable][dartx.length]; | |
829 } | |
830 get(index) { | |
831 return this[_iterable][dartx.elementAt](index); | |
832 } | |
833 get iterator() { | |
834 return this[_filtered][dartx.iterator]; | |
835 } | |
836 get rawList() { | |
837 return this[_node][dartx.childNodes]; | |
838 } | |
839 } | |
840 FilteredElementList[dart.implements] = () => [NodeListWrapper]; | |
841 dart.setSignature(FilteredElementList, { | |
842 constructors: () => ({FilteredElementList: [FilteredElementList, [html.Node]
]}), | |
843 methods: () => ({ | |
844 forEach: [dart.void, [dart.functionType(dart.void, [html.Element])]], | |
845 set: [dart.void, [core.int, html.Element]], | |
846 add: [dart.void, [html.Element]], | |
847 addAll: [dart.void, [core.Iterable$(html.Element)]], | |
848 sort: [dart.void, [], [dart.functionType(core.int, [html.Element, html.Ele
ment])]], | |
849 setRange: [dart.void, [core.int, core.int, core.Iterable$(html.Element)],
[core.int]], | |
850 fillRange: [dart.void, [core.int, core.int], [html.Element]], | |
851 replaceRange: [dart.void, [core.int, core.int, core.Iterable$(html.Element
)]], | |
852 removeLast: [html.Element, []], | |
853 insert: [dart.void, [core.int, html.Element]], | |
854 insertAll: [dart.void, [core.int, core.Iterable$(html.Element)]], | |
855 removeAt: [html.Element, [core.int]], | |
856 get: [html.Element, [core.int]] | |
857 }) | |
858 }); | |
859 dart.defineExtensionMembers(FilteredElementList, [ | |
860 'forEach', | |
861 'set', | |
862 'add', | |
863 'addAll', | |
864 'contains', | |
865 'sort', | |
866 'setRange', | |
867 'fillRange', | |
868 'replaceRange', | |
869 'removeRange', | |
870 'clear', | |
871 'removeLast', | |
872 'insert', | |
873 'insertAll', | |
874 'removeAt', | |
875 'remove', | |
876 'get', | |
877 'length', | |
878 'reversed', | |
879 'length', | |
880 'iterator' | |
881 ]); | |
882 class Lists extends core.Object { | |
883 static indexOf(a, element, startIndex, endIndex) { | |
884 if (dart.notNull(startIndex) >= dart.notNull(a[dartx.length])) { | |
885 return -1; | |
886 } | |
887 if (dart.notNull(startIndex) < 0) { | |
888 startIndex = 0; | |
889 } | |
890 for (let i = startIndex; dart.notNull(i) < dart.notNull(endIndex); i = dar
t.notNull(i) + 1) { | |
891 if (dart.equals(a[dartx.get](i), element)) { | |
892 return i; | |
893 } | |
894 } | |
895 return -1; | |
896 } | |
897 static lastIndexOf(a, element, startIndex) { | |
898 if (dart.notNull(startIndex) < 0) { | |
899 return -1; | |
900 } | |
901 if (dart.notNull(startIndex) >= dart.notNull(a[dartx.length])) { | |
902 startIndex = dart.notNull(a[dartx.length]) - 1; | |
903 } | |
904 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) { | |
905 if (dart.equals(a[dartx.get](i), element)) { | |
906 return i; | |
907 } | |
908 } | |
909 return -1; | |
910 } | |
911 static getRange(a, start, end, accumulator) { | |
912 if (dart.notNull(start) < 0) dart.throw(new core.RangeError.value(start)); | |
913 if (dart.notNull(end) < dart.notNull(start)) dart.throw(new core.RangeErro
r.value(end)); | |
914 if (dart.notNull(end) > dart.notNull(a[dartx.length])) dart.throw(new core
.RangeError.value(end)); | |
915 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull(
i) + 1) { | |
916 accumulator[dartx.add](a[dartx.get](i)); | |
917 } | |
918 return accumulator; | |
919 } | |
920 } | |
921 dart.setSignature(Lists, { | |
922 statics: () => ({ | |
923 indexOf: [core.int, [core.List, core.Object, core.int, core.int]], | |
924 lastIndexOf: [core.int, [core.List, core.Object, core.int]], | |
925 getRange: [core.List, [core.List, core.int, core.int, core.List]] | |
926 }), | |
927 names: ['indexOf', 'lastIndexOf', 'getRange'] | |
928 }); | |
929 class NodeListWrapper extends core.Object {} | |
930 // Exports: | |
931 exports.CssClassSetImpl = CssClassSetImpl; | |
932 exports.convertDartToNative_SerializedScriptValue = convertDartToNative_Serial
izedScriptValue; | |
933 exports.convertNativeToDart_SerializedScriptValue = convertNativeToDart_Serial
izedScriptValue; | |
934 exports.convertNativeToDart_ContextAttributes = convertNativeToDart_ContextAtt
ributes; | |
935 exports.convertNativeToDart_ImageData = convertNativeToDart_ImageData; | |
936 exports.convertDartToNative_ImageData = convertDartToNative_ImageData; | |
937 exports.annotation_Creates_SerializedScriptValue = annotation_Creates_Serializ
edScriptValue; | |
938 exports.annotation_Returns_SerializedScriptValue = annotation_Returns_Serializ
edScriptValue; | |
939 exports.convertNativeToDart_Dictionary = convertNativeToDart_Dictionary; | |
940 exports.convertDartToNative_Dictionary = convertDartToNative_Dictionary; | |
941 exports.convertDartToNative_StringArray = convertDartToNative_StringArray; | |
942 exports.convertNativeToDart_DateTime = convertNativeToDart_DateTime; | |
943 exports.convertDartToNative_DateTime = convertDartToNative_DateTime; | |
944 exports.convertDartToNative_PrepareForStructuredClone = convertDartToNative_Pr
epareForStructuredClone; | |
945 exports.convertNativeToDart_AcceptStructuredClone = convertNativeToDart_Accept
StructuredClone; | |
946 exports.isJavaScriptDate = isJavaScriptDate; | |
947 exports.isJavaScriptRegExp = isJavaScriptRegExp; | |
948 exports.isJavaScriptArray = isJavaScriptArray; | |
949 exports.isJavaScriptSimpleObject = isJavaScriptSimpleObject; | |
950 exports.isImmutableJavaScriptArray = isImmutableJavaScriptArray; | |
951 exports.isJavaScriptPromise = isJavaScriptPromise; | |
952 exports.convertNativePromiseToDartFuture = convertNativePromiseToDartFuture; | |
953 exports.wrap_jso = wrap_jso; | |
954 exports.unwrap_jso = unwrap_jso; | |
955 exports.Device = Device; | |
956 exports.FilteredElementList = FilteredElementList; | |
957 exports.Lists = Lists; | |
958 exports.NodeListWrapper = NodeListWrapper; | |
959 }); | |
OLD | NEW |