katanakit-js 2.2.1 → 2.12.9

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 (148) hide show
  1. package/README.md +72 -437
  2. package/dist/adapters/astro/astro.service.d.ts +103 -15
  3. package/dist/adapters/astro/astro.service.d.ts.map +1 -1
  4. package/dist/adapters/astro/astro.service.js +145 -75
  5. package/dist/adapters/astro/astro.service.js.map +1 -1
  6. package/dist/adapters/astro/index.d.ts +1 -1
  7. package/dist/adapters/astro/index.d.ts.map +1 -1
  8. package/dist/adapters/astro/index.js +1 -1
  9. package/dist/adapters/astro/index.js.map +1 -1
  10. package/dist/adapters/astro/rss.service.d.ts +85 -105
  11. package/dist/adapters/astro/rss.service.d.ts.map +1 -1
  12. package/dist/adapters/astro/rss.service.js +172 -168
  13. package/dist/adapters/astro/rss.service.js.map +1 -1
  14. package/dist/adapters/astro/seo.service.d.ts +10 -0
  15. package/dist/adapters/astro/seo.service.d.ts.map +1 -0
  16. package/dist/adapters/astro/seo.service.js +3 -0
  17. package/dist/adapters/astro/seo.service.js.map +1 -0
  18. package/dist/adapters/express/app.d.ts +30 -1
  19. package/dist/adapters/express/app.d.ts.map +1 -1
  20. package/dist/adapters/express/app.js +31 -3
  21. package/dist/adapters/express/app.js.map +1 -1
  22. package/dist/adapters/express/index.d.ts +2 -2
  23. package/dist/adapters/express/index.d.ts.map +1 -1
  24. package/dist/adapters/express/index.js +2 -2
  25. package/dist/adapters/express/index.js.map +1 -1
  26. package/dist/adapters/express/main.js +2 -2
  27. package/dist/adapters/express/main.js.map +1 -1
  28. package/dist/adapters/express/products.controller.d.ts +67 -8
  29. package/dist/adapters/express/products.controller.d.ts.map +1 -1
  30. package/dist/adapters/express/products.controller.js +105 -49
  31. package/dist/adapters/express/products.controller.js.map +1 -1
  32. package/dist/adapters/express/server.d.ts +37 -13
  33. package/dist/adapters/express/server.d.ts.map +1 -1
  34. package/dist/adapters/express/server.js +118 -53
  35. package/dist/adapters/express/server.js.map +1 -1
  36. package/dist/adapters/nuxt/nuxt.service.d.ts +8 -6
  37. package/dist/adapters/nuxt/nuxt.service.d.ts.map +1 -1
  38. package/dist/adapters/nuxt/nuxt.service.js +34 -10
  39. package/dist/adapters/nuxt/nuxt.service.js.map +1 -1
  40. package/dist/adapters/vue/vue.service.d.ts +5 -2
  41. package/dist/adapters/vue/vue.service.d.ts.map +1 -1
  42. package/dist/adapters/vue/vue.service.js +41 -7
  43. package/dist/adapters/vue/vue.service.js.map +1 -1
  44. package/dist/config/index.d.ts +2 -1
  45. package/dist/config/index.d.ts.map +1 -1
  46. package/dist/config/index.js +1 -1
  47. package/dist/config/index.js.map +1 -1
  48. package/dist/config/seo-meta.types.d.ts +177 -0
  49. package/dist/config/seo-meta.types.d.ts.map +1 -0
  50. package/dist/config/seo-meta.types.js +11 -0
  51. package/dist/config/seo-meta.types.js.map +1 -0
  52. package/dist/config/seo.service.d.ts +41 -58
  53. package/dist/config/seo.service.d.ts.map +1 -1
  54. package/dist/config/seo.service.js +468 -136
  55. package/dist/config/seo.service.js.map +1 -1
  56. package/dist/config/site.config.d.ts +10 -50
  57. package/dist/config/site.config.d.ts.map +1 -1
  58. package/dist/config/site.config.js +8 -36
  59. package/dist/config/site.config.js.map +1 -1
  60. package/dist/core/index.d.ts +1 -3
  61. package/dist/core/index.d.ts.map +1 -1
  62. package/dist/core/index.js +1 -3
  63. package/dist/core/index.js.map +1 -1
  64. package/dist/core/services/dates.service.d.ts +149 -22
  65. package/dist/core/services/dates.service.d.ts.map +1 -1
  66. package/dist/core/services/dates.service.js +201 -54
  67. package/dist/core/services/dates.service.js.map +1 -1
  68. package/dist/core/services/error.service.d.ts +32 -20
  69. package/dist/core/services/error.service.d.ts.map +1 -1
  70. package/dist/core/services/error.service.js +44 -32
  71. package/dist/core/services/error.service.js.map +1 -1
  72. package/dist/core/services/formatter.service.d.ts +245 -35
  73. package/dist/core/services/formatter.service.d.ts.map +1 -1
  74. package/dist/core/services/formatter.service.js +281 -57
  75. package/dist/core/services/formatter.service.js.map +1 -1
  76. package/dist/core/services/generator.service.d.ts +115 -26
  77. package/dist/core/services/generator.service.d.ts.map +1 -1
  78. package/dist/core/services/generator.service.js +191 -56
  79. package/dist/core/services/generator.service.js.map +1 -1
  80. package/dist/core/services/geometry.service.d.ts +369 -39
  81. package/dist/core/services/geometry.service.d.ts.map +1 -1
  82. package/dist/core/services/geometry.service.js +424 -66
  83. package/dist/core/services/geometry.service.js.map +1 -1
  84. package/dist/core/services/http.service.d.ts +244 -21
  85. package/dist/core/services/http.service.d.ts.map +1 -1
  86. package/dist/core/services/http.service.js +419 -98
  87. package/dist/core/services/http.service.js.map +1 -1
  88. package/dist/core/services/logger.service.d.ts +95 -29
  89. package/dist/core/services/logger.service.d.ts.map +1 -1
  90. package/dist/core/services/logger.service.js +167 -41
  91. package/dist/core/services/logger.service.js.map +1 -1
  92. package/dist/core/services/reactive.service.d.ts +146 -19
  93. package/dist/core/services/reactive.service.d.ts.map +1 -1
  94. package/dist/core/services/reactive.service.js +278 -137
  95. package/dist/core/services/reactive.service.js.map +1 -1
  96. package/dist/core/services/timing.service.d.ts +142 -20
  97. package/dist/core/services/timing.service.d.ts.map +1 -1
  98. package/dist/core/services/timing.service.js +324 -185
  99. package/dist/core/services/timing.service.js.map +1 -1
  100. package/dist/core/services/utils.service.d.ts +228 -43
  101. package/dist/core/services/utils.service.d.ts.map +1 -1
  102. package/dist/core/services/utils.service.js +305 -125
  103. package/dist/core/services/utils.service.js.map +1 -1
  104. package/dist/infrastructure/dom/dom.service.d.ts +307 -44
  105. package/dist/infrastructure/dom/dom.service.d.ts.map +1 -1
  106. package/dist/infrastructure/dom/dom.service.js +408 -129
  107. package/dist/infrastructure/dom/dom.service.js.map +1 -1
  108. package/dist/infrastructure/index.d.ts +0 -3
  109. package/dist/infrastructure/index.d.ts.map +1 -1
  110. package/dist/infrastructure/index.js +0 -3
  111. package/dist/infrastructure/index.js.map +1 -1
  112. package/dist/infrastructure/observer/observer.service.d.ts +124 -31
  113. package/dist/infrastructure/observer/observer.service.d.ts.map +1 -1
  114. package/dist/infrastructure/observer/observer.service.js +227 -131
  115. package/dist/infrastructure/observer/observer.service.js.map +1 -1
  116. package/dist/infrastructure/sensors/sensors.service.d.ts +154 -22
  117. package/dist/infrastructure/sensors/sensors.service.d.ts.map +1 -1
  118. package/dist/infrastructure/sensors/sensors.service.js +264 -112
  119. package/dist/infrastructure/sensors/sensors.service.js.map +1 -1
  120. package/dist/infrastructure/storage/storage.service.d.ts +123 -45
  121. package/dist/infrastructure/storage/storage.service.d.ts.map +1 -1
  122. package/dist/infrastructure/storage/storage.service.js +236 -66
  123. package/dist/infrastructure/storage/storage.service.js.map +1 -1
  124. package/dist/infrastructure/theme/theme.service.d.ts +93 -29
  125. package/dist/infrastructure/theme/theme.service.d.ts.map +1 -1
  126. package/dist/infrastructure/theme/theme.service.js +198 -96
  127. package/dist/infrastructure/theme/theme.service.js.map +1 -1
  128. package/dist/infrastructure/viewport/viewport.service.d.ts +233 -35
  129. package/dist/infrastructure/viewport/viewport.service.d.ts.map +1 -1
  130. package/dist/infrastructure/viewport/viewport.service.js +358 -139
  131. package/dist/infrastructure/viewport/viewport.service.js.map +1 -1
  132. package/dist/infrastructure/worker/worker.service.d.ts +84 -38
  133. package/dist/infrastructure/worker/worker.service.d.ts.map +1 -1
  134. package/dist/infrastructure/worker/worker.service.js +234 -133
  135. package/dist/infrastructure/worker/worker.service.js.map +1 -1
  136. package/dist/prisma/index.d.ts +2 -0
  137. package/dist/prisma/index.d.ts.map +1 -0
  138. package/dist/prisma/index.js +2 -0
  139. package/dist/prisma/index.js.map +1 -0
  140. package/dist/prisma/schema.json +11 -33
  141. package/dist/prisma/use-prisma.d.ts +68 -0
  142. package/dist/prisma/use-prisma.d.ts.map +1 -0
  143. package/dist/prisma/use-prisma.js +82 -0
  144. package/dist/prisma/use-prisma.js.map +1 -0
  145. package/dist/types/index.d.ts +20 -12
  146. package/dist/types/index.d.ts.map +1 -1
  147. package/package.json +124 -125
  148. package/CHANGELOG.md +0 -101
