@codeleap/styles 7.0.2 → 7.1.1
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/dist/classes/Cacher.js +18 -20
- package/dist/classes/Cacher.js.map +1 -1
- package/dist/classes/StaleControl.js +6 -7
- package/dist/classes/StaleControl.js.map +1 -1
- package/dist/classes/StyleCache.js +27 -24
- package/dist/classes/StyleCache.js.map +1 -1
- package/dist/classes/StylePersistor.js +7 -10
- package/dist/classes/StylePersistor.js.map +1 -1
- package/dist/classes/StyleRegistry.js +62 -75
- package/dist/classes/StyleRegistry.js.map +1 -1
- package/dist/classes/index.js +2 -18
- package/dist/classes/index.js.map +1 -1
- package/dist/constants.js +1 -4
- package/dist/constants.js.map +1 -1
- package/dist/hooks/index.js +4 -20
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useCompositionStyles.js +9 -10
- package/dist/hooks/useCompositionStyles.js.map +1 -1
- package/dist/hooks/useNestedStylesByKey.js +8 -9
- package/dist/hooks/useNestedStylesByKey.js.map +1 -1
- package/dist/hooks/useStyleObserver.js +4 -8
- package/dist/hooks/useStyleObserver.js.map +1 -1
- package/dist/hooks/useTheme.js +4 -8
- package/dist/hooks/useTheme.js.map +1 -1
- package/dist/index.js +11 -27
- package/dist/index.js.map +1 -1
- package/dist/lib/calc.js +2 -5
- package/dist/lib/calc.js.map +1 -1
- package/dist/lib/createStyles.js +7 -12
- package/dist/lib/createStyles.js.map +1 -1
- package/dist/lib/createTheme.js +73 -58
- package/dist/lib/createTheme.js.map +1 -1
- package/dist/lib/cssVariables.js +5 -11
- package/dist/lib/cssVariables.js.map +1 -1
- package/dist/lib/index.js +4 -17
- package/dist/lib/index.js.map +1 -1
- package/dist/theme/generateColorScheme.js +5 -8
- package/dist/theme/generateColorScheme.js.map +1 -1
- package/dist/theme/index.js +3 -19
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/themeStore.d.ts +4 -4
- package/dist/theme/themeStore.d.ts.map +1 -1
- package/dist/theme/themeStore.js +22 -26
- package/dist/theme/themeStore.js.map +1 -1
- package/dist/theme/validateTheme.js +13 -6
- package/dist/theme/validateTheme.js.map +1 -1
- package/dist/tools/colors.js +7 -16
- package/dist/tools/colors.js.map +1 -1
- package/dist/tools/deepClone.js +2 -8
- package/dist/tools/deepClone.js.map +1 -1
- package/dist/tools/deepmerge.js +1 -8
- package/dist/tools/deepmerge.js.map +1 -1
- package/dist/tools/hashKey.js +4 -9
- package/dist/tools/hashKey.js.map +1 -1
- package/dist/tools/index.js +6 -45
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/minifier.js +6 -11
- package/dist/tools/minifier.js.map +1 -1
- package/dist/tools/multiplierProperty.js +1 -4
- package/dist/tools/multiplierProperty.js.map +1 -1
- package/dist/types/cache.js +1 -2
- package/dist/types/component.js +1 -2
- package/dist/types/core.js +1 -2
- package/dist/types/core.js.map +1 -1
- package/dist/types/icon.js +1 -2
- package/dist/types/icon.js.map +1 -1
- package/dist/types/index.js +5 -21
- package/dist/types/index.js.map +1 -1
- package/dist/types/spacing.js +2 -5
- package/dist/types/spacing.js.map +1 -1
- package/dist/types/store.js +1 -2
- package/dist/types/style.js +1 -2
- package/dist/types/theme.js +1 -2
- package/dist/utils.js +17 -25
- package/dist/utils.js.map +1 -1
- package/dist/variants/borderCreator.js +7 -12
- package/dist/variants/borderCreator.js.map +1 -1
- package/dist/variants/createAppVariants.js +3 -6
- package/dist/variants/createAppVariants.js.map +1 -1
- package/dist/variants/defaultVariants.js +1 -4
- package/dist/variants/defaultVariants.js.map +1 -1
- package/dist/variants/dynamicVariants.js +20 -24
- package/dist/variants/dynamicVariants.js.map +1 -1
- package/dist/variants/index.js +6 -22
- package/dist/variants/index.js.map +1 -1
- package/dist/variants/mediaQuery.js +9 -9
- package/dist/variants/mediaQuery.js.map +1 -1
- package/dist/variants/spacing.js +3 -6
- package/dist/variants/spacing.js.map +1 -1
- package/package.json +2 -2
package/dist/classes/Cacher.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.Cache = void 0;
|
|
4
|
-
const constants_1 = require("../constants");
|
|
5
|
-
const tools_1 = require("../tools");
|
|
1
|
+
import { StyleConstants } from '../constants';
|
|
2
|
+
import { hashKey } from '../tools';
|
|
6
3
|
/**
|
|
7
4
|
* Generates a stale time date by adding 7 days to the current date
|
|
8
5
|
* @returns {Date} The future date representing the stale time
|
|
@@ -17,7 +14,16 @@ function generateStaleTime() {
|
|
|
17
14
|
* Generic cache implementation with persistence and stale time management
|
|
18
15
|
* @template T - The type of values stored in the cache
|
|
19
16
|
*/
|
|
20
|
-
class Cache {
|
|
17
|
+
export class Cache {
|
|
18
|
+
registryName;
|
|
19
|
+
storage;
|
|
20
|
+
persistCache;
|
|
21
|
+
/** In-memory cache storage */
|
|
22
|
+
cache = {};
|
|
23
|
+
/** Debounce timer for batch persistence */
|
|
24
|
+
persistTimer = null;
|
|
25
|
+
/** Debounce delay in milliseconds */
|
|
26
|
+
persistDelay = 4500;
|
|
21
27
|
/**
|
|
22
28
|
* Gets the persistence key for cache data
|
|
23
29
|
* @returns {string} The storage key for cache data
|
|
@@ -42,13 +48,7 @@ class Cache {
|
|
|
42
48
|
this.registryName = registryName;
|
|
43
49
|
this.storage = storage;
|
|
44
50
|
this.persistCache = persistCache;
|
|
45
|
-
|
|
46
|
-
this.cache = {};
|
|
47
|
-
/** Debounce timer for batch persistence */
|
|
48
|
-
this.persistTimer = null;
|
|
49
|
-
/** Debounce delay in milliseconds */
|
|
50
|
-
this.persistDelay = 4500;
|
|
51
|
-
if (!persistCache || !constants_1.StyleConstants.STORE_CACHE_ENABLED)
|
|
51
|
+
if (!persistCache || !StyleConstants.STORE_CACHE_ENABLED)
|
|
52
52
|
return;
|
|
53
53
|
const { persistedCache, persistedStaleTime } = this.loadStorage();
|
|
54
54
|
const currentTime = new Date();
|
|
@@ -57,7 +57,7 @@ class Cache {
|
|
|
57
57
|
this.clearStorage();
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
|
-
if (
|
|
60
|
+
if (StyleConstants.LOG) {
|
|
61
61
|
console.log('Cache [constructor] ->', { persistedCache, persistedStaleTime, registryName });
|
|
62
62
|
}
|
|
63
63
|
this.setCache(persistedCache);
|
|
@@ -70,10 +70,9 @@ class Cache {
|
|
|
70
70
|
* @returns {{ key: string, value: T | null }} Object containing the cache key and value
|
|
71
71
|
*/
|
|
72
72
|
keyFor(cacheBaseKey, data) {
|
|
73
|
-
var _a;
|
|
74
73
|
const values = [cacheBaseKey, data];
|
|
75
|
-
const cacheKey =
|
|
76
|
-
const cachedValue =
|
|
74
|
+
const cacheKey = hashKey(values);
|
|
75
|
+
const cachedValue = this.cache[cacheKey] ?? null;
|
|
77
76
|
return {
|
|
78
77
|
key: cacheKey,
|
|
79
78
|
value: cachedValue,
|
|
@@ -97,7 +96,7 @@ class Cache {
|
|
|
97
96
|
* @param {Record<string, T>} cache - The new cache data
|
|
98
97
|
*/
|
|
99
98
|
setCache(cache) {
|
|
100
|
-
this.cache = cache
|
|
99
|
+
this.cache = cache ?? {};
|
|
101
100
|
}
|
|
102
101
|
/**
|
|
103
102
|
* Clears both in-memory and persistent cache
|
|
@@ -152,7 +151,7 @@ class Cache {
|
|
|
152
151
|
storeCache(cache = undefined) {
|
|
153
152
|
if (!this.persistCache)
|
|
154
153
|
return;
|
|
155
|
-
const value = cache
|
|
154
|
+
const value = cache ?? this.cache;
|
|
156
155
|
this.storage.setItem(this.persistKeyCache, value);
|
|
157
156
|
}
|
|
158
157
|
/**
|
|
@@ -166,5 +165,4 @@ class Cache {
|
|
|
166
165
|
this.storage.setItem(this.persistKeyStaleTime, value);
|
|
167
166
|
}
|
|
168
167
|
}
|
|
169
|
-
exports.Cache = Cache;
|
|
170
168
|
//# sourceMappingURL=Cacher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cacher.js","sourceRoot":"","sources":["../../src/classes/Cacher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Cacher.js","sourceRoot":"","sources":["../../src/classes/Cacher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StaleControl = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* @UNUSED_IMPLEMENTATION - Class available for future use
|
|
6
3
|
* Stale data controller with temporal expiration system
|
|
@@ -8,7 +5,11 @@ exports.StaleControl = void 0;
|
|
|
8
5
|
* @description This implementation is complete but not currently being used.
|
|
9
6
|
* Developed for potential future need of time-based cache invalidation.
|
|
10
7
|
*/
|
|
11
|
-
class StaleControl {
|
|
8
|
+
export class StaleControl {
|
|
9
|
+
staleTime;
|
|
10
|
+
staleTimeIdentifier;
|
|
11
|
+
wiperInterval;
|
|
12
|
+
wiperId = null;
|
|
12
13
|
/**
|
|
13
14
|
* @param staleTime - Expiration time in minutes (default: 60 minutes)
|
|
14
15
|
* @param staleTimeIdentifier - Separator to identify timestamp in value (default: '//:')
|
|
@@ -19,7 +20,6 @@ class StaleControl {
|
|
|
19
20
|
this.staleTime = staleTime;
|
|
20
21
|
this.staleTimeIdentifier = staleTimeIdentifier;
|
|
21
22
|
this.wiperInterval = wiperInterval;
|
|
22
|
-
this.wiperId = null;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Checks if a value is expired based on embedded timestamp
|
|
@@ -60,7 +60,7 @@ class StaleControl {
|
|
|
60
60
|
* @returns Object containing expiration date and original value
|
|
61
61
|
*/
|
|
62
62
|
extractStaleTime(value) {
|
|
63
|
-
const [extractedValue, _staleTime] =
|
|
63
|
+
const [extractedValue, _staleTime] = value?.split(this.staleTimeIdentifier) || [];
|
|
64
64
|
const staleTime = new Date(_staleTime || 0);
|
|
65
65
|
return {
|
|
66
66
|
staleTime,
|
|
@@ -101,5 +101,4 @@ class StaleControl {
|
|
|
101
101
|
this.unregisterCacheWiper();
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
exports.StaleControl = StaleControl;
|
|
105
104
|
//# sourceMappingURL=StaleControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaleControl.js","sourceRoot":"","sources":["../../src/classes/StaleControl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StaleControl.js","sourceRoot":"","sources":["../../src/classes/StaleControl.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACF,MAAM,OAAO,YAAY;IASd;IACA;IACA;IAVF,OAAO,GAA0C,IAAI,CAAA;IAE7D;;;;OAIG;IACH,YACU,YAAoB,EAAE,EAAE,UAAU;IAClC,sBAA8B,KAAK,EACnC,gBAAwB,EAAE,GAAG,EAAE,GAAG,IAAI;QAFtC,cAAS,GAAT,SAAS,CAAa;QACtB,wBAAmB,GAAnB,mBAAmB,CAAgB;QACnC,kBAAa,GAAb,aAAa,CAAyB;IAC7C,CAAC;IAEJ;;;;OAIG;IACH,QAAQ,CAAC,KAAa;QACpB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAElD,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAA;QAE9B,MAAM,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;QAExC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,KAAa;QAC3B,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAA;QAC9B,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QAEjE,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAA;QAC3C,MAAM,kBAAkB,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,mBAAmB,GAAG,SAAS,EAAE,CAAA;QAE5E,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,KAAa;QAC5B,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;QAE3D,OAAO,cAAc,CAAA;IACvB,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,KAAa;QAC5B,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAA;QACjF,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAA;QAE3C,OAAO;YACL,SAAS;YACT,KAAK,EAAE,cAAc,IAAI,KAAK;SAC/B,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAA;IAC9F,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC7B,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,UAAU,EAAE,CAAA;QACnB,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,oBAAoB,EAAE,CAAA;IAC7B,CAAC;CACF"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const Cacher_1 = require("./Cacher");
|
|
5
|
-
const tools_1 = require("../tools");
|
|
6
|
-
const constants_1 = require("../constants");
|
|
1
|
+
import { Cache } from './Cacher';
|
|
2
|
+
import { hashKey, minifier } from '../tools';
|
|
3
|
+
import { StyleConstants } from '../constants';
|
|
7
4
|
/**
|
|
8
5
|
* Aggregates the six typed `Cache` buckets used by the style registry.
|
|
9
6
|
* Three buckets (`styles`, `compositions`, `responsive`) are in-memory only.
|
|
@@ -14,21 +11,29 @@ const constants_1 = require("../constants");
|
|
|
14
11
|
* theme snapshot, and common variants — so switching color scheme automatically
|
|
15
12
|
* invalidates all cached values without an explicit `wipeCache` call.
|
|
16
13
|
*/
|
|
17
|
-
class StyleCache {
|
|
14
|
+
export class StyleCache {
|
|
15
|
+
/** Base key used for cache key generation */
|
|
16
|
+
baseKey;
|
|
17
|
+
/** Cache for style data */
|
|
18
|
+
styles = new Cache('styles');
|
|
19
|
+
/** Cache for style compositions */
|
|
20
|
+
compositions = new Cache('compositions');
|
|
21
|
+
/** Cache for responsive styles */
|
|
22
|
+
responsive = new Cache('responsive');
|
|
23
|
+
/** Cache for style variants with persistent storage */
|
|
24
|
+
variants;
|
|
25
|
+
/** Cache for common styles with persistent storage */
|
|
26
|
+
common;
|
|
27
|
+
/** Cache for component styles with persistent storage */
|
|
28
|
+
components;
|
|
18
29
|
/**
|
|
19
30
|
* Creates a new StyleCache instance
|
|
20
31
|
* @param storage - State storage instance for persistent caches
|
|
21
32
|
*/
|
|
22
33
|
constructor(storage) {
|
|
23
|
-
|
|
24
|
-
this.
|
|
25
|
-
|
|
26
|
-
this.compositions = new Cacher_1.Cache('compositions');
|
|
27
|
-
/** Cache for responsive styles */
|
|
28
|
-
this.responsive = new Cacher_1.Cache('responsive');
|
|
29
|
-
this.variants = new Cacher_1.Cache('variants', storage);
|
|
30
|
-
this.common = new Cacher_1.Cache('common', storage);
|
|
31
|
-
this.components = new Cacher_1.Cache('components', storage);
|
|
34
|
+
this.variants = new Cache('variants', storage);
|
|
35
|
+
this.common = new Cache('common', storage);
|
|
36
|
+
this.components = new Cache('components', storage);
|
|
32
37
|
}
|
|
33
38
|
/**
|
|
34
39
|
* Registers and generates a base key for cache operations
|
|
@@ -36,8 +41,8 @@ class StyleCache {
|
|
|
36
41
|
* @returns The generated base key hash
|
|
37
42
|
*/
|
|
38
43
|
registerBaseKey(keys) {
|
|
39
|
-
keys.push(
|
|
40
|
-
const baseKey =
|
|
44
|
+
keys.push(StyleConstants.STORES_PERSIST_VERSION);
|
|
45
|
+
const baseKey = hashKey(keys);
|
|
41
46
|
this.baseKey = baseKey;
|
|
42
47
|
return baseKey;
|
|
43
48
|
}
|
|
@@ -59,7 +64,6 @@ class StyleCache {
|
|
|
59
64
|
* @returns Object containing the generated key and cached value (if any)
|
|
60
65
|
*/
|
|
61
66
|
keyFor(type, keyData) {
|
|
62
|
-
var _a;
|
|
63
67
|
const cache = this[type];
|
|
64
68
|
const withFunctionsHash = Object.values(keyData).map((value) => {
|
|
65
69
|
if (typeof value === 'function') {
|
|
@@ -68,8 +72,8 @@ class StyleCache {
|
|
|
68
72
|
return value;
|
|
69
73
|
});
|
|
70
74
|
const values = [this.baseKey, ...withFunctionsHash];
|
|
71
|
-
const cacheKey =
|
|
72
|
-
const cachedValue =
|
|
75
|
+
const cacheKey = hashKey(values);
|
|
76
|
+
const cachedValue = minifier.decompress(cache.cache[cacheKey] ?? null);
|
|
73
77
|
return {
|
|
74
78
|
key: cacheKey,
|
|
75
79
|
value: cachedValue,
|
|
@@ -83,13 +87,12 @@ class StyleCache {
|
|
|
83
87
|
* @returns The cached value (compressed if caching is enabled)
|
|
84
88
|
*/
|
|
85
89
|
cacheFor(type, key, value) {
|
|
86
|
-
if (!
|
|
90
|
+
if (!StyleConstants.CACHE_ENABLED) {
|
|
87
91
|
return value;
|
|
88
92
|
}
|
|
89
93
|
const cache = this[type];
|
|
90
|
-
const minifiedValue =
|
|
94
|
+
const minifiedValue = minifier.compress(value);
|
|
91
95
|
return cache.cacheFor(key, minifiedValue);
|
|
92
96
|
}
|
|
93
97
|
}
|
|
94
|
-
exports.StyleCache = StyleCache;
|
|
95
98
|
//# sourceMappingURL=StyleCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyleCache.js","sourceRoot":"","sources":["../../src/classes/StyleCache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StyleCache.js","sourceRoot":"","sources":["../../src/classes/StyleCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.StylePersistor = void 0;
|
|
4
|
-
const tools_1 = require("../tools");
|
|
5
|
-
const constants_1 = require("../constants");
|
|
1
|
+
import { minifier } from '../tools';
|
|
2
|
+
import { StyleConstants } from '../constants';
|
|
6
3
|
/**
|
|
7
4
|
* Adapts a platform `StoragePersistor` to the `StateStorage` interface expected by
|
|
8
5
|
* `StyleCache`. All values are LZ-compressed on write and decompressed on read,
|
|
9
6
|
* substantially reducing storage footprint for large serialised style caches.
|
|
10
7
|
*/
|
|
11
|
-
class StylePersistor {
|
|
8
|
+
export class StylePersistor {
|
|
9
|
+
storage;
|
|
12
10
|
/**
|
|
13
11
|
* Creates a new StylePersistor instance with compression capabilities
|
|
14
12
|
* @param {StoragePersistor} storage - The underlying storage implementation
|
|
@@ -25,7 +23,7 @@ class StylePersistor {
|
|
|
25
23
|
* @throws {Error} If the underlying storage fails to set the value
|
|
26
24
|
*/
|
|
27
25
|
setItem(name, value) {
|
|
28
|
-
const minifiedValue =
|
|
26
|
+
const minifiedValue = minifier.compress(value);
|
|
29
27
|
return this.storage.set(name, minifiedValue);
|
|
30
28
|
}
|
|
31
29
|
/**
|
|
@@ -38,10 +36,10 @@ class StylePersistor {
|
|
|
38
36
|
*/
|
|
39
37
|
getItem(name) {
|
|
40
38
|
const persistedValue = this.storage.get(name);
|
|
41
|
-
if (
|
|
39
|
+
if (StyleConstants.LOG) {
|
|
42
40
|
console.log('StylePersistor [getItem] => ' + name, persistedValue);
|
|
43
41
|
}
|
|
44
|
-
return
|
|
42
|
+
return minifier.decompress(persistedValue ?? null);
|
|
45
43
|
}
|
|
46
44
|
/**
|
|
47
45
|
* Removes an item from storage
|
|
@@ -54,5 +52,4 @@ class StylePersistor {
|
|
|
54
52
|
return this.storage.del(name);
|
|
55
53
|
}
|
|
56
54
|
}
|
|
57
|
-
exports.StylePersistor = StylePersistor;
|
|
58
55
|
//# sourceMappingURL=StylePersistor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StylePersistor.js","sourceRoot":"","sources":["../../src/classes/StylePersistor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StylePersistor.js","sourceRoot":"","sources":["../../src/classes/StylePersistor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAc7C;;;;GAIG;AACH,MAAM,OAAO,cAAc;IAMf;IALV;;;OAGG;IACH,YACU,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAC/B,CAAC;IAEL;;;;;;;OAOG;IACH,OAAO,CAAC,IAAY,EAAE,KAAa;QACjC,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAE9C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,IAAY;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE7C,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,IAAI,EAAE,cAAc,CAAC,CAAA;QACpE,CAAC;QAED,OAAO,QAAQ,CAAC,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC,CAAA;IACpD,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;CACF"}
|