@vlian/framework 1.2.55 → 1.2.57

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.
Files changed (71) hide show
  1. package/dist/analytics.umd.js +1 -1
  2. package/dist/core/initialization/initialization.cjs.map +1 -1
  3. package/dist/core/initialization/initialization.js +3 -3
  4. package/dist/core/initialization/initialization.js.map +1 -1
  5. package/dist/core/router/validation/RouterConfigValidator.d.ts +2 -2
  6. package/dist/core/router/validation/schema.d.ts +3 -3
  7. package/dist/index.umd.js +295 -229
  8. package/dist/index.umd.js.map +1 -1
  9. package/dist/kernel/kernel.cjs +1 -1
  10. package/dist/kernel/kernel.cjs.map +1 -1
  11. package/dist/kernel/kernel.js +1 -1
  12. package/dist/kernel/kernel.js.map +1 -1
  13. package/dist/kernel/manager/i18n/I18nManager.cjs +93 -0
  14. package/dist/kernel/manager/i18n/I18nManager.cjs.map +1 -0
  15. package/dist/kernel/manager/i18n/I18nManager.d.ts +15 -0
  16. package/dist/kernel/manager/i18n/I18nManager.js +83 -0
  17. package/dist/kernel/manager/i18n/I18nManager.js.map +1 -0
  18. package/dist/kernel/manager/i18n/i18n.persistence.cjs +62 -0
  19. package/dist/kernel/manager/i18n/i18n.persistence.cjs.map +1 -0
  20. package/dist/kernel/manager/i18n/i18n.persistence.d.ts +5 -0
  21. package/dist/kernel/manager/i18n/i18n.persistence.js +41 -0
  22. package/dist/kernel/manager/i18n/i18n.persistence.js.map +1 -0
  23. package/dist/kernel/manager/i18n/i18n.schema.cjs +88 -0
  24. package/dist/kernel/manager/i18n/i18n.schema.cjs.map +1 -0
  25. package/dist/kernel/manager/i18n/i18n.schema.d.ts +6 -0
  26. package/dist/kernel/manager/i18n/i18n.schema.js +64 -0
  27. package/dist/kernel/manager/i18n/i18n.schema.js.map +1 -0
  28. package/dist/kernel/manager/i18n/index.cjs +13 -0
  29. package/dist/kernel/manager/i18n/index.cjs.map +1 -0
  30. package/dist/kernel/manager/i18n/index.d.ts +1 -0
  31. package/dist/kernel/manager/i18n/index.js +3 -0
  32. package/dist/kernel/manager/i18n/index.js.map +1 -0
  33. package/dist/kernel/manager/i18nManager.cjs +2 -77
  34. package/dist/kernel/manager/i18nManager.cjs.map +1 -1
  35. package/dist/kernel/manager/i18nManager.d.ts +1 -13
  36. package/dist/kernel/manager/i18nManager.js +1 -76
  37. package/dist/kernel/manager/i18nManager.js.map +1 -1
  38. package/dist/kernel/manager/logger/LoggerManager.cjs +109 -0
  39. package/dist/kernel/manager/logger/LoggerManager.cjs.map +1 -0
  40. package/dist/kernel/manager/logger/LoggerManager.d.ts +21 -0
  41. package/dist/kernel/manager/logger/LoggerManager.js +99 -0
  42. package/dist/kernel/manager/logger/LoggerManager.js.map +1 -0
  43. package/dist/kernel/manager/logger/index.cjs +13 -0
  44. package/dist/kernel/manager/logger/index.cjs.map +1 -0
  45. package/dist/kernel/manager/logger/index.d.ts +1 -0
  46. package/dist/kernel/manager/logger/index.js +3 -0
  47. package/dist/kernel/manager/logger/index.js.map +1 -0
  48. package/dist/kernel/manager/logger/logger.persistence.cjs +64 -0
  49. package/dist/kernel/manager/logger/logger.persistence.cjs.map +1 -0
  50. package/dist/kernel/manager/logger/logger.persistence.d.ts +6 -0
  51. package/dist/kernel/manager/logger/logger.persistence.js +43 -0
  52. package/dist/kernel/manager/logger/logger.persistence.js.map +1 -0
  53. package/dist/kernel/manager/logger/logger.schema.cjs +76 -0
  54. package/dist/kernel/manager/logger/logger.schema.cjs.map +1 -0
  55. package/dist/kernel/manager/logger/logger.schema.d.ts +8 -0
  56. package/dist/kernel/manager/logger/logger.schema.js +55 -0
  57. package/dist/kernel/manager/logger/logger.schema.js.map +1 -0
  58. package/dist/kernel/manager/loggerManager.cjs +2 -103
  59. package/dist/kernel/manager/loggerManager.cjs.map +1 -1
  60. package/dist/kernel/manager/loggerManager.d.ts +1 -18
  61. package/dist/kernel/manager/loggerManager.js +1 -102
  62. package/dist/kernel/manager/loggerManager.js.map +1 -1
  63. package/dist/kernel/types.d.ts +3 -3
  64. package/dist/kernel/types.js.map +1 -1
  65. package/dist/library/locale/index.cjs +8 -34
  66. package/dist/library/locale/index.cjs.map +1 -1
  67. package/dist/library/locale/index.d.ts +4 -4
  68. package/dist/library/locale/index.js +5 -34
  69. package/dist/library/locale/index.js.map +1 -1
  70. package/dist/state.umd.js +1 -1
  71. package/package.json +3 -1
