diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:26:46 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:43:56 -0700 |
| commit | e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch) | |
| tree | 06284a538a6008eca75051399e47db4e5d50301c /node_modules/rxjs/src/internal/scheduler/Action.ts | |
initial commit: scaffolding
Diffstat (limited to 'node_modules/rxjs/src/internal/scheduler/Action.ts')
| -rw-r--r-- | node_modules/rxjs/src/internal/scheduler/Action.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/scheduler/Action.ts b/node_modules/rxjs/src/internal/scheduler/Action.ts new file mode 100644 index 0000000..a9c543b --- /dev/null +++ b/node_modules/rxjs/src/internal/scheduler/Action.ts @@ -0,0 +1,34 @@ +import { Scheduler } from '../Scheduler'; +import { Subscription } from '../Subscription'; +import { SchedulerAction } from '../types'; + +/** + * A unit of work to be executed in a `scheduler`. An action is typically + * created from within a {@link SchedulerLike} and an RxJS user does not need to concern + * themselves about creating and manipulating an Action. + * + * ```ts + * class Action<T> extends Subscription { + * new (scheduler: Scheduler, work: (state?: T) => void); + * schedule(state?: T, delay: number = 0): Subscription; + * } + * ``` + */ +export class Action<T> extends Subscription { + constructor(scheduler: Scheduler, work: (this: SchedulerAction<T>, state?: T) => void) { + super(); + } + /** + * Schedules this action on its parent {@link SchedulerLike} for execution. May be passed + * some context object, `state`. May happen at some point in the future, + * according to the `delay` parameter, if specified. + * @param state Some contextual data that the `work` function uses when called by the + * Scheduler. + * @param delay Time to wait before executing the work, where the time unit is implicit + * and defined by the Scheduler. + * @return A subscription in order to be able to unsubscribe the scheduled work. + */ + public schedule(state?: T, delay: number = 0): Subscription { + return this; + } +} |
