// 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. * */ interface Storage extends Map { /** @domName Storage.length */ final int $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); }