@@ -0,0 +1,64 @@
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
+ }
63
+
64
+ //# sourceMappingURL=logger.persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/kernel/manager/logger/logger.persistence.ts"],"sourcesContent":["import type { StorageInstance } from '@vlian/utils';\nimport type { PersistenceOptions } from '../../types';\nimport { normalizeLoggerSnapshot, type LoggerSnapshot } from './logger.schema';\n\nexport const DEFAULT_LOGGER_CACHE_KEY = 'vlian:kernel:logger-level';\n\ntype ResolvedPersistenceContext = {\n key: string;\n};\n\nfunction resolvePersistenceContext(\n persistence: PersistenceOptions | undefined\n): ResolvedPersistenceContext | null {\n if (persistence?.enabled !== true) {\n return null;\n }\n\n return {\n key: persistence.key || DEFAULT_LOGGER_CACHE_KEY,\n };\n}\n\nexport async function loadLoggerFromCache(\n cacheManager: StorageInstance,\n persistence: PersistenceOptions | undefined,\n fallback: LoggerSnapshot\n): Promise<LoggerSnapshot> {\n const persistenceContext = resolvePersistenceContext(persistence);\n\n if (!persistenceContext) {\n return { ...fallback };\n }\n\n try {\n const cached = await cacheManager.get<LoggerSnapshot | string | number>(persistenceContext.key, {\n defaultValue: fallback,\n });\n return normalizeLoggerSnapshot(cached, fallback);\n } catch {\n return { ...fallback };\n }\n}\n\nexport async function saveLoggerToCache(\n cacheManager: StorageInstance,\n persistence: PersistenceOptions | undefined,\n snapshot: LoggerSnapshot\n): Promise<void> {\n const persistenceContext = resolvePersistenceContext(persistence);\n\n if (!persistenceContext) {\n return;\n }\n\n try {\n await cacheManager.set(persistenceContext.key, { ...snapshot });\n } catch {\n // Ignore persistence failures and keep logger updates in memory.\n }\n}\n"],"names":["DEFAULT_LOGGER_CACHE_KEY","loadLoggerFromCache","saveLoggerToCache","resolvePersistenceContext","persistence","enabled","key","cacheManager","fallback","persistenceContext","cached","get","defaultValue","normalizeLoggerSnapshot","snapshot","set"],"mappings":";;;;;;;;;;;QAIaA;eAAAA;;QAkBSC;eAAAA;;QAqBAC;eAAAA;;;8BAzCuC;AAEtD,MAAMF,2BAA2B;AAMxC,SAASG,0BACPC,WAA2C;IAE3C,IAAIA,aAAaC,YAAY,MAAM;QACjC,OAAO;IACT;IAEA,OAAO;QACLC,KAAKF,YAAYE,GAAG,IAAIN;IAC1B;AACF;AAEO,eAAeC,oBACpBM,YAA6B,EAC7BH,WAA2C,EAC3CI,QAAwB;IAExB,MAAMC,qBAAqBN,0BAA0BC;IAErD,IAAI,CAACK,oBAAoB;QACvB,OAAO;YAAE,GAAGD,QAAQ;QAAC;IACvB;IAEA,IAAI;QACF,MAAME,SAAS,MAAMH,aAAaI,GAAG,CAAmCF,mBAAmBH,GAAG,EAAE;YAC9FM,cAAcJ;QAChB;QACA,OAAOK,IAAAA,qCAAuB,EAACH,QAAQF;IACzC,EAAE,OAAM;QACN,OAAO;YAAE,GAAGA,QAAQ;QAAC;IACvB;AACF;AAEO,eAAeN,kBACpBK,YAA6B,EAC7BH,WAA2C,EAC3CU,QAAwB;IAExB,MAAML,qBAAqBN,0BAA0BC;IAErD,IAAI,CAACK,oBAAoB;QACvB;IACF;IAEA,IAAI;QACF,MAAMF,aAAaQ,GAAG,CAACN,mBAAmBH,GAAG,EAAE;YAAE,GAAGQ,QAAQ;QAAC;IAC/D,EAAE,OAAM;IACN,iEAAiE;IACnE;AACF"}
@@ -0,0 +1,6 @@
1
+ import type { StorageInstance } from '@vlian/utils';
2
+ import type { PersistenceOptions } from '../../types';
3
+ import { type LoggerSnapshot } from './logger.schema';
4
+ export declare const DEFAULT_LOGGER_CACHE_KEY = "vlian:kernel:logger-level";
5
+ export declare function loadLoggerFromCache(cacheManager: StorageInstance, persistence: PersistenceOptions | undefined, fallback: LoggerSnapshot): Promise<LoggerSnapshot>;
6
+ export declare function saveLoggerToCache(cacheManager: StorageInstance, persistence: PersistenceOptions | undefined, snapshot: LoggerSnapshot): Promise<void>;
@@ -0,0 +1,43 @@
1
+ import { normalizeLoggerSnapshot } from "./logger.schema";
2
+ export const DEFAULT_LOGGER_CACHE_KEY = 'vlian:kernel:logger-level';
3
+ function resolvePersistenceContext(persistence) {
4
+ if (persistence?.enabled !== true) {
5
+ return null;
6
+ }
7
+ return {
8
+ key: persistence.key || DEFAULT_LOGGER_CACHE_KEY
9
+ };
10
+ }
11
+ export async function loadLoggerFromCache(cacheManager, persistence, fallback) {
12
+ const persistenceContext = resolvePersistenceContext(persistence);
13
+ if (!persistenceContext) {
14
+ return {
15
+ ...fallback
16
+ };
17
+ }
18
+ try {
19
+ const cached = await cacheManager.get(persistenceContext.key, {
20
+ defaultValue: fallback
21
+ });
22
+ return normalizeLoggerSnapshot(cached, fallback);
23
+ } catch {
24
+ return {
25
+ ...fallback
26
+ };
27
+ }
28
+ }
29
+ export async function saveLoggerToCache(cacheManager, persistence, snapshot) {
30
+ const persistenceContext = resolvePersistenceContext(persistence);
31
+ if (!persistenceContext) {
32
+ return;
33
+ }
34
+ try {
35
+ await cacheManager.set(persistenceContext.key, {
36
+ ...snapshot
37
+ });
38
+ } catch {
39
+ // Ignore persistence failures and keep logger updates in memory.
40
+ }
41
+ }
42
+
43
+ //# sourceMappingURL=logger.persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/kernel/manager/logger/logger.persistence.ts"],"sourcesContent":["import type { StorageInstance } from '@vlian/utils';\nimport type { PersistenceOptions } from '../../types';\nimport { normalizeLoggerSnapshot, type LoggerSnapshot } from './logger.schema';\n\nexport const DEFAULT_LOGGER_CACHE_KEY = 'vlian:kernel:logger-level';\n\ntype ResolvedPersistenceContext = {\n key: string;\n};\n\nfunction resolvePersistenceContext(\n persistence: PersistenceOptions | undefined\n): ResolvedPersistenceContext | null {\n if (persistence?.enabled !== true) {\n return null;\n }\n\n return {\n key: persistence.key || DEFAULT_LOGGER_CACHE_KEY,\n };\n}\n\nexport async function loadLoggerFromCache(\n cacheManager: StorageInstance,\n persistence: PersistenceOptions | undefined,\n fallback: LoggerSnapshot\n): Promise<LoggerSnapshot> {\n const persistenceContext = resolvePersistenceContext(persistence);\n\n if (!persistenceContext) {\n return { ...fallback };\n }\n\n try {\n const cached = await cacheManager.get<LoggerSnapshot | string | number>(persistenceContext.key, {\n defaultValue: fallback,\n });\n return normalizeLoggerSnapshot(cached, fallback);\n } catch {\n return { ...fallback };\n }\n}\n\nexport async function saveLoggerToCache(\n cacheManager: StorageInstance,\n persistence: PersistenceOptions | undefined,\n snapshot: LoggerSnapshot\n): Promise<void> {\n const persistenceContext = resolvePersistenceContext(persistence);\n\n if (!persistenceContext) {\n return;\n }\n\n try {\n await cacheManager.set(persistenceContext.key, { ...snapshot });\n } catch {\n // Ignore persistence failures and keep logger updates in memory.\n }\n}\n"],"names":["normalizeLoggerSnapshot","DEFAULT_LOGGER_CACHE_KEY","resolvePersistenceContext","persistence","enabled","key","loadLoggerFromCache","cacheManager","fallback","persistenceContext","cached","get","defaultValue","saveLoggerToCache","snapshot","set"],"mappings":"AAEA,SAASA,uBAAuB,QAA6B,kBAAkB;AAE/E,OAAO,MAAMC,2BAA2B,4BAA4B;AAMpE,SAASC,0BACPC,WAA2C;IAE3C,IAAIA,aAAaC,YAAY,MAAM;QACjC,OAAO;IACT;IAEA,OAAO;QACLC,KAAKF,YAAYE,GAAG,IAAIJ;IAC1B;AACF;AAEA,OAAO,eAAeK,oBACpBC,YAA6B,EAC7BJ,WAA2C,EAC3CK,QAAwB;IAExB,MAAMC,qBAAqBP,0BAA0BC;IAErD,IAAI,CAACM,oBAAoB;QACvB,OAAO;YAAE,GAAGD,QAAQ;QAAC;IACvB;IAEA,IAAI;QACF,MAAME,SAAS,MAAMH,aAAaI,GAAG,CAAmCF,mBAAmBJ,GAAG,EAAE;YAC9FO,cAAcJ;QAChB;QACA,OAAOR,wBAAwBU,QAAQF;IACzC,EAAE,OAAM;QACN,OAAO;YAAE,GAAGA,QAAQ;QAAC;IACvB;AACF;AAEA,OAAO,eAAeK,kBACpBN,YAA6B,EAC7BJ,WAA2C,EAC3CW,QAAwB;IAExB,MAAML,qBAAqBP,0BAA0BC;IAErD,IAAI,CAACM,oBAAoB;QACvB;IACF;IAEA,IAAI;QACF,MAAMF,aAAaQ,GAAG,CAACN,mBAAmBJ,GAAG,EAAE;YAAE,GAAGS,QAAQ;QAAC;IAC/D,EAAE,OAAM;IACN,iEAAiE;IACnE;AACF"}
@@ -0,0 +1,76 @@
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
+ }
75
+
76
+ //# sourceMappingURL=logger.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/kernel/manager/logger/logger.schema.ts"],"sourcesContent":["import { LogLevel } from '@vlian/logger';\n\nexport type LoggerSnapshot = {\n level: LogLevel;\n};\n\nexport type LoggerListener = (next: LoggerSnapshot, prev: LoggerSnapshot) => void;\n\nexport function normalizeLogLevel(value: unknown, fallback: LogLevel): LogLevel {\n if (typeof value === 'number' && Number.isInteger(value)) {\n switch (value) {\n case LogLevel.DEBUG:\n case LogLevel.INFO:\n case LogLevel.WARN:\n case LogLevel.ERROR:\n case LogLevel.NONE:\n return value;\n default:\n return fallback;\n }\n }\n\n if (typeof value !== 'string') {\n return fallback;\n }\n\n const normalized = value.trim();\n if (!normalized) {\n return fallback;\n }\n\n if (/^\\d+$/.test(normalized)) {\n return normalizeLogLevel(Number(normalized), fallback);\n }\n\n switch (normalized.toUpperCase()) {\n case 'DEBUG':\n return LogLevel.DEBUG;\n case 'INFO':\n return LogLevel.INFO;\n case 'WARN':\n return LogLevel.WARN;\n case 'ERROR':\n return LogLevel.ERROR;\n case 'NONE':\n return LogLevel.NONE;\n default:\n return fallback;\n }\n}\n\nexport function normalizeLoggerSnapshot(\n value: unknown,\n fallback: LoggerSnapshot\n): LoggerSnapshot {\n if (typeof value === 'number' || typeof value === 'string') {\n return {\n level: normalizeLogLevel(value, fallback.level),\n };\n }\n\n const source = value && typeof value === 'object' ? (value as Partial<LoggerSnapshot>) : {};\n\n return {\n level: normalizeLogLevel(source.level, fallback.level),\n };\n}\n\nexport function isLoggerEqual(left: LoggerSnapshot, right: LoggerSnapshot): boolean {\n return left.level === right.level;\n}\n"],"names":["isLoggerEqual","normalizeLogLevel","normalizeLoggerSnapshot","value","fallback","Number","isInteger","LogLevel","DEBUG","INFO","WARN","ERROR","NONE","normalized","trim","test","toUpperCase","level","source","left","right"],"mappings":";;;;;;;;;;;QAoEgBA;eAAAA;;QA5DAC;eAAAA;;QA2CAC;eAAAA;;;wBAnDS;AAQlB,SAASD,kBAAkBE,KAAc,EAAEC,QAAkB;IAClE,IAAI,OAAOD,UAAU,YAAYE,OAAOC,SAAS,CAACH,QAAQ;QACxD,OAAQA;YACN,KAAKI,gBAAQ,CAACC,KAAK;YACnB,KAAKD,gBAAQ,CAACE,IAAI;YAClB,KAAKF,gBAAQ,CAACG,IAAI;YAClB,KAAKH,gBAAQ,CAACI,KAAK;YACnB,KAAKJ,gBAAQ,CAACK,IAAI;gBAChB,OAAOT;YACT;gBACE,OAAOC;QACX;IACF;IAEA,IAAI,OAAOD,UAAU,UAAU;QAC7B,OAAOC;IACT;IAEA,MAAMS,aAAaV,MAAMW,IAAI;IAC7B,IAAI,CAACD,YAAY;QACf,OAAOT;IACT;IAEA,IAAI,QAAQW,IAAI,CAACF,aAAa;QAC5B,OAAOZ,kBAAkBI,OAAOQ,aAAaT;IAC/C;IAEA,OAAQS,WAAWG,WAAW;QAC5B,KAAK;YACH,OAAOT,gBAAQ,CAACC,KAAK;QACvB,KAAK;YACH,OAAOD,gBAAQ,CAACE,IAAI;QACtB,KAAK;YACH,OAAOF,gBAAQ,CAACG,IAAI;QACtB,KAAK;YACH,OAAOH,gBAAQ,CAACI,KAAK;QACvB,KAAK;YACH,OAAOJ,gBAAQ,CAACK,IAAI;QACtB;YACE,OAAOR;IACX;AACF;AAEO,SAASF,wBACdC,KAAc,EACdC,QAAwB;IAExB,IAAI,OAAOD,UAAU,YAAY,OAAOA,UAAU,UAAU;QAC1D,OAAO;YACLc,OAAOhB,kBAAkBE,OAAOC,SAASa,KAAK;QAChD;IACF;IAEA,MAAMC,SAASf,SAAS,OAAOA,UAAU,WAAYA,QAAoC,CAAC;IAE1F,OAAO;QACLc,OAAOhB,kBAAkBiB,OAAOD,KAAK,EAAEb,SAASa,KAAK;IACvD;AACF;AAEO,SAASjB,cAAcmB,IAAoB,EAAEC,KAAqB;IACvE,OAAOD,KAAKF,KAAK,KAAKG,MAAMH,KAAK;AACnC"}
@@ -0,0 +1,8 @@
1
+ import { LogLevel } from '@vlian/logger';
2
+ export type LoggerSnapshot = {
3
+ level: LogLevel;
4
+ };
5
+ export type LoggerListener = (next: LoggerSnapshot, prev: LoggerSnapshot) => void;
6
+ export declare function normalizeLogLevel(value: unknown, fallback: LogLevel): LogLevel;
7
+ export declare function normalizeLoggerSnapshot(value: unknown, fallback: LoggerSnapshot): LoggerSnapshot;
8
+ export declare function isLoggerEqual(left: LoggerSnapshot, right: LoggerSnapshot): boolean;
@@ -0,0 +1,55 @@
1
+ import { LogLevel } from "@vlian/logger";
2
+ export function normalizeLogLevel(value, fallback) {
3
+ if (typeof value === 'number' && Number.isInteger(value)) {
4
+ switch(value){
5
+ case LogLevel.DEBUG:
6
+ case LogLevel.INFO:
7
+ case LogLevel.WARN:
8
+ case LogLevel.ERROR:
9
+ case LogLevel.NONE:
10
+ return value;
11
+ default:
12
+ return fallback;
13
+ }
14
+ }
15
+ if (typeof value !== 'string') {
16
+ return fallback;
17
+ }
18
+ const normalized = value.trim();
19
+ if (!normalized) {
20
+ return fallback;
21
+ }
22
+ if (/^\d+$/.test(normalized)) {
23
+ return normalizeLogLevel(Number(normalized), fallback);
24
+ }
25
+ switch(normalized.toUpperCase()){
26
+ case 'DEBUG':
27
+ return LogLevel.DEBUG;
28
+ case 'INFO':
29
+ return LogLevel.INFO;
30
+ case 'WARN':
31
+ return LogLevel.WARN;
32
+ case 'ERROR':
33
+ return LogLevel.ERROR;
34
+ case 'NONE':
35
+ return LogLevel.NONE;
36
+ default:
37
+ return fallback;
38
+ }
39
+ }
40
+ export function normalizeLoggerSnapshot(value, fallback) {
41
+ if (typeof value === 'number' || typeof value === 'string') {
42
+ return {
43
+ level: normalizeLogLevel(value, fallback.level)
44
+ };
45
+ }
46
+ const source = value && typeof value === 'object' ? value : {};
47
+ return {
48
+ level: normalizeLogLevel(source.level, fallback.level)
49
+ };
50
+ }
51
+ export function isLoggerEqual(left, right) {
52
+ return left.level === right.level;
53
+ }
54
+
55
+ //# sourceMappingURL=logger.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/kernel/manager/logger/logger.schema.ts"],"sourcesContent":["import { LogLevel } from '@vlian/logger';\n\nexport type LoggerSnapshot = {\n level: LogLevel;\n};\n\nexport type LoggerListener = (next: LoggerSnapshot, prev: LoggerSnapshot) => void;\n\nexport function normalizeLogLevel(value: unknown, fallback: LogLevel): LogLevel {\n if (typeof value === 'number' && Number.isInteger(value)) {\n switch (value) {\n case LogLevel.DEBUG:\n case LogLevel.INFO:\n case LogLevel.WARN:\n case LogLevel.ERROR:\n case LogLevel.NONE:\n return value;\n default:\n return fallback;\n }\n }\n\n if (typeof value !== 'string') {\n return fallback;\n }\n\n const normalized = value.trim();\n if (!normalized) {\n return fallback;\n }\n\n if (/^\\d+$/.test(normalized)) {\n return normalizeLogLevel(Number(normalized), fallback);\n }\n\n switch (normalized.toUpperCase()) {\n case 'DEBUG':\n return LogLevel.DEBUG;\n case 'INFO':\n return LogLevel.INFO;\n case 'WARN':\n return LogLevel.WARN;\n case 'ERROR':\n return LogLevel.ERROR;\n case 'NONE':\n return LogLevel.NONE;\n default:\n return fallback;\n }\n}\n\nexport function normalizeLoggerSnapshot(\n value: unknown,\n fallback: LoggerSnapshot\n): LoggerSnapshot {\n if (typeof value === 'number' || typeof value === 'string') {\n return {\n level: normalizeLogLevel(value, fallback.level),\n };\n }\n\n const source = value && typeof value === 'object' ? (value as Partial<LoggerSnapshot>) : {};\n\n return {\n level: normalizeLogLevel(source.level, fallback.level),\n };\n}\n\nexport function isLoggerEqual(left: LoggerSnapshot, right: LoggerSnapshot): boolean {\n return left.level === right.level;\n}\n"],"names":["LogLevel","normalizeLogLevel","value","fallback","Number","isInteger","DEBUG","INFO","WARN","ERROR","NONE","normalized","trim","test","toUpperCase","normalizeLoggerSnapshot","level","source","isLoggerEqual","left","right"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AAQzC,OAAO,SAASC,kBAAkBC,KAAc,EAAEC,QAAkB;IAClE,IAAI,OAAOD,UAAU,YAAYE,OAAOC,SAAS,CAACH,QAAQ;QACxD,OAAQA;YACN,KAAKF,SAASM,KAAK;YACnB,KAAKN,SAASO,IAAI;YAClB,KAAKP,SAASQ,IAAI;YAClB,KAAKR,SAASS,KAAK;YACnB,KAAKT,SAASU,IAAI;gBAChB,OAAOR;YACT;gBACE,OAAOC;QACX;IACF;IAEA,IAAI,OAAOD,UAAU,UAAU;QAC7B,OAAOC;IACT;IAEA,MAAMQ,aAAaT,MAAMU,IAAI;IAC7B,IAAI,CAACD,YAAY;QACf,OAAOR;IACT;IAEA,IAAI,QAAQU,IAAI,CAACF,aAAa;QAC5B,OAAOV,kBAAkBG,OAAOO,aAAaR;IAC/C;IAEA,OAAQQ,WAAWG,WAAW;QAC5B,KAAK;YACH,OAAOd,SAASM,KAAK;QACvB,KAAK;YACH,OAAON,SAASO,IAAI;QACtB,KAAK;YACH,OAAOP,SAASQ,IAAI;QACtB,KAAK;YACH,OAAOR,SAASS,KAAK;QACvB,KAAK;YACH,OAAOT,SAASU,IAAI;QACtB;YACE,OAAOP;IACX;AACF;AAEA,OAAO,SAASY,wBACdb,KAAc,EACdC,QAAwB;IAExB,IAAI,OAAOD,UAAU,YAAY,OAAOA,UAAU,UAAU;QAC1D,OAAO;YACLc,OAAOf,kBAAkBC,OAAOC,SAASa,KAAK;QAChD;IACF;IAEA,MAAMC,SAASf,SAAS,OAAOA,UAAU,WAAYA,QAAoC,CAAC;IAE1F,OAAO;QACLc,OAAOf,kBAAkBgB,OAAOD,KAAK,EAAEb,SAASa,KAAK;IACvD;AACF;AAEA,OAAO,SAASE,cAAcC,IAAoB,EAAEC,KAAqB;IACvE,OAAOD,KAAKH,KAAK,KAAKI,MAAMJ,KAAK;AACnC"}
@@ -5,110 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "LoggerManager", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return LoggerManager;
8
+ return _logger.LoggerManager;
9
9
  }
