| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 | 5 |
| 6 // Conversions for IDBKey. | 6 // Conversions for IDBKey. |
| 7 // | 7 // |
| 8 // Per http://www.w3.org/TR/IndexedDB/#key-construct | 8 // Per http://www.w3.org/TR/IndexedDB/#key-construct |
| 9 // | 9 // |
| 10 // "A value is said to be a valid key if it is one of the following types: Array | 10 // "A value is said to be a valid key if it is one of the following types: Array |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 * If necessary, [dartKey] may be copied to ensure all lists are converted into | 122 * If necessary, [dartKey] may be copied to ensure all lists are converted into |
| 123 * JavaScript Arrays and Dart Dates into JavaScript Dates. | 123 * JavaScript Arrays and Dart Dates into JavaScript Dates. |
| 124 */ | 124 */ |
| 125 _convertDartToNative_IDBKey(dartKey) { | 125 _convertDartToNative_IDBKey(dartKey) { |
| 126 // TODO: Implement. | 126 // TODO: Implement. |
| 127 return dartKey; | 127 return dartKey; |
| 128 } | 128 } |
| 129 | 129 |
| 130 | 130 |
| 131 | 131 |
| 132 // May modify original. If so, action is idempotent. | 132 /// May modify original. If so, action is idempotent. |
| 133 _convertNativeToDart_IDBAny(object) { | 133 _convertNativeToDart_IDBAny(object) { |
| 134 return _convertNativeToDart_AcceptStructuredClone(object); | 134 return _convertNativeToDart_AcceptStructuredClone(object); |
| 135 } | 135 } |
| 136 | 136 |
| 137 /// Converts a Dart value into | 137 /// Converts a Dart value into a JavaScript SerializedScriptValue. |
| 138 _convertDartToNative_SerializedScriptValue(value) { | 138 _convertDartToNative_SerializedScriptValue(value) { |
| 139 return _convertDartToNative_PrepareForStructuredClone(value); | 139 return _convertDartToNative_PrepareForStructuredClone(value); |
| 140 } | 140 } |
| 141 | 141 |
| 142 /// May modify original. If so, action is idempotent. |
| 143 _convertNativeToDart_SerializedScriptValue(object) { |
| 144 return _convertNativeToDart_AcceptStructuredClone(object); |
| 145 } |
| 146 |
| 142 | 147 |
| 143 /** | 148 /** |
| 144 * Converts a Dart value into a JavaScript SerializedScriptValue. Returns the | 149 * Converts a Dart value into a JavaScript SerializedScriptValue. Returns the |
| 145 * original input or a functional 'copy'. Does not mutate the original. | 150 * original input or a functional 'copy'. Does not mutate the original. |
| 146 * | 151 * |
| 147 * The main transformation is the translation of Dart Maps are converted to | 152 * The main transformation is the translation of Dart Maps are converted to |
| 148 * JavaScript Objects. | 153 * JavaScript Objects. |
| 149 * | 154 * |
| 150 * The algorithm is essentially a dry-run of the structured clone algorithm | 155 * The algorithm is essentially a dry-run of the structured clone algorithm |
| 151 * described at | 156 * described at |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 } | 390 } |
| 386 | 391 |
| 387 | 392 |
| 388 bool _isJavaScriptDate(value) => JS('bool', '# instanceof Date', value); | 393 bool _isJavaScriptDate(value) => JS('bool', '# instanceof Date', value); |
| 389 bool _isJavaScriptRegExp(value) => JS('bool', '# instanceof RegExp', value); | 394 bool _isJavaScriptRegExp(value) => JS('bool', '# instanceof RegExp', value); |
| 390 bool _isJavaScriptArray(value) => JS('bool', '# instanceof Array', value); | 395 bool _isJavaScriptArray(value) => JS('bool', '# instanceof Array', value); |
| 391 bool _isJavaScriptSimpleObject(value) => | 396 bool _isJavaScriptSimpleObject(value) => |
| 392 JS('bool', 'Object.getPrototypeOf(#) === Object.prototype', value); | 397 JS('bool', 'Object.getPrototypeOf(#) === Object.prototype', value); |
| 393 bool _isImmutableJavaScriptArray(value) => | 398 bool _isImmutableJavaScriptArray(value) => |
| 394 JS('bool', r'!!(#.immutable$list)', value); | 399 JS('bool', r'!!(#.immutable$list)', value); |
| OLD | NEW |