@mks2508/better-logger 0.18.2-alpha.1 → 0.18.3

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 (207) hide show
  1. package/README.md +38 -336
  2. package/dist/Logger.d.ts +356 -157
  3. package/dist/Logger.d.ts.map +1 -1
  4. package/dist/ScopedLogger.d.ts +549 -9
  5. package/dist/ScopedLogger.d.ts.map +1 -1
  6. package/dist/chunks/HookBridge-C-AvXmPD.cjs +504 -0
  7. package/dist/chunks/HookBridge-C-AvXmPD.cjs.map +1 -0
  8. package/dist/chunks/HookBridge-CI2PH79S.js +487 -0
  9. package/dist/chunks/HookBridge-CI2PH79S.js.map +1 -0
  10. package/dist/chunks/{LogContext-L7HzynFw.cjs → LogContext-BaMXleWj.cjs} +19 -4
  11. package/dist/chunks/LogContext-BaMXleWj.cjs.map +1 -0
  12. package/dist/chunks/LogContext-DZasm_P5.cjs +141 -0
  13. package/dist/chunks/LogContext-DZasm_P5.cjs.map +1 -0
  14. package/dist/chunks/{LogContext-Cwn-1Zzb.js → LogContext-DjlITOzZ.js} +19 -4
  15. package/dist/chunks/LogContext-DjlITOzZ.js.map +1 -0
  16. package/dist/chunks/LogContext-Dyzs61XG.js +136 -0
  17. package/dist/chunks/LogContext-Dyzs61XG.js.map +1 -0
  18. package/dist/chunks/SerializerBridge-Ba43Mk7j.js +393 -0
  19. package/dist/chunks/SerializerBridge-Ba43Mk7j.js.map +1 -0
  20. package/dist/chunks/SerializerBridge-C4a9Z37F.cjs +410 -0
  21. package/dist/chunks/SerializerBridge-C4a9Z37F.cjs.map +1 -0
  22. package/dist/chunks/{StyleManager-CIpd6wbO.cjs → StyleManager-DQ6UNRB-.cjs} +37 -11
  23. package/dist/chunks/StyleManager-DQ6UNRB-.cjs.map +1 -0
  24. package/dist/chunks/StyleManager-DjwAYbxE.js +113 -0
  25. package/dist/chunks/StyleManager-DjwAYbxE.js.map +1 -0
  26. package/dist/chunks/{core-PoT7RrTK.js → core-Blfi2klP.js} +1 -4
  27. package/dist/chunks/core-Blfi2klP.js.map +1 -0
  28. package/dist/chunks/{core-Dzz7agGa.cjs → core-CqS_UBzJ.cjs} +1 -4
  29. package/dist/chunks/core-CqS_UBzJ.cjs.map +1 -0
  30. package/dist/chunks/{environment-detector-CI3TrWK_.js → environment-detector-7NvnYUfr.js} +11 -11
  31. package/dist/chunks/environment-detector-7NvnYUfr.js.map +1 -0
  32. package/dist/chunks/{environment-detector-Cnn6wr6O.cjs → environment-detector-D-tHkKWA.cjs} +11 -11
  33. package/dist/chunks/environment-detector-D-tHkKWA.cjs.map +1 -0
  34. package/dist/chunks/server-fallback-CaCPjWby.cjs +119 -0
  35. package/dist/chunks/server-fallback-CaCPjWby.cjs.map +1 -0
  36. package/dist/chunks/server-fallback-jj0T6XaK.js +114 -0
  37. package/dist/chunks/server-fallback-jj0T6XaK.js.map +1 -0
  38. package/dist/chunks/{spinner-DNvxbM9a.cjs → spinner-BHyYEXsM.cjs} +319 -37
  39. package/dist/chunks/spinner-BHyYEXsM.cjs.map +1 -0
  40. package/dist/chunks/{spinner-D3FsF78o.js → spinner-BtkwpzYv.js} +319 -37
  41. package/dist/chunks/spinner-BtkwpzYv.js.map +1 -0
  42. package/dist/chunks/styling-CRw3KQW4.js +1592 -0
  43. package/dist/chunks/styling-CRw3KQW4.js.map +1 -0
  44. package/dist/chunks/styling-Cel2wPRy.cjs +1645 -0
  45. package/dist/chunks/styling-Cel2wPRy.cjs.map +1 -0
  46. package/dist/chunks/transports-BGfwwakw.js +1237 -0
  47. package/dist/chunks/transports-BGfwwakw.js.map +1 -0
  48. package/dist/chunks/transports-BZ-Mc2IT.cjs +1450 -0
  49. package/dist/chunks/transports-BZ-Mc2IT.cjs.map +1 -0
  50. package/dist/chunks/transports-DvaLAeGJ.js +1403 -0
  51. package/dist/chunks/transports-DvaLAeGJ.js.map +1 -0
  52. package/dist/chunks/transports-yK6CL0Ml.cjs +1278 -0
  53. package/dist/chunks/transports-yK6CL0Ml.cjs.map +1 -0
  54. package/dist/chunks/{utils-BqlFYocD.cjs → utils-W_cxqriN.cjs} +44 -37
  55. package/dist/chunks/utils-W_cxqriN.cjs.map +1 -0
  56. package/dist/chunks/{utils-VETbVpkR.js → utils-tKfBAWUM.js} +44 -37
  57. package/dist/chunks/utils-tKfBAWUM.js.map +1 -0
  58. package/dist/cli/CommandProcessor.d.ts +166 -19
  59. package/dist/cli/CommandProcessor.d.ts.map +1 -1
  60. package/dist/cli/commands/ConfigCommand.d.ts +36 -1
  61. package/dist/cli/commands/ConfigCommand.d.ts.map +1 -1
  62. package/dist/cli/commands/ExportCommand.d.ts +49 -3
  63. package/dist/cli/commands/ExportCommand.d.ts.map +1 -1
  64. package/dist/cli/commands/ThemeCommand.d.ts +62 -3
  65. package/dist/cli/commands/ThemeCommand.d.ts.map +1 -1
  66. package/dist/cli/help.d.ts +30 -2
  67. package/dist/cli/help.d.ts.map +1 -1
  68. package/dist/cli/index.d.ts +29 -2
  69. package/dist/cli/index.d.ts.map +1 -1
  70. package/dist/cli.cjs +2 -2
  71. package/dist/cli.js +2 -2
  72. package/dist/context/LogContext.d.ts +167 -70
  73. package/dist/context/LogContext.d.ts.map +1 -1
  74. package/dist/context.cjs +1 -1
  75. package/dist/context.js +1 -1
  76. package/dist/core.cjs +52 -29
  77. package/dist/core.cjs.map +1 -1
  78. package/dist/core.d.ts +50 -27
  79. package/dist/core.d.ts.map +1 -1
  80. package/dist/core.js +52 -29
  81. package/dist/core.js.map +1 -1
  82. package/dist/hooks/HookBridge.d.ts +15 -9
  83. package/dist/hooks/HookBridge.d.ts.map +1 -1
  84. package/dist/hooks/HookManager.d.ts +295 -2
  85. package/dist/hooks/HookManager.d.ts.map +1 -1
  86. package/dist/hooks.cjs +1 -1
  87. package/dist/hooks.js +1 -1
  88. package/dist/index.cjs +1415 -214
  89. package/dist/index.cjs.map +1 -1
  90. package/dist/index.d.ts +5 -1
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +1413 -215
  93. package/dist/index.js.map +1 -1
  94. package/dist/playground/TerminalBridge.d.ts +23 -16
  95. package/dist/playground/TerminalBridge.d.ts.map +1 -1
  96. package/dist/playground/box.d.ts +36 -5
  97. package/dist/playground/box.d.ts.map +1 -1
  98. package/dist/playground/cli-table.d.ts +41 -5
  99. package/dist/playground/cli-table.d.ts.map +1 -1
  100. package/dist/playground/divider.d.ts +22 -3
  101. package/dist/playground/divider.d.ts.map +1 -1
  102. package/dist/playground/header.d.ts +21 -4
  103. package/dist/playground/header.d.ts.map +1 -1
  104. package/dist/playground/server-fallback.d.ts +96 -9
  105. package/dist/playground/server-fallback.d.ts.map +1 -1
  106. package/dist/playground/spinner.d.ts +159 -10
  107. package/dist/playground/spinner.d.ts.map +1 -1
  108. package/dist/playground/step.d.ts +25 -6
  109. package/dist/playground/step.d.ts.map +1 -1
  110. package/dist/playground.cjs +1 -1
  111. package/dist/playground.js +1 -1
  112. package/dist/serializers/SerializerBridge.d.ts +13 -6
  113. package/dist/serializers/SerializerBridge.d.ts.map +1 -1
  114. package/dist/serializers/SerializerRegistry.d.ts +236 -0
  115. package/dist/serializers/SerializerRegistry.d.ts.map +1 -1
  116. package/dist/serializers.cjs +1 -1
  117. package/dist/serializers.js +1 -1
  118. package/dist/styles/StyleManager.d.ts +138 -31
  119. package/dist/styles/StyleManager.d.ts.map +1 -1
  120. package/dist/styles.cjs +2 -2
  121. package/dist/styles.js +2 -2
  122. package/dist/styling/SmartPresets.d.ts +100 -6
  123. package/dist/styling/SmartPresets.d.ts.map +1 -1
  124. package/dist/styling/StyleBuilder.d.ts +453 -32
  125. package/dist/styling/StyleBuilder.d.ts.map +1 -1
  126. package/dist/styling/banners.d.ts +83 -7
  127. package/dist/styling/banners.d.ts.map +1 -1
  128. package/dist/styling/themes.d.ts +41 -2
  129. package/dist/styling/themes.d.ts.map +1 -1
  130. package/dist/transports/ConsoleTransport.d.ts +95 -0
  131. package/dist/transports/ConsoleTransport.d.ts.map +1 -1
  132. package/dist/transports/FileTransport.d.ts +99 -18
  133. package/dist/transports/FileTransport.d.ts.map +1 -1
  134. package/dist/transports/HttpTransport.d.ts +135 -22
  135. package/dist/transports/HttpTransport.d.ts.map +1 -1
  136. package/dist/transports/OtlpTraceTransport.d.ts +118 -0
  137. package/dist/transports/OtlpTraceTransport.d.ts.map +1 -0
  138. package/dist/transports/OtlpTransport.d.ts +80 -37
  139. package/dist/transports/OtlpTransport.d.ts.map +1 -1
  140. package/dist/transports/SpanRuntime.d.ts +73 -0
  141. package/dist/transports/SpanRuntime.d.ts.map +1 -0
  142. package/dist/transports/TransportBridge.d.ts +19 -13
  143. package/dist/transports/TransportBridge.d.ts.map +1 -1
  144. package/dist/transports/TransportManager.d.ts +232 -10
  145. package/dist/transports/TransportManager.d.ts.map +1 -1
  146. package/dist/transports/index.d.ts +1 -0
  147. package/dist/transports/index.d.ts.map +1 -1
  148. package/dist/transports-module.d.ts +3 -1
  149. package/dist/transports-module.d.ts.map +1 -1
  150. package/dist/transports.cjs +2 -1
  151. package/dist/transports.js +2 -2
  152. package/dist/types/core.d.ts +155 -59
  153. package/dist/types/core.d.ts.map +1 -1
  154. package/dist/types/hooks.d.ts +92 -14
  155. package/dist/types/hooks.d.ts.map +1 -1
  156. package/dist/types/index.d.ts +1 -1
  157. package/dist/types/index.d.ts.map +1 -1
  158. package/dist/types/serializers.d.ts +72 -0
  159. package/dist/types/serializers.d.ts.map +1 -1
  160. package/dist/types/transports.d.ts +163 -39
  161. package/dist/types/transports.d.ts.map +1 -1
  162. package/dist/utils/ansi-colors.d.ts +15 -15
  163. package/dist/utils/asyncLocalStorage.d.ts +33 -0
  164. package/dist/utils/asyncLocalStorage.d.ts.map +1 -0
  165. package/dist/utils/environment-detector.d.ts +11 -11
  166. package/dist/utils/formatting.d.ts +8 -8
  167. package/dist/utils/output.d.ts +9 -9
  168. package/dist/utils/output.d.ts.map +1 -1
  169. package/dist/utils/stackTrace.d.ts +2 -2
  170. package/package.json +24 -25
  171. package/dist/chunks/HookBridge-CiRfR67f.cjs +0 -190
  172. package/dist/chunks/HookBridge-CiRfR67f.cjs.map +0 -1
  173. package/dist/chunks/HookBridge-SgMmbXZB.js +0 -173
  174. package/dist/chunks/HookBridge-SgMmbXZB.js.map +0 -1
  175. package/dist/chunks/LogContext-Cwn-1Zzb.js.map +0 -1
  176. package/dist/chunks/LogContext-L7HzynFw.cjs.map +0 -1
  177. package/dist/chunks/SerializerBridge-BaOQOb8q.cjs +0 -166
  178. package/dist/chunks/SerializerBridge-BaOQOb8q.cjs.map +0 -1
  179. package/dist/chunks/SerializerBridge-BkpQu5c9.js +0 -149
  180. package/dist/chunks/SerializerBridge-BkpQu5c9.js.map +0 -1
  181. package/dist/chunks/StyleManager-CIpd6wbO.cjs.map +0 -1
  182. package/dist/chunks/StyleManager-LCvVlVdx.js +0 -87
  183. package/dist/chunks/StyleManager-LCvVlVdx.js.map +0 -1
  184. package/dist/chunks/core-Dzz7agGa.cjs.map +0 -1
  185. package/dist/chunks/core-PoT7RrTK.js.map +0 -1
  186. package/dist/chunks/environment-detector-CI3TrWK_.js.map +0 -1
  187. package/dist/chunks/environment-detector-Cnn6wr6O.cjs.map +0 -1
  188. package/dist/chunks/server-fallback-BUKjdLS7.cjs +0 -42
  189. package/dist/chunks/server-fallback-BUKjdLS7.cjs.map +0 -1
  190. package/dist/chunks/server-fallback-BsuWH1Dk.js +0 -37
  191. package/dist/chunks/server-fallback-BsuWH1Dk.js.map +0 -1
  192. package/dist/chunks/spinner-D3FsF78o.js.map +0 -1
  193. package/dist/chunks/spinner-DNvxbM9a.cjs.map +0 -1
  194. package/dist/chunks/styling-84N8T97t.js +0 -941
  195. package/dist/chunks/styling-84N8T97t.js.map +0 -1
  196. package/dist/chunks/styling-Cg5saQ46.cjs +0 -994
  197. package/dist/chunks/styling-Cg5saQ46.cjs.map +0 -1
  198. package/dist/chunks/transports-BiDk345e.js +0 -715
  199. package/dist/chunks/transports-BiDk345e.js.map +0 -1
  200. package/dist/chunks/transports-COPWmlF1.cjs +0 -756
  201. package/dist/chunks/transports-COPWmlF1.cjs.map +0 -1
  202. package/dist/chunks/utils-BqlFYocD.cjs.map +0 -1
  203. package/dist/chunks/utils-VETbVpkR.js.map +0 -1
  204. package/dist/example.d.ts +0 -18
  205. package/dist/example.d.ts.map +0 -1
  206. package/dist/main.d.ts +0 -2
  207. package/dist/main.d.ts.map +0 -1
@@ -3,12 +3,31 @@
3
3
  */
4
4
  import { type ColorCapability } from '../terminal/color-converter.js';
5
5
  /**
6
- * Renders a step progress indicator like ` [2/5] Analyzing repository...`
7
- * @param current - Current step number
8
- * @param total - Total number of steps
9
- * @param msg - Step description message
10
- * @param colorCap - Terminal color capability
11
- * @returns Formatted step string
6
+ * Renderiza un indicador de progreso de step con el formato ` [n/total] msg`,
7
+ * donde el `[n/total]` se emite en cian bold (respetando `colorCap`) para
8
+ * destacarlo del mensaje descriptivo. Pensado para output secuencial de CLI
9
+ * tipo "steps de un build", "fases de un deploy" o "tareas de un script".
10
+ *
11
+ * No hace ningún chequeo de rango sobre `current`/`total` — el caller es
12
+ * responsable de pasar valores coherentes (se renderizan tal cual).
13
+ *
14
+ * @param current - Número de step actual (típicamente 1-based).
15
+ * @param total - Total de steps del proceso.
16
+ * @param msg - Descripción corta del step en curso.
17
+ * @param colorCap - Capacidad de color del terminal destino. Si es `'none'`,
18
+ * el label `[n/total]` se emite sin color.
19
+ * @returns String de una sola línea con formato ` [n/total] msg`.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const steps = ['Resolving deps', 'Bundling', 'Writing dist'];
24
+ * steps.forEach((step, i) => {
25
+ * process.stdout.write(renderStep(i + 1, steps.length, step, 'full') + '\n');
26
+ * });
27
+ * // [1/3] Resolving deps
28
+ * // [2/3] Bundling
29
+ * // [3/3] Writing dist
30
+ * ```
12
31
  */
13
32
  export declare function renderStep(current: number, total: number, msg: string, colorCap: ColorCapability): string;
14
33
  //# sourceMappingURL=step.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/playground/step.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAE/F;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAMzG"}
1
+ {"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/playground/step.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAMzG"}
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_spinner = require("./chunks/spinner-DNvxbM9a.cjs");
2
+ const require_spinner = require("./chunks/spinner-BHyYEXsM.cjs");
3
3
  exports.NoopSpinner = require_spinner.NoopSpinner;
4
4
  exports.SpinnerManager = require_spinner.SpinnerManager;
5
5
  exports.renderBox = require_spinner.renderBox;
@@ -1,2 +1,2 @@
1
- import { a as renderDivider, i as renderBox, n as SpinnerManager, o as renderHeader, r as renderTable, s as renderStep, t as NoopSpinner } from "./chunks/spinner-D3FsF78o.js";
1
+ import { a as renderDivider, i as renderBox, n as SpinnerManager, o as renderHeader, r as renderTable, s as renderStep, t as NoopSpinner } from "./chunks/spinner-BtkwpzYv.js";
2
2
  export { NoopSpinner, SpinnerManager, renderBox, renderDivider, renderHeader, renderStep, renderTable };
@@ -1,21 +1,28 @@
1
1
  /**
2
- * @fileoverview SerializerBridge — SerializerRegistry facade.
3
- * Encapsulates serializer registration, removal, and registry access.
2
+ * @fileoverview SerializerBridge — facade de SerializerRegistry.
3
+ * Encapsula registro, eliminación y acceso al registry de serializers.
4
+ *
5
+ * @internal
4
6
  */
5
7
  import type { SerializerFn } from '../types/index.js';
6
8
  import { SerializerRegistry } from './index.js';
7
9
  /**
8
- * Bridge for serializer management.
10
+ * Bridge para la gestión de serializers.
11
+ *
12
+ * @internal
9
13
  */
10
14
  export interface SerializerBridge {
11
- /** Adds a serializer for a type. */
15
+ /** Añade un serializer para un tipo. */
12
16
  addSerializer<T>(type: new (...args: unknown[]) => T, serializer: SerializerFn<T>, priority?: number): void;
17
+ /** Elimina el serializer asociado a un tipo. Devuelve `true` si se eliminó. */
13
18
  removeSerializer<T>(type: new (...args: unknown[]) => T): boolean;
14
- /** Returns the underlying registry. */
19
+ /** Devuelve el registry subyacente. */
15
20
  getSerializerRegistry(): SerializerRegistry;
16
21
  }
17
22
  /**
18
- * Creates a SerializerBridge instance.
23
+ * Crea una instancia de {@link SerializerBridge}.
24
+ *
25
+ * @internal
19
26
  */
20
27
  export declare function createSerializerBridge(): SerializerBridge;
21
28
  //# sourceMappingURL=SerializerBridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SerializerBridge.d.ts","sourceRoot":"","sources":["../../src/serializers/SerializerBridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,oCAAoC;IACpC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5G,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;IAClE,uCAAuC;IACvC,qBAAqB,IAAI,kBAAkB,CAAC;CAC/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAgBzD"}
1
+ {"version":3,"file":"SerializerBridge.d.ts","sourceRoot":"","sources":["../../src/serializers/SerializerBridge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,wCAAwC;IACxC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5G,+EAA+E;IAC/E,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC;IAClE,uCAAuC;IACvC,qBAAqB,IAAI,kBAAkB,CAAC;CAC/C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CAgBzD"}
@@ -1,16 +1,252 @@
1
+ /**
2
+ * @fileoverview Registry de serializers con control de profundidad, detección
3
+ * de referencias circulares y soporte para tipos builtin (Error, Date, RegExp,
4
+ * Map, Set, Buffer). Implementa {@link ISerializerRegistry}.
5
+ */
1
6
  import type { SerializerFn, SerializerEntry, SerializerConfig, ISerializerRegistry } from '../types/index.js';
7
+ /**
8
+ * Registry de serializers tipados por constructor.
9
+ *
10
+ * Mantiene un mapa ordenado por `priority` (mayor primero) de serializers
11
+ * registrados para clases específicas. El método {@link SerializerRegistry.serialize}
12
+ * recorre objetos de forma recursiva aplicando el serializer que matchee por
13
+ * `instanceof`, con dos guardas de seguridad:
14
+ *
15
+ * - **Depth guard**: corta la recursión al llegar a `maxDepth` y emite el
16
+ * placeholder `'[Max Depth]'`.
17
+ * - **Circular ref**: lleva un `WeakSet` de objetos visitados en el path actual;
18
+ * al re-encontrar uno aplica la estrategia de `circular` (`placeholder` por
19
+ * default).
20
+ *
21
+ * Implementa {@link ISerializerRegistry}. Suele usarse vía el singleton de
22
+ * {@link getDefaultSerializerRegistry}, expuesto al Logger a través del
23
+ * {@link SerializerBridge}.
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const registry = new SerializerRegistry({ maxDepth: 3 });
28
+ *
29
+ * registry.add(URL, (url: URL) => ({
30
+ * href: url.href,
31
+ * origin: url.origin
32
+ * }), 60);
33
+ *
34
+ * const safe = registry.serialize(someMaybeCyclicObject);
35
+ * ```
36
+ *
37
+ * @see {@link ISerializerRegistry} para el contrato interface.
38
+ * @see {@link SerializerConfig} para las opciones del constructor.
39
+ */
2
40
  export declare class SerializerRegistry implements ISerializerRegistry {
3
41
  private serializers;
4
42
  private config;
43
+ /**
44
+ * Crea un registry nuevo con los serializers builtin ya registrados
45
+ * (Error, Date, RegExp, Map, Set, Buffer cuando está disponible).
46
+ *
47
+ * @param {SerializerConfig} config - Overrides sobre {@link DEFAULT_CONFIG}.
48
+ * - `maxDepth` (default `5`): profundidad máxima de anidamiento antes del
49
+ * placeholder `'[Max Depth]'`.
50
+ * - `circular` (default `'placeholder'`): qué hacer ante una referencia
51
+ * circular. `'placeholder'` emite `'[Circular]'`, `'skip'` omite la key
52
+ * (devuelve `undefined`), `'error'` lanza.
53
+ * - `preserveUndefined` (default `false`): si `true` deja `undefined`
54
+ * textual; si `false` lo reemplaza por `'[undefined]'` (más seguro para
55
+ * JSON / transporte).
56
+ *
57
+ * @example
58
+ * ```ts
59
+ * // Defaults (depth 5, circular → placeholder)
60
+ * const a = new SerializerRegistry();
61
+ *
62
+ * // Estricto: lanza ante ciclo, conservar undefined
63
+ * const b = new SerializerRegistry({
64
+ * maxDepth: 10,
65
+ * circular: 'error',
66
+ * preserveUndefined: true
67
+ * });
68
+ * ```
69
+ */
5
70
  constructor(config?: SerializerConfig);
71
+ /**
72
+ * Registra los serializers builtin con sus prioridades. Invocado por el
73
+ * constructor; no es API pública.
74
+ *
75
+ * Defaults (mayor priority = gana primero en `instanceof`):
76
+ *
77
+ * | Tipo | Priority | Salida |
78
+ * |----------|----------|------------------------------------------------|
79
+ * | `Error` | 100 | `{ name, message, stack[], cause? }` |
80
+ * | `Date` | 90 | `{ iso, timestamp }` |
81
+ * | `RegExp` | 90 | `{ pattern, flags }` |
82
+ * | `Map` | 80 | `{ __type:'Map', entries }` |
83
+ * | `Set` | 80 | `{ __type:'Set', values[] }` |
84
+ * | `Buffer` | 70 | `{ __type:'Buffer', length, preview }` (Node) |
85
+ *
86
+ * @internal
87
+ */
6
88
  private registerDefaults;
89
+ /**
90
+ * Registra (o reemplaza) el serializer para una clase constructora.
91
+ *
92
+ * Si ya existía un serializer para `type`, se sobrescribe. La `priority`
93
+ * sólo ordena de cara al lookup por `instanceof` hecho en
94
+ * {@link SerializerRegistry.getAll} — útil cuando una subclass debería
95
+ * matchear antes que su superclass (p.ej. `TypeError` antes que `Error`).
96
+ *
97
+ * @param {new (...args: any[]) => T} type - Constructor de la clase a matchear.
98
+ * @param {SerializerFn<T>} serializer - Función que recibe la instancia y el
99
+ * {@link SerializerContext} (depth, path, seen); devuelve una representación
100
+ * serializable.
101
+ * @param {number} [priority=50] - Orden de lookup (mayor = primero). Los
102
+ * defaults builtin usan 70–100.
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * registry.add(
107
+ * URL,
108
+ * (url: URL, ctx) => ({ href: url.href, origin: url.origin }),
109
+ * 60
110
+ * );
111
+ * ```
112
+ */
7
113
  add<T>(type: new (...args: any[]) => T, serializer: SerializerFn<T>, priority?: number): void;
114
+ /**
115
+ * Elimina el serializer registrado para `type`.
116
+ *
117
+ * @param {new (...args: any[]) => T} type - Constructor a remover.
118
+ * @returns `true` si existía y fue removido, `false` si no había registro.
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * registry.remove(Date); // → true (estaba registrado por defecto)
123
+ * registry.remove(Date); // → false (ya no está)
124
+ * ```
125
+ */
8
126
  remove<T>(type: new (...args: any[]) => T): boolean;
127
+ /**
128
+ * Indica si hay un serializer registrado para `type`.
129
+ *
130
+ * @param {new (...args: any[]) => T} type - Constructor a consultar.
131
+ * @returns `true` si `type` está registrado.
132
+ *
133
+ * @example
134
+ * ```ts
135
+ * if (!registry.has(CustomError)) {
136
+ * registry.add(CustomError, serializeCustomError, 95);
137
+ * }
138
+ * ```
139
+ */
9
140
  has<T>(type: new (...args: any[]) => T): boolean;
141
+ /**
142
+ * Devuelve todas las entradas registradas, ordenadas por `priority`
143
+ * descendente (mayor priority primero). Este es el orden en el que
144
+ * {@link SerializerRegistry.serialize} los prueba vía `instanceof`.
145
+ *
146
+ * @returns {SerializerEntry[]} Array de entradas ordenadas por prioridad.
147
+ *
148
+ * @example
149
+ * ```ts
150
+ * const entries = registry.getAll();
151
+ * console.log(entries.map(e => [e.type.name, e.priority]));
152
+ * // [['Error', 100], ['Date', 90], ['RegExp', 90], ['Map', 80], ...]
153
+ * ```
154
+ *
155
+ * @see {@link SerializerEntry}
156
+ */
10
157
  getAll(): SerializerEntry[];
158
+ /**
159
+ * Busca el primer serializer cuyo `type` matchee `value instanceof type`,
160
+ * recorriendo las entradas en orden de prioridad descendente.
161
+ *
162
+ * @internal Helper del pipeline interno; no es API pública.
163
+ * @param value - Valor a testear.
164
+ * @returns Entrada matcheante, o `null` si ninguna aplica.
165
+ */
11
166
  private findSerializer;
167
+ /**
168
+ * Pipeline interno de serialización recursiva. Es el core de
169
+ * {@link SerializerRegistry.serialize}; no es API pública pero se documenta
170
+ * aquí para mantener la semántica del pipeline en un solo lugar.
171
+ *
172
+ * Orden de guardas (cada una corta la recursión):
173
+ *
174
+ * 1. `null` / `undefined` — directo (respeta `preserveUndefined`).
175
+ * 2. `function` — placeholder `'[Function: name]'`.
176
+ * 3. Primitiva no-objeto — se devuelve tal cual.
177
+ * 4. **Depth guard**: si `depth >= maxDepth` → `'[Max Depth]'`.
178
+ * 5. **Circular**: si `value` ya está en el `WeakSet` `seen` del contexto,
179
+ * aplica `circular` (`placeholder` / `skip` / `error`).
180
+ * 6. Se marca en `seen`, se busca serializer por `instanceof`; si matchea,
181
+ * se delega (el serializer puede recursar via `ctx`).
182
+ * 7. Si es array, mapea cada item incrementando depth y extendiendo path.
183
+ * 8. Si es plain object, itera keys recursivamente.
184
+ *
185
+ * @internal
186
+ * @param value - Valor a serializar.
187
+ * @param context - Estado de recursión (depth, path, seen, maxDepth).
188
+ * @returns Valor serializable (puede ser primitiva, objeto, array o placeholder).
189
+ * @throws {Error} Sólo si `circular: 'error'` y se detecta ciclo.
190
+ */
12
191
  private serializeInternal;
192
+ /**
193
+ * Serializa un valor arbitrario a una representación segura para transporte
194
+ * (JSON, remote log, OTLP, etc.).
195
+ *
196
+ * Entry point público del pipeline. Construye un {@link SerializerContext}
197
+ * fresco (depth 0, path vacío, `WeakSet` nuevo para detección de ciclos),
198
+ * merguea overrides de `config` sobre los del constructor y delega a
199
+ * {@link SerializerRegistry.serializeInternal}.
200
+ *
201
+ * @param {any} value - Valor a serializar. Cualquier tipo.
202
+ * @param {SerializerConfig} [config] - Overrides puntuales para esta llamada
203
+ * (no mutan la config del registry). Útil para, p.ej., subir `maxDepth`
204
+ * sólo en un log concreto.
205
+ * @returns {any} Valor serializable. Para objetos sin serializer registrado
206
+ * se devuelve un plain object; para tipos builtin, la shape definida en
207
+ * {@link SerializerRegistry.registerDefaults}; para los cortes de
208
+ * profundidad o circular, los placeholders `'[Max Depth]'` / `'[Circular]'`.
209
+ * @throws {Error} Sólo si `circular: 'error'` y se detecta una referencia circular.
210
+ *
211
+ * @example
212
+ * ```ts
213
+ * // Objetos simples
214
+ * registry.serialize({ a: 1, b: [2, 3] });
215
+ * // → { a: 1, b: [2, 3] }
216
+ *
217
+ * // Errores (serializer builtin)
218
+ * registry.serialize(new Error('boom'));
219
+ * // → { name: 'Error', message: 'boom', stack: [...] }
220
+ *
221
+ * // Referencia circular → placeholder
222
+ * const o: any = {};
223
+ * o.self = o;
224
+ * registry.serialize(o); // → { self: '[Circular]' }
225
+ *
226
+ * // Override puntual de maxDepth
227
+ * registry.serialize(deepObj, { maxDepth: 2 });
228
+ * ```
229
+ *
230
+ * @see {@link SerializerRegistry.serializeInternal} para el detalle del pipeline.
231
+ */
13
232
  serialize(value: any, config?: SerializerConfig): any;
14
233
  }
234
+ /**
235
+ * Devuelve el singleton de {@link SerializerRegistry} (lo crea con config
236
+ * default en la primera llamada). Es la vía canónica de obtener el registry
237
+ * compartido que usa el Logger internamente.
238
+ *
239
+ * @returns {SerializerRegistry} Instancia singleton.
240
+ *
241
+ * @example
242
+ * ```ts
243
+ * import { getDefaultSerializerRegistry } from '@mks2508/better-logger/serializers';
244
+ *
245
+ * const registry = getDefaultSerializerRegistry();
246
+ * if (!registry.has(CustomError)) {
247
+ * registry.add(CustomError, (e) => ({ code: e.code, message: e.message }), 95);
248
+ * }
249
+ * ```
250
+ */
15
251
  export declare function getDefaultSerializerRegistry(): SerializerRegistry;
16
252
  //# sourceMappingURL=SerializerRegistry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SerializerRegistry.d.ts","sourceRoot":"","sources":["../../src/serializers/SerializerRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EAEZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACtB,MAAM,mBAAmB,CAAC;AAQ3B,qBAAa,kBAAmB,YAAW,mBAAmB;IAC1D,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,MAAM,CAA6B;gBAE/B,MAAM,GAAE,gBAAqB;IAKzC,OAAO,CAAC,gBAAgB;IAmDxB,GAAG,CAAC,CAAC,EACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAC3B,QAAQ,GAAE,MAAW,GACtB,IAAI;IAIP,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO;IAInD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO;IAIhD,MAAM,IAAI,eAAe,EAAE;IAK3B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,iBAAiB;IAiDzB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,GAAG;CASxD;AAID,wBAAgB,4BAA4B,IAAI,kBAAkB,CAKjE"}
1
+ {"version":3,"file":"SerializerRegistry.d.ts","sourceRoot":"","sources":["../../src/serializers/SerializerRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACR,YAAY,EAEZ,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACtB,MAAM,mBAAmB,CAAC;AAc3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC1D,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,MAAM,CAA6B;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;gBACS,MAAM,GAAE,gBAAqB;IAKzC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,gBAAgB;IAmDxB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,GAAG,CAAC,CAAC,EACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAC3B,QAAQ,GAAE,MAAW,GACtB,IAAI;IAIP;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO;IAInD;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO;IAIhD;;;;;;;;;;;;;;;OAeG;IACH,MAAM,IAAI,eAAe,EAAE;IAK3B;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAUtB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,GAAG;CASxD;AASD;;;;;;;;;;;;;;;;OAgBO;AACP,wBAAgB,4BAA4B,IAAI,kBAAkB,CAKjE"}
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_SerializerBridge = require("./chunks/SerializerBridge-BaOQOb8q.cjs");
2
+ const require_SerializerBridge = require("./chunks/SerializerBridge-C4a9Z37F.cjs");
3
3
  exports.SerializerRegistry = require_SerializerBridge.SerializerRegistry;
4
4
  exports.createSerializerBridge = require_SerializerBridge.createSerializerBridge;
5
5
  exports.getDefaultSerializerRegistry = require_SerializerBridge.getDefaultSerializerRegistry;
@@ -1,2 +1,2 @@
1
- import { n as SerializerRegistry, r as getDefaultSerializerRegistry, t as createSerializerBridge } from "./chunks/SerializerBridge-BkpQu5c9.js";
1
+ import { n as SerializerRegistry, r as getDefaultSerializerRegistry, t as createSerializerBridge } from "./chunks/SerializerBridge-Ba43Mk7j.js";
2
2
  export { SerializerRegistry, createSerializerBridge, getDefaultSerializerRegistry };
@@ -1,83 +1,190 @@
1
1
  /**
2
- * @fileoverview StyleManager — style preset and display settings management.
3
- * Encapsulates active preset tracking, display toggles, and the
4
- * module-level LEVEL_STYLES variable.
2
+ * @fileoverview StyleManager — gestión de presets de estilo y display settings.
5
3
  *
6
- * Wired into Logger.ts in F4. Logger delegates style queries and theme
7
- * changes through this bridge so that the module-level LEVEL_STYLES stay
8
- * in sync across the module.
4
+ * Encapsula el tracking del preset activo, los toggles de visibilidad del
5
+ * output (timestamp, location, badges) y la variable de módulo
6
+ * {@link LEVEL_STYLES}. El Logger delega en este bridge la resolución de
7
+ * estilos y los cambios de theme para mantener sincronizado el estado
8
+ * compartido a nivel módulo.
9
9
  */
10
10
  import { THEME_PRESETS } from '../styling/index.js';
11
11
  import type { ThemeVariant } from '../types/index.js';
12
+ /**
13
+ * Re-export de `StyleBuilder` para consumo interno del Logger dentro de este
14
+ * paquete. La API pública de styling vive en `../styling/index.ts`; este
15
+ * re-export existe únicamente para evitar un segundo import cruzado desde
16
+ * Logger.ts. No considerar parte del surface público de este módulo.
17
+ *
18
+ * @internal
19
+ */
12
20
  export { StyleBuilder } from '../styling/index.js';
13
21
  /**
14
- * Display visibility settings.
22
+ * Toggles de visibilidad que controlan qué metadatos acompañan a cada línea
23
+ * de log en la salida formateada. Cada preset inteligente
24
+ * (via {@link StyleManager.applyPreset}) puede imponer sus propios defaults
25
+ * sobreescribiendo estos valores.
15
26
  */
16
27
  export interface DisplaySettings {
28
+ /** Muestra (o no) el timestamp ISO al inicio de cada línea. */
17
29
  showTimestamp: boolean;
30
+ /** Muestra (o no) la ubicación del caller (file:line) parseada del stack. */
18
31
  showLocation: boolean;
32
+ /** Muestra (o no) los badges de scope/nivel junto al mensaje. */
19
33
  showBadges: boolean;
20
34
  }
21
35
  /**
22
- * Active preset state tracked by StyleManager.
36
+ * Snapshot del estado interno que el StyleManager trackea en closure:
37
+ * preset activo, overrides de `customize()` y display settings vigentes.
38
+ * Útil para serializar/inspeccionar el estado de styling sin exponer la
39
+ * implementación del bridge.
23
40
  */
24
41
  export interface PresetState {
25
- /** The resolved style config (LEVEL_STYLES). */
42
+ /** Config de estilos resuelta (referencia a {@link LEVEL_STYLES}). */
26
43
  styles: typeof THEME_PRESETS.default;
27
- /** The active smart-preset config (if any). */
44
+ /** Config del smart-preset activo (si lo hay). */
28
45
  activePreset: unknown;
29
- /** Name of the active smart-preset (if any). */
46
+ /** Nombre del smart-preset activo (si lo hay). */
30
47
  activePresetName: string | undefined;
31
- /** Last-applied customize() overrides. */
48
+ /** Últimos overrides aplicados via `customize()`. */
32
49
  customization: unknown;
33
- /** Display visibility settings. */
50
+ /** Toggles de visibilidad del output. */
34
51
  displaySettings: DisplaySettings;
35
52
  }
36
53
  /**
37
- * Options for creating StyleManager.
54
+ * Opciones de construcción para {@link createStyleManager}.
38
55
  */
39
56
  export interface IStyleManagerOptions {
40
- /** Initial display settings. */
57
+ /** Display settings iniciales (parciales: se merguean sobre los defaults). */
41
58
  initialDisplaySettings?: Partial<DisplaySettings>;
42
59
  }
43
60
  /**
44
- * StyleManager - manages style presets and display settings.
61
+ * Bridge que gestiona presets de estilo, display settings y el ciclo de
62
+ * theme switching para un Logger.
63
+ *
64
+ * Encapsula el estado de styling en una closure para que el Logger no
65
+ * tenga que mantener boilerplate propio. La implementación por defecto
66
+ * (ver {@link createStyleManager}) opera sobre la variable de módulo
67
+ * compartida {@link LEVEL_STYLES}: esto significa que `setTheme()` y
68
+ * `resetStyles()` mutan estado global visible para TODAS las instancias
69
+ * de Logger que comparten el módulo. Cada Logger construye su propio
70
+ * StyleManager, pero la backing store de estilos activos es module-scoped
71
+ * — está pensado así para que cambiar de theme una vez afecte a toda la
72
+ * app, pero conviene saberlo al instanciar múltiples loggers con intents
73
+ * distintos.
45
74
  */
46
75
  export interface StyleManager {
47
- /** Returns current display settings. */
76
+ /**
77
+ * Devuelve un shallow clone de los display settings vigentes, de modo
78
+ * que el caller pueda leerlos sin riesgo de mutar el estado interno.
79
+ */
48
80
  getDisplaySettings(): DisplaySettings;
49
- /** Applies a smart preset by name. Returns true if applied. */
81
+ /**
82
+ * Aplica un smart-preset por nombre. Si el preset existe, actualiza los
83
+ * toggles de display (`showTimestamp`/`showLocation`) según la config
84
+ * del preset y memoriza su nombre/config para que el renderer pueda
85
+ * regenerar el output si cambia el theme.
86
+ *
87
+ * @param name - Identificador del preset (ver {@link getAvailablePresets}).
88
+ * @returns `true` si el preset existe y se aplicó, `false` si no se encontró.
89
+ */
50
90
  applyPreset(name: string): boolean;
51
- /** Lists all available presets. */
91
+ /**
92
+ * Lista los identificadores de todos los smart-presets registrados.
93
+ * Útil para alimentar un selector de UI o validar input de usuario.
94
+ */
52
95
  getAvailablePresets(): string[];
53
- /** Gets the current LEVEL_STYLES. */
96
+ /**
97
+ * Devuelve la referencia actual a {@link LEVEL_STYLES}. Como es
98
+ * module-scoped, refleja el último `setTheme()`/`resetStyles()` aunque
99
+ * provenga de otra instancia.
100
+ */
54
101
  getStyles(): typeof THEME_PRESETS.default;
55
- /** Gets the active smart-preset config. */
102
+ /** Devuelve la config cruda del smart-preset activo (o `undefined`). */
56
103
  getActivePreset(): unknown;
57
- /** Gets the active smart-preset name. */
104
+ /** Nombre del smart-preset activo — útil para logging diagnóstico. */
58
105
  getActivePresetName(): string | undefined;
59
- /** Gets the active customization overrides. */
106
+ /** Último override aplicado via `Logger.customize()` (si lo hubo). */
60
107
  getCustomization(): unknown;
61
- /** Stores customization overrides. */
108
+ /**
109
+ * Persiste overrides de customización para que el renderer los consuma
110
+ * en el próximo render. No muta {@link LEVEL_STYLES}.
111
+ */
62
112
  setCustomization(overrides: unknown): void;
63
- /** Resolves the effective styles for a theme variant. */
113
+ /**
114
+ * Resuelve (sin mutar nada) el set de estilos que correspondería a un
115
+ * theme dado. Si el theme no existe en {@link THEME_PRESETS}, cae al
116
+ * preset `default`. Útil para previsualizar un theme sin aplicarlo.
117
+ *
118
+ * @param theme - Variante de theme soportada por {@link THEME_PRESETS}.
119
+ */
64
120
  resolveThemeStyle(theme: ThemeVariant): typeof THEME_PRESETS.default;
65
- /** Sets the active theme by name, updating the module-level LEVEL_STYLES. */
121
+ /**
122
+ * Aplica el theme mutando la variable de módulo {@link LEVEL_STYLES}.
123
+ *
124
+ * **Side-effect global**: como `LEVEL_STYLES` se comparte entre todas
125
+ * las instancias de Logger del módulo, este cambio es visible para
126
+ * cualquier Logger que haya en el proceso. No hay undo a nivel
127
+ * instancia — llamar a {@link resetStyles} para volver al default.
128
+ *
129
+ * @param theme - Variante de theme soportada por {@link THEME_PRESETS}.
130
+ * @returns `true` si el theme existe y se aplicó, `false` si no se encontró.
131
+ */
66
132
  setTheme(theme: ThemeVariant): boolean;
67
- /** Resets LEVEL_STYLES to the default preset. */
133
+ /**
134
+ * Restablece {@link LEVEL_STYLES} al preset `default` de
135
+ * {@link THEME_PRESETS}. Al igual que {@link setTheme}, afecta a todas
136
+ * las instancias de Logger del módulo.
137
+ */
68
138
  resetStyles(): void;
69
139
  }
70
140
  /**
71
- * Creates a StyleManager instance.
141
+ * Crea una instancia de {@link StyleManager} con display settings por defecto
142
+ * (o los overrides que se pasen en `options`).
143
+ *
144
+ * Cada instancia mantiene su propio estado de preset/customization/display,
145
+ * pero la backing store de estilos activos ({@link LEVEL_STYLES}) es
146
+ * module-scoped: dos StyleManagers comparten la misma vista de LEVEL_STYLES.
147
+ *
148
+ * @param options - Overrides opcionales para los display settings iniciales.
149
+ *
150
+ * @example
151
+ * ```ts
152
+ * const sm = createStyleManager({
153
+ * initialDisplaySettings: { showTimestamp: false, showBadges: true }
154
+ * });
155
+ *
156
+ * sm.applyPreset('cyberpunk'); // aplica preset + ajusta toggles
157
+ * sm.setTheme('dark'); // muta LEVEL_STYLES (global al módulo)
158
+ * console.log(sm.getStyles()); // lee el LEVEL_STYLES vigente
159
+ * ```
160
+ *
161
+ * @see {@link StyleManager} para el contrato completo del bridge.
72
162
  */
73
163
  export declare function createStyleManager(options?: IStyleManagerOptions): StyleManager;
74
164
  /**
75
- * Module-level active styles — shared across all Logger instances.
76
- * Exported so Logger can reference it directly.
165
+ * Variable de módulo con el set de estilos activo, compartida por todas las
166
+ * instancias de Logger/StyleManager que importan este módulo. Se exporta
167
+ * `let` para que el Logger la pueda leer directamente sin pasar por el bridge.
168
+ *
169
+ * **Mutadores**: {@link StyleManager.setTheme} y {@link StyleManager.resetStyles}
170
+ * (o el {@link resetStyles} exportado de este módulo) reasignan esta variable.
171
+ * Cualquier referencia capturada con anterioridad queda stale — siempre leer
172
+ * vía `LEVEL_STYLES` en punto de uso, no cacheandola.
77
173
  */
78
174
  export declare let LEVEL_STYLES: typeof THEME_PRESETS.default;
79
175
  /**
80
- * Resets LEVEL_STYLES to default.
176
+ * Restablece {@link LEVEL_STYLES} al preset `default` de {@link THEME_PRESETS}.
177
+ *
178
+ * Equivalente a invocar {@link StyleManager.resetStyles} sobre cualquier
179
+ * instancia, expuesto como función libre para que código externo al Logger
180
+ * (CLIs, tooling, tests) pueda resetear el módulo sin tener que sostener una
181
+ * referencia al StyleManager. Mismo side-effect global que `setTheme`.
182
+ *
183
+ * @example
184
+ * ```ts
185
+ * import { resetStyles } from '@mks2508/better-logger/styles';
186
+ * resetStyles(); // vuelve al theme default para todos los loggers del módulo
187
+ * ```
81
188
  */
82
189
  export declare function resetStyles(): void;
83
190
  //# sourceMappingURL=StyleManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StyleManager.d.ts","sourceRoot":"","sources":["../../src/styles/StyleManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACH,aAAa,EAGhB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,mBAAmB,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,gDAAgD;IAChD,MAAM,EAAE,OAAO,aAAa,CAAC,OAAO,CAAC;IACrC,+CAA+C;IAC/C,YAAY,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,0CAA0C;IAC1C,aAAa,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,eAAe,EAAE,eAAe,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,gCAAgC;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,wCAAwC;IACxC,kBAAkB,IAAI,eAAe,CAAC;IACtC,+DAA+D;IAC/D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,mCAAmC;IACnC,mBAAmB,IAAI,MAAM,EAAE,CAAC;IAChC,qCAAqC;IACrC,SAAS,IAAI,OAAO,aAAa,CAAC,OAAO,CAAC;IAC1C,2CAA2C;IAC3C,eAAe,IAAI,OAAO,CAAC;IAC3B,yCAAyC;IACzC,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAAC;IAC1C,+CAA+C;IAC/C,gBAAgB,IAAI,OAAO,CAAC;IAC5B,sCAAsC;IACtC,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,yDAAyD;IACzD,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,aAAa,CAAC,OAAO,CAAC;IACrE,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;IACvC,iDAAiD;IACjD,WAAW,IAAI,IAAI,CAAC;CACvB;AAUD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,oBAAyB,GAAG,YAAY,CA0EnF;AAED;;;GAGG;AACH,eAAO,IAAI,YAAY,EAAE,OAAO,aAAa,CAAC,OAA+B,CAAC;AAE9E;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
1
+ {"version":3,"file":"StyleManager.d.ts","sourceRoot":"","sources":["../../src/styles/StyleManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACH,aAAa,EAGhB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,mBAAmB,CAAC;AAEjE;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,+DAA+D;IAC/D,aAAa,EAAE,OAAO,CAAC;IACvB,6EAA6E;IAC7E,YAAY,EAAE,OAAO,CAAC;IACtB,iEAAiE;IACjE,UAAU,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IACxB,sEAAsE;IACtE,MAAM,EAAE,OAAO,aAAa,CAAC,OAAO,CAAC;IACrC,kDAAkD;IAClD,YAAY,EAAE,OAAO,CAAC;IACtB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,qDAAqD;IACrD,aAAa,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,eAAe,EAAE,eAAe,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,8EAA8E;IAC9E,sBAAsB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACrD;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,kBAAkB,IAAI,eAAe,CAAC;IACtC;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC;;;OAGG;IACH,mBAAmB,IAAI,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,SAAS,IAAI,OAAO,aAAa,CAAC,OAAO,CAAC;IAC1C,wEAAwE;IACxE,eAAe,IAAI,OAAO,CAAC;IAC3B,sEAAsE;IACtE,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAAC;IAC1C,sEAAsE;IACtE,gBAAgB,IAAI,OAAO,CAAC;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,aAAa,CAAC,OAAO,CAAC;IACrE;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC;IACvC;;;;OAIG;IACH,WAAW,IAAI,IAAI,CAAC;CACvB;AAUD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,oBAAyB,GAAG,YAAY,CA0EnF;AAED;;;;;;;;;GASG;AACH,eAAO,IAAI,YAAY,EAAE,OAAO,aAAa,CAAC,OAA+B,CAAC;AAE9E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
package/dist/styles.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_styling = require("./chunks/styling-Cg5saQ46.cjs");
3
- const require_StyleManager = require("./chunks/StyleManager-CIpd6wbO.cjs");
2
+ const require_styling = require("./chunks/styling-Cel2wPRy.cjs");
3
+ const require_StyleManager = require("./chunks/StyleManager-DQ6UNRB-.cjs");
4
4
  exports.StyleBuilder = require_styling.StyleBuilder;
5
5
  exports.StylePresets = require_styling.StylePresets;
6
6
  exports.THEME_PRESETS = require_styling.THEME_PRESETS;
package/dist/styles.js CHANGED
@@ -1,3 +1,3 @@
1
- import { c as StyleBuilder, l as StylePresets, s as THEME_PRESETS } from "./chunks/styling-84N8T97t.js";
2
- import { t as createStyleManager } from "./chunks/StyleManager-LCvVlVdx.js";
1
+ import { c as StyleBuilder, l as StylePresets, s as THEME_PRESETS } from "./chunks/styling-CRw3KQW4.js";
2
+ import { t as createStyleManager } from "./chunks/StyleManager-DjwAYbxE.js";
3
3
  export { StyleBuilder, StylePresets, THEME_PRESETS, createStyleManager };