UNPKG

1.03 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.BaseScene = void 0;
4const composer_1 = require("../composer");
5const { compose } = composer_1.default;
6class BaseScene extends composer_1.default {
7 constructor(id, options) {
8 const opts = {
9 handlers: [],
10 enterHandlers: [],
11 leaveHandlers: [],
12 ...options,
13 };
14 super(...opts.handlers);
15 this.id = id;
16 this.ttl = opts.ttl;
17 this.enterHandler = compose(opts.enterHandlers);
18 this.leaveHandler = compose(opts.leaveHandlers);
19 }
20 enter(...fns) {
21 this.enterHandler = compose([this.enterHandler, ...fns]);
22 return this;
23 }
24 leave(...fns) {
25 this.leaveHandler = compose([this.leaveHandler, ...fns]);
26 return this;
27 }
28 enterMiddleware() {
29 return this.enterHandler;
30 }
31 leaveMiddleware() {
32 return this.leaveHandler;
33 }
34}
35exports.BaseScene = BaseScene;
36exports.default = BaseScene;