@@ -1,36 +1,102 @@
1
1
  import type { LogLevel, LogStrategy } from "../../types/index.js";
2
2
  /**
3
3
  * Concrete strategy: native console output.
4
+ * Pass an instance to {@link useSetStrategy} to redirect logs.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { ConsoleStrategy, useSetStrategy } from "katanakit-js";
9
+ *
10
+ * useSetStrategy(ConsoleStrategy);
11
+ * ```
4
12
  */
5
- export declare class ConsoleStrategy implements LogStrategy {
6
- useOutput(level: LogLevel, message: string, data?: unknown): void;
7
- }
13
+ export declare const ConsoleStrategy: LogStrategy;
8
14
  /**
9
- * Singleton context: holds the active strategy and keeps `this` bound through
10
- * arrow-function methods so destructured exports remain safe.
15
+ * Sets the active log level. Messages below this level are suppressed.
16
+ *
17
+ * @param level - The minimum log level to output.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * import { useSetLogLevel } from "katanakit-js";
22
+ *
23
+ * useSetLogLevel("warn"); // only warn and error will be output
24
+ * ```
11
25
  */
12
- export declare class LoggerService {
13
- private static instance;
14
- private strategy;
15
- private constructor();
16
- static getInstance(): LoggerService;
17
- useSetStrategy: (strategy: LogStrategy) => void;
18
- /**
19
- * Overloads allow:
20
- * - message only: `useLog("message")`
21
- * - message + data: `useLog("message", { id: 1 })`
22
- * - level + message + data: `useLog("error", "something failed", { code: 500 })`
23
- */
24
- useLog: {
25
- (message: string, data?: unknown): void;
26
- (level: LogLevel, message: string, data?: unknown): void;
27
- };
28
- useError: (message: string, data?: unknown) => void;
29
- useClear: () => void;
30
- useTable: (data: unknown) => void;
31
- }
32
- export declare const useClear: () => void, useLog: {
33
- (message: string, data?: unknown): void;
34
- (level: LogLevel, message: string, data?: unknown): void;
35
- }, useError: (message: string, data?: unknown) => void, useTable: (data: unknown) => void, useSetStrategy: (strategy: LogStrategy) => void;
26
+ export declare function useSetLogLevel(level: LogLevel): void;
27
+ /**
28
+ * Swaps the active log strategy (e.g. for tests or telemetry).
29
+ *
30
+ * @param newStrategy - A {@link LogStrategy} implementation.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * import { useSetStrategy } from "katanakit-js";
35
+ *
36
+ * useSetStrategy({
37
+ * useOutput(level, message, data) {
38
+ * // send to external telemetry
39
+ * },
40
+ * });
41
+ * ```
42
+ */
43
+ export declare function useSetStrategy(newStrategy: LogStrategy): void;
44
+ /**
45
+ * Logs a message and/or data. Level is always the **last** argument.
46
+ *
47
+ * @param messageOrData - A string message or arbitrary data.
48
+ * @param dataOrLevel - Data to attach, or the log level.
49
+ * @param level - The log level when data is also provided.
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * import { useLog } from "katanakit-js";
54
+ *
55
+ * useLog("Application started");
56
+ * useLog("Cache miss", "warn");
57
+ * useLog("Database timeout", { query: "SELECT 1" }, "error");
58
+ * useLog({ id: 1 }, "debug");
59
+ * ```
60
+ */
61
+ export declare function useLog(messageOrData: unknown, dataOrLevel?: unknown, level?: LogLevel): void;
62
+ /**
63
+ * Log a message with optional data and level.
64
+ *
65
+ * @param level - The log level ("log", "info", "warn", "error", "debug")
66
+ * @param message - The message to log
67
+ * @param data - Optional data to attach
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * import { useLogger } from "katanakit-js";
72
+ *
73
+ * useLogger("info", "Application started");
74
+ * useLogger("error", "Database timeout", { query: "SELECT 1" });
75
+ * ```
76
+ */
77
+ export declare function useLogger(level?: LogLevel, message?: unknown, data?: unknown): void;
78
+ /**
79
+ * Clears the console.
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * import { useLoggerClear } from "katanakit-js";
84
+ *
85
+ * useLoggerClear();
86
+ * ```
87
+ */
88
+ export declare function useLoggerClear(): void;
89
+ /**
90
+ * Displays tabular data in the console.
91
+ *
92
+ * @param data - The data to display as a table.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * import { useLoggerTable } from "katanakit-js";
97
+ *
98
+ * useLoggerTable([{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }]);
99
+ * ```
100
+ */
101
+ export declare function useLoggerTable(data: unknown): void;
36
102
  //# sourceMappingURL=logger.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/logger.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAClD,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAMhE;CACD;AAED;;;GAGG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAc;IAE9B,OAAO,eAEN;IAED,OAAc,WAAW,IAAI,aAAa,CAKzC;IAEM,cAAc,aAAc,WAAW,KAAG,IAAI,CAEnD;IAEF;;;;;OAKG;IACI,MAAM,EAAE;QACd,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QACxC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KACzD,CAWC;IAEK,QAAQ,YAAa,MAAM,SAAS,OAAO,KAAG,IAAI,CAEvD;IAEK,QAAQ,QAAO,IAAI,CAExB;IAEK,QAAQ,SAAU,OAAO,KAAG,IAAI,CAErC;CACF;AAGD,eAAO,MAAQ,QAAQ,QAVA,IAAI,EAUF,MAAM;cA7BnB,MAAM,SAAS,OAAO,GAAG,IAAI;YAC/B,QAAQ,WAAW,MAAM,SAAS,OAAO,GAAG,IAAI;GA4BzB,QAAQ,YAdZ,MAAM,SAAS,OAAO,KAAG,IAAI,EAcf,QAAQ,SANzB,OAAO,KAAG,IAAI,EAMa,cAAc,aAxC/B,WAAW,KAAG,IAyCtB,CAAC"}
