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 |