blob: a72fd52dd7ed68ea8fddd4d6e0c84bbcf274f6a2 [file] [log] [blame]
// 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);
}