10
10
  });
11
- const _logger = require("@vlian/logger");
12
- const _constants = require("../constants");
13
- const _persistence = require("./persistence");
14
- function _define_property(obj, key, value) {
15
- if (key in obj) {
16
- Object.defineProperty(obj, key, {
17
- value: value,
18
- enumerable: true,
19
- configurable: true,
20
- writable: true
21
- });
22
- } else {
23
- obj[key] = value;
24
- }
25
- return obj;
26
- }
27
- function normalizeLogLevel(value, fallback) {
28
- if (typeof value === 'number' && Number.isInteger(value)) {
29
- switch(value){
30
- case _logger.LogLevel.DEBUG:
31
- case _logger.LogLevel.INFO:
32
- case _logger.LogLevel.WARN:
33
- case _logger.LogLevel.ERROR:
34
- case _logger.LogLevel.NONE:
35
- return value;
36
- default:
37
- return fallback;
38
- }
39
- }
40
- if (typeof value !== 'string') {
41
- return fallback;
42
- }
43
- const normalized = value.trim();
44
- if (!normalized) {
45
- return fallback;
46
- }
47
- if (/^\d+$/.test(normalized)) {
48
- return normalizeLogLevel(Number(normalized), fallback);
49
- }
50
- switch(normalized.toUpperCase()){
51
- case 'DEBUG':
52
- return _logger.LogLevel.DEBUG;
53
- case 'INFO':
54
- return _logger.LogLevel.INFO;
55
- case 'WARN':
56
- return _logger.LogLevel.WARN;
57
- case 'ERROR':
58
- return _logger.LogLevel.ERROR;
59
- case 'NONE':
60
- return _logger.LogLevel.NONE;
61
- default:
62
- return fallback;
63
- }
64
- }
65
- let LoggerManager = class LoggerManager {
66
- async initialize(context) {
67
- this.config = context.config.logger;
68
- const hasConfiguredLevel = this.config.level !== undefined && this.config.level !== null;
69
- const configuredLevel = normalizeLogLevel(this.config.level, _logger.LogLevel.INFO);
70
- if (hasConfiguredLevel) {
71
- this.level = configuredLevel;
72
- _logger.logger.setLevel(this.level);
73
- await (0, _persistence.writePersistedValue)(this.config.persistence, String(this.level));
74
- return;
75
- }
76
- const persisted = await (0, _persistence.readPersistedValue)(this.config.persistence);
77
- if (persisted !== null) {
78
- this.level = normalizeLogLevel(persisted, configuredLevel);
79
- _logger.logger.setLevel(this.level);
80
- return;
81
- }
82
- this.level = configuredLevel;
83
- _logger.logger.setLevel(this.level);
84
- await (0, _persistence.writePersistedValue)(this.config.persistence, String(this.level));
85
- }
86
- debug(...args) {
87
- _logger.logger.debug(...args);
88
- }
89
- info(...args) {
90
- _logger.logger.info(...args);
91
- }
92
- warn(...args) {
93
- _logger.logger.warn(...args);
94
- }
95
- error(...args) {
96
- _logger.logger.error(...args);
97
- }
98
- async setLevel(level) {
99
- this.level = level;
100
- _logger.logger.setLevel(level);
101
- await (0, _persistence.writePersistedValue)(this.config.persistence, String(level));
102
- }
103
- getSnapshot() {
104
- return {
105
- level: this.level
106
- };
107
- }
108
- constructor(){
109
- _define_property(this, "level", _logger.LogLevel.INFO);
110
- _define_property(this, "config", _constants.DEFAULT_CONFIG.logger);
111
- }
112
- };
11
+ const _logger = require("./logger");
113
12
 
