| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// @domName Storage |
| /** |
| * The type used by the |
| * [Window.localStorage] and [Window.sessionStorage] properties. |
| * Storage is implemented as a Map<String, String>. |
| * |
| * To store and get values, use Dart's built-in map syntax: |
| * |
| * window.localStorage['key1'] = 'val1'; |
| * window.localStorage['key2'] = 'val2'; |
| * window.localStorage['key3'] = 'val3'; |
| * assert(window.localStorage['key3'] == 'val3'); |
| * |
| * You can use [Map](http://api.dartlang.org/dart_core/Map.html) APIs |
| * such as containsValue(), clear(), and length: |
| * |
| * assert(window.localStorage.containsValue('does not exist') == false); |
| * window.localStorage.clear(); |
| * assert(window.localStorage.length == 0); |
| * |
| * For more examples of using this API, see |
| * [localstorage_test.dart](http://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/tests/html/localstorage_test.dart). |
| * For details on using the Map API, see the |
| * [Maps](http://www.dartlang.org/docs/library-tour/#maps-aka-dictionaries-or-hashes) |
| * section of the library tour. |
| * |
| */ |
| abstract class Storage implements Map<String, String> { |
| |
| /** @domName Storage.length */ |
| abstract int get $dom_length; |
| |
| /** @domName Storage.clear */ |
| void $dom_clear(); |
| |
| /** @domName Storage.getItem */ |
| String $dom_getItem(String key); |
| |
| /** @domName Storage.key */ |
| String $dom_key(int index); |
| |
| /** @domName Storage.removeItem */ |
| void $dom_removeItem(String key); |
| |
| /** @domName Storage.setItem */ |
| void $dom_setItem(String key, String data); |
| |
| } |