diff --git a/data_providers/tgclient.js b/data_providers/tgclient.js index dae4db4..2ea55f0 100644 --- a/data_providers/tgclient.js +++ b/data_providers/tgclient.js @@ -1,5 +1,6 @@ import tdl from 'tdl'; import { platform } from 'node:process'; +import Utils from '../utils/utils.js'; class TGClient { @@ -91,7 +92,7 @@ class TGClient { } }); - let sendStatusTask = Promise.withResolvers(); + let sendStatusTask = Utils.promiseWithResolvers(); this.sendTasks.set(message.id, sendStatusTask); return await sendStatusTask.promise; } diff --git a/data_providers/tgprovider.js b/data_providers/tgprovider.js index 5f2b369..925b45e 100644 --- a/data_providers/tgprovider.js +++ b/data_providers/tgprovider.js @@ -1,4 +1,5 @@ import { TGClient } from './tgclient.js'; +import Utils from '../utils/utils.js'; class TGProvider { @@ -45,7 +46,7 @@ class TGProvider { async getReport(number) { try { await this.tgClient.sendMessage(this.chat, number); - let waitResponseTask = Promise.withResolvers(); + let waitResponseTask = Utils.promiseWithResolvers(); this.checksMap.set(number, waitResponseTask); setTimeout(() => { waitResponseTask.reject(Error('TG report timeout')); diff --git a/package.json b/package.json index 66ea2d2..37c9f6c 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "main": "index.js", "type": "module", "scripts": { - "server": "node --js-promise-withresolvers --async-stack-traces --trace-warnings index.js", - "migration": "node --js-promise-withresolvers --async-stack-traces --trace-warnings migration.js", + "server": "node --async-stack-traces --trace-warnings index.js", + "migration": "node --async-stack-traces --trace-warnings migration.js", "test": "echo \"Error: no test specified\" && exit 1" }, "author": "Selim Mustafaev", diff --git a/utils/utils.js b/utils/utils.js index de1b487..32dbcaa 100644 --- a/utils/utils.js +++ b/utils/utils.js @@ -133,6 +133,15 @@ class Utils { let date = (new Date(...dateParams)).getTime(); return Math.floor(date/1000); } + + static promiseWithResolvers() { + let resolve, reject; + const promise = new Promise((res, rej) => { + resolve = res; + reject = rej; + }); + return { promise, resolve, reject }; + } } export default Utils; \ No newline at end of file