playwright-automation-core 1.0.0

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 (115) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +225 -0
  3. package/dist/api/api.assertions.d.ts +196 -0
  4. package/dist/api/api.assertions.d.ts.map +1 -0
  5. package/dist/api/api.assertions.js +462 -0
  6. package/dist/api/api.assertions.js.map +1 -0
  7. package/dist/api/api.builder.d.ts +134 -0
  8. package/dist/api/api.builder.d.ts.map +1 -0
  9. package/dist/api/api.builder.js +273 -0
  10. package/dist/api/api.builder.js.map +1 -0
  11. package/dist/api/api.client.d.ts +157 -0
  12. package/dist/api/api.client.d.ts.map +1 -0
  13. package/dist/api/api.client.js +493 -0
  14. package/dist/api/api.client.js.map +1 -0
  15. package/dist/api/index.d.ts +8 -0
  16. package/dist/api/index.d.ts.map +1 -0
  17. package/dist/api/index.js +17 -0
  18. package/dist/api/index.js.map +1 -0
  19. package/dist/core/base.driver.d.ts +130 -0
  20. package/dist/core/base.driver.d.ts.map +1 -0
  21. package/dist/core/base.driver.js +264 -0
  22. package/dist/core/base.driver.js.map +1 -0
  23. package/dist/core/driver.factory.d.ts +120 -0
  24. package/dist/core/driver.factory.d.ts.map +1 -0
  25. package/dist/core/driver.factory.js +222 -0
  26. package/dist/core/driver.factory.js.map +1 -0
  27. package/dist/core/element.actions.d.ts +119 -0
  28. package/dist/core/element.actions.d.ts.map +1 -0
  29. package/dist/core/element.actions.js +379 -0
  30. package/dist/core/element.actions.js.map +1 -0
  31. package/dist/core/hook.manager.d.ts +186 -0
  32. package/dist/core/hook.manager.d.ts.map +1 -0
  33. package/dist/core/hook.manager.js +297 -0
  34. package/dist/core/hook.manager.js.map +1 -0
  35. package/dist/core/index.d.ts +8 -0
  36. package/dist/core/index.d.ts.map +1 -0
  37. package/dist/core/index.js +22 -0
  38. package/dist/core/index.js.map +1 -0
  39. package/dist/index.d.ts +17 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +128 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/mobile/index.d.ts +7 -0
  44. package/dist/mobile/index.d.ts.map +1 -0
  45. package/dist/mobile/index.js +14 -0
  46. package/dist/mobile/index.js.map +1 -0
  47. package/dist/mobile/mobile.assertions.d.ts +146 -0
  48. package/dist/mobile/mobile.assertions.d.ts.map +1 -0
  49. package/dist/mobile/mobile.assertions.js +333 -0
  50. package/dist/mobile/mobile.assertions.js.map +1 -0
  51. package/dist/mobile/mobile.driver.d.ts +297 -0
  52. package/dist/mobile/mobile.driver.d.ts.map +1 -0
  53. package/dist/mobile/mobile.driver.js +808 -0
  54. package/dist/mobile/mobile.driver.js.map +1 -0
  55. package/dist/types/common.types.d.ts +200 -0
  56. package/dist/types/common.types.d.ts.map +1 -0
  57. package/dist/types/common.types.js +3 -0
  58. package/dist/types/common.types.js.map +1 -0
  59. package/dist/types/config.types.d.ts +192 -0
  60. package/dist/types/config.types.d.ts.map +1 -0
  61. package/dist/types/config.types.js +3 -0
  62. package/dist/types/config.types.js.map +1 -0
  63. package/dist/types/driver.types.d.ts +500 -0
  64. package/dist/types/driver.types.d.ts.map +1 -0
  65. package/dist/types/driver.types.js +3 -0
  66. package/dist/types/driver.types.js.map +1 -0
  67. package/dist/types/enums.d.ts +53 -0
  68. package/dist/types/enums.d.ts.map +1 -0
  69. package/dist/types/enums.js +62 -0
  70. package/dist/types/enums.js.map +1 -0
  71. package/dist/types/index.d.ts +8 -0
  72. package/dist/types/index.d.ts.map +1 -0
  73. package/dist/types/index.js +15 -0
  74. package/dist/types/index.js.map +1 -0
  75. package/dist/utils/config.manager.d.ts +144 -0
  76. package/dist/utils/config.manager.d.ts.map +1 -0
  77. package/dist/utils/config.manager.js +473 -0
  78. package/dist/utils/config.manager.js.map +1 -0
  79. package/dist/utils/errors.d.ts +149 -0
  80. package/dist/utils/errors.d.ts.map +1 -0
  81. package/dist/utils/errors.js +290 -0
  82. package/dist/utils/errors.js.map +1 -0
  83. package/dist/utils/helpers.d.ts +124 -0
  84. package/dist/utils/helpers.d.ts.map +1 -0
  85. package/dist/utils/helpers.js +421 -0
  86. package/dist/utils/helpers.js.map +1 -0
  87. package/dist/utils/index.d.ts +9 -0
  88. package/dist/utils/index.d.ts.map +1 -0
  89. package/dist/utils/index.js +78 -0
  90. package/dist/utils/index.js.map +1 -0
  91. package/dist/utils/logger.d.ts +145 -0
  92. package/dist/utils/logger.d.ts.map +1 -0
  93. package/dist/utils/logger.js +235 -0
  94. package/dist/utils/logger.js.map +1 -0
  95. package/dist/utils/wait.utils.d.ts +95 -0
  96. package/dist/utils/wait.utils.d.ts.map +1 -0
  97. package/dist/utils/wait.utils.js +306 -0
  98. package/dist/utils/wait.utils.js.map +1 -0
  99. package/dist/web/index.d.ts +8 -0
  100. package/dist/web/index.d.ts.map +1 -0
  101. package/dist/web/index.js +16 -0
  102. package/dist/web/index.js.map +1 -0
  103. package/dist/web/web.assertions.d.ts +164 -0
  104. package/dist/web/web.assertions.d.ts.map +1 -0
  105. package/dist/web/web.assertions.js +427 -0
  106. package/dist/web/web.assertions.js.map +1 -0
  107. package/dist/web/web.driver.d.ts +174 -0
  108. package/dist/web/web.driver.d.ts.map +1 -0
  109. package/dist/web/web.driver.js +571 -0
  110. package/dist/web/web.driver.js.map +1 -0
  111. package/dist/web/web.page.d.ts +286 -0
  112. package/dist/web/web.page.d.ts.map +1 -0
  113. package/dist/web/web.page.js +570 -0
  114. package/dist/web/web.page.js.map +1 -0
  115. package/package.json +115 -0
@@ -0,0 +1,186 @@
1
+ import { Platform, DriverStatus } from "../types";
2
+ /**
3
+ * Hook event types
4
+ */
5
+ export declare enum HookEvent {
6
+ BEFORE_DRIVER_INIT = "beforeDriverInit",
7
+ AFTER_DRIVER_INIT = "afterDriverInit",
8
+ BEFORE_DRIVER_QUIT = "beforeDriverQuit",
9
+ AFTER_DRIVER_QUIT = "afterDriverQuit",
10
+ BEFORE_NAVIGATE = "beforeNavigate",
11
+ AFTER_NAVIGATE = "afterNavigate",
12
+ BEFORE_CLICK = "beforeClick",
13
+ AFTER_CLICK = "afterClick",
14
+ BEFORE_TYPE = "beforeType",
15
+ AFTER_TYPE = "afterType",
16
+ BEFORE_REQUEST = "beforeRequest",
17
+ AFTER_REQUEST = "afterRequest",
18
+ BEFORE_SCREENSHOT = "beforeScreenshot",
19
+ AFTER_SCREENSHOT = "afterScreenshot",
20
+ ON_ERROR = "onError",
21
+ CUSTOM = "custom"
22
+ }
23
+ /**
24
+ * Hook context containing event data
25
+ */
26
+ export interface HookContext {
27
+ /** Event type */
28
+ event: HookEvent;
29
+ /** Platform */
30
+ platform: Platform;
31
+ /** Timestamp */
32
+ timestamp: Date;
33
+ /** Driver status */
34
+ driverStatus?: DriverStatus;
35
+ /** Additional data */
36
+ data?: Record<string, unknown>;
37
+ }
38
+ /**
39
+ * Hook function type
40
+ */
41
+ export type HookFunction = (context: HookContext) => Promise<void> | void;
42
+ /**
43
+ * Hook registration options
44
+ */
45
+ export interface HookOptions {
46
+ /** Hook name for identification */
47
+ name?: string;
48
+ /** Priority (lower runs first) */
49
+ priority?: number;
50
+ /** Run only once */
51
+ once?: boolean;
52
+ /** Platform filter */
53
+ platforms?: Platform[];
54
+ /** Continue on error */
55
+ continueOnError?: boolean;
56
+ }
57
+ /**
58
+ * Registered hook entry
59
+ */
60
+ interface HookEntry {
61
+ id: string;
62
+ name: string;
63
+ fn: HookFunction;
64
+ options: Required<HookOptions>;
65
+ executed: boolean;
66
+ }
67
+ /**
68
+ * Hook system for extensibility.
69
+ * Allows registering callbacks for various framework events.
70
+ */
71
+ export declare class HookManager {
72
+ /** Singleton instance */
73
+ private static instance;
74
+ /** Registered hooks by event */
75
+ private hooks;
76
+ /** Hook ID counter */
77
+ private idCounter;
78
+ /** Logger */
79
+ private logger;
80
+ /** Whether hooks are enabled */
81
+ private enabled;
82
+ constructor();
83
+ /**
84
+ * Get singleton instance
85
+ */
86
+ static getInstance(): HookManager;
87
+ /**
88
+ * Reset singleton instance
89
+ */
90
+ static resetInstance(): void;
91
+ /**
92
+ * Register a hook
93
+ */
94
+ register(event: HookEvent, fn: HookFunction, options?: HookOptions): string;
95
+ /**
96
+ * Register multiple hooks at once
97
+ */
98
+ registerAll(registrations: Array<{
99
+ event: HookEvent;
100
+ fn: HookFunction;
101
+ options?: HookOptions;
102
+ }>): string[];
103
+ /**
104
+ * Unregister a hook by ID
105
+ */
106
+ unregister(hookId: string): boolean;
107
+ /**
108
+ * Unregister all hooks for an event
109
+ */
110
+ unregisterEvent(event: HookEvent): void;
111
+ /**
112
+ * Clear all hooks
113
+ */
114
+ clearAll(): void;
115
+ /**
116
+ * Execute hooks for an event
117
+ */
118
+ execute(event: HookEvent, context: Omit<HookContext, "event" | "timestamp">): Promise<void>;
119
+ /**
120
+ * Create a hook context
121
+ */
122
+ createContext(platform: Platform, data?: Record<string, unknown>, driverStatus?: DriverStatus): Omit<HookContext, "event" | "timestamp">;
123
+ /**
124
+ * Enable hooks
125
+ */
126
+ enable(): void;
127
+ /**
128
+ * Disable hooks
129
+ */
130
+ disable(): void;
131
+ /**
132
+ * Check if hooks are enabled
133
+ */
134
+ isEnabled(): boolean;
135
+ /**
136
+ * Get registered hooks for an event
137
+ */
138
+ getHooks(event: HookEvent): HookEntry[];
139
+ /**
140
+ * Get all registered hooks
141
+ */
142
+ getAllHooks(): Map<HookEvent, HookEntry[]>;
143
+ /**
144
+ * Get hook count
145
+ */
146
+ getHookCount(event?: HookEvent): number;
147
+ /**
148
+ * Register before driver init hook
149
+ */
150
+ beforeDriverInit(fn: HookFunction, options?: HookOptions): string;
151
+ /**
152
+ * Register after driver init hook
153
+ */
154
+ afterDriverInit(fn: HookFunction, options?: HookOptions): string;
155
+ /**
156
+ * Register before driver quit hook
157
+ */
158
+ beforeDriverQuit(fn: HookFunction, options?: HookOptions): string;
159
+ /**
160
+ * Register after driver quit hook
161
+ */
162
+ afterDriverQuit(fn: HookFunction, options?: HookOptions): string;
163
+ /**
164
+ * Register error hook
165
+ */
166
+ onError(fn: HookFunction, options?: HookOptions): string;
167
+ /**
168
+ * Register before navigate hook (web)
169
+ */
170
+ beforeNavigate(fn: HookFunction, options?: HookOptions): string;
171
+ /**
172
+ * Register after navigate hook (web)
173
+ */
174
+ afterNavigate(fn: HookFunction, options?: HookOptions): string;
175
+ /**
176
+ * Register before API request hook
177
+ */
178
+ beforeRequest(fn: HookFunction, options?: HookOptions): string;
179
+ /**
180
+ * Register after API request hook
181
+ */
182
+ afterRequest(fn: HookFunction, options?: HookOptions): string;
183
+ }
184
+ export declare const getHookManager: () => HookManager;
185
+ export {};
186
+ //# sourceMappingURL=hook.manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.manager.d.ts","sourceRoot":"","sources":["../../src/core/hook.manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGlD;;GAEG;AACH,oBAAY,SAAS;IAEnB,kBAAkB,qBAAqB;IACvC,iBAAiB,oBAAoB;IACrC,kBAAkB,qBAAqB;IACvC,iBAAiB,oBAAoB;IAGrC,eAAe,mBAAmB;IAClC,cAAc,kBAAkB;IAGhC,YAAY,gBAAgB;IAC5B,WAAW,eAAe;IAC1B,WAAW,eAAe;IAC1B,UAAU,cAAc;IAGxB,cAAc,kBAAkB;IAChC,aAAa,iBAAiB;IAG9B,iBAAiB,qBAAqB;IACtC,gBAAgB,oBAAoB;IAGpC,QAAQ,YAAY;IAGpB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,oBAAoB;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sBAAsB;IACtB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,YAAY,CAAC;IACjB,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,yBAAyB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA4B;IAEnD,gCAAgC;IAChC,OAAO,CAAC,KAAK,CAA0C;IAEvD,sBAAsB;IACtB,OAAO,CAAC,SAAS,CAAa;IAE9B,aAAa;IACb,OAAO,CAAC,MAAM,CAAS;IAEvB,gCAAgC;IAChC,OAAO,CAAC,OAAO,CAAiB;;IAMhC;;OAEG;WACW,WAAW,IAAI,WAAW;IAOxC;;OAEG;WACW,aAAa,IAAI,IAAI;IAInC;;OAEG;IACI,QAAQ,CACb,KAAK,EAAE,SAAS,EAChB,EAAE,EAAE,YAAY,EAChB,OAAO,GAAE,WAAgB,GACxB,MAAM;IA6BT;;OAEG;IACI,WAAW,CAChB,aAAa,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,SAAS,CAAC;QACjB,EAAE,EAAE,YAAY,CAAC;QACjB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB,CAAC,GACD,MAAM,EAAE;IAMX;;OAEG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAY1C;;OAEG;IACI,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAK9C;;OAEG;IACI,QAAQ,IAAI,IAAI;IAKvB;;OAEG;IACU,OAAO,CAClB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC,GAChD,OAAO,CAAC,IAAI,CAAC;IAwDhB;;OAEG;IACI,aAAa,CAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,YAAY,CAAC,EAAE,YAAY,GAC1B,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC;IAQ3C;;OAEG;IACI,MAAM,IAAI,IAAI;IAKrB;;OAEG;IACI,OAAO,IAAI,IAAI;IAKtB;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACI,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE;IAI9C;;OAEG;IACI,WAAW,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;IAIjD;;OAEG;IACI,YAAY,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM;IAY9C;;OAEG;IACI,gBAAgB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;IAIxE;;OAEG;IACI,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;IAIvE;;OAEG;IACI,gBAAgB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;IAIxE;;OAEG;IACI,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;IAIvE;;OAEG;IACI,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;IAI/D;;OAEG;IACI,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;IAOtE;;OAEG;IACI,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;IAOrE;;OAEG;IACI,aAAa,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;IAOrE;;OAEG;IACI,YAAY,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM;CAMrE;AAGD,eAAO,MAAM,cAAc,QAAO,WAAwC,CAAC"}
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getHookManager = exports.HookManager = exports.HookEvent = void 0;
4
+ const types_1 = require("../types");
5
+ const utils_1 = require("../utils");
6
+ /**
7
+ * Hook event types
8
+ */
9
+ var HookEvent;
10
+ (function (HookEvent) {
11
+ // Driver lifecycle
12
+ HookEvent["BEFORE_DRIVER_INIT"] = "beforeDriverInit";
13
+ HookEvent["AFTER_DRIVER_INIT"] = "afterDriverInit";
14
+ HookEvent["BEFORE_DRIVER_QUIT"] = "beforeDriverQuit";
15
+ HookEvent["AFTER_DRIVER_QUIT"] = "afterDriverQuit";
16
+ // Navigation (Web)
17
+ HookEvent["BEFORE_NAVIGATE"] = "beforeNavigate";
18
+ HookEvent["AFTER_NAVIGATE"] = "afterNavigate";
19
+ // Element actions
20
+ HookEvent["BEFORE_CLICK"] = "beforeClick";
21
+ HookEvent["AFTER_CLICK"] = "afterClick";
22
+ HookEvent["BEFORE_TYPE"] = "beforeType";
23
+ HookEvent["AFTER_TYPE"] = "afterType";
24
+ // API requests
25
+ HookEvent["BEFORE_REQUEST"] = "beforeRequest";
26
+ HookEvent["AFTER_REQUEST"] = "afterRequest";
27
+ // Screenshots
28
+ HookEvent["BEFORE_SCREENSHOT"] = "beforeScreenshot";
29
+ HookEvent["AFTER_SCREENSHOT"] = "afterScreenshot";
30
+ // Errors
31
+ HookEvent["ON_ERROR"] = "onError";
32
+ // Custom events
33
+ HookEvent["CUSTOM"] = "custom";
34
+ })(HookEvent || (exports.HookEvent = HookEvent = {}));
35
+ /**
36
+ * Hook system for extensibility.
37
+ * Allows registering callbacks for various framework events.
38
+ */
39
+ class HookManager {
40
+ /** Singleton instance */
41
+ static instance = null;
42
+ /** Registered hooks by event */
43
+ hooks = new Map();
44
+ /** Hook ID counter */
45
+ idCounter = 0;
46
+ /** Logger */
47
+ logger;
48
+ /** Whether hooks are enabled */
49
+ enabled = true;
50
+ constructor() {
51
+ this.logger = utils_1.Logger.createLogger("HookManager");
52
+ }
53
+ /**
54
+ * Get singleton instance
55
+ */
56
+ static getInstance() {
57
+ if (!HookManager.instance) {
58
+ HookManager.instance = new HookManager();
59
+ }
60
+ return HookManager.instance;
61
+ }
62
+ /**
63
+ * Reset singleton instance
64
+ */
65
+ static resetInstance() {
66
+ HookManager.instance = null;
67
+ }
68
+ /**
69
+ * Register a hook
70
+ */
71
+ register(event, fn, options = {}) {
72
+ const id = `hook-${++this.idCounter}`;
73
+ const entry = {
74
+ id,
75
+ name: options.name || id,
76
+ fn,
77
+ options: {
78
+ name: options.name || id,
79
+ priority: options.priority ?? 100,
80
+ once: options.once ?? false,
81
+ platforms: options.platforms || [],
82
+ continueOnError: options.continueOnError ?? true,
83
+ },
84
+ executed: false,
85
+ };
86
+ const hooks = this.hooks.get(event) || [];
87
+ hooks.push(entry);
88
+ // Sort by priority
89
+ hooks.sort((a, b) => a.options.priority - b.options.priority);
90
+ this.hooks.set(event, hooks);
91
+ this.logger.debug(`Registered hook: ${entry.name} for event: ${event}`);
92
+ return id;
93
+ }
94
+ /**
95
+ * Register multiple hooks at once
96
+ */
97
+ registerAll(registrations) {
98
+ return registrations.map(({ event, fn, options }) => this.register(event, fn, options));
99
+ }
100
+ /**
101
+ * Unregister a hook by ID
102
+ */
103
+ unregister(hookId) {
104
+ for (const [_event, hooks] of this.hooks.entries()) {
105
+ const index = hooks.findIndex((h) => h.id === hookId);
106
+ if (index !== -1) {
107
+ hooks.splice(index, 1);
108
+ this.logger.debug(`Unregistered hook: ${hookId}`);
109
+ return true;
110
+ }
111
+ }
112
+ return false;
113
+ }
114
+ /**
115
+ * Unregister all hooks for an event
116
+ */
117
+ unregisterEvent(event) {
118
+ this.hooks.delete(event);
119
+ this.logger.debug(`Unregistered all hooks for event: ${event}`);
120
+ }
121
+ /**
122
+ * Clear all hooks
123
+ */
124
+ clearAll() {
125
+ this.hooks.clear();
126
+ this.logger.debug("Cleared all hooks");
127
+ }
128
+ /**
129
+ * Execute hooks for an event
130
+ */
131
+ async execute(event, context) {
132
+ if (!this.enabled) {
133
+ return;
134
+ }
135
+ const hooks = this.hooks.get(event) || [];
136
+ if (hooks.length === 0) {
137
+ return;
138
+ }
139
+ const fullContext = {
140
+ ...context,
141
+ event,
142
+ timestamp: new Date(),
143
+ };
144
+ this.logger.debug(`Executing ${hooks.length} hooks for event: ${event}`);
145
+ const toRemove = [];
146
+ for (const hook of hooks) {
147
+ // Check platform filter
148
+ if (hook.options.platforms.length > 0 &&
149
+ !hook.options.platforms.includes(context.platform)) {
150
+ continue;
151
+ }
152
+ // Check if already executed (for once-only hooks)
153
+ if (hook.options.once && hook.executed) {
154
+ toRemove.push(hook.id);
155
+ continue;
156
+ }
157
+ try {
158
+ this.logger.trace(`Executing hook: ${hook.name}`);
159
+ await hook.fn(fullContext);
160
+ hook.executed = true;
161
+ }
162
+ catch (error) {
163
+ this.logger.error(`Hook error in ${hook.name}: ${error.message}`);
164
+ if (!hook.options.continueOnError) {
165
+ throw error;
166
+ }
167
+ }
168
+ }
169
+ // Remove once-only hooks that have executed
170
+ for (const id of toRemove) {
171
+ this.unregister(id);
172
+ }
173
+ }
174
+ /**
175
+ * Create a hook context
176
+ */
177
+ createContext(platform, data, driverStatus) {
178
+ return {
179
+ platform,
180
+ data,
181
+ driverStatus,
182
+ };
183
+ }
184
+ /**
185
+ * Enable hooks
186
+ */
187
+ enable() {
188
+ this.enabled = true;
189
+ this.logger.debug("Hooks enabled");
190
+ }
191
+ /**
192
+ * Disable hooks
193
+ */
194
+ disable() {
195
+ this.enabled = false;
196
+ this.logger.debug("Hooks disabled");
197
+ }
198
+ /**
199
+ * Check if hooks are enabled
200
+ */
201
+ isEnabled() {
202
+ return this.enabled;
203
+ }
204
+ /**
205
+ * Get registered hooks for an event
206
+ */
207
+ getHooks(event) {
208
+ return this.hooks.get(event) || [];
209
+ }
210
+ /**
211
+ * Get all registered hooks
212
+ */
213
+ getAllHooks() {
214
+ return new Map(this.hooks);
215
+ }
216
+ /**
217
+ * Get hook count
218
+ */
219
+ getHookCount(event) {
220
+ if (event) {
221
+ return this.hooks.get(event)?.length || 0;
222
+ }
223
+ return Array.from(this.hooks.values()).reduce((sum, hookList) => sum + hookList.length, 0);
224
+ }
225
+ // Convenience methods for common hooks
226
+ /**
227
+ * Register before driver init hook
228
+ */
229
+ beforeDriverInit(fn, options) {
230
+ return this.register(HookEvent.BEFORE_DRIVER_INIT, fn, options);
231
+ }
232
+ /**
233
+ * Register after driver init hook
234
+ */
235
+ afterDriverInit(fn, options) {
236
+ return this.register(HookEvent.AFTER_DRIVER_INIT, fn, options);
237
+ }
238
+ /**
239
+ * Register before driver quit hook
240
+ */
241
+ beforeDriverQuit(fn, options) {
242
+ return this.register(HookEvent.BEFORE_DRIVER_QUIT, fn, options);
243
+ }
244
+ /**
245
+ * Register after driver quit hook
246
+ */
247
+ afterDriverQuit(fn, options) {
248
+ return this.register(HookEvent.AFTER_DRIVER_QUIT, fn, options);
249
+ }
250
+ /**
251
+ * Register error hook
252
+ */
253
+ onError(fn, options) {
254
+ return this.register(HookEvent.ON_ERROR, fn, options);
255
+ }
256
+ /**
257
+ * Register before navigate hook (web)
258
+ */
259
+ beforeNavigate(fn, options) {
260
+ return this.register(HookEvent.BEFORE_NAVIGATE, fn, {
261
+ ...options,
262
+ platforms: [types_1.Platform.WEB],
263
+ });
264
+ }
265
+ /**
266
+ * Register after navigate hook (web)
267
+ */
268
+ afterNavigate(fn, options) {
269
+ return this.register(HookEvent.AFTER_NAVIGATE, fn, {
270
+ ...options,
271
+ platforms: [types_1.Platform.WEB],
272
+ });
273
+ }
274
+ /**
275
+ * Register before API request hook
276
+ */
277
+ beforeRequest(fn, options) {
278
+ return this.register(HookEvent.BEFORE_REQUEST, fn, {
279
+ ...options,
280
+ platforms: [types_1.Platform.API],
281
+ });
282
+ }
283
+ /**
284
+ * Register after API request hook
285
+ */
286
+ afterRequest(fn, options) {
287
+ return this.register(HookEvent.AFTER_REQUEST, fn, {
288
+ ...options,
289
+ platforms: [types_1.Platform.API],
290
+ });
291
+ }
292
+ }
293
+ exports.HookManager = HookManager;
294
+ // Export convenience function
295
+ const getHookManager = () => HookManager.getInstance();
296
+ exports.getHookManager = getHookManager;
297
+ //# sourceMappingURL=hook.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.manager.js","sourceRoot":"","sources":["../../src/core/hook.manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Core Module - Base classes and factories for all platform drivers
3
+ */
4
+ export { BaseDriver } from "./base.driver";
5
+ export { DriverFactory, DriverOptions, DriverClass, getDriverFactory, } from "./driver.factory";
6
+ export { ElementActions, LocatorResolver, ElementChecker, } from "./element.actions";
7
+ export { HookManager, HookEvent, HookContext, HookFunction, HookOptions, getHookManager, } from "./hook.manager";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EACL,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,cAAc,EACd,eAAe,EACf,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Core Module - Base classes and factories for all platform drivers
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getHookManager = exports.HookEvent = exports.HookManager = exports.ElementActions = exports.getDriverFactory = exports.DriverFactory = exports.BaseDriver = void 0;
7
+ // Base Driver
8
+ var base_driver_1 = require("./base.driver");
9
+ Object.defineProperty(exports, "BaseDriver", { enumerable: true, get: function () { return base_driver_1.BaseDriver; } });
10
+ // Driver Factory
11
+ var driver_factory_1 = require("./driver.factory");
12
+ Object.defineProperty(exports, "DriverFactory", { enumerable: true, get: function () { return driver_factory_1.DriverFactory; } });
13
+ Object.defineProperty(exports, "getDriverFactory", { enumerable: true, get: function () { return driver_factory_1.getDriverFactory; } });
14
+ // Element Actions
15
+ var element_actions_1 = require("./element.actions");
16
+ Object.defineProperty(exports, "ElementActions", { enumerable: true, get: function () { return element_actions_1.ElementActions; } });
17
+ // Hook Manager
18
+ var hook_manager_1 = require("./hook.manager");
19
+ Object.defineProperty(exports, "HookManager", { enumerable: true, get: function () { return hook_manager_1.HookManager; } });
20
+ Object.defineProperty(exports, "HookEvent", { enumerable: true, get: function () { return hook_manager_1.HookEvent; } });
21
+ Object.defineProperty(exports, "getHookManager", { enumerable: true, get: function () { return hook_manager_1.getHookManager; } });
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,cAAc;AACd,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAEnB,iBAAiB;AACjB,mDAK0B;AAJxB,+GAAA,aAAa,OAAA;AAGb,kHAAA,gBAAgB,OAAA;AAGlB,kBAAkB;AAClB,qDAI2B;AAHzB,iHAAA,cAAc,OAAA;AAKhB,eAAe;AACf,+CAOwB;AANtB,2GAAA,WAAW,OAAA;AACX,yGAAA,SAAS,OAAA;AAIT,8GAAA,cAAc,OAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Playwright-Core Framework
3
+ *
4
+ * A unified automation framework supporting:
5
+ * - Web automation (Playwright)
6
+ * - API testing (Playwright Request)
7
+ * - Mobile automation (WebdriverIO + Appium)
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ export { Platform, BrowserType, MobilePlatform, AutomationEngine, LogLevel, HttpMethod, BaseConfig, ViewportConfig, WebConfig, ApiConfig, MobileConfig, FrameworkConfig, Locator, ActionOptions, ScreenshotOptions, WaitOptions, DriverStatus, IDriver, IWebDriver, IApiDriver, IMobileDriver, ApiRequestOptions, ApiResponse, SwipeOptions, ElementState, BoundingBox, ElementInfo, Cookie, NetworkRequest, NetworkResponse, ConsoleMessage, DialogInfo, FrameInfo, WindowInfo, DownloadInfo, FileChooserOptions, RetryOptions, OperationResult, AssertionOptions, PerformanceMetrics, } from "./types";
12
+ export { Logger, LoggerOptions, LogMetadata, getLogger, WaitUtils, WaitTimeoutError, RetryExhaustedError, ConditionFn, PredicateFn, waitUtils, sleep, waitFor, retry, ConfigManager, ConfigSource, ConfigLoadResult, getConfig, FrameworkError, DriverInitializationError, DriverNotInitializedError, ElementNotFoundError, ElementNotInteractableError, NavigationError, ApiRequestError, ApiValidationError, MobileOperationError, ConfigurationError, ScreenshotError, SessionError, ContextError, AssertionError, NetworkError, FileOperationError, wrapError, isFrameworkError, isErrorOfType, deepMerge, deepClone, isObject, generateId, generateUUID, formatTimestamp, ensureDir, saveJson, loadJson, formatBytes, formatDuration, truncate, escapeRegex, camelToKebab, kebabToCamel, toTitleCase, isCI, getOSPlatform, safeJsonParse, debounce, throttle, measureTime, mapToObject, objectToMap, pick, omit, deepEqual, flattenObject, getNestedValue, setNestedValue, } from "./utils";
13
+ export { BaseDriver, DriverFactory, DriverOptions, DriverClass, getDriverFactory, ElementActions, LocatorResolver, ElementChecker, HookManager, HookEvent, HookContext, HookFunction, HookOptions, getHookManager, } from "./core";
14
+ export { WebDriver, WebPage, TypeOptions, ClickOptions, SelectOption, DragDropOptions, WebAssertions, SoftAssertionResult, Page, Browser, BrowserContext, PlaywrightLocator, FrameLocator, ElementHandle, Response, Request, Route, Dialog, Download, FileChooser, PlaywrightConsoleMessage, } from "./web";
15
+ export { ApiClient, ApiAssertions, ApiSoftAssertionResult, JsonSchema, ApiRequestBuilder, createRequest, APIRequestContext, APIResponse, } from "./api";
16
+ export { MobileDriver, TouchPoint, GestureOptions, AppState, MobileAssertions, MobileSoftAssertionResult, WebdriverBrowser, WebdriverElement, } from "./mobile";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAEL,QAAQ,EACR,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,UAAU,EAGV,UAAU,EACV,cAAc,EACd,SAAS,EACT,SAAS,EACT,YAAY,EACZ,eAAe,EAGf,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,OAAO,EACP,UAAU,EACV,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,YAAY,EAGZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,MAAM,EACN,cAAc,EACd,eAAe,EACf,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAEL,MAAM,EACN,aAAa,EACb,WAAW,EACX,SAAS,EAGT,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,SAAS,EACT,KAAK,EACL,OAAO,EACP,KAAK,EAGL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,SAAS,EAGT,cAAc,EACd,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,gBAAgB,EAChB,aAAa,EAGb,SAAS,EACT,SAAS,EACT,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,eAAe,EACf,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EAEL,UAAU,EAGV,aAAa,EACb,aAAa,EACb,WAAW,EACX,gBAAgB,EAGhB,cAAc,EACd,eAAe,EACf,cAAc,EAGd,WAAW,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAEL,SAAS,EAGT,OAAO,EACP,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,eAAe,EAGf,aAAa,EACb,mBAAmB,EAGnB,IAAI,EACJ,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,WAAW,EACX,wBAAwB,GACzB,MAAM,OAAO,CAAC;AAGf,OAAO,EAEL,SAAS,EAGT,aAAa,EACb,sBAAsB,EACtB,UAAU,EAGV,iBAAiB,EACjB,aAAa,EAGb,iBAAiB,EACjB,WAAW,GACZ,MAAM,OAAO,CAAC;AAGf,OAAO,EAEL,YAAY,EACZ,UAAU,EACV,cAAc,EACd,QAAQ,EAGR,gBAAgB,EAChB,yBAAyB,EAGzB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,UAAU,CAAC"}