Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(497)

Side by Side Diff: runtime/bin/vmservice/observatory/lib/src/app/settings.dart

Issue 837723004: Build Observatory as part of runtime (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698