114
13
  //# sourceMappingURL=loggerManager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/kernel/manager/loggerManager.ts"],"sourcesContent":["import { logger, LogLevel } from '@vlian/logger';\nimport type { Logger } from '@vlian/logger';\nimport type { KernelConfig, KernelManager, KernelManagerContext } from '../types';\nimport { DEFAULT_CONFIG } from '../constants';\nimport { readPersistedValue, writePersistedValue } from './persistence';\n\nfunction normalizeLogLevel(value: unknown, fallback: LogLevel): LogLevel {\n if (typeof value === 'number' && Number.isInteger(value)) {\n switch (value) {\n case LogLevel.DEBUG:\n case LogLevel.INFO:\n case LogLevel.WARN:\n case LogLevel.ERROR:\n case LogLevel.NONE:\n return value;\n default:\n return fallback;\n }\n }\n\n if (typeof value !== 'string') {\n return fallback;\n }\n\n const normalized = value.trim();\n if (!normalized) {\n return fallback;\n }\n\n if (/^\\d+$/.test(normalized)) {\n return normalizeLogLevel(Number(normalized), fallback);\n }\n\n switch (normalized.toUpperCase()) {\n case 'DEBUG':\n return LogLevel.DEBUG;\n case 'INFO':\n return LogLevel.INFO;\n case 'WARN':\n return LogLevel.WARN;\n case 'ERROR':\n return LogLevel.ERROR;\n case 'NONE':\n return LogLevel.NONE;\n default:\n return fallback;\n }\n}\n\nexport class LoggerManager implements KernelManager<{ level: LogLevel }> {\n private level: LogLevel = LogLevel.INFO;\n private config: KernelConfig['logger'] = DEFAULT_CONFIG.logger;\n\n public async initialize(context: KernelManagerContext): Promise<void> {\n this.config = context.config.logger;\n const hasConfiguredLevel = this.config.level !== undefined && this.config.level !== null;\n const configuredLevel = normalizeLogLevel(this.config.level, LogLevel.INFO);\n\n if (hasConfiguredLevel) {\n this.level = configuredLevel;\n logger.setLevel(this.level);\n await writePersistedValue(this.config.persistence, String(this.level));\n return;\n }\n\n const persisted = await readPersistedValue(this.config.persistence);\n\n if (persisted !== null) {\n this.level = normalizeLogLevel(persisted, configuredLevel);\n logger.setLevel(this.level);\n return;\n }\n\n this.level = configuredLevel;\n logger.setLevel(this.level);\n await writePersistedValue(this.config.persistence, String(this.level));\n }\n\n public debug(...args: Parameters<Logger['debug']>): void {\n logger.debug(...args);\n }\n\n public info(...args: Parameters<Logger['info']>): void {\n logger.info(...args);\n }\n\n public warn(...args: Parameters<Logger['warn']>): void {\n logger.warn(...args);\n }\n\n public error(...args: Parameters<Logger['error']>): void {\n logger.error(...args);\n }\n\n public async setLevel(level: LogLevel): Promise<void> {\n this.level = level;\n logger.setLevel(level);\n await writePersistedValue(this.config.persistence, String(level));\n }\n\n public getSnapshot(): { level: LogLevel } {\n return { level: this.level };\n }\n}\n"],"names":["LoggerManager","normalizeLogLevel","value","fallback","Number","isInteger","LogLevel","DEBUG","INFO","WARN","ERROR","NONE","normalized","trim","test","toUpperCase","initialize","context","config","logger","hasConfiguredLevel","level","undefined","configuredLevel","setLevel","writePersistedValue","persistence","String","persisted","readPersistedValue","debug","args","info","warn","error","getSnapshot","DEFAULT_CONFIG"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/kernel/manager/loggerManager.ts"],"sourcesContent":["export { LoggerManager } from './logger';\n"],"names":["LoggerManager"],"mappings":";;;;+BAASA;;;eAAAA,qBAAa;;;wBAAQ"}
