@gesslar/bedoc 1.4.3 → 1.4.5

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,27 +1,55 @@
1
- import Logger from './Logger';
2
- import HookManager from './HookManager';
1
+ import Logger from './Logger'
2
+ import HookManager from './HookManager'
3
+
4
+ export type MetaActionType = "print" | "parse"
5
+
6
+ export interface MetaDefinition {
7
+ action: MetaActionType
8
+ }
9
+
10
+ export interface ParseMetaDefinition extends MetaDefinition {
11
+ action: "parse"
12
+ language: string
13
+ }
14
+
15
+ export interface PrintMetaDefinition extends MetaDefinition {
16
+ action: "print"
17
+ format: string
18
+ }
19
+
20
+ export type MetaType = ParseMetaDefinition | PrintMetaDefinition
3
21
 
4
22
  export interface ActionDefinition {
5
- action: string;
6
- contract: Record<string, unknown>;
7
- meta: Record<string, unknown>;
23
+ meta: MetaType
24
+ setup?: (params: { parent: ActionManager; log: Logger }) => void
25
+ run({ module, content }: { module: string; content: object }): Promise<string>
26
+ }
27
+
28
+ export interface PrintActionDefinition extends ActionDefinition {
29
+ meta: PrintMetaDefinition
30
+ }
31
+
32
+ export interface ParseActionDefinition extends ActionDefinition {
33
+ meta: ParseMetaDefinition
8
34
  }
9
35
 
10
36
  export default class ActionManager {
11
- constructor(actionDefinition: ActionDefinition, logger: Logger);
12
- get action(): ActionDefinition;
13
- set hookManager(hookManager: HookManager);
14
- get hookManager(): HookManager;
15
- get contract(): Record<string, unknown>;
16
- get meta(): Record<string, unknown>;
17
- get log(): Logger;
18
- setupAction(): Promise<void>;
37
+ constructor(actionDefinition: ActionDefinition, logger: Logger)
38
+ get action(): ActionDefinition
39
+ set hookManager(hookManager: HookManager)
40
+ get hookManager(): HookManager
41
+ get contract(): string
42
+ get meta(): MetaType
43
+ get log(): Logger
44
+ setupAction(): Promise<void>
19
45
  runAction({ file, content }: {
20
- file: string;
21
- content: string;
22
- }): Promise<string>;
23
- cleanupAction(): Promise<void>;
24
- toString(): string;
25
- #private;
46
+ file: string
47
+ content: string
48
+ }): Promise<string>
49
+ cleanupAction(): Promise<void>
50
+ toString(): string
51
+ #private
26
52
  }
53
+
54
+ export type ActionContract = string
27
55
  //# sourceMappingURL=ActionManager.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gesslar/bedoc",
3
- "version": "1.4.3",
3
+ "version": "1.4.5",
4
4
  "description": "Pluggable documentation engine for any language and format",
5
5
  "publisher": "gesslar",
6
6
  "main": "./src/core/Core.js",