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