@@ -1,18 +1 @@
1
- import { LogLevel } from '@vlian/logger';
2
- import type { Logger } from '@vlian/logger';
3
- import type { KernelManager, KernelManagerContext } from '../types';
4
- export declare class LoggerManager implements KernelManager<{
5
- level: LogLevel;
6
- }> {
7
- private level;
8
- private config;
9
- initialize(context: KernelManagerContext): Promise<void>;
10
- debug(...args: Parameters<Logger['debug']>): void;
11
- info(...args: Parameters<Logger['info']>): void;
12
- warn(...args: Parameters<Logger['warn']>): void;
13
- error(...args: Parameters<Logger['error']>): void;
14
- setLevel(level: LogLevel): Promise<void>;
15
- getSnapshot(): {
16
- level: LogLevel;
17
- };
18
- }
1
+ export { LoggerManager } from './logger';
@@ -1,104 +1,3 @@
1
- function _define_property(obj, key, value) {
2
- if (key in obj) {
3
- Object.defineProperty(obj, key, {
4
- value: value,
5
- enumerable: true,
6
- configurable: true,
7
- writable: true
8
- });
9
- } else {
10
- obj[key] = value;
11
- }
12
- return obj;
13
- }
14
- import { logger, LogLevel } from "@vlian/logger";
15
- import { DEFAULT_CONFIG } from "../constants";
16
- import { readPersistedValue, writePersistedValue } from "./persistence";
17
- function normalizeLogLevel(value, fallback) {
18
- if (typeof value === 'number' && Number.isInteger(value)) {
19
- switch(value){
20
- case LogLevel.DEBUG:
21
- case LogLevel.INFO:
22
- case LogLevel.WARN:
23
- case LogLevel.ERROR:
24
- case LogLevel.NONE:
25
- return value;
26
- default:
27
- return fallback;
28
- }
29
- }
30
- if (typeof value !== 'string') {
31
- return fallback;
32
- }
33
- const normalized = value.trim();
34
- if (!normalized) {
35
- return fallback;
36
- }
37
- if (/^\d+$/.test(normalized)) {
38
- return normalizeLogLevel(Number(normalized), fallback);
39
- }
40
- switch(normalized.toUpperCase()){
41
- case 'DEBUG':
42
- return LogLevel.DEBUG;
43
- case 'INFO':
44
- return LogLevel.INFO;
45
- case 'WARN':
46
- return LogLevel.WARN;
47
- case 'ERROR':
48
- return LogLevel.ERROR;
49
- case 'NONE':
50
- return LogLevel.NONE;
51
- default:
52
- return fallback;
53
- }
54
- }
55
- export class LoggerManager {
56
- async initialize(context) {
57
- this.config = context.config.logger;
58
- const hasConfiguredLevel = this.config.level !== undefined && this.config.level !== null;
59
- const configuredLevel = normalizeLogLevel(this.config.level, LogLevel.INFO);
60
- if (hasConfiguredLevel) {
61
- this.level = configuredLevel;
62
- logger.setLevel(this.level);
63
- await writePersistedValue(this.config.persistence, String(this.level));
64
- return;
65
- }
66
- const persisted = await readPersistedValue(this.config.persistence);
67
- if (persisted !== null) {
68
- this.level = normalizeLogLevel(persisted, configuredLevel);
69
- logger.setLevel(this.level);
70
- return;
71
- }
72
- this.level = configuredLevel;
73
- logger.setLevel(this.level);
74
- await writePersistedValue(this.config.persistence, String(this.level));
75
- }
76
- debug(...args) {
77
- logger.debug(...args);
78
- }
79
- info(...args) {
80
- logger.info(...args);
81
- }
82
- warn(...args) {
83
- logger.warn(...args);
84
- }
85
- error(...args) {
86
- logger.error(...args);
87
- }
88
- async setLevel(level) {
89
- this.level = level;
90
- logger.setLevel(level);
91
- await writePersistedValue(this.config.persistence, String(level));
92
- }
93
- getSnapshot() {
94
- return {
95
- level: this.level
96
- };
97
- }
98
- constructor(){
99
- _define_property(this, "level", LogLevel.INFO);
100
- _define_property(this, "config", DEFAULT_CONFIG.logger);
101
- }
102
- }
1
+ export { LoggerManager } from "./logger";
103
2
 
104
3
  //# sourceMappingURL=loggerManager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/kernel/manager/loggerManager.ts"],"sourcesContent":["import { logger, LogLevel } from '@vlian/logger';\nimport type { Logger } from '@vlian/logger';\nimport type { KernelConfig, KernelManager, KernelManagerContext } from '../types';\nimport { DEFAULT_CONFIG } from '../constants';\nimport { readPersistedValue, writePersistedValue } from './persistence';\n\nfunction normalizeLogLevel(value: unknown, fallback: LogLevel): LogLevel {\n if (typeof value === 'number' && Number.isInteger(value)) {\n switch (value) {\n case LogLevel.DEBUG:\n case LogLevel.INFO:\n case LogLevel.WARN:\n case LogLevel.ERROR:\n case LogLevel.NONE:\n return value;\n default:\n return fallback;\n }\n }\n\n if (typeof value !== 'string') {\n return fallback;\n }\n\n const normalized = value.trim();\n if (!normalized) {\n return fallback;\n }\n\n if (/^\\d+$/.test(normalized)) {\n return normalizeLogLevel(Number(normalized), fallback);\n }\n\n switch (normalized.toUpperCase()) {\n case 'DEBUG':\n return LogLevel.DEBUG;\n case 'INFO':\n return LogLevel.INFO;\n case 'WARN':\n return LogLevel.WARN;\n case 'ERROR':\n return LogLevel.ERROR;\n case 'NONE':\n return LogLevel.NONE;\n default:\n return fallback;\n }\n}\n\nexport class LoggerManager implements KernelManager<{ level: LogLevel }> {\n private level: LogLevel = LogLevel.INFO;\n private config: KernelConfig['logger'] = DEFAULT_CONFIG.logger;\n\n public async initialize(context: KernelManagerContext): Promise<void> {\n this.config = context.config.logger;\n const hasConfiguredLevel = this.config.level !== undefined && this.config.level !== null;\n const configuredLevel = normalizeLogLevel(this.config.level, LogLevel.INFO);\n\n if (hasConfiguredLevel) {\n this.level = configuredLevel;\n logger.setLevel(this.level);\n await writePersistedValue(this.config.persistence, String(this.level));\n return;\n }\n\n const persisted = await readPersistedValue(this.config.persistence);\n\n if (persisted !== null) {\n this.level = normalizeLogLevel(persisted, configuredLevel);\n logger.setLevel(this.level);\n return;\n }\n\n this.level = configuredLevel;\n logger.setLevel(this.level);\n await writePersistedValue(this.config.persistence, String(this.level));\n }\n\n public debug(...args: Parameters<Logger['debug']>): void {\n logger.debug(...args);\n }\n\n public info(...args: Parameters<Logger['info']>): void {\n logger.info(...args);\n }\n\n public warn(...args: Parameters<Logger['warn']>): void {\n logger.warn(...args);\n }\n\n public error(...args: Parameters<Logger['error']>): void {\n logger.error(...args);\n }\n\n public async setLevel(level: LogLevel): Promise<void> {\n this.level = level;\n logger.setLevel(level);\n await writePersistedValue(this.config.persistence, String(level));\n }\n\n public getSnapshot(): { level: LogLevel } {\n return { level: this.level };\n }\n}\n"],"names":["logger","LogLevel","DEFAULT_CONFIG","readPersistedValue","writePersistedValue","normalizeLogLevel","value","fallback","Number","isInteger","DEBUG","INFO","WARN","ERROR","NONE","normalized","trim","test","toUpperCase","LoggerManager","initialize","context","config","hasConfiguredLevel","level","undefined","configuredLevel","setLevel","persistence","String","persisted","debug","args","info","warn","error","getSnapshot"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/kernel/manager/loggerManager.ts"],"sourcesContent":["export { LoggerManager } from './logger';\n"],"names":["LoggerManager"],"mappings":"AAAA,SAASA,aAAa,QAAQ,WAAW"}
@@ -1,8 +1,8 @@
1
1
  import type { LogLevel } from '@vlian/logger';
2
- import type { LangType } from '../library/locale/types';
3
2
  import type { StartOptions as CoreStartOptions } from '../core/types';
4
3
  import type { StorageOptions } from '../types';
5
4
  import type { StorageInstance } from "@vlian/utils";
5
+ import type { Resource } from "i18next";
6
6
  export type KernelInstanceId = string;
7
7
  export type KernelStorageDriver = 'localStorage' | 'sessionStorage' | 'indexedDB' | 'none';
8
8
  export interface ThemeSnapshot {
@@ -11,8 +11,8 @@ export interface ThemeSnapshot {
11
11
  tokens?: Record<string, string | number>;
12
12
  }
13
13
  export interface I18nSnapshot {
14
- locale: LangType;
15
- resources?: Record<LangType, Record<string, unknown>>;
14
+ locale: string;
15
+ resources?: Resource;
16
16
  }
17
17
  export interface PersistenceOptions {
18
18
  enabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/kernel/types.ts"],"sourcesContent":["import type { LogLevel } from '@vlian/logger';\nimport type { LangType } from '../library/locale/types';\nimport type { StartOptions as CoreStartOptions } from '../core/types';\nimport type { StorageOptions } from '../types';\nimport type {StorageInstance} from \"@vlian/utils\"\n\nexport type KernelInstanceId = string;\nexport type KernelStorageDriver = 'localStorage' | 'sessionStorage' | 'indexedDB' | 'none';\n\nexport interface ThemeSnapshot {\n mode: 'light' | 'dark' | 'system';\n primaryColor?: string;\n tokens?: Record<string, string | number>;\n}\n\nexport interface I18nSnapshot {\n locale: LangType;\n resources?: Record<LangType, Record<string, unknown>>;\n}\n\nexport interface PersistenceOptions {\n enabled?: boolean;\n storage?: KernelStorageDriver;\n key?: string;\n}\n\nexport interface LoggerManagerConfig {\n level?: LogLevel;\n persistence?: PersistenceOptions;\n}\n\nexport interface CacheManagerConfig {\n enabled?: boolean;\n storageOptions?: Partial<StorageOptions>;\n}\n\nexport interface ThemeManagerConfig {\n initial?: ThemeSnapshot;\n persistence?: PersistenceOptions;\n}\n\nexport interface I18nManagerConfig {\n initial?: I18nSnapshot;\n persistence?: PersistenceOptions;\n}\n\nexport interface KernelConfig {\n logger: LoggerManagerConfig;\n cache: CacheManagerConfig;\n theme: ThemeManagerConfig;\n i18n: I18nManagerConfig;\n}\n\nexport interface KernelTimingMetric {\n phase: string;\n startTime: number;\n endTime: number;\n duration: number;\n}\n\nexport interface KernelManagerContext {\n instanceId: KernelInstanceId;\n config: KernelConfig;\n cacheManager: StorageInstance;\n}\n\nexport interface KernelManager<TSnapshot = unknown> {\n initialize: (context: KernelManagerContext) => Promise<void> | void;\n getSnapshot?: () => TSnapshot;\n destroy?: () => Promise<void> | void;\n}\n\nexport interface KernelRenderContext {\n instanceId: KernelInstanceId;\n config: KernelConfig;\n}\n\nexport interface StartupHooks {\n initialize?: () => Promise<void> | void;\n}\n\nexport interface StartOptions extends CoreStartOptions {\n config?: Partial<KernelConfig>;\n configLoader?: () => Promise<Partial<KernelConfig> | void> | Partial<KernelConfig> | void;\n render?: (context: KernelRenderContext) => Promise<void> | void;\n customManagers?: Record<string, KernelManager>;\n hooks?: StartupHooks;\n}\n\nexport type KernelStartOptions = StartOptions;\n"],"names":[],"mappings":"AAyFA,WAA8C"}
1
+ {"version":3,"sources":["../../src/kernel/types.ts"],"sourcesContent":["import type { LogLevel } from '@vlian/logger';\nimport type { StartOptions as CoreStartOptions } from '../core/types';\nimport type { StorageOptions } from '../types';\nimport type {StorageInstance} from \"@vlian/utils\"\nimport type { Resource } from \"i18next\";\n\nexport type KernelInstanceId = string;\nexport type KernelStorageDriver = 'localStorage' | 'sessionStorage' | 'indexedDB' | 'none';\n\nexport interface ThemeSnapshot {\n mode: 'light' | 'dark' | 'system';\n primaryColor?: string;\n tokens?: Record<string, string | number>;\n}\n\nexport interface I18nSnapshot {\n locale: string;\n resources?: Resource;\n}\n\nexport interface PersistenceOptions {\n enabled?: boolean;\n storage?: KernelStorageDriver;\n key?: string;\n}\n\nexport interface LoggerManagerConfig {\n level?: LogLevel;\n persistence?: PersistenceOptions;\n}\n\nexport interface CacheManagerConfig {\n enabled?: boolean;\n storageOptions?: Partial<StorageOptions>;\n}\n\nexport interface ThemeManagerConfig {\n initial?: ThemeSnapshot;\n persistence?: PersistenceOptions;\n}\n\nexport interface I18nManagerConfig {\n initial?: I18nSnapshot;\n persistence?: PersistenceOptions;\n}\n\nexport interface KernelConfig {\n logger: LoggerManagerConfig;\n cache: CacheManagerConfig;\n theme: ThemeManagerConfig;\n i18n: I18nManagerConfig;\n}\n\nexport interface KernelTimingMetric {\n phase: string;\n startTime: number;\n endTime: number;\n duration: number;\n}\n\nexport interface KernelManagerContext {\n instanceId: KernelInstanceId;\n config: KernelConfig;\n cacheManager: StorageInstance;\n}\n\nexport interface KernelManager<TSnapshot = unknown> {\n initialize: (context: KernelManagerContext) => Promise<void> | void;\n getSnapshot?: () => TSnapshot;\n destroy?: () => Promise<void> | void;\n}\n\nexport interface KernelRenderContext {\n instanceId: KernelInstanceId;\n config: KernelConfig;\n}\n\nexport interface StartupHooks {\n initialize?: () => Promise<void> | void;\n}\n\nexport interface StartOptions extends CoreStartOptions {\n config?: Partial<KernelConfig>;\n configLoader?: () => Promise<Partial<KernelConfig> | void> | Partial<KernelConfig> | void;\n render?: (context: KernelRenderContext) => Promise<void> | void;\n customManagers?: Record<string, KernelManager>;\n hooks?: StartupHooks;\n}\n\nexport type KernelStartOptions = StartOptions;\n"],"names":[],"mappings":"AAyFA,WAA8C"}