{"remainingRequest":"/home/camus/work/lotus/node_modules/thread-loader/dist/cjs.js!/home/camus/work/lotus/node_modules/babel-loader/lib/index.js!/home/camus/work/lotus/node_modules/ts-loader/index.js??ref--15-3!/home/camus/work/lotus/node_modules/eslint-loader/index.js??ref--14-0!/home/camus/work/lotus/inc/schedulePool.ts","dependencies":[{"path":"/home/camus/work/lotus/inc/schedulePool.ts","mtime":1732184473663},{"path":"/home/camus/work/lotus/node_modules/cache-loader/dist/cjs.js","mtime":1719800821084},{"path":"/home/camus/work/lotus/node_modules/thread-loader/dist/cjs.js","mtime":1719800821095},{"path":"/home/camus/work/lotus/node_modules/babel-loader/lib/index.js","mtime":1727163989637},{"path":"/home/camus/work/lotus/node_modules/ts-loader/index.js","mtime":1726221607070},{"path":"/home/camus/work/lotus/node_modules/eslint-loader/index.js","mtime":1719800837044}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:OwpleHBvcnQgZGVmYXVsdCBjbGFzcyBTY2hlZHVsZVBvb2wgewogIGNvbnN0cnVjdG9yKHRpbWVyID0gRGF0ZSkgewogICAgdGhpcy50YXNrcyA9IHt9OwogICAgdGhpcy5oYW5kbGVycyA9IHt9OwogICAgdGhpcy50aW1lciA9IHRpbWVyOwogIH0KICBjbGVhcigpIHsKICAgIE9iamVjdC52YWx1ZXModGhpcy5oYW5kbGVycykuZm9yRWFjaChoYW5kbGUgPT4gY2xlYXJUaW1lb3V0KGhhbmRsZSkpOwogICAgdGhpcy50YXNrcyA9IHt9OwogICAgdGhpcy5oYW5kbGVycyA9IHt9OwogIH0KICBnZXRUYXNrKHRpbWVzdGFtcCkgewogICAgY29uc3QgZGVsYXkgPSBNYXRoLm1heCh0aW1lc3RhbXAgLSB0aGlzLnRpbWVyLm5vdygpLCAwKTsKICAgIGlmICghdGhpcy50YXNrc1t0aW1lc3RhbXBdKSB7CiAgICAgIHRoaXMudGFza3NbdGltZXN0YW1wXSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewogICAgICAgIHRoaXMuaGFuZGxlcnNbdGltZXN0YW1wXSA9IHNldFRpbWVvdXQocmVzb2x2ZSwgZGVsYXkpOwogICAgICB9KS50aGVuKCgpID0+IHsKICAgICAgICBkZWxldGUgdGhpcy50YXNrc1t0aW1lc3RhbXBdOwogICAgICAgIGRlbGV0ZSB0aGlzLmhhbmRsZXJzW3RpbWVzdGFtcF07CiAgICAgIH0pOwogICAgfQogICAgcmV0dXJuIHRoaXMudGFza3NbdGltZXN0YW1wXTsKICB9CiAgYXBwZW5kVGFzayh0aW1lc3RhbXAsIHRhc2spIHsKICAgIHRoaXMudGFza3NbdGltZXN0YW1wXSA9IHRoaXMuZ2V0VGFzayh0aW1lc3RhbXApLnRoZW4odGFzayk7CiAgfQp9Cjs="},{"version":3,"names":["SchedulePool","constructor","timer","Date","tasks","handlers","clear","Object","values","forEach","handle","clearTimeout","getTask","timestamp","delay","Math","max","now","Promise","resolve","setTimeout","then","appendTask","task"],"sources":["/home/camus/work/lotus/node_modules/eslint-loader/index.js??ref--14-0!/home/camus/work/lotus/inc/schedulePool.ts"],"sourcesContent":["\ninterface Timer {\n\tnow (): number;\n};\n\n\ntype TaskFunctor = () => void;\n\n\nexport default class SchedulePool {\n\ttimer: Timer;\n\n\ttasks: {[key: number]: Promise} = {};\n\thandlers: {[key: number]: number | NodeJS.Timeout} = {};\n\n\n\tconstructor (timer = Date) {\n\t\tthis.timer = timer;\n\t}\n\n\n\tclear () {\n\t\tObject.values(this.handlers).forEach(handle => clearTimeout(handle as NodeJS.Timeout));\n\n\t\tthis.tasks = {};\n\t\tthis.handlers = {};\n\t}\n\n\n\tgetTask (timestamp: number): Promise {\n\t\tconst delay = Math.max(timestamp - this.timer.now(), 0);\n\n\t\tif (!this.tasks[timestamp]) {\n\t\t\tthis.tasks[timestamp] = new Promise(resolve => {\n\t\t\t\tthis.handlers[timestamp] = setTimeout(resolve, delay);\n\t\t\t}).then(() => {\n\t\t\t\tdelete this.tasks[timestamp];\n\t\t\t\tdelete this.handlers[timestamp];\n\t\t\t});\n\t\t}\n\n\t\treturn this.tasks[timestamp];\n\t}\n\n\n\tappendTask (timestamp: number, task: TaskFunctor) {\n\t\tthis.tasks[timestamp] = this.getTask(timestamp).then(task);\n\t}\n};\n"],"mappings":"AAGC;AAMD,eAAc,MAAOA,YAAY;EAOhCC,YAAaC,KAAK,GAAGC,IAAI;IAJzB,KAAAC,KAAK,GAAmC,EAAE;IAC1C,KAAAC,QAAQ,GAA6C,EAAE;IAItD,IAAI,CAACH,KAAK,GAAGA,KAAK;EACnB;EAGAI,KAAKA,CAAA;IACJC,MAAM,CAACC,MAAM,CAAC,IAAI,CAACH,QAAQ,CAAC,CAACI,OAAO,CAACC,MAAM,IAAIC,YAAY,CAACD,MAAwB,CAAC,CAAC;IAEtF,IAAI,CAACN,KAAK,GAAG,EAAE;IACf,IAAI,CAACC,QAAQ,GAAG,EAAE;EACnB;EAGAO,OAAOA,CAAEC,SAAiB;IACzB,MAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACH,SAAS,GAAG,IAAI,CAACX,KAAK,CAACe,GAAG,EAAE,EAAE,CAAC,CAAC;IAEvD,IAAI,CAAC,IAAI,CAACb,KAAK,CAACS,SAAS,CAAC,EAAE;MAC3B,IAAI,CAACT,KAAK,CAACS,SAAS,CAAC,GAAG,IAAIK,OAAO,CAACC,OAAO,IAAG;QAC7C,IAAI,CAACd,QAAQ,CAACQ,SAAS,CAAC,GAAGO,UAAU,CAACD,OAAO,EAAEL,KAAK,CAAC;MACtD,CAAC,CAAC,CAACO,IAAI,CAAC,MAAK;QACZ,OAAO,IAAI,CAACjB,KAAK,CAACS,SAAS,CAAC;QAC5B,OAAO,IAAI,CAACR,QAAQ,CAACQ,SAAS,CAAC;MAChC,CAAC,CAAC;;IAGH,OAAO,IAAI,CAACT,KAAK,CAACS,SAAS,CAAC;EAC7B;EAGAS,UAAUA,CAAET,SAAiB,EAAEU,IAAiB;IAC/C,IAAI,CAACnB,KAAK,CAACS,SAAS,CAAC,GAAG,IAAI,CAACD,OAAO,CAACC,SAAS,CAAC,CAACQ,IAAI,CAACE,IAAI,CAAC;EAC3D;;AACA","ignoreList":[]}]}