simple-storage-tools
Version:
a library for projects that allow you to work with local and session storage in typescript
498 lines (497 loc) • 16.7 kB
HTML
<html lang="en">
<head>
<title>Code coverage report for built/index.js</title>
<meta charset="utf-8" />
<link rel="stylesheet" href="../prettify.css" />
<link rel="stylesheet" href="../base.css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type='text/css'>
.coverage-summary .sorter {
background-image: url(../sort-arrow-sprite.png);
}
</style>
</head>
<body>
<div class='wrapper'>
<div class='pad1'>
<h1>
<a href="../index.html">all files</a> / <a href="index.html">built/</a> index.js
</h1>
<div class='clearfix'>
<div class='fl pad1y space-right2'>
<span class="strong">87.93% </span>
<span class="quiet">Statements</span>
<span class='fraction'>51/58</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">73.68% </span>
<span class="quiet">Branches</span>
<span class='fraction'>28/38</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">85.71% </span>
<span class="quiet">Functions</span>
<span class='fraction'>6/7</span>
</div>
<div class='fl pad1y space-right2'>
<span class="strong">86% </span>
<span class="quiet">Lines</span>
<span class='fraction'>43/50</span>
</div>
</div>
</div>
<div class='status-line high'></div>
<pre><table class="coverage">
<tr><td class="line-count quiet">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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-no"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-no"> </span>
<span class="cline-any cline-no"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-no"> </span>
<span class="cline-any cline-no"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-no"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-no"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">2×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span>
<span class="cline-any cline-yes">1×</span>
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Storage = /** @class */ (function () {
<span class="fstat-no" title="function not covered" > function Storage() {</span>
}
/**
* this method will look for a storage with the key name of storage.
* @author Seyed Ali Roshan
* @param key the string name of your storage.
* @param fromLocalStorage default value is `false`. if true, will look
* in localStorage instead of SessionStorage.
* by default it's false because the main setter method (next method)
* store the values in `sessionStorage` by default.
* @param toJson default value is `true`. if true, automatically cast
* and return JSON object. if put it to true and your storage is not
* in JSON shape, it will return what it finds as an string.
* @param throwOnNotFound default value is `false`. if true, it will
* throw an Exception with `-1` message if it wont found the storage
* with given name and enviroment (local or session Storage).
* @returns an string or a JSON Object depend on `toJson` parameter.
* it will return null or an Exception with `-1` message depend on
* `throwOnNotFound` parameter if there is no localStorage founds.
*/
Storage.get = function (key, fromLocalStorage, toJson, throwOnNotFound) {
if (fromLocalStorage === void 0) { fromLocalStorage = false; }
<span class="missing-if-branch" title="else path not taken" >E</span>if (toJson === void 0) { toJson = true; }
<span class="missing-if-branch" title="else path not taken" >E</span>if (throwOnNotFound === void 0) { throwOnNotFound = false; }
var v;
if (fromLocalStorage) {
v = localStorage.getItem(key);
}
else {
v = sessionStorage.getItem(key);
}
<span class="missing-if-branch" title="if path not taken" >I</span>if (v === null && <span class="branch-1 cbranch-no" title="branch not covered" >throwOnNotFound)</span> {
<span class="cstat-no" title="statement not covered" > throw -1; </span>// throw if not founding anything
}
// if it can't cast to JSON for any reasons it will put the string as result
var output = v;
<span class="missing-if-branch" title="else path not taken" >E</span>if (toJson && v !== null) {
try {
output = JSON.parse(v);
}
catch (ex) {
<span class="cstat-no" title="statement not covered" > console.log(ex);</span>
<span class="cstat-no" title="statement not covered" > var output_1 = v;</span>
}
}
return output;
};
/**
* this method will store an input value in a storage with the given
* name as its key.
* @author Seyed Ali Roshan
* @param key the string name that you want your storage created with.
* @param str the Object you want it to be stored.
* it should be in string or JSON Object. if you don't put JSON Object
* (nor string), it will put the string of your Object by `toString()`
* method.
* @param inLocalStorage default value is `false`. if true, your input
* will store in a localStorage instead of SessionStorage.
* by default it's false because `localStorage` has store limits and
* you should store things you want access to in all the tabs of your
* application for example user Token whcih needed by API every time.
* @param fromJson default value is `true`. if true, you are telling it,
* my input Object is a JSON Object and it will automatically cast your
* input Object to string. if put it on true and your input is not a
* JSON Object (for example a number), it throws an Exception.
* @param ignoreJsonException default value is `true`. if true it will
* ignore any error that casting to JSON is caused and store the string
* of your Object by using `toString()` method.
*/
Storage.set = function (key, str, inLocalStorage, fromJson, ignoreJsonException) {
if (inLocalStorage === void 0) { inLocalStorage = false; }
<span class="missing-if-branch" title="else path not taken" >E</span>if (fromJson === void 0) { fromJson = true; }
<span class="missing-if-branch" title="else path not taken" >E</span>if (ignoreJsonException === void 0) { ignoreJsonException = true; }
var input;
<span class="missing-if-branch" title="else path not taken" >E</span>if (fromJson && typeof (str) !== 'string') {
try {
input = JSON.stringify(str);
}
catch (ex) {
<span class="cstat-no" title="statement not covered" > if (!ignoreJsonException) {</span>
<span class="cstat-no" title="statement not covered" > throw ex;</span>
}
else {
<span class="cstat-no" title="statement not covered" > input = str.toString();</span>
}
}
}
else {
<span class="cstat-no" title="statement not covered" > input = str; </span>// put the input itself if its type is string
}
if (inLocalStorage) {
localStorage.setItem(key, input);
}
else {
sessionStorage.setItem(key, input);
}
};
/**
* this method will remove a storage.
* @author Seyed Ali Roshan
* @param key the string name of your storage.
* @param fromLocalStorage default value is `false`. if true, will look
* in localStorage instead of SessionStorage.
*/
Storage.remove = function (key, fromLocalStorage) {
if (fromLocalStorage === void 0) { fromLocalStorage = false; }
if (fromLocalStorage) {
localStorage.removeItem(key);
}
else {
sessionStorage.removeItem(key);
}
};
/**
* this method will remove all storages in an storage enviroments
* (local or session storage)
* @author Seyed Ali Roshan
* @param local default value is `false`. if true, it's clear localStorage
* enviroment instead of sessionStorage.
*/
Storage.clear = function (local) {
if (local === void 0) { local = false; }
if (local) {
localStorage.clear();
}
else {
sessionStorage.clear();
}
};
/**
* this method will remove all storages from all storage enviroments
* (both local and session Storage).
* @author Seyed Ali Roshan
*/
Storage.clearAll = function () {
localStorage.clear();
sessionStorage.clear();
};
return Storage;
}());
exports.Storage = Storage;
//# sourceMappingURL=index.js.map</pre></td></tr>
</table></pre>
<div class='push'></div><!-- for sticky footer -->
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sun Feb 18 2018 01:00:17 GMT+0330 (+0330)
</div>
</div>
<script src="../prettify.js"></script>
<script>
window.onload = function () {
if (typeof prettyPrint === 'function') {
prettyPrint();
}
};
</script>
<script src="../sorter.js"></script>
</body>
</html>