| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | |
| 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. | |
| 4 | |
| 5 part of app; | |
| 6 | |
| 7 /// Static settings database. | |
| 8 class _Settings { | |
| 9 static Storage _storage = window.localStorage; | |
| 10 | |
| 11 /// Associated [value] with [key]. [value] must be JSON encodable. | |
| 12 static void set(String key, dynamic value) { | |
| 13 _storage[key] = JSON.encode(value); | |
| 14 } | |
| 15 | |
| 16 /// Get value associated with [key]. Return value will be a JSON encodable | |
| 17 /// object. | |
| 18 static dynamic get(String key) { | |
| 19 var value = _storage[key]; | |
| 20 if (value == null) { | |
| 21 return null; | |
| 22 } | |
| 23 return JSON.decode(value); | |
| 24 } | |
| 25 } | |
| 26 | |
| 27 /// A group of settings each prefixed with group name and a dot. | |
| 28 class SettingsGroup { | |
| 29 /// Group name | |
| 30 final String group; | |
| 31 | |
| 32 SettingsGroup(this.group); | |
| 33 | |
| 34 String _fullKey(String key) => '$group.$key'; | |
| 35 | |
| 36 void set(String key, dynamic value) { | |
| 37 var fullKey = _fullKey(key); | |
| 38 _Settings.set(fullKey, value); | |
| 39 } | |
| 40 | |
| 41 dynamic get(String key) { | |
| 42 var fullKey = _fullKey(key); | |
| 43 return _Settings.get(fullKey); | |
| 44 } | |
| 45 } | |
| OLD | NEW |