@etsoo/shared 1.0.74 → 1.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -122,7 +122,9 @@ Storage related utilities
122
122
  |setLocalData|Set local storage data|
123
123
  |setSessionData|Set session storage data|
124
124
  |getLocalData|Get local storage data|
125
+ |getLocalObject|Get local storage object data|
125
126
  |getSessionData|Get session storage data|
127
+ |getSessionObject|Get session storage object data|
126
128
 
127
129
  ## Utils
128
130
  String and other related utilities
@@ -12,3 +12,17 @@ test('Tests for all', () => {
12
12
  expect(StorageUtils.getSessionData('number', 0)).toBe(3.14);
13
13
  expect(StorageUtils.getSessionData('test', {})).toHaveProperty('id', 123);
14
14
  });
15
+
16
+ test('Tests for getLocalObject', () => {
17
+ StorageUtils.setLocalData('test', { id: 123, name: 'test' });
18
+ const data = StorageUtils.getLocalObject<{ id: number }>('test');
19
+ expect(data?.id).toBe(123);
20
+ expect(data).toHaveProperty('name', 'test');
21
+ });
22
+
23
+ test('Tests for getSessionObject', () => {
24
+ StorageUtils.setSessionData('test', { id: 123, name: 'test' });
25
+ const data = StorageUtils.getSessionObject<{ id: number }>('test');
26
+ expect(data?.id).toBe(123);
27
+ expect(data).toHaveProperty('name', 'test');
28
+ });
@@ -21,9 +21,19 @@ export declare namespace StorageUtils {
21
21
  * @param defaultValue Default value
22
22
  */
23
23
  function getLocalData<T>(key: string, defaultValue: T): T;
24
+ /**
25
+ * Get local storage object data
26
+ * @param key Key name
27
+ */
28
+ function getLocalObject<T extends {}>(key: string): T | undefined;
24
29
  /**
25
30
  * Get session storage data
26
31
  * @param key Key name
27
32
  */
28
33
  function getSessionData<T>(key: string, defaultValue: T): T;
34
+ /**
35
+ * Get session storage object data
36
+ * @param key Key name
37
+ */
38
+ function getSessionObject<T extends {}>(key: string): T | undefined;
29
39
  }
@@ -51,6 +51,18 @@ var StorageUtils;
51
51
  return Utils_1.Utils.parseString(data, defaultValue);
52
52
  }
53
53
  StorageUtils.getLocalData = getLocalData;
54
+ /**
55
+ * Get local storage object data
56
+ * @param key Key name
57
+ */
58
+ function getLocalObject(key) {
59
+ // Get storage
60
+ const data = localStorage.getItem(key);
61
+ if (data == null)
62
+ return undefined;
63
+ return JSON.parse(data);
64
+ }
65
+ StorageUtils.getLocalObject = getLocalObject;
54
66
  /**
55
67
  * Get session storage data
56
68
  * @param key Key name
@@ -62,4 +74,16 @@ var StorageUtils;
62
74
  return Utils_1.Utils.parseString(data, defaultValue);
63
75
  }
64
76
  StorageUtils.getSessionData = getSessionData;
77
+ /**
78
+ * Get session storage object data
79
+ * @param key Key name
80
+ */
81
+ function getSessionObject(key) {
82
+ // Get storage
83
+ const data = sessionStorage.getItem(key);
84
+ if (data == null)
85
+ return undefined;
86
+ return JSON.parse(data);
87
+ }
88
+ StorageUtils.getSessionObject = getSessionObject;
65
89
  })(StorageUtils = exports.StorageUtils || (exports.StorageUtils = {}));
@@ -21,9 +21,19 @@ export declare namespace StorageUtils {
21
21
  * @param defaultValue Default value
22
22
  */
23
23
  function getLocalData<T>(key: string, defaultValue: T): T;
24
+ /**
25
+ * Get local storage object data
26
+ * @param key Key name
27
+ */
28
+ function getLocalObject<T extends {}>(key: string): T | undefined;
24
29
  /**
25
30
  * Get session storage data
26
31
  * @param key Key name
27
32
  */
28
33
  function getSessionData<T>(key: string, defaultValue: T): T;
34
+ /**
35
+ * Get session storage object data
36
+ * @param key Key name
37
+ */
38
+ function getSessionObject<T extends {}>(key: string): T | undefined;
29
39
  }
@@ -48,6 +48,18 @@ export var StorageUtils;
48
48
  return Utils.parseString(data, defaultValue);
49
49
  }
50
50
  StorageUtils.getLocalData = getLocalData;
51
+ /**
52
+ * Get local storage object data
53
+ * @param key Key name
54
+ */
55
+ function getLocalObject(key) {
56
+ // Get storage
57
+ const data = localStorage.getItem(key);
58
+ if (data == null)
59
+ return undefined;
60
+ return JSON.parse(data);
61
+ }
62
+ StorageUtils.getLocalObject = getLocalObject;
51
63
  /**
52
64
  * Get session storage data
53
65
  * @param key Key name
@@ -59,4 +71,16 @@ export var StorageUtils;
59
71
  return Utils.parseString(data, defaultValue);
60
72
  }
61
73
  StorageUtils.getSessionData = getSessionData;
74
+ /**
75
+ * Get session storage object data
76
+ * @param key Key name
77
+ */
78
+ function getSessionObject(key) {
79
+ // Get storage
80
+ const data = sessionStorage.getItem(key);
81
+ if (data == null)
82
+ return undefined;
83
+ return JSON.parse(data);
84
+ }
85
+ StorageUtils.getSessionObject = getSessionObject;
62
86
  })(StorageUtils || (StorageUtils = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/shared",
3
- "version": "1.0.74",
3
+ "version": "1.0.75",
4
4
  "description": "TypeScript shared utilities and functions",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/mjs/index.js",
@@ -54,7 +54,7 @@
54
54
  "homepage": "https://github.com/ETSOO/Shared#readme",
55
55
  "dependencies": {},
56
56
  "devDependencies": {
57
- "@types/jest": "^27.0.2",
57
+ "@types/jest": "^27.0.3",
58
58
  "@typescript-eslint/eslint-plugin": "^5.4.0",
59
59
  "@typescript-eslint/parser": "^5.4.0",
60
60
  "eslint": "^8.2.0",
@@ -57,6 +57,17 @@ export namespace StorageUtils {
57
57
  return Utils.parseString(data, defaultValue);
58
58
  }
59
59
 
60
+ /**
61
+ * Get local storage object data
62
+ * @param key Key name
63
+ */
64
+ export function getLocalObject<T extends {}>(key: string) {
65
+ // Get storage
66
+ const data = localStorage.getItem(key);
67
+ if (data == null) return undefined;
68
+ return <T>JSON.parse(data);
69
+ }
70
+
60
71
  /**
61
72
  * Get session storage data
62
73
  * @param key Key name
@@ -68,4 +79,15 @@ export namespace StorageUtils {
68
79
  // Return
69
80
  return Utils.parseString(data, defaultValue);
70
81
  }
82
+
83
+ /**
84
+ * Get session storage object data
85
+ * @param key Key name
86
+ */
87
+ export function getSessionObject<T extends {}>(key: string) {
88
+ // Get storage
89
+ const data = sessionStorage.getItem(key);
90
+ if (data == null) return undefined;
91
+ return <T>JSON.parse(data);
92
+ }
71
93
  }