-
Notifications
You must be signed in to change notification settings - Fork 0
/
oo-logger-store.html
61 lines (50 loc) · 2.12 KB
/
oo-logger-store.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<script>
// Declare in local function scope to avoid bleeding variables into global `window`.
(function () {
// Declare or reuse global namespace.
window.oo = window.oo || {}
const STORAGE_PREFIX = "oo.logger."
// The **sessionStorage** property allows you to access a session Storage object for the
// current origin. sessionStorage is similar to Window.localStorage, the only difference is
// while data stored in localStorage has no expiration set, data stored in sessionStorage gets
// cleared when the page session ends. A page session lasts for as long as the browser is open
// and survives over page reloads and restores. Opening a page in a new tab or window will
// cause a new session to be initiated, which differs from how session cookies work.
// The read-only **localStorage** property allows you to access a Storage object for the
// Document's origin; the stored data is saved across browser sessions. localStorage is similar
// to sessionStorage, except that while data stored in localStorage has no expiration time,
// data stored in sessionStorage gets cleared when the page session ends — that is, when the
// page is closed.
oo.logLevelStore = function logLevelStore(contextName, storagePrefix = STORAGE_PREFIX) {
const store = window.localStorage
const logLevelKey = storagePrefix + contextName
return {
get: () => {
return store.getItem(logLevelKey)
},
set: logLevelName => {
if (logLevelName) {
store.setItem(logLevelKey, logLevelName)
}
else {
store.removeItem(logLevelKey)
}
}
}
}
// _storeLogLevel() {
// if (this.logLevel) {
// this.logLevelStore.set(this.logLevel.name)
// }
// }
// _restoreLogLevel(ensureKeyExists = false) {
// if (ensureKeyExists && !this.logLevelStore.get()) {
// this._storeLogLevel()
// }
// const logLevelName = this.logLevelStore.get()
// if (logLevelName) {
// this.logLevelByName = logLevelName
// }
// }
}())
</script>