@vlian/framework 1.2.59 → 1.2.60
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/analytics/index.cjs +1 -22
- package/dist/analytics.umd.js +1 -1
- package/dist/components/LocaleSwitch.cjs +1 -116
- package/dist/components/ThemeSwitch.cjs +1 -115
- package/dist/components/index.cjs +1 -20
- package/dist/components/persistence.cjs +1 -58
- package/dist/core/Test.cjs +1 -64
- package/dist/core/app/AppContext.cjs +1 -348
- package/dist/core/app/AppContext.types.cjs +1 -4
- package/dist/core/app/BasicLayout.cjs +1 -122
- package/dist/core/app/DefaultApp.cjs +1 -150
- package/dist/core/app/index.cjs +1 -41
- package/dist/core/config/AppConfig.cjs +1 -139
- package/dist/core/config/ConfigLoader.cjs +1 -323
- package/dist/core/config/ConfigValidator.cjs +2 -133
- package/dist/core/config/index.cjs +1 -28
- package/dist/core/dev/DevTools.cjs +1 -226
- package/dist/core/error/ErrorBoundary.cjs +1 -401
- package/dist/core/error/ErrorHandler.cjs +1 -275
- package/dist/core/error/index.cjs +1 -34
- package/dist/core/event/AppEventBus.cjs +1 -444
- package/dist/core/event/frameworkEvents.cjs +1 -141
- package/dist/core/event/hooks.cjs +1 -69
- package/dist/core/event/index.cjs +1 -41
- package/dist/core/event/types.cjs +1 -62
- package/dist/core/event/useEventBus.cjs +1 -25
- package/dist/core/index.cjs +1 -140
- package/dist/core/initialization/InitializationErrorThrower.cjs +1 -75
- package/dist/core/initialization/index.cjs +1 -26
- package/dist/core/initialization/initialization.cjs +1 -64
- package/dist/core/initialization/initializationErrorState.cjs +1 -66
- package/dist/core/kernel/defaultAdapters.cjs +1 -184
- package/dist/core/kernel/errors.cjs +1 -69
- package/dist/core/kernel/index.cjs +1 -20
- package/dist/core/kernel/startKernel.cjs +1 -200
- package/dist/core/kernel/types.cjs +1 -4
- package/dist/core/middleware.cjs +1 -73
- package/dist/core/plugin/PluginEventBus.cjs +1 -298
- package/dist/core/plugin/PluginSandbox.cjs +1 -137
- package/dist/core/plugin.cjs +1 -494
- package/dist/core/router/RouterManager.cjs +1 -286
- package/dist/core/router/adapter/AdapterManager.cjs +1 -235
- package/dist/core/router/adapter/index.cjs +1 -22
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +1 -128
- package/dist/core/router/adapter/react-router/index.cjs +1 -20
- package/dist/core/router/adapter/types.cjs +1 -6
- package/dist/core/router/dev/RouterDevTools.cjs +1 -260
- package/dist/core/router/dev/index.cjs +1 -20
- package/dist/core/router/dynamic/DynamicRouteManager.cjs +1 -193
- package/dist/core/router/dynamic/index.cjs +1 -20
- package/dist/core/router/errors/RouterError.cjs +1 -61
- package/dist/core/router/errors/index.cjs +1 -20
- package/dist/core/router/index.cjs +1 -36
- package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +1 -144
- package/dist/core/router/lifecycle/index.cjs +1 -20
- package/dist/core/router/middleware/RouterMiddlewareManager.cjs +1 -193
- package/dist/core/router/middleware/auth.cjs +1 -66
- package/dist/core/router/middleware/index.cjs +1 -22
- package/dist/core/router/middleware/types.cjs +1 -6
- package/dist/core/router/monitoring/RouterMonitoring.cjs +1 -227
- package/dist/core/router/monitoring/index.cjs +1 -20
- package/dist/core/router/navigation/RouterNavigation.cjs +1 -239
- package/dist/core/router/navigation/index.cjs +1 -20
- package/dist/core/router/performance/RouteCache.cjs +1 -305
- package/dist/core/router/performance/RoutePreloader.cjs +1 -292
- package/dist/core/router/performance/index.cjs +1 -21
- package/dist/core/router/plugin/RouterPluginManager.cjs +1 -262
- package/dist/core/router/plugin/index.cjs +1 -21
- package/dist/core/router/plugin/types.cjs +1 -39
- package/dist/core/router/types.cjs +1 -4
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +1 -129
- package/dist/core/router/utils/adapters/react-router/transform.cjs +1 -250
- package/dist/core/router/utils/transform.cjs +1 -780
- package/dist/core/router/validation/RouterConfigValidator.cjs +2 -83
- package/dist/core/router/validation/index.cjs +1 -21
- package/dist/core/router/validation/schema.cjs +1 -159
- package/dist/core/router/version/RouteVersionManager.cjs +1 -205
- package/dist/core/router/version/index.cjs +1 -20
- package/dist/core/splash/SplashScreen.cjs +1 -341
- package/dist/core/splash/index.cjs +1 -22
- package/dist/core/splash/splashScreenUtils.cjs +1 -38
- package/dist/core/startup/AppInstance.cjs +1 -239
- package/dist/core/startup/environment.cjs +1 -169
- package/dist/core/startup/index.cjs +1 -23
- package/dist/core/startup/initializeServices.cjs +1 -226
- package/dist/core/startup/performanceTracker.cjs +1 -179
- package/dist/core/startup/renderApp.cjs +1 -314
- package/dist/core/startup/startApp.cjs +1 -317
- package/dist/core/types.cjs +1 -4
- package/dist/index.cjs +1 -52
- package/dist/index.umd.cjs +1 -27
- package/dist/index.umd.js +1 -1
- package/dist/kernel/constants.cjs +1 -65
- package/dist/kernel/index.cjs +1 -38
- package/dist/kernel/kernel.cjs +1 -295
- package/dist/kernel/manager/cacheManager.cjs +1 -46
- package/dist/kernel/manager/i18n/I18nManager.cjs +1 -91
- package/dist/kernel/manager/i18n/i18n.persistence.cjs +1 -60
- package/dist/kernel/manager/i18n/i18n.schema.cjs +1 -86
- package/dist/kernel/manager/i18n/index.cjs +1 -11
- package/dist/kernel/manager/i18nManager.cjs +1 -11
- package/dist/kernel/manager/index.cjs +1 -28
- package/dist/kernel/manager/logger/LoggerManager.cjs +1 -107
- package/dist/kernel/manager/logger/index.cjs +1 -11
- package/dist/kernel/manager/logger/logger.persistence.cjs +1 -62
- package/dist/kernel/manager/logger/logger.schema.cjs +1 -74
- package/dist/kernel/manager/loggerManager.cjs +1 -11
- package/dist/kernel/manager/theme/ThemeManager.cjs +1 -84
- package/dist/kernel/manager/theme/index.cjs +1 -11
- package/dist/kernel/manager/theme/theme.dom.cjs +1 -61
- package/dist/kernel/manager/theme/theme.persistence.cjs +1 -57
- package/dist/kernel/manager/theme/theme.schema.cjs +1 -122
- package/dist/kernel/manager/themeManager.cjs +1 -11
- package/dist/kernel/types.cjs +1 -4
- package/dist/library/index.cjs +1 -19
- package/dist/library/locale/index.cjs +1 -39
- package/dist/library/locale/langs/en-us/index.cjs +1 -32
- package/dist/library/locale/langs/zh-cn/index.cjs +1 -32
- package/dist/library/locale/types.cjs +1 -4
- package/dist/library/storage/cache.cjs +1 -243
- package/dist/library/storage/encryption.cjs +1 -147
- package/dist/library/storage/index.cjs +1 -124
- package/dist/state/StateManager.cjs +1 -166
- package/dist/state/adapters/AdapterFactory.cjs +1 -89
- package/dist/state/adapters/DefaultAdapter.cjs +1 -75
- package/dist/state/adapters/ReduxAdapter.cjs +1 -443
- package/dist/state/adapters/ZustandAdapter.cjs +1 -69
- package/dist/state/adapters/index.cjs +1 -44
- package/dist/state/adapters/types.cjs +1 -20
- package/dist/state/core/DerivedStateInstance.cjs +1 -174
- package/dist/state/core/StateInstance.cjs +1 -170
- package/dist/state/core/StateRegistry.cjs +1 -110
- package/dist/state/core/StateScope.cjs +1 -137
- package/dist/state/core/index.cjs +1 -30
- package/dist/state/index.cjs +1 -30
- package/dist/state/types.cjs +1 -12
- package/dist/state.umd.js +1 -1
- package/dist/types.cjs +1 -4
- package/dist/utils/analytics.cjs +1 -217
- package/dist/utils/configSecurity.cjs +3 -182
- package/dist/utils/csrf.cjs +1 -18
- package/dist/utils/errors/ErrorCodes.cjs +1 -25
- package/dist/utils/errors.cjs +1 -111
- package/dist/utils/index.cjs +1 -135
- package/dist/utils/logger.cjs +1 -25
- package/dist/utils/logger.types.cjs +1 -11
- package/dist/utils/monitoring.cjs +1 -18
- package/dist/utils/performance.cjs +1 -22
- package/dist/utils/resourceLoader.cjs +1 -22
- package/dist/utils/runtimeSecurity.cjs +1 -11
- package/dist/utils/security.cjs +1 -19
- package/dist/utils/traceId.cjs +1 -37
- package/dist/utils/validation.cjs +1 -19
- package/package.json +7 -3
|
@@ -1,60 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get DEFAULT_I18N_CACHE_KEY () {
|
|
13
|
-
return DEFAULT_I18N_CACHE_KEY;
|
|
14
|
-
},
|
|
15
|
-
get loadI18nFromCache () {
|
|
16
|
-
return loadI18nFromCache;
|
|
17
|
-
},
|
|
18
|
-
get saveI18nToCache () {
|
|
19
|
-
return saveI18nToCache;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _i18nschema = require("./i18n.schema");
|
|
23
|
-
const DEFAULT_I18N_CACHE_KEY = 'vlian:kernel:i18n';
|
|
24
|
-
function resolvePersistenceContext(persistence) {
|
|
25
|
-
if (persistence?.enabled !== true) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
return {
|
|
29
|
-
key: persistence.key || DEFAULT_I18N_CACHE_KEY
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
async function loadI18nFromCache(cacheManager, persistence, fallback) {
|
|
33
|
-
const persistenceContext = resolvePersistenceContext(persistence);
|
|
34
|
-
const safeFallback = (0, _i18nschema.cloneI18nSnapshot)(fallback);
|
|
35
|
-
if (!persistenceContext) {
|
|
36
|
-
return safeFallback;
|
|
37
|
-
}
|
|
38
|
-
try {
|
|
39
|
-
const cached = await cacheManager.get(persistenceContext.key, {
|
|
40
|
-
defaultValue: safeFallback
|
|
41
|
-
});
|
|
42
|
-
return (0, _i18nschema.normalizeI18nSnapshot)(cached, safeFallback);
|
|
43
|
-
} catch {
|
|
44
|
-
return safeFallback;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
async function saveI18nToCache(cacheManager, persistence, snapshot) {
|
|
48
|
-
const persistenceContext = resolvePersistenceContext(persistence);
|
|
49
|
-
if (!persistenceContext) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
try {
|
|
53
|
-
const persistedSnapshot = {
|
|
54
|
-
locale: (0, _i18nschema.cloneI18nSnapshot)(snapshot).locale
|
|
55
|
-
};
|
|
56
|
-
await cacheManager.set(persistenceContext.key, persistedSnapshot);
|
|
57
|
-
} catch {
|
|
58
|
-
// Ignore persistence failures and keep i18n updates in memory.
|
|
59
|
-
}
|
|
60
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get DEFAULT_I18N_CACHE_KEY(){return DEFAULT_I18N_CACHE_KEY},get loadI18nFromCache(){return loadI18nFromCache},get saveI18nToCache(){return saveI18nToCache}});const _i18nschema=require("./i18n.schema");const DEFAULT_I18N_CACHE_KEY="vlian:kernel:i18n";function resolvePersistenceContext(persistence){if(persistence?.enabled!==true){return null}return{key:persistence.key||DEFAULT_I18N_CACHE_KEY}}async function loadI18nFromCache(cacheManager,persistence,fallback){const persistenceContext=resolvePersistenceContext(persistence);const safeFallback=(0,_i18nschema.cloneI18nSnapshot)(fallback);if(!persistenceContext){return safeFallback}try{const cached=await cacheManager.get(persistenceContext.key,{defaultValue:safeFallback});return(0,_i18nschema.normalizeI18nSnapshot)(cached,safeFallback)}catch{return safeFallback}}async function saveI18nToCache(cacheManager,persistence,snapshot){const persistenceContext=resolvePersistenceContext(persistence);if(!persistenceContext){return}try{const persistedSnapshot={locale:(0,_i18nschema.cloneI18nSnapshot)(snapshot).locale};await cacheManager.set(persistenceContext.key,persistedSnapshot)}catch{}}
|
|
@@ -1,86 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get cloneI18nSnapshot () {
|
|
13
|
-
return cloneI18nSnapshot;
|
|
14
|
-
},
|
|
15
|
-
get isI18nEqual () {
|
|
16
|
-
return isI18nEqual;
|
|
17
|
-
},
|
|
18
|
-
get mergeI18nSnapshot () {
|
|
19
|
-
return mergeI18nSnapshot;
|
|
20
|
-
},
|
|
21
|
-
get normalizeI18nSnapshot () {
|
|
22
|
-
return normalizeI18nSnapshot;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
function isPlainObject(value) {
|
|
26
|
-
return Object.prototype.toString.call(value) === '[object Object]';
|
|
27
|
-
}
|
|
28
|
-
function cloneI18nSnapshot(snapshot) {
|
|
29
|
-
const resources = snapshot.resources ? Object.fromEntries(Object.entries(snapshot.resources).map(([locale, value])=>[
|
|
30
|
-
locale,
|
|
31
|
-
{
|
|
32
|
-
...value
|
|
33
|
-
}
|
|
34
|
-
])) : undefined;
|
|
35
|
-
return {
|
|
36
|
-
locale: snapshot.locale,
|
|
37
|
-
...resources ? {
|
|
38
|
-
resources
|
|
39
|
-
} : {}
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
function normalizeI18nSnapshot(value, fallback) {
|
|
43
|
-
const source = isPlainObject(value) ? value : {};
|
|
44
|
-
const locale = typeof source.locale === 'string' && source.locale.trim() ? source.locale : fallback.locale;
|
|
45
|
-
const fallbackResources = fallback.resources;
|
|
46
|
-
const incomingResources = isPlainObject(source.resources) ? Object.fromEntries(Object.entries(source.resources).filter(([, resourceValue])=>isPlainObject(resourceValue)).map(([locale, resourceValue])=>[
|
|
47
|
-
locale,
|
|
48
|
-
{
|
|
49
|
-
...resourceValue
|
|
50
|
-
}
|
|
51
|
-
])) : undefined;
|
|
52
|
-
const resources = incomingResources || fallbackResources ? {
|
|
53
|
-
...fallbackResources || {},
|
|
54
|
-
...incomingResources || {}
|
|
55
|
-
} : undefined;
|
|
56
|
-
return {
|
|
57
|
-
locale,
|
|
58
|
-
...resources ? {
|
|
59
|
-
resources
|
|
60
|
-
} : {}
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
function mergeI18nSnapshot(current, next) {
|
|
64
|
-
return normalizeI18nSnapshot({
|
|
65
|
-
locale: next.locale ?? current.locale,
|
|
66
|
-
resources: next.resources ?? current.resources
|
|
67
|
-
}, current);
|
|
68
|
-
}
|
|
69
|
-
function isI18nEqual(left, right) {
|
|
70
|
-
if (left.locale !== right.locale) {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
const leftResources = left.resources || {};
|
|
74
|
-
const rightResources = right.resources || {};
|
|
75
|
-
const leftLocales = Object.keys(leftResources);
|
|
76
|
-
const rightLocales = Object.keys(rightResources);
|
|
77
|
-
if (leftLocales.length !== rightLocales.length) {
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
for (const locale of leftLocales){
|
|
81
|
-
if (leftResources[locale] !== rightResources[locale]) {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return true;
|
|
86
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get cloneI18nSnapshot(){return cloneI18nSnapshot},get isI18nEqual(){return isI18nEqual},get mergeI18nSnapshot(){return mergeI18nSnapshot},get normalizeI18nSnapshot(){return normalizeI18nSnapshot}});function isPlainObject(value){return Object.prototype.toString.call(value)==="[object Object]"}function cloneI18nSnapshot(snapshot){const resources=snapshot.resources?Object.fromEntries(Object.entries(snapshot.resources).map(([locale,value])=>[locale,{...value}])):undefined;return{locale:snapshot.locale,...resources?{resources}:{}}}function normalizeI18nSnapshot(value,fallback){const source=isPlainObject(value)?value:{};const locale=typeof source.locale==="string"&&source.locale.trim()?source.locale:fallback.locale;const fallbackResources=fallback.resources;const incomingResources=isPlainObject(source.resources)?Object.fromEntries(Object.entries(source.resources).filter(([,resourceValue])=>isPlainObject(resourceValue)).map(([locale,resourceValue])=>[locale,{...resourceValue}])):undefined;const resources=incomingResources||fallbackResources?{...fallbackResources||{},...incomingResources||{}}:undefined;return{locale,...resources?{resources}:{}}}function mergeI18nSnapshot(current,next){return normalizeI18nSnapshot({locale:next.locale??current.locale,resources:next.resources??current.resources},current)}function isI18nEqual(left,right){if(left.locale!==right.locale){return false}const leftResources=left.resources||{};const rightResources=right.resources||{};const leftLocales=Object.keys(leftResources);const rightLocales=Object.keys(rightResources);if(leftLocales.length!==rightLocales.length){return false}for(const locale of leftLocales){if(leftResources[locale]!==rightResources[locale]){return false}}return true}
|
|
@@ -1,11 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "I18nManager", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _I18nManager.I18nManager;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _I18nManager = require("./I18nManager");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"I18nManager",{enumerable:true,get:function(){return _I18nManager.I18nManager}});const _I18nManager=require("./I18nManager");
|
|
@@ -1,11 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "I18nManager", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _i18n.I18nManager;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _i18n = require("./i18n");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"I18nManager",{enumerable:true,get:function(){return _i18n.I18nManager}});const _i18n=require("./i18n");
|
|
@@ -1,28 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get CacheManager () {
|
|
13
|
-
return _cacheManager.CacheManager;
|
|
14
|
-
},
|
|
15
|
-
get I18nManager () {
|
|
16
|
-
return _i18nManager.I18nManager;
|
|
17
|
-
},
|
|
18
|
-
get LoggerManager () {
|
|
19
|
-
return _loggerManager.LoggerManager;
|
|
20
|
-
},
|
|
21
|
-
get ThemeManager () {
|
|
22
|
-
return _themeManager.ThemeManager;
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
const _loggerManager = require("./loggerManager");
|
|
26
|
-
const _cacheManager = require("./cacheManager");
|
|
27
|
-
const _themeManager = require("./themeManager");
|
|
28
|
-
const _i18nManager = require("./i18nManager");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get CacheManager(){return _cacheManager.CacheManager},get I18nManager(){return _i18nManager.I18nManager},get LoggerManager(){return _loggerManager.LoggerManager},get ThemeManager(){return _themeManager.ThemeManager}});const _loggerManager=require("./loggerManager");const _cacheManager=require("./cacheManager");const _themeManager=require("./themeManager");const _i18nManager=require("./i18nManager");
|
|
@@ -1,107 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "LoggerManager", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return LoggerManager;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _logger = require("@vlian/logger");
|
|
12
|
-
const _constants = require("../../constants");
|
|
13
|
-
const _loggerschema = require("./logger.schema");
|
|
14
|
-
const _loggerpersistence = require("./logger.persistence");
|
|
15
|
-
function _define_property(obj, key, value) {
|
|
16
|
-
if (key in obj) {
|
|
17
|
-
Object.defineProperty(obj, key, {
|
|
18
|
-
value: value,
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true
|
|
22
|
-
});
|
|
23
|
-
} else {
|
|
24
|
-
obj[key] = value;
|
|
25
|
-
}
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
|
-
let LoggerManager = class LoggerManager {
|
|
29
|
-
async initialize(context) {
|
|
30
|
-
this.config = context.config.logger;
|
|
31
|
-
this.cacheManager = context.cacheManager;
|
|
32
|
-
const initialSnapshot = (0, _loggerschema.normalizeLoggerSnapshot)({
|
|
33
|
-
level: this.config.level
|
|
34
|
-
}, {
|
|
35
|
-
level: _logger.LogLevel.INFO
|
|
36
|
-
});
|
|
37
|
-
this.snapshot = await (0, _loggerpersistence.loadLoggerFromCache)(this.cacheManager, this.config.persistence, initialSnapshot);
|
|
38
|
-
_logger.logger.setLevel(this.snapshot.level);
|
|
39
|
-
this.initialized = true;
|
|
40
|
-
}
|
|
41
|
-
subscribe(listener) {
|
|
42
|
-
this.listeners.add(listener);
|
|
43
|
-
return ()=>{
|
|
44
|
-
this.listeners.delete(listener);
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
debug(...args) {
|
|
48
|
-
_logger.logger.debug(...args);
|
|
49
|
-
}
|
|
50
|
-
info(...args) {
|
|
51
|
-
_logger.logger.info(...args);
|
|
52
|
-
}
|
|
53
|
-
warn(...args) {
|
|
54
|
-
_logger.logger.warn(...args);
|
|
55
|
-
}
|
|
56
|
-
error(...args) {
|
|
57
|
-
_logger.logger.error(...args);
|
|
58
|
-
}
|
|
59
|
-
async setLevel(level) {
|
|
60
|
-
this.ensureInitialized();
|
|
61
|
-
const prevSnapshot = this.snapshot;
|
|
62
|
-
const nextSnapshot = (0, _loggerschema.normalizeLoggerSnapshot)({
|
|
63
|
-
level
|
|
64
|
-
}, prevSnapshot);
|
|
65
|
-
if ((0, _loggerschema.isLoggerEqual)(prevSnapshot, nextSnapshot)) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
this.snapshot = nextSnapshot;
|
|
69
|
-
_logger.logger.setLevel(this.snapshot.level);
|
|
70
|
-
if (this.cacheManager) {
|
|
71
|
-
await (0, _loggerpersistence.saveLoggerToCache)(this.cacheManager, this.config.persistence, this.snapshot);
|
|
72
|
-
}
|
|
73
|
-
this.emit(this.snapshot, prevSnapshot);
|
|
74
|
-
}
|
|
75
|
-
getSnapshot() {
|
|
76
|
-
return {
|
|
77
|
-
...this.snapshot
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
ensureInitialized() {
|
|
81
|
-
if (!this.initialized) {
|
|
82
|
-
throw new Error('LoggerManager must be initialized before use.');
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
emit(next, prev) {
|
|
86
|
-
for (const listener of this.listeners){
|
|
87
|
-
try {
|
|
88
|
-
listener({
|
|
89
|
-
...next
|
|
90
|
-
}, {
|
|
91
|
-
...prev
|
|
92
|
-
});
|
|
93
|
-
} catch {
|
|
94
|
-
// Keep notifying remaining listeners even if one fails.
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
constructor(){
|
|
99
|
-
_define_property(this, "snapshot", {
|
|
100
|
-
level: _logger.LogLevel.INFO
|
|
101
|
-
});
|
|
102
|
-
_define_property(this, "config", _constants.DEFAULT_CONFIG.logger);
|
|
103
|
-
_define_property(this, "listeners", new Set());
|
|
104
|
-
_define_property(this, "cacheManager", null);
|
|
105
|
-
_define_property(this, "initialized", false);
|
|
106
|
-
}
|
|
107
|
-
};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"LoggerManager",{enumerable:true,get:function(){return LoggerManager}});const _logger=require("@vlian/logger");const _constants=require("../../constants");const _loggerschema=require("./logger.schema");const _loggerpersistence=require("./logger.persistence");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}let LoggerManager=class LoggerManager{async initialize(context){this.config=context.config.logger;this.cacheManager=context.cacheManager;const initialSnapshot=(0,_loggerschema.normalizeLoggerSnapshot)({level:this.config.level},{level:_logger.LogLevel.INFO});this.snapshot=await (0,_loggerpersistence.loadLoggerFromCache)(this.cacheManager,this.config.persistence,initialSnapshot);_logger.logger.setLevel(this.snapshot.level);this.initialized=true}subscribe(listener){this.listeners.add(listener);return()=>{this.listeners.delete(listener)}}debug(...args){_logger.logger.debug(...args)}info(...args){_logger.logger.info(...args)}warn(...args){_logger.logger.warn(...args)}error(...args){_logger.logger.error(...args)}async setLevel(level){this.ensureInitialized();const prevSnapshot=this.snapshot;const nextSnapshot=(0,_loggerschema.normalizeLoggerSnapshot)({level},prevSnapshot);if((0,_loggerschema.isLoggerEqual)(prevSnapshot,nextSnapshot)){return}this.snapshot=nextSnapshot;_logger.logger.setLevel(this.snapshot.level);if(this.cacheManager){await (0,_loggerpersistence.saveLoggerToCache)(this.cacheManager,this.config.persistence,this.snapshot)}this.emit(this.snapshot,prevSnapshot)}getSnapshot(){return{...this.snapshot}}ensureInitialized(){if(!this.initialized){throw new Error("LoggerManager must be initialized before use.")}}emit(next,prev){for(const listener of this.listeners){try{listener({...next},{...prev})}catch{}}}constructor(){_define_property(this,"snapshot",{level:_logger.LogLevel.INFO});_define_property(this,"config",_constants.DEFAULT_CONFIG.logger);_define_property(this,"listeners",new Set);_define_property(this,"cacheManager",null);_define_property(this,"initialized",false)}};
|
|
@@ -1,11 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "LoggerManager", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _LoggerManager.LoggerManager;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _LoggerManager = require("./LoggerManager");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"LoggerManager",{enumerable:true,get:function(){return _LoggerManager.LoggerManager}});const _LoggerManager=require("./LoggerManager");
|
|
@@ -1,62 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get DEFAULT_LOGGER_CACHE_KEY () {
|
|
13
|
-
return DEFAULT_LOGGER_CACHE_KEY;
|
|
14
|
-
},
|
|
15
|
-
get loadLoggerFromCache () {
|
|
16
|
-
return loadLoggerFromCache;
|
|
17
|
-
},
|
|
18
|
-
get saveLoggerToCache () {
|
|
19
|
-
return saveLoggerToCache;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _loggerschema = require("./logger.schema");
|
|
23
|
-
const DEFAULT_LOGGER_CACHE_KEY = 'vlian:kernel:logger-level';
|
|
24
|
-
function resolvePersistenceContext(persistence) {
|
|
25
|
-
if (persistence?.enabled !== true) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
return {
|
|
29
|
-
key: persistence.key || DEFAULT_LOGGER_CACHE_KEY
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
async function loadLoggerFromCache(cacheManager, persistence, fallback) {
|
|
33
|
-
const persistenceContext = resolvePersistenceContext(persistence);
|
|
34
|
-
if (!persistenceContext) {
|
|
35
|
-
return {
|
|
36
|
-
...fallback
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
try {
|
|
40
|
-
const cached = await cacheManager.get(persistenceContext.key, {
|
|
41
|
-
defaultValue: fallback
|
|
42
|
-
});
|
|
43
|
-
return (0, _loggerschema.normalizeLoggerSnapshot)(cached, fallback);
|
|
44
|
-
} catch {
|
|
45
|
-
return {
|
|
46
|
-
...fallback
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async function saveLoggerToCache(cacheManager, persistence, snapshot) {
|
|
51
|
-
const persistenceContext = resolvePersistenceContext(persistence);
|
|
52
|
-
if (!persistenceContext) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
try {
|
|
56
|
-
await cacheManager.set(persistenceContext.key, {
|
|
57
|
-
...snapshot
|
|
58
|
-
});
|
|
59
|
-
} catch {
|
|
60
|
-
// Ignore persistence failures and keep logger updates in memory.
|
|
61
|
-
}
|
|
62
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get DEFAULT_LOGGER_CACHE_KEY(){return DEFAULT_LOGGER_CACHE_KEY},get loadLoggerFromCache(){return loadLoggerFromCache},get saveLoggerToCache(){return saveLoggerToCache}});const _loggerschema=require("./logger.schema");const DEFAULT_LOGGER_CACHE_KEY="vlian:kernel:logger-level";function resolvePersistenceContext(persistence){if(persistence?.enabled!==true){return null}return{key:persistence.key||DEFAULT_LOGGER_CACHE_KEY}}async function loadLoggerFromCache(cacheManager,persistence,fallback){const persistenceContext=resolvePersistenceContext(persistence);if(!persistenceContext){return{...fallback}}try{const cached=await cacheManager.get(persistenceContext.key,{defaultValue:fallback});return(0,_loggerschema.normalizeLoggerSnapshot)(cached,fallback)}catch{return{...fallback}}}async function saveLoggerToCache(cacheManager,persistence,snapshot){const persistenceContext=resolvePersistenceContext(persistence);if(!persistenceContext){return}try{await cacheManager.set(persistenceContext.key,{...snapshot})}catch{}}
|
|
@@ -1,74 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get isLoggerEqual () {
|
|
13
|
-
return isLoggerEqual;
|
|
14
|
-
},
|
|
15
|
-
get normalizeLogLevel () {
|
|
16
|
-
return normalizeLogLevel;
|
|
17
|
-
},
|
|
18
|
-
get normalizeLoggerSnapshot () {
|
|
19
|
-
return normalizeLoggerSnapshot;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _logger = require("@vlian/logger");
|
|
23
|
-
function normalizeLogLevel(value, fallback) {
|
|
24
|
-
if (typeof value === 'number' && Number.isInteger(value)) {
|
|
25
|
-
switch(value){
|
|
26
|
-
case _logger.LogLevel.DEBUG:
|
|
27
|
-
case _logger.LogLevel.INFO:
|
|
28
|
-
case _logger.LogLevel.WARN:
|
|
29
|
-
case _logger.LogLevel.ERROR:
|
|
30
|
-
case _logger.LogLevel.NONE:
|
|
31
|
-
return value;
|
|
32
|
-
default:
|
|
33
|
-
return fallback;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (typeof value !== 'string') {
|
|
37
|
-
return fallback;
|
|
38
|
-
}
|
|
39
|
-
const normalized = value.trim();
|
|
40
|
-
if (!normalized) {
|
|
41
|
-
return fallback;
|
|
42
|
-
}
|
|
43
|
-
if (/^\d+$/.test(normalized)) {
|
|
44
|
-
return normalizeLogLevel(Number(normalized), fallback);
|
|
45
|
-
}
|
|
46
|
-
switch(normalized.toUpperCase()){
|
|
47
|
-
case 'DEBUG':
|
|
48
|
-
return _logger.LogLevel.DEBUG;
|
|
49
|
-
case 'INFO':
|
|
50
|
-
return _logger.LogLevel.INFO;
|
|
51
|
-
case 'WARN':
|
|
52
|
-
return _logger.LogLevel.WARN;
|
|
53
|
-
case 'ERROR':
|
|
54
|
-
return _logger.LogLevel.ERROR;
|
|
55
|
-
case 'NONE':
|
|
56
|
-
return _logger.LogLevel.NONE;
|
|
57
|
-
default:
|
|
58
|
-
return fallback;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
function normalizeLoggerSnapshot(value, fallback) {
|
|
62
|
-
if (typeof value === 'number' || typeof value === 'string') {
|
|
63
|
-
return {
|
|
64
|
-
level: normalizeLogLevel(value, fallback.level)
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
const source = value && typeof value === 'object' ? value : {};
|
|
68
|
-
return {
|
|
69
|
-
level: normalizeLogLevel(source.level, fallback.level)
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
function isLoggerEqual(left, right) {
|
|
73
|
-
return left.level === right.level;
|
|
74
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get isLoggerEqual(){return isLoggerEqual},get normalizeLogLevel(){return normalizeLogLevel},get normalizeLoggerSnapshot(){return normalizeLoggerSnapshot}});const _logger=require("@vlian/logger");function normalizeLogLevel(value,fallback){if(typeof value==="number"&&Number.isInteger(value)){switch(value){case _logger.LogLevel.DEBUG:case _logger.LogLevel.INFO:case _logger.LogLevel.WARN:case _logger.LogLevel.ERROR:case _logger.LogLevel.NONE:return value;default:return fallback}}if(typeof value!=="string"){return fallback}const normalized=value.trim();if(!normalized){return fallback}if(/^\d+$/.test(normalized)){return normalizeLogLevel(Number(normalized),fallback)}switch(normalized.toUpperCase()){case"DEBUG":return _logger.LogLevel.DEBUG;case"INFO":return _logger.LogLevel.INFO;case"WARN":return _logger.LogLevel.WARN;case"ERROR":return _logger.LogLevel.ERROR;case"NONE":return _logger.LogLevel.NONE;default:return fallback}}function normalizeLoggerSnapshot(value,fallback){if(typeof value==="number"||typeof value==="string"){return{level:normalizeLogLevel(value,fallback.level)}}const source=value&&typeof value==="object"?value:{};return{level:normalizeLogLevel(source.level,fallback.level)}}function isLoggerEqual(left,right){return left.level===right.level}
|
|
@@ -1,11 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "LoggerManager", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _logger.LoggerManager;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _logger = require("./logger");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"LoggerManager",{enumerable:true,get:function(){return _logger.LoggerManager}});const _logger=require("./logger");
|
|
@@ -1,84 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "ThemeManager", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return ThemeManager;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _constants = require("../../constants");
|
|
12
|
-
const _themedom = require("./theme.dom");
|
|
13
|
-
const _themepersistence = require("./theme.persistence");
|
|
14
|
-
const _themeschema = require("./theme.schema");
|
|
15
|
-
function _define_property(obj, key, value) {
|
|
16
|
-
if (key in obj) {
|
|
17
|
-
Object.defineProperty(obj, key, {
|
|
18
|
-
value: value,
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true
|
|
22
|
-
});
|
|
23
|
-
} else {
|
|
24
|
-
obj[key] = value;
|
|
25
|
-
}
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
|
-
let ThemeManager = class ThemeManager {
|
|
29
|
-
async initialize(context) {
|
|
30
|
-
this.config = context.config.theme;
|
|
31
|
-
this.cacheManager = context.cacheManager;
|
|
32
|
-
const initialTheme = (0, _themeschema.normalizeTheme)(this.config.initial || {}, _constants.DEFAULT_THEME);
|
|
33
|
-
this.theme = await (0, _themepersistence.loadThemeFromCache)(this.cacheManager, this.config.persistence, initialTheme);
|
|
34
|
-
(0, _themedom.applyThemeToDocument)(this.theme);
|
|
35
|
-
this.initialized = true;
|
|
36
|
-
}
|
|
37
|
-
getTheme() {
|
|
38
|
-
return (0, _themeschema.cloneTheme)(this.theme);
|
|
39
|
-
}
|
|
40
|
-
getSnapshot() {
|
|
41
|
-
return this.getTheme();
|
|
42
|
-
}
|
|
43
|
-
subscribe(listener) {
|
|
44
|
-
this.listeners.add(listener);
|
|
45
|
-
return ()=>{
|
|
46
|
-
this.listeners.delete(listener);
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
async setTheme(nextTheme) {
|
|
50
|
-
this.ensureInitialized();
|
|
51
|
-
const prevTheme = this.theme;
|
|
52
|
-
const mergedTheme = (0, _themeschema.mergeTheme)(prevTheme, nextTheme);
|
|
53
|
-
if ((0, _themeschema.isThemeEqual)(prevTheme, mergedTheme)) {
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
this.theme = mergedTheme;
|
|
57
|
-
(0, _themedom.applyThemeToDocument)(this.theme, prevTheme);
|
|
58
|
-
if (this.cacheManager) {
|
|
59
|
-
await (0, _themepersistence.saveThemeToCache)(this.cacheManager, this.config.persistence, this.theme);
|
|
60
|
-
}
|
|
61
|
-
this.emit(this.theme, prevTheme);
|
|
62
|
-
}
|
|
63
|
-
ensureInitialized() {
|
|
64
|
-
if (!this.initialized) {
|
|
65
|
-
throw new Error('ThemeManager must be initialized before use.');
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
emit(next, prev) {
|
|
69
|
-
for (const listener of this.listeners){
|
|
70
|
-
try {
|
|
71
|
-
listener((0, _themeschema.cloneTheme)(next), (0, _themeschema.cloneTheme)(prev));
|
|
72
|
-
} catch {
|
|
73
|
-
// Keep notifying remaining listeners even if one fails.
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
constructor(){
|
|
78
|
-
_define_property(this, "theme", (0, _themeschema.cloneTheme)(_constants.DEFAULT_THEME));
|
|
79
|
-
_define_property(this, "config", _constants.DEFAULT_CONFIG.theme);
|
|
80
|
-
_define_property(this, "listeners", new Set());
|
|
81
|
-
_define_property(this, "cacheManager", null);
|
|
82
|
-
_define_property(this, "initialized", false);
|
|
83
|
-
}
|
|
84
|
-
};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"ThemeManager",{enumerable:true,get:function(){return ThemeManager}});const _constants=require("../../constants");const _themedom=require("./theme.dom");const _themepersistence=require("./theme.persistence");const _themeschema=require("./theme.schema");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}let ThemeManager=class ThemeManager{async initialize(context){this.config=context.config.theme;this.cacheManager=context.cacheManager;const initialTheme=(0,_themeschema.normalizeTheme)(this.config.initial||{},_constants.DEFAULT_THEME);this.theme=await (0,_themepersistence.loadThemeFromCache)(this.cacheManager,this.config.persistence,initialTheme);(0,_themedom.applyThemeToDocument)(this.theme);this.initialized=true}getTheme(){return(0,_themeschema.cloneTheme)(this.theme)}getSnapshot(){return this.getTheme()}subscribe(listener){this.listeners.add(listener);return()=>{this.listeners.delete(listener)}}async setTheme(nextTheme){this.ensureInitialized();const prevTheme=this.theme;const mergedTheme=(0,_themeschema.mergeTheme)(prevTheme,nextTheme);if((0,_themeschema.isThemeEqual)(prevTheme,mergedTheme)){return}this.theme=mergedTheme;(0,_themedom.applyThemeToDocument)(this.theme,prevTheme);if(this.cacheManager){await (0,_themepersistence.saveThemeToCache)(this.cacheManager,this.config.persistence,this.theme)}this.emit(this.theme,prevTheme)}ensureInitialized(){if(!this.initialized){throw new Error("ThemeManager must be initialized before use.")}}emit(next,prev){for(const listener of this.listeners){try{listener((0,_themeschema.cloneTheme)(next),(0,_themeschema.cloneTheme)(prev))}catch{}}}constructor(){_define_property(this,"theme",(0,_themeschema.cloneTheme)(_constants.DEFAULT_THEME));_define_property(this,"config",_constants.DEFAULT_CONFIG.theme);_define_property(this,"listeners",new Set);_define_property(this,"cacheManager",null);_define_property(this,"initialized",false)}};
|
|
@@ -1,11 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "ThemeManager", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _ThemeManager.ThemeManager;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _ThemeManager = require("./ThemeManager");
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"ThemeManager",{enumerable:true,get:function(){return _ThemeManager.ThemeManager}});const _ThemeManager=require("./ThemeManager");
|
|
@@ -1,61 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: Object.getOwnPropertyDescriptor(all, name).get
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
get applyThemeToDocument () {
|
|
13
|
-
return applyThemeToDocument;
|
|
14
|
-
},
|
|
15
|
-
get resolveThemeMode () {
|
|
16
|
-
return resolveThemeMode;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
function canUseDom() {
|
|
20
|
-
return typeof document !== 'undefined';
|
|
21
|
-
}
|
|
22
|
-
function resolveThemeMode(theme) {
|
|
23
|
-
if (theme.mode !== 'system') {
|
|
24
|
-
return theme.mode;
|
|
25
|
-
}
|
|
26
|
-
if (typeof window !== 'undefined' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
27
|
-
return 'dark';
|
|
28
|
-
}
|
|
29
|
-
return 'light';
|
|
30
|
-
}
|
|
31
|
-
function applyThemeToDocument(nextTheme, prevTheme) {
|
|
32
|
-
if (!canUseDom()) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
const root = document.documentElement;
|
|
36
|
-
const nextMode = resolveThemeMode(nextTheme);
|
|
37
|
-
const prevMode = prevTheme ? resolveThemeMode(prevTheme) : undefined;
|
|
38
|
-
if (!prevMode || prevMode !== nextMode) {
|
|
39
|
-
root.classList.remove('light', 'dark');
|
|
40
|
-
root.classList.add(nextMode);
|
|
41
|
-
}
|
|
42
|
-
if (!prevTheme || prevTheme.primaryColor !== nextTheme.primaryColor) {
|
|
43
|
-
if (nextTheme.primaryColor) {
|
|
44
|
-
root.style.setProperty('--app-primary-color', nextTheme.primaryColor);
|
|
45
|
-
} else {
|
|
46
|
-
root.style.removeProperty('--app-primary-color');
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
const prevTokens = prevTheme?.tokens || {};
|
|
50
|
-
const nextTokens = nextTheme.tokens || {};
|
|
51
|
-
for (const token of Object.keys(prevTokens)){
|
|
52
|
-
if (!(token in nextTokens)) {
|
|
53
|
-
root.style.removeProperty(`--${token}`);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
for (const [token, value] of Object.entries(nextTokens)){
|
|
57
|
-
if (!prevTheme || prevTokens[token] !== value) {
|
|
58
|
-
root.style.setProperty(`--${token}`, String(value));
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get applyThemeToDocument(){return applyThemeToDocument},get resolveThemeMode(){return resolveThemeMode}});function canUseDom(){return typeof document!=="undefined"}function resolveThemeMode(theme){if(theme.mode!=="system"){return theme.mode}if(typeof window!=="undefined"&&window.matchMedia("(prefers-color-scheme: dark)").matches){return"dark"}return"light"}function applyThemeToDocument(nextTheme,prevTheme){if(!canUseDom()){return}const root=document.documentElement;const nextMode=resolveThemeMode(nextTheme);const prevMode=prevTheme?resolveThemeMode(prevTheme):undefined;if(!prevMode||prevMode!==nextMode){root.classList.remove("light","dark");root.classList.add(nextMode)}if(!prevTheme||prevTheme.primaryColor!==nextTheme.primaryColor){if(nextTheme.primaryColor){root.style.setProperty("--app-primary-color",nextTheme.primaryColor)}else{root.style.removeProperty("--app-primary-color")}}const prevTokens=prevTheme?.tokens||{};const nextTokens=nextTheme.tokens||{};for(const token of Object.keys(prevTokens)){if(!(token in nextTokens)){root.style.removeProperty(`--${token}`)}}for(const[token,value]of Object.entries(nextTokens)){if(!prevTheme||prevTokens[token]!==value){root.style.setProperty(`--${token}`,String(value))}}}
|