1
+ {"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/logger.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOlE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,WAe7B,CAAC;AAsBF;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAEpD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAE7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,IAAI,CA+B5F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAE,QAAgB,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAE1F;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAElD"}
@@ -1,60 +1,186 @@
1
+ const LOG_LEVELS = ["log", "info", "warn", "error", "debug"];
2
+ const isLogLevel = (value) => typeof value === "string" && LOG_LEVELS.includes(value);
1
3
  /**
2
4
  * Concrete strategy: native console output.
5
+ * Pass an instance to {@link useSetStrategy} to redirect logs.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { ConsoleStrategy, useSetStrategy } from "katanakit-js";
10
+ *
11
+ * useSetStrategy(ConsoleStrategy);
12
+ * ```
3
13
  */
4
- export class ConsoleStrategy {
14
+ export const ConsoleStrategy = {
15
+ /**
16
+ * Outputs a log message to the native console.
17
+ *
18
+ * @param level - The log level (`log`, `info`, `warn`, `error`, `debug`).
19
+ * @param message - The message string.
20
+ * @param data - Optional data to attach to the log.
21
+ */
5
22
  useOutput(level, message, data) {
6
23
  if (data !== undefined) {
7
24
  console[level](`[${level.toUpperCase()}] ${message}`, data);
8
25
  return;
9
26
  }
10
27
  console[level](`[${level.toUpperCase()}] ${message}`);
11
- }
28
+ },
29
+ };
30
+ /** Log level priority (lower = more verbose). */
31
+ const LEVEL_PRIORITY = {
32
+ debug: 0,
33
+ log: 1,
34
+ info: 1,
35
+ warn: 2,
36
+ error: 3,
37
+ };
38
+ /** Module-level log level. Defaults to `"info"`. */
39
+ let logLevel = "info";
40
+ /** Module-level log strategy. Defaults to {@link ConsoleStrategy}. */
41
+ let strategy = ConsoleStrategy;
42
+ /** Check if a message at the given level should be output. */
43
+ function shouldLog(level) {
44
+ return LEVEL_PRIORITY[level] >= LEVEL_PRIORITY[logLevel];
45
+ }
46
+ /**
47
+ * Sets the active log level. Messages below this level are suppressed.
48
+ *
49
+ * @param level - The minimum log level to output.
50
+ *
51
+ * @example
52
+ * ```ts
53
+ * import { useSetLogLevel } from "katanakit-js";
54
+ *
55
+ * useSetLogLevel("warn"); // only warn and error will be output
56
+ * ```
57
+ */
58
+ export function useSetLogLevel(level) {
59
+ logLevel = level;
60
+ }
61
+ /**
62
+ * Swaps the active log strategy (e.g. for tests or telemetry).
63
+ *
64
+ * @param newStrategy - A {@link LogStrategy} implementation.
65
+ *
66
+ * @example
67
+ * ```ts
68
+ * import { useSetStrategy } from "katanakit-js";
69
+ *
70
+ * useSetStrategy({
71
+ * useOutput(level, message, data) {
72
+ * // send to external telemetry
73
+ * },
74
+ * });
75
+ * ```
76
+ */
77
+ export function useSetStrategy(newStrategy) {
78
+ strategy = newStrategy;
12
79
  }
13
80
  /**
14
- * Singleton context: holds the active strategy and keeps `this` bound through
15
- * arrow-function methods so destructured exports remain safe.
81
+ * Logs a message and/or data. Level is always the **last** argument.
82
+ *
83
+ * @param messageOrData - A string message or arbitrary data.
84
+ * @param dataOrLevel - Data to attach, or the log level.
85
+ * @param level - The log level when data is also provided.
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * import { useLog } from "katanakit-js";
90
+ *
91
+ * useLog("Application started");
92
+ * useLog("Cache miss", "warn");
93
+ * useLog("Database timeout", { query: "SELECT 1" }, "error");
94
+ * useLog({ id: 1 }, "debug");
95
+ * ```
16
96
  */
17
- export class LoggerService {
18
- static instance;
19
- strategy;
20
- constructor() {
21
- this.strategy = new ConsoleStrategy();
97
+ export function useLog(messageOrData, dataOrLevel, level) {
98
+ // If level is explicitly provided, use it
99
+ if (level !== undefined) {
100
+ if (!shouldLog(level))
101
+ return;
102
+ const message = typeof messageOrData === "string" ? messageOrData : String(messageOrData);
103
+ strategy.useOutput(level, message, dataOrLevel);
104
+ return;
22
105
  }
23
- static getInstance() {
24
- if (!LoggerService.instance) {
25
- LoggerService.instance = new LoggerService();
106
+ if (dataOrLevel === undefined) {
107
+ if (!shouldLog("info"))
108
+ return;
109
+ if (typeof messageOrData === "string") {
110
+ strategy.useOutput("info", messageOrData);
26
111
  }
27
- return LoggerService.instance;
112
+ else {
113
+ strategy.useOutput("info", "", messageOrData);
114
+ }
115
+ return;
28
116
  }
29
- useSetStrategy = (strategy) => {
30
- this.strategy = strategy;
31
- };
32
- /**
33
- * Overloads allow:
34
- * - message only: `useLog("message")`
35
- * - message + data: `useLog("message", { id: 1 })`
36
- * - level + message + data: `useLog("error", "something failed", { code: 500 })`
37
- */
38
- useLog = (param1, param2, param3) => {
39
- const levels = ["log", "info", "warn", "error", "debug"];
40
- if (levels.includes(param1)) {
41
- const level = param1;
42
- const message = typeof param2 === "string" ? param2 : String(param2 ?? "");
43
- this.strategy.useOutput(level, message, param3);
117
+ if (isLogLevel(dataOrLevel)) {
118
+ if (!shouldLog(dataOrLevel))
44
119
  return;
120
+ if (typeof messageOrData === "string") {
121
+ strategy.useOutput(dataOrLevel, messageOrData);
45
122
  }
46
- this.strategy.useOutput("info", param1, param2);
47
- };
48
- useError = (message, data) => {
49
- this.strategy.useOutput("error", message, data);
50
- };
51
- useClear = () => {
52
- console.clear();
53
- };
54
- useTable = (data) => {
55
- console.table(data);
56
- };
123
+ else {
124
+ strategy.useOutput(dataOrLevel, "", messageOrData);
125
+ }
126
+ }
127
+ else {
128
+ if (!shouldLog("info"))
129
+ return;
130
+ const message = typeof messageOrData === "string" ? messageOrData : String(messageOrData);
131
+ strategy.useOutput("info", message, dataOrLevel);
132
+ }
133
+ }
134
+ /**
135
+ * Log a message with optional data and level.
136
+ *
137
+ * @param level - The log level ("log", "info", "warn", "error", "debug")
138
+ * @param message - The message to log
139
+ * @param data - Optional data to attach
140
+ *
141
+ * @example
142
+ * ```ts
143
+ * import { useLogger } from "katanakit-js";
144
+ *
145
+ * useLogger("info", "Application started");
146
+ * useLogger("error", "Database timeout", { query: "SELECT 1" });
147
+ * ```
148
+ */
149
+ export function useLogger(level = "log", message, data) {
150
+ useLog(message, data, level);
151
+ }
152
+ /**
153
+ * Clears the console.
154
+ *
155
+ * @example
156
+ * ```ts
157
+ * import { useLoggerClear } from "katanakit-js";
158
+ *
159
+ * useLoggerClear();
160
+ * ```
161
+ */
162
+ export function useLoggerClear() {
163
+ console.clear();
164
+ }
165
+ /**
166
+ * Displays tabular data in the console.
167
+ *
168
+ * @param data - The data to display as a table.
169
+ *
170
+ * @example
171
+ * ```ts
172
+ * import { useLoggerTable } from "katanakit-js";
173
+ *
174
+ * useLoggerTable([{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }]);
175
+ * ```
176
+ */
177
+ export function useLoggerTable(data) {
178
+ console.table(data);
57
179
  }
58
- // Singleton instance and destructured exports.
59
- export const { useClear, useLog, useError, useTable, useSetStrategy } = LoggerService.getInstance();
180
+ useLoggerTable([
181
+ {
182
+ id: 1,
183
+ name: "Alice",
184
+ },
185
+ ]);
60
186
  //# sourceMappingURL=logger.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../src/core/services/logger.service.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,eAAe;IAC3B,SAAS,CAAC,KAAe,EAAE,OAAe,EAAE,IAAc;QACzD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5D,OAAO;QACR,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;CACD;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IACjB,MAAM,CAAC,QAAQ,CAAgB;IAC/B,QAAQ,CAAc;IAE9B;QACC,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,CAAC;IAEM,MAAM,CAAC,WAAW;QACxB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC7B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAEM,cAAc,GAAG,CAAC,QAAqB,EAAQ,EAAE;QACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC,CAAC;IAEF;;;;;OAKG;IACI,MAAM,GAGT,CAAC,MAAyB,EAAE,MAAgB,EAAE,MAAgB,EAAQ,EAAE;QAC3E,MAAM,MAAM,GAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAkB,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,MAAkB,CAAC;YACjC,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAChD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC;IAEK,QAAQ,GAAG,CAAC,OAAe,EAAE,IAAc,EAAQ,EAAE;QAC3D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC;IAEK,QAAQ,GAAG,GAAS,EAAE;QAC5B,OAAO,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC,CAAC;IAEK,QAAQ,GAAG,CAAC,IAAa,EAAQ,EAAE;QACzC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;CACF;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,GACpE,aAAa,CAAC,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../src/core/services/logger.service.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAElF,MAAM,UAAU,GAAG,CAAC,KAAc,EAAqB,EAAE,CACxD,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAiB,CAAC,CAAC;AAErE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB;IAC3C;;;;;;OAMG;IACH,SAAS,CAAC,KAAe,EAAE,OAAe,EAAE,IAAc;QACzD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;YAC5D,OAAO;QACR,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;CACD,CAAC;AAEF,iDAAiD;AACjD,MAAM,cAAc,GAA6B;IAChD,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACR,CAAC;AAEF,oDAAoD;AACpD,IAAI,QAAQ,GAAa,MAAM,CAAC;AAEhC,sEAAsE;AACtE,IAAI,QAAQ,GAAgB,eAAe,CAAC;AAE5C,8DAA8D;AAC9D,SAAS,SAAS,CAAC,KAAe;IACjC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,KAAe;IAC7C,QAAQ,GAAG,KAAK,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,WAAwB;IACtD,QAAQ,GAAG,WAAW,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,MAAM,CAAC,aAAsB,EAAE,WAAqB,EAAE,KAAgB;IACrF,0CAA0C;IAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO;QAC9B,MAAM,OAAO,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1F,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAChD,OAAO;IACR,CAAC;IAED,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,OAAO;QAC/B,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACvC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACP,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO;IACR,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YAAE,OAAO;QACpC,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;YACvC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACP,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;SAAM,CAAC;QACP,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,OAAO;QAC/B,MAAM,OAAO,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1F,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CAAC,KAAK,GAAa,KAAK,EAAE,OAAiB,EAAE,IAAc;IACnF,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC3C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,cAAc,CAAC;IACd;QACC,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,OAAO;KACb;CACD,CAAC,CAAC"}
@@ -1,22 +1,149 @@
1
- import type { IReactiveService, SignalGetter, SignalSetter, StorageTarget, Subscribable, ToggleSignalSetter } from "../../types/index.js";
1
+ import type { SignalGetter, SignalSetter, StorageTarget, Subscribable, ToggleSignalSetter } from "../../types/index.js";
2
2
  /**
3
- * Minimal reactive kernel (Observer / Publisher-Subscriber) implemented as a
4
- * Facade + Singleton. Signals are closures with explicit dependency tracking.
3
+ * Creates a reactive signal with a getter and setter.
4
+ *
5
+ * The getter is callable and also exposes a `useSubscribe` method for
6
+ * listening to value changes. The setter accepts either a direct value or
7
+ * an updater function.
8
+ *
9
+ * @typeParam T - The signal value type.
10
+ * @param initialValue - The initial value of the signal.
11
+ * @returns A tuple of `[getter, setter]`.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const [count, setCount] = useCreateSignal(0);
16
+ * count(); // 0
17
+ * setCount(1);
18
+ * count(); // 1
19
+ * setCount(prev => prev + 1);
20
+ * count(); // 2
21
+ *
22
+ * const unsub = count.useSubscribe((newVal, oldVal) => {
23
+ * console.log(`${oldVal} -> ${newVal}`);
24
+ * });
25
+ * ```
5
26
  */
6
- export default class ReactiveService implements IReactiveService {
7
- private static instance;
8
- private isBatching;
9
- private batchQueue;
10
- private constructor();
11
- static getInstance(): ReactiveService;
12
- private NOTIFY;
13
- useCreateSignal: <T>(initialValue: T) => [SignalGetter<T>, SignalSetter<T>];
14
- useCreateEffect: (callback: () => void | (() => void), signals: Subscribable<unknown>[]) => (() => void);
15
- useCreateMemo: <T>(computation: () => T, signals: Subscribable<unknown>[]) => SignalGetter<T>;
16
- useCreateToggle: (initialValue?: boolean) => [SignalGetter<boolean>, ToggleSignalSetter];
17
- useCreateStorageSignal: <T>(key: string, fallbackValue: T, target?: StorageTarget) => [SignalGetter<T>, SignalSetter<T>];
18
- useCreateDebouncedSignal: <T>(initialValue: T, delayMs?: number) => [SignalGetter<T>, SignalSetter<T>];
19
- useCreateBatch: () => ((callback: () => void) => void);
20
- }
21
- export declare const useCreateSignal: <T>(initialValue: T) => [SignalGetter<T>, SignalSetter<T>], useCreateEffect: (callback: () => void | (() => void), signals: Subscribable<unknown>[]) => (() => void), useCreateMemo: <T>(computation: () => T, signals: Subscribable<unknown>[]) => SignalGetter<T>, useCreateToggle: (initialValue?: boolean) => [SignalGetter<boolean>, ToggleSignalSetter], useCreateStorageSignal: <T>(key: string, fallbackValue: T, target?: StorageTarget) => [SignalGetter<T>, SignalSetter<T>], useCreateDebouncedSignal: <T>(initialValue: T, delayMs?: number) => [SignalGetter<T>, SignalSetter<T>], useCreateBatch: () => ((callback: () => void) => void);
27
+ export declare function useCreateSignal<T>(initialValue: T): [SignalGetter<T>, SignalSetter<T>];
28
+ /**
29
+ * Creates a side effect that re-runs whenever any of the provided signals
30
+ * emit a new value. An optional cleanup function returned from the callback
31
+ * is invoked before each re-run and on disposal.
32
+ *
33
+ * @param callback - Effect body. May return a cleanup function.
34
+ * @param signals - Array of subscribable signals to react to.
35
+ * @returns A dispose function that tears down all subscriptions and runs
36
+ * the final cleanup.
37
+ *
38
+ * @example
39
+ * ```ts
40
+ * const [name, setName] = useCreateSignal("world");
41
+ * const dispose = useCreateEffect(() => {
42
+ * console.log(`Hello, ${name()}!`);
43
+ * return () => console.log("cleaning up");
44
+ * }, [name]);
45
+ *
46
+ * setName("Katana"); // logs "Hello, Katana!"
47
+ * dispose(); // logs "cleaning up"
48
+ * ```
49
+ */
50
+ export declare function useCreateEffect(callback: () => void | (() => void), signals: Subscribable<unknown>[]): () => void;
51
+ /**
52
+ * Creates a memoised signal whose value is derived from a computation.
53
+ * The computation re-runs whenever any of the provided signals change.
54
+ *
55
+ * @typeParam T - The computed value type.
56
+ * @param computation - Pure function that derives the value.
57
+ * @param signals - Signals the computation depends on.
58
+ * @returns A read-only getter for the memoised value.
59
+ *
60
+ * @example
61
+ * ```ts
62
+ * const [a, setA] = useCreateSignal(2);
63
+ * const [b, setB] = useCreateSignal(3);
64
+ * const sum = useCreateMemo(() => a() + b(), [a, b]);
65
+ * sum(); // 5
66
+ * setA(10);
67
+ * sum(); // 13
68
+ * ```
69
+ */
70
+ export declare function useCreateMemo<T>(computation: () => T, signals: Subscribable<unknown>[]): SignalGetter<T>;
71
+ /**
72
+ * Creates a boolean toggle signal.
73
+ *
74
+ * @param initialValue - Starting value (defaults to `false`).
75
+ * @returns A tuple of `[getter, { useSet, useToggle }]`.
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * const [isOpen, { useSet, useToggle }] = useCreateToggle();
80
+ * isOpen(); // false
81
+ * useToggle();
82
+ * isOpen(); // true
83
+ * useSet(false);
84
+ * isOpen(); // false
85
+ * ```
86
+ */
87
+ export declare function useCreateToggle(initialValue?: boolean): [SignalGetter<boolean>, ToggleSignalSetter];
88
+ /**
89
+ * Creates a signal that persists its value to a storage backend
90
+ * (localStorage, sessionStorage, etc.). Reads the initial value from
91
+ * storage on creation.
92
+ *
93
+ * @typeParam T - The signal value type.
94
+ * @param key - Storage key.
95
+ * @param fallbackValue - Value used when the key is not in storage.
96
+ * @param target - Storage backend (defaults to `"localStorage"`).
97
+ * @returns A tuple of `[getter, setter]`. The setter writes through to
98
+ * storage.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * const [theme, setTheme] = useCreateStorageSignal("theme", "dark");
103
+ * theme(); // "dark" (or whatever was stored)
104
+ * setTheme("light"); // persists to localStorage
105
+ * ```
106
+ */
107
+ export declare function useCreateStorageSignal<T>(key: string, fallbackValue: T, target?: StorageTarget): [SignalGetter<T>, SignalSetter<T>];
108
+ /**
109
+ * Creates a signal whose setter debounces writes by `delayMs` milliseconds.
110
+ * Useful for search inputs or any value that triggers expensive work.
111
+ *
112
+ * @typeParam T - The signal value type.
113
+ * @param initialValue - The initial value.
114
+ * @param delayMs - Debounce delay in milliseconds (defaults to `300`).
115
+ * @returns A tuple of `[getter, debouncedSetter]`. The setter exposes a
116
+ * `useCancel()` method to abort a pending write.
117
+ *
118
+ * @example
119
+ * ```ts
120
+ * const [query, setQuery] = useCreateDebouncedSignal("", 250);
121
+ * setQuery("hello"); // won't update until 250ms of quiet
122
+ * setQuery.useCancel(); // abort pending write
123
+ * ```
124
+ */
125
+ export declare function useCreateDebouncedSignal<T>(initialValue: T, delayMs?: number): [SignalGetter<T>, SignalSetter<T> & {
126
+ useCancel: () => void;
127
+ }];
128
+ /**
129
+ * Returns a batch function that defers signal notifications until the
130
+ * callback completes. Nested calls are supported -- only the outermost
131
+ * batch flushes the queue.
132
+ *
133
+ * @returns A `batch(callback)` function.
134
+ *
135
+ * @example
136
+ * ```ts
137
+ * const batch = useCreateBatch();
138
+ * const [a, setA] = useCreateSignal(0);
139
+ * const [b, setB] = useCreateSignal(0);
140
+ *
141
+ * batch(() => {
142
+ * setA(1);
143
+ * setB(2);
144
+ * // listeners fire only once here, not twice
145
+ * });
146
+ * ```
147
+ */
148
+ export declare function useCreateBatch(): (callback: () => void) => void;
22
149
  //# sourceMappingURL=reactive.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactive.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/reactive.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,gBAAgB,EAChB,YAAY,EAEZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,MAAM,sBAAsB,CAAC;AAG9B;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAEzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAA8B;IAEhD,OAAO,eAAiB;IAExB,OAAc,WAAW,IAAI,eAAe,CAK3C;IAED,OAAO,CAAC,MAAM,CAMZ;IAEK,eAAe,GAAI,CAAC,gBAAgB,CAAC,KAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CA+B/E;IAEK,eAAe,aACX,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,WAC1B,YAAY,CAAC,OAAO,CAAC,EAAE,KAC9B,CAAC,MAAM,IAAI,CAAC,CAwCb;IAEK,aAAa,GAAI,CAAC,eACX,MAAM,CAAC,WACX,YAAY,CAAC,OAAO,CAAC,EAAE,KAC9B,YAAY,CAAC,CAAC,CAAC,CAQhB;IAEK,eAAe,8BAA2B,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAK1F;IAEK,sBAAsB,GAAI,CAAC,OAC5B,MAAM,iBACI,CAAC,WACR,aAAa,KACnB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CA6BnC;IAEK,wBAAwB,GAAI,CAAC,gBACrB,CAAC,uBAEb,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAgBnC;IAEK,cAAc,QAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC,CAgB1D;CACF;AAGD,eAAO,MACN,eAAe,GA/KW,CAAC,0DAgL3B,eAAe,aA9IJ,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,WAC1B,YAAY,CAAC,OAAO,CAAC,EAAE,KAC9B,CAAC,MAAM,IAAI,CAAC,EA6If,aAAa,GAnGW,CAAC,iCAEf,YAAY,CAAC,OAAO,CAAC,EAAE,sBAkGjC,eAAe,8BAvFkC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,EAwF5F,sBAAsB,GAjFW,CAAC,OAC5B,MAAM,6BAEH,aAAa,yCA+EtB,wBAAwB,GA/CW,CAAC,4EAgDpC,cAAc,QA3Bc,CAAC,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CA4BV,CAAC"}
1
+ {"version":3,"file":"reactive.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/reactive.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,YAAY,EAEZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,MAAM,sBAAsB,CAAC;AAsB9B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CA+BtF;AAOD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EACnC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,GAC9B,MAAM,IAAI,CAwCZ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC9B,WAAW,EAAE,MAAM,CAAC,EACpB,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,GAC9B,YAAY,CAAC,CAAC,CAAC,CAQjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,YAAY,UAAQ,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAKjG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACvC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,CAAC,EAChB,MAAM,GAAE,aAA8B,GACpC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CA6BpC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EACzC,YAAY,EAAE,CAAC,EACf,OAAO,SAAM,GACX,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAuBhE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAmB/D"}