@context-action/core 0.0.1 → 0.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/core/ActionRegister.ts","../src/core/types.ts","../src/react/ActionContext.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/logger.ts","../src/ActionRegister.ts","../src/types.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,30 +1,230 @@
1
- import React, { ReactNode } from "react";
2
-
3
- //#region src/core/ActionRegister.d.ts
1
+ //#region src/logger.d.ts
2
+ /**
3
+ * Log levels in order of severity (lowest to highest)
4
+ */
5
+ declare enum LogLevel {
6
+ TRACE = 0,
7
+ DEBUG = 1,
8
+ INFO = 2,
9
+ WARN = 3,
10
+ ERROR = 4,
11
+ FATAL = 5,
12
+ }
13
+ /**
14
+ * Logger interface for custom logger implementations
15
+ */
16
+ interface Logger {
17
+ trace(message: string, ...args: any[]): void;
18
+ debug(message: string, ...args: any[]): void;
19
+ info(message: string, ...args: any[]): void;
20
+ warn(message: string, ...args: any[]): void;
21
+ error(message: string, ...args: any[]): void;
22
+ fatal(message: string, ...args: any[]): void;
23
+ }
24
+ /**
25
+ * Default console logger implementation
26
+ */
27
+ declare class ConsoleLogger implements Logger {
28
+ private level;
29
+ constructor(level?: LogLevel);
30
+ protected shouldLog(level: LogLevel): boolean;
31
+ private formatMessage;
32
+ trace(message: string, ...args: any[]): void;
33
+ debug(message: string, ...args: any[]): void;
34
+ info(message: string, ...args: any[]): void;
35
+ warn(message: string, ...args: any[]): void;
36
+ error(message: string, ...args: any[]): void;
37
+ fatal(message: string, ...args: any[]): void;
38
+ setLevel(level: LogLevel): void;
39
+ }
40
+ /**
41
+ * Parse log level from string
42
+ */
43
+ declare function parseLogLevel(level: string): LogLevel;
44
+ /**
45
+ * Get log level from environment variable or default to ERROR
46
+ */
47
+ declare function getLogLevelFromEnv(): LogLevel;
48
+ /**
49
+ * Extract trace ID from payload if it exists
50
+ */
51
+ declare function extractTraceIdFromPayload(payload: any): string | undefined;
52
+ /**
53
+ * Extract session ID from payload if it exists
54
+ */
55
+ declare function extractSessionIdFromPayload(payload: any): string | undefined;
56
+ /**
57
+ * Create OTEL context from payload
58
+ */
59
+ declare function createOtelContextFromPayload(payload: any): OtelContext;
60
+ /**
61
+ * OpenTelemetry context interface for tracing
62
+ */
63
+ interface OtelContext {
64
+ /** Session ID for tracking user sessions */
65
+ sessionId?: string;
66
+ /** Trace ID for distributed tracing */
67
+ traceId?: string;
68
+ /** Span ID for current operation */
69
+ spanId?: string;
70
+ /** Parent span ID for operation hierarchy */
71
+ parentSpanId?: string;
72
+ /** Additional context metadata */
73
+ metadata?: Record<string, any>;
74
+ }
75
+ /**
76
+ * Extended logger interface with OpenTelemetry support
77
+ */
78
+ interface OtelLogger extends Logger {
79
+ /** Set OpenTelemetry context */
80
+ setContext(context: OtelContext): void;
81
+ /** Get current OpenTelemetry context */
82
+ getContext(): OtelContext;
83
+ /** Clear OpenTelemetry context */
84
+ clearContext(): void;
85
+ /** Log with OpenTelemetry context */
86
+ logWithContext(level: LogLevel, message: string, ...args: any[]): void;
87
+ }
88
+ /**
89
+ * OpenTelemetry-aware console logger implementation
90
+ */
91
+ declare class OtelConsoleLogger extends ConsoleLogger implements OtelLogger {
92
+ private context;
93
+ constructor(level?: LogLevel);
94
+ setContext(context: OtelContext): void;
95
+ getContext(): OtelContext;
96
+ clearContext(): void;
97
+ private formatWithContext;
98
+ logWithContext(level: LogLevel, message: string, ...args: any[]): void;
99
+ trace(message: string, ...args: any[]): void;
100
+ debug(message: string, ...args: any[]): void;
101
+ info(message: string, ...args: any[]): void;
102
+ warn(message: string, ...args: any[]): void;
103
+ error(message: string, ...args: any[]): void;
104
+ fatal(message: string, ...args: any[]): void;
105
+ }
106
+ //# sourceMappingURL=logger.d.ts.map
107
+ //#endregion
108
+ //#region src/ActionRegister.d.ts
109
+ /**
110
+ * Controller object provided to action handlers for pipeline management
111
+ * @template T - The type of the payload being processed
112
+ */
4
113
  type PipelineController<T = any> = {
114
+ /** Continue to the next handler in the pipeline */
5
115
  next: () => void;
116
+ /** Abort the pipeline execution with an optional reason */
6
117
  abort: (reason?: string) => void;
118
+ /** Modify the payload that will be passed to subsequent handlers */
7
119
  modifyPayload: (modifier: (payload: T) => T) => void;
8
120
  };
121
+ /**
122
+ * Action handler function that processes actions in the pipeline
123
+ * @template T - The type of the payload
124
+ * @param payload - The data passed to the handler
125
+ * @param controller - Pipeline controller for flow management
126
+ * @returns void or Promise<void> for async handlers
127
+ */
9
128
  type ActionHandler<T = any> = (payload: T, controller: PipelineController<T>) => void | Promise<void>;
129
+ /**
130
+ * Configuration options for action handlers
131
+ */
10
132
  type HandlerConfig = {
133
+ /** Priority level (higher numbers execute first). Default: 0 */
11
134
  priority?: number;
135
+ /** Unique identifier for the handler. Auto-generated if not provided */
12
136
  id?: string;
137
+ /** Whether to wait for async handlers to complete. Default: false */
13
138
  blocking?: boolean;
14
139
  };
140
+ /**
141
+ * Base interface for defining action payload mappings
142
+ * @example
143
+ * ```typescript
144
+ * interface MyActions extends ActionPayloadMap {
145
+ * increment: void;
146
+ * setCount: number;
147
+ * updateUser: { id: string; name: string };
148
+ * }
149
+ * ```
150
+ */
15
151
  interface ActionPayloadMap {}
152
+ /**
153
+ * Configuration options for ActionRegister
154
+ */
155
+ interface ActionRegisterConfig {
156
+ /** Custom logger implementation. Defaults to ConsoleLogger */
157
+ logger?: Logger;
158
+ /** Log level for the logger. Defaults to ERROR if not provided */
159
+ logLevel?: LogLevel;
160
+ /** OpenTelemetry context for tracing */
161
+ otelContext?: OtelContext;
162
+ /** Whether to use OTEL-aware logger. Defaults to false */
163
+ useOtel?: boolean;
164
+ }
165
+ /**
166
+ * Core action pipeline management system
167
+ * @template T - Action payload map defining available actions and their payload types
168
+ * @example
169
+ * ```typescript
170
+ * interface AppActions extends ActionPayloadMap {
171
+ * increment: void;
172
+ * setCount: number;
173
+ * }
174
+ *
175
+ * const actionRegister = new ActionRegister<AppActions>();
176
+ *
177
+ * // Register handlers
178
+ * actionRegister.register('increment', () => console.log('Incremented'));
179
+ * actionRegister.register('setCount', (count) => console.log(`Count: ${count}`));
180
+ *
181
+ * // Dispatch actions
182
+ * await actionRegister.dispatch('increment');
183
+ * await actionRegister.dispatch('setCount', 42);
184
+ * ```
185
+ */
16
186
  declare class ActionRegister<T extends ActionPayloadMap = ActionPayloadMap> {
17
187
  private pipelines;
18
188
  private atomSetters;
189
+ private handlerCounter;
190
+ readonly logger: Logger;
191
+ constructor(config?: ActionRegisterConfig);
192
+ /**
193
+ * Register a handler for an action in the pipeline
194
+ * @param action - The action name to handle
195
+ * @param handler - The handler function to execute
196
+ * @param config - Optional configuration for the handler
197
+ * @returns Unregister function to remove the handler
198
+ * @example
199
+ * ```typescript
200
+ * const unregister = actionRegister.register('increment', () => {
201
+ * console.log('Incremented!');
202
+ * }, { priority: 10 });
203
+ *
204
+ * // Later, remove the handler
205
+ * unregister();
206
+ * ```
207
+ */
19
208
  register<K extends keyof T>(action: K, handler: ActionHandler<T[K]>, config?: HandlerConfig): () => void;
20
209
  registerAtomSetter(name: string, setter: Function): void;
210
+ /**
211
+ * Dispatch an action through the pipeline (for actions without payload)
212
+ * @param action - The action to dispatch
213
+ * @returns Promise that resolves when all handlers complete
214
+ */
21
215
  dispatch<K extends keyof T>(action: T[K] extends void ? K : never): Promise<void>;
216
+ /**
217
+ * Dispatch an action through the pipeline (for actions with payload)
218
+ * @param action - The action to dispatch
219
+ * @param payload - The payload data to pass to handlers
220
+ * @returns Promise that resolves when all handlers complete
221
+ */
22
222
  dispatch<K extends keyof T>(action: K, payload: T[K]): Promise<void>;
23
223
  private sortPipeline;
24
224
  }
25
225
  //# sourceMappingURL=ActionRegister.d.ts.map
26
226
  //#endregion
27
- //#region src/core/types.d.ts
227
+ //#region src/types.d.ts
28
228
  interface BaseActionPayloadMap {}
29
229
  type ActionType<T extends Record<string, any>> = keyof T;
30
230
  type ActionPayload<T extends Record<string, any>, K extends keyof T> = T[K];
@@ -38,32 +238,7 @@ declare function isAction<T extends Record<string, any>, K extends keyof T>(acti
38
238
  payload: T[K];
39
239
  };
40
240
  //# sourceMappingURL=types.d.ts.map
41
- //#endregion
42
- //#region src/react/ActionContext.d.ts
43
- /**
44
- * Context type for ActionRegister
45
- */
46
- interface ActionContextType<T extends ActionPayloadMap = ActionPayloadMap> {
47
- actionRegisterRef: React.RefObject<ActionRegister<T>>;
48
- }
49
- /**
50
- * Return type for createActionContext
51
- */
52
- interface ActionContextReturn<T extends ActionPayloadMap = ActionPayloadMap> {
53
- Provider: React.FC<{
54
- children: ReactNode;
55
- }>;
56
- useActionContext: () => ActionContextType<T>;
57
- useAction: () => ActionRegister<T>;
58
- useActionHandler: <K extends keyof T>(action: K, handler: ActionHandler<T[K]>, config?: HandlerConfig) => void;
59
- }
60
- /**
61
- * ActionRegister를 Context로 공유할 수 있는 헬퍼 함수
62
- * @returns Provider, hooks를 포함한 객체
63
- */
64
- declare function createActionContext<T extends ActionPayloadMap = ActionPayloadMap>(): ActionContextReturn<T>;
65
- //# sourceMappingURL=ActionContext.d.ts.map
66
241
 
67
242
  //#endregion
68
- export { ActionHandler, ActionHandlerMap, ActionPayload, ActionPayloadMap, ActionRegister, ActionType, BaseActionPayloadMap, HandlerConfig, PipelineController, createAction, createActionContext, isAction };
243
+ export { ActionHandler, ActionHandlerMap, ActionPayload, ActionPayloadMap, ActionRegister, ActionRegisterConfig, ActionType, BaseActionPayloadMap, ConsoleLogger, HandlerConfig, LogLevel, Logger, OtelConsoleLogger, OtelContext, OtelLogger, PipelineController, createAction, createOtelContextFromPayload, extractSessionIdFromPayload, extractTraceIdFromPayload, getLogLevelFromEnv, isAction, parseLogLevel };
69
244
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/core/ActionRegister.ts","../src/core/types.ts","../src/react/ActionContext.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/logger.ts","../src/ActionRegister.ts","../src/types.ts"],"sourcesContent":[],"mappings":"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"}