@seleniumhq/side-runtime 4.0.0-alpha.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 (85) hide show
  1. package/dist/callstack.d.ts +23 -0
  2. package/dist/callstack.d.ts.map +1 -0
  3. package/dist/callstack.js +40 -0
  4. package/dist/callstack.js.map +1 -0
  5. package/dist/errors/assertion.d.ts +4 -0
  6. package/dist/errors/assertion.d.ts.map +1 -0
  7. package/dist/errors/assertion.js +28 -0
  8. package/dist/errors/assertion.js.map +1 -0
  9. package/dist/errors/index.d.ts +3 -0
  10. package/dist/errors/index.d.ts.map +1 -0
  11. package/dist/errors/index.js +27 -0
  12. package/dist/errors/index.js.map +1 -0
  13. package/dist/errors/verification.d.ts +4 -0
  14. package/dist/errors/verification.d.ts.map +1 -0
  15. package/dist/errors/verification.js +28 -0
  16. package/dist/errors/verification.js.map +1 -0
  17. package/dist/index.d.ts +17 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +54 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/playback-tree/command-leveler.d.ts +7 -0
  22. package/dist/playback-tree/command-leveler.d.ts.map +1 -0
  23. package/dist/playback-tree/command-leveler.js +73 -0
  24. package/dist/playback-tree/command-leveler.js.map +1 -0
  25. package/dist/playback-tree/command-node.d.ts +54 -0
  26. package/dist/playback-tree/command-node.d.ts.map +1 -0
  27. package/dist/playback-tree/command-node.js +185 -0
  28. package/dist/playback-tree/command-node.js.map +1 -0
  29. package/dist/playback-tree/commands.d.ts +42 -0
  30. package/dist/playback-tree/commands.d.ts.map +1 -0
  31. package/dist/playback-tree/commands.js +137 -0
  32. package/dist/playback-tree/commands.js.map +1 -0
  33. package/dist/playback-tree/control-flow-syntax-error.d.ts +5 -0
  34. package/dist/playback-tree/control-flow-syntax-error.d.ts.map +1 -0
  35. package/dist/playback-tree/control-flow-syntax-error.js +27 -0
  36. package/dist/playback-tree/control-flow-syntax-error.js.map +1 -0
  37. package/dist/playback-tree/index.d.ts +15 -0
  38. package/dist/playback-tree/index.d.ts.map +1 -0
  39. package/dist/playback-tree/index.js +161 -0
  40. package/dist/playback-tree/index.js.map +1 -0
  41. package/dist/playback-tree/state.d.ts +9 -0
  42. package/dist/playback-tree/state.d.ts.map +1 -0
  43. package/dist/playback-tree/state.js +38 -0
  44. package/dist/playback-tree/state.js.map +1 -0
  45. package/dist/playback-tree/syntax-validation.d.ts +4 -0
  46. package/dist/playback-tree/syntax-validation.d.ts.map +1 -0
  47. package/dist/playback-tree/syntax-validation.js +95 -0
  48. package/dist/playback-tree/syntax-validation.js.map +1 -0
  49. package/dist/playback.d.ts +167 -0
  50. package/dist/playback.d.ts.map +1 -0
  51. package/dist/playback.js +627 -0
  52. package/dist/playback.js.map +1 -0
  53. package/dist/plugins.d.ts +6 -0
  54. package/dist/plugins.d.ts.map +1 -0
  55. package/dist/plugins.js +24 -0
  56. package/dist/plugins.js.map +1 -0
  57. package/dist/preprocessors.d.ts +10 -0
  58. package/dist/preprocessors.d.ts.map +1 -0
  59. package/dist/preprocessors.js +179 -0
  60. package/dist/preprocessors.js.map +1 -0
  61. package/dist/recording-syncronizer-webdriver.d.ts +15 -0
  62. package/dist/recording-syncronizer-webdriver.d.ts.map +1 -0
  63. package/dist/recording-syncronizer-webdriver.js +33 -0
  64. package/dist/recording-syncronizer-webdriver.js.map +1 -0
  65. package/dist/recording-syncronizer.d.ts +22 -0
  66. package/dist/recording-syncronizer.d.ts.map +1 -0
  67. package/dist/recording-syncronizer.js +68 -0
  68. package/dist/recording-syncronizer.js.map +1 -0
  69. package/dist/types.d.ts +60 -0
  70. package/dist/types.d.ts.map +1 -0
  71. package/dist/types.js +6 -0
  72. package/dist/types.js.map +1 -0
  73. package/dist/utils.d.ts +2 -0
  74. package/dist/utils.d.ts.map +1 -0
  75. package/dist/utils.js +24 -0
  76. package/dist/utils.js.map +1 -0
  77. package/dist/variables.d.ts +10 -0
  78. package/dist/variables.d.ts.map +1 -0
  79. package/dist/variables.js +41 -0
  80. package/dist/variables.js.map +1 -0
  81. package/dist/webdriver.d.ts +173 -0
  82. package/dist/webdriver.d.ts.map +1 -0
  83. package/dist/webdriver.js +1007 -0
  84. package/dist/webdriver.js.map +1 -0
  85. package/package.json +37 -0
@@ -0,0 +1,167 @@
1
+ /// <reference types="node" />
2
+ import EventEmitter from 'events';
3
+ import { Fn } from '@seleniumhq/side-commons';
4
+ import { PlaybackTree } from './playback-tree';
5
+ import Callstack, { Caller } from './callstack';
6
+ import Variables from './variables';
7
+ import { WebDriverExecutor } from '.';
8
+ import { CommandShape, TestShape } from '@seleniumhq/side-model';
9
+ import { CommandNode, CommandType } from './playback-tree/command-node';
10
+ declare const EE = "event-emitter";
11
+ declare const state = "state";
12
+ export interface PlaybackConstructorArgs {
13
+ baseUrl: string;
14
+ executor: WebDriverExecutor;
15
+ getTestByName: (name: string) => TestShape;
16
+ logger: Console;
17
+ options?: Partial<PlaybackConstructorOptions>;
18
+ variables: Variables;
19
+ }
20
+ export interface PlaybackConstructorOptions {
21
+ pauseOnExceptions: boolean;
22
+ ignoreBreakpoints: boolean;
23
+ delay: number;
24
+ }
25
+ export interface ExtendedEventEmitter extends EventEmitter {
26
+ emitCommandStateChange: (state: PlaybackEventShapes['COMMAND_STATE_CHANGED']) => void;
27
+ emitControlFlowChange: (state: PlaybackEventShapes['CONTROL_FLOW_CHANGED']) => void;
28
+ }
29
+ export declare type RunningPromise = Promise<any>;
30
+ export declare type VaguePromise = (v?: unknown) => void;
31
+ export declare type VaguePromiseWrapper = {
32
+ res: VaguePromise;
33
+ rej: VaguePromise;
34
+ };
35
+ export interface PlayOptions {
36
+ pauseImmediately?: boolean;
37
+ startingCommandIndex?: number;
38
+ }
39
+ export declare type PlayTo = VaguePromiseWrapper & {
40
+ command: string;
41
+ };
42
+ export default class Playback {
43
+ constructor({ baseUrl, executor, getTestByName, logger, options, variables, }: PlaybackConstructorArgs);
44
+ baseUrl: string;
45
+ executor: WebDriverExecutor;
46
+ getTestByName: PlaybackConstructorArgs['getTestByName'];
47
+ logger: Console;
48
+ options: PlaybackConstructorOptions;
49
+ variables: Variables;
50
+ [state]: {
51
+ aborting: boolean;
52
+ callstack?: Callstack;
53
+ exitCondition?: keyof typeof PlaybackStatesPriorities;
54
+ initialized: boolean;
55
+ isPlaying: boolean;
56
+ lastSentCommandState?: PlaybackEventShapes['COMMAND_STATE_CHANGED'];
57
+ pausing: boolean;
58
+ pausingResolve?: (v?: unknown) => void;
59
+ playPromise?: RunningPromise;
60
+ playTo?: PlayTo;
61
+ resumeResolve?: VaguePromise;
62
+ steps?: number;
63
+ stepPromise?: VaguePromiseWrapper;
64
+ stopping: boolean;
65
+ };
66
+ [EE]: ExtendedEventEmitter;
67
+ initialized?: boolean;
68
+ commands?: CommandShape[];
69
+ playbackTree?: PlaybackTree;
70
+ currentExecutingNode?: CommandNode;
71
+ init(): Promise<void>;
72
+ play(test: TestShape, { pauseImmediately, startingCommandIndex }?: PlayOptions): Promise<() => RunningPromise | undefined>;
73
+ playTo(test: TestShape, stopIndex: number, startIndex: number): Promise<() => RunningPromise | undefined>;
74
+ playFrom(test: TestShape, commandToStart: CommandShape): Promise<() => RunningPromise | undefined>;
75
+ playSingleCommand(command: CommandShape): Promise<void>;
76
+ step(steps?: number): Promise<void>;
77
+ pause({ graceful }?: {
78
+ graceful: boolean;
79
+ }): Promise<void>;
80
+ resume(): void;
81
+ stop(): Promise<void>;
82
+ abort(): Promise<void>;
83
+ cleanup(): Promise<void>;
84
+ _prepareToPlay(): Promise<void>;
85
+ _beforePlay(): Promise<void>;
86
+ _play(): Promise<() => RunningPromise | undefined>;
87
+ _resume(): void;
88
+ _executionLoop({ ignoreBreakpoint }?: {
89
+ ignoreBreakpoint: boolean;
90
+ }): Promise<void>;
91
+ _playSingleCommand(command: CommandShape): Promise<void>;
92
+ _executeCommand(commandNode: CommandNode): Promise<{
93
+ next: Fn | CommandNode | undefined;
94
+ skipped: boolean | undefined;
95
+ }>;
96
+ _run(testName: string): Promise<void>;
97
+ _finishPlaying(): Promise<void>;
98
+ _pause(): Promise<void>;
99
+ _break(): Promise<void>;
100
+ __pause(): Promise<void>;
101
+ _handleException(unhandledBahaviorFn: Fn): Promise<any>;
102
+ _delay(): Promise<void>;
103
+ _unwind(): void;
104
+ _setExitCondition(condition: keyof typeof PlaybackStatesPriorities): void;
105
+ }
106
+ export interface PlaybackEventShapes {
107
+ COMMAND_STATE_CHANGED: {
108
+ id: string;
109
+ callstackIndex?: number;
110
+ state: typeof CommandStates[keyof typeof CommandStates];
111
+ message?: string;
112
+ };
113
+ PLAYBACK_STATE_CHANGED: {
114
+ state: typeof PlaybackStates[keyof typeof PlaybackStates];
115
+ };
116
+ CALL_STACK_CHANGED: {
117
+ change: typeof CallstackChange[keyof typeof CallstackChange];
118
+ callee: Pick<TestShape, 'commands'>;
119
+ caller: Caller;
120
+ };
121
+ CONTROL_FLOW_CHANGED: {
122
+ commandId: string;
123
+ type: typeof CommandType[];
124
+ end: boolean;
125
+ };
126
+ }
127
+ export declare const PlaybackEvents: {
128
+ readonly COMMAND_STATE_CHANGED: "command-state-changed";
129
+ readonly PLAYBACK_STATE_CHANGED: "playback-state-changed";
130
+ readonly CALL_STACK_CHANGED: "call-stack-changed";
131
+ readonly CONTROL_FLOW_CHANGED: "control-flow-changed";
132
+ };
133
+ export declare const PlaybackStates: {
134
+ readonly PREPARATION: "prep";
135
+ readonly PLAYING: "playing";
136
+ readonly FINISHED: "finished";
137
+ readonly FAILED: "failed";
138
+ readonly ERRORED: "errored";
139
+ readonly PAUSED: "paused";
140
+ readonly BREAKPOINT: "breakpoint";
141
+ readonly STOPPED: "stopped";
142
+ readonly ABORTED: "aborted";
143
+ };
144
+ export declare type PlaybackState = typeof PlaybackStates[keyof typeof PlaybackStates];
145
+ declare const PlaybackStatesPriorities: {
146
+ readonly finished: 0;
147
+ readonly failed: 1;
148
+ readonly errored: 2;
149
+ readonly stopped: 3;
150
+ readonly aborted: 4;
151
+ };
152
+ export declare const CommandStates: {
153
+ readonly EXECUTING: "executing";
154
+ readonly PENDING: "pending";
155
+ readonly SKIPPED: "skipped";
156
+ readonly PASSED: "passed";
157
+ readonly UNDETERMINED: "undetermined";
158
+ readonly FAILED: "failed";
159
+ readonly ERRORED: "errored";
160
+ };
161
+ export declare type CommandState = typeof CommandStates[keyof typeof CommandStates];
162
+ export declare const CallstackChange: {
163
+ readonly CALLED: "called";
164
+ readonly UNWINDED: "unwinded";
165
+ };
166
+ export {};
167
+ //# sourceMappingURL=playback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playback.d.ts","sourceRoot":"","sources":["../src/playback.ts"],"names":[],"mappings":"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"}