@@ -19,7 +19,7 @@ JSObjectRepType _createObjectLiteral() =>
19
19
@pragma ('dart2js:prefer-inline' )
20
20
JSObject get globalContext => staticInteropGlobalContext as JSObject ;
21
21
22
- /// Helper for working with the [ JSAny?] top type in a backend agnostic way.
22
+ // Helper for working with the JSAny? top type in a backend agnostic way.
23
23
@patch
24
24
extension NullableUndefineableJSAnyExtension on JSAny ? {
25
25
@patch
@@ -53,15 +53,16 @@ extension JSAnyUtilityExtension on JSAny? {
53
53
Object ? dartify () => js_util.dartify (this );
54
54
}
55
55
56
- /// Utility extensions for [ Object?] .
56
+ // Utility extensions for Object?.
57
57
@patch
58
58
extension NullableObjectUtilExtension on Object ? {
59
59
@patch
60
60
@pragma ('dart2js:prefer-inline' )
61
61
JSAny ? jsify () => js_util.jsify (this );
62
62
}
63
63
64
- /// [JSExportedDartFunction] <-> [Function]
64
+ // -----------------------------------------------------------------------------
65
+ // JSExportedDartFunction <-> Function
65
66
@patch
66
67
extension JSExportedDartFunctionToFunction on JSExportedDartFunction {
67
68
// TODO(srujzs): We should unwrap rather than allow arbitrary JS functions
@@ -79,15 +80,16 @@ extension FunctionToJSExportedDartFunction on Function {
79
80
js_util.allowInterop (this ) as JSExportedDartFunction ;
80
81
}
81
82
82
- /// Embedded global property for wrapped Dart objects passed via JS interop.
83
- ///
84
- /// This is a Symbol so that different Dart applications don't share Dart
85
- /// objects from different Dart runtimes. We expect all [JSBoxedDartObject] s to
86
- /// have this Symbol.
83
+ // Embedded global property for wrapped Dart objects passed via JS interop.
84
+ //
85
+ // This is a Symbol so that different Dart applications don't share Dart
86
+ // objects from different Dart runtimes. We expect all JSBoxedDartObjects to
87
+ // have this Symbol.
87
88
final Object _jsBoxedDartObjectProperty =
88
89
foreign_helper.JS ('' , 'Symbol("jsBoxedDartObjectProperty")' );
89
90
90
- /// [JSBoxedDartObject] <-> [Object]
91
+ // -----------------------------------------------------------------------------
92
+ // JSBoxedDartObject <-> Object
91
93
@patch
92
94
extension JSBoxedDartObjectToObject on JSBoxedDartObject {
93
95
@patch
@@ -118,31 +120,34 @@ extension ObjectToJSBoxedDartObject on Object {
118
120
}
119
121
}
120
122
121
- /// [ExternalDartReference] <-> [Object]
123
+ // -----------------------------------------------------------------------------
124
+ // ExternalDartReference <-> T
122
125
@patch
123
- extension ExternalDartReferenceToObject on ExternalDartReference {
126
+ extension ExternalDartReferenceToObject <T extends Object ?>
127
+ on ExternalDartReference <T > {
124
128
@patch
125
129
@pragma ('dart2js:prefer-inline' )
126
- Object get toDartObject => this ;
130
+ T get toDartObject => _externalDartReference ;
127
131
}
128
132
129
133
@patch
130
- extension ObjectToExternalDartReference on Object {
134
+ extension ObjectToExternalDartReference < T extends Object ?> on T {
131
135
@patch
132
136
@pragma ('dart2js:prefer-inline' )
133
- ExternalDartReference get toExternalReference =>
134
- ExternalDartReference ._(this );
137
+ ExternalDartReference < T > get toExternalReference =>
138
+ ExternalDartReference < T > ._(this );
135
139
}
136
140
137
- /// [ JSPromise] -> [ Future] .
141
+ // JSPromise -> Future
138
142
@patch
139
143
extension JSPromiseToFuture <T extends JSAny ?> on JSPromise <T > {
140
144
@patch
141
145
@pragma ('dart2js:prefer-inline' )
142
146
Future <T > get toDart => js_util.promiseToFuture <T >(this );
143
147
}
144
148
145
- /// [JSArrayBuffer] <-> [ByteBuffer]
149
+ // -----------------------------------------------------------------------------
150
+ // JSArrayBuffer <-> ByteBuffer
146
151
@patch
147
152
extension JSArrayBufferToByteBuffer on JSArrayBuffer {
148
153
@patch
@@ -157,7 +162,8 @@ extension ByteBufferToJSArrayBuffer on ByteBuffer {
157
162
JSArrayBuffer get toJS => this as JSArrayBuffer ;
158
163
}
159
164
160
- /// [JSDataView] <-> [ByteData]
165
+ // -----------------------------------------------------------------------------
166
+ // JSDataView <-> ByteData
161
167
@patch
162
168
extension JSDataViewToByteData on JSDataView {
163
169
@patch
@@ -172,7 +178,8 @@ extension ByteDataToJSDataView on ByteData {
172
178
JSDataView get toJS => this as JSDataView ;
173
179
}
174
180
175
- /// [JSInt8Array] <-> [Int8List]
181
+ // -----------------------------------------------------------------------------
182
+ // JSInt8Array <-> Int8List
176
183
@patch
177
184
extension JSInt8ArrayToInt8List on JSInt8Array {
178
185
@patch
@@ -187,7 +194,8 @@ extension Int8ListToJSInt8Array on Int8List {
187
194
JSInt8Array get toJS => this as JSInt8Array ;
188
195
}
189
196
190
- /// [JSUint8Array] <-> [Uint8List]
197
+ // -----------------------------------------------------------------------------
198
+ // JSUint8Array <-> Uint8List
191
199
@patch
192
200
extension JSUint8ArrayToUint8List on JSUint8Array {
193
201
@patch
@@ -202,7 +210,8 @@ extension Uint8ListToJSUint8Array on Uint8List {
202
210
JSUint8Array get toJS => this as JSUint8Array ;
203
211
}
204
212
205
- /// [JSUint8ClampedArray] <-> [Uint8ClampedList]
213
+ // -----------------------------------------------------------------------------
214
+ // JSUint8ClampedArray <-> Uint8ClampedList
206
215
@patch
207
216
extension JSUint8ClampedArrayToUint8ClampedList on JSUint8ClampedArray {
208
217
@patch
@@ -217,7 +226,8 @@ extension Uint8ClampedListToJSUint8ClampedArray on Uint8ClampedList {
217
226
JSUint8ClampedArray get toJS => this as JSUint8ClampedArray ;
218
227
}
219
228
220
- /// [JSInt16Array] <-> [Int16List]
229
+ // -----------------------------------------------------------------------------
230
+ // JSInt16Array <-> Int16List
221
231
@patch
222
232
extension JSInt16ArrayToInt16List on JSInt16Array {
223
233
@patch
@@ -232,7 +242,8 @@ extension Int16ListToJSInt16Array on Int16List {
232
242
JSInt16Array get toJS => this as JSInt16Array ;
233
243
}
234
244
235
- /// [JSUint16Array] <-> [Uint16List]
245
+ // -----------------------------------------------------------------------------
246
+ // JSUint16Array <-> Uint16List
236
247
@patch
237
248
extension JSUint16ArrayToInt16List on JSUint16Array {
238
249
@patch
@@ -247,7 +258,8 @@ extension Uint16ListToJSInt16Array on Uint16List {
247
258
JSUint16Array get toJS => this as JSUint16Array ;
248
259
}
249
260
250
- /// [JSInt32Array] <-> [Int32List]
261
+ // -----------------------------------------------------------------------------
262
+ // JSInt32Array <-> Int32List
251
263
@patch
252
264
extension JSInt32ArrayToInt32List on JSInt32Array {
253
265
@patch
@@ -262,7 +274,8 @@ extension Int32ListToJSInt32Array on Int32List {
262
274
JSInt32Array get toJS => this as JSInt32Array ;
263
275
}
264
276
265
- /// [JSUint32Array] <-> [Uint32List]
277
+ // -----------------------------------------------------------------------------
278
+ // JSUint32Array <-> Uint32List
266
279
@patch
267
280
extension JSUint32ArrayToUint32List on JSUint32Array {
268
281
@patch
@@ -277,7 +290,8 @@ extension Uint32ListToJSUint32Array on Uint32List {
277
290
JSUint32Array get toJS => this as JSUint32Array ;
278
291
}
279
292
280
- /// [JSFloat32Array] <-> [Float32List]
293
+ // -----------------------------------------------------------------------------
294
+ // JSFloat32Array <-> Float32List
281
295
@patch
282
296
extension JSFloat32ArrayToFloat32List on JSFloat32Array {
283
297
@patch
@@ -292,7 +306,8 @@ extension Float32ListToJSFloat32Array on Float32List {
292
306
JSFloat32Array get toJS => this as JSFloat32Array ;
293
307
}
294
308
295
- /// [JSFloat64Array] <-> [Float64List]
309
+ // -----------------------------------------------------------------------------
310
+ // JSFloat64Array <-> Float64List
296
311
@patch
297
312
extension JSFloat64ArrayToFloat64List on JSFloat64Array {
298
313
@patch
@@ -307,7 +322,8 @@ extension Float64ListToJSFloat64Array on Float64List {
307
322
JSFloat64Array get toJS => this as JSFloat64Array ;
308
323
}
309
324
310
- /// [JSArray] <-> [List]
325
+ // -----------------------------------------------------------------------------
326
+ // JSArray <-> List
311
327
@patch
312
328
extension JSArrayToList <T extends JSAny ?> on JSArray <T > {
313
329
@patch
@@ -339,7 +355,8 @@ extension ListToJSArray<T extends JSAny?> on List<T> {
339
355
JSArray <T > get toJSProxyOrRef => this as JSArray <T >;
340
356
}
341
357
342
- /// [JSNumber] -> [double] or [int] .
358
+ // -----------------------------------------------------------------------------
359
+ // JSNumber -> double or int
343
360
@patch
344
361
extension JSNumberToNumber on JSNumber {
345
362
@patch
@@ -351,15 +368,17 @@ extension JSNumberToNumber on JSNumber {
351
368
int get toDartInt => this as int ;
352
369
}
353
370
354
- /// [double] -> [JSNumber] .
371
+ // -----------------------------------------------------------------------------
372
+ // double -> JSNumber
355
373
@patch
356
374
extension DoubleToJSNumber on double {
357
375
@patch
358
376
@pragma ('dart2js:prefer-inline' )
359
377
JSNumber get toJS => JSNumber ._(this );
360
378
}
361
379
362
- /// [JSBoolean] <-> [bool]
380
+ // -----------------------------------------------------------------------------
381
+ // JSBoolean <-> bool
363
382
@patch
364
383
extension JSBooleanToBool on JSBoolean {
365
384
@patch
@@ -374,7 +393,8 @@ extension BoolToJSBoolean on bool {
374
393
JSBoolean get toJS => JSBoolean ._(this );
375
394
}
376
395
377
- /// [JSString] <-> [String]
396
+ // -----------------------------------------------------------------------------
397
+ // JSString <-> String
378
398
@patch
379
399
extension JSStringToString on JSString {
380
400
@patch
0 commit comments