1
0
Эх сурвалжийг харах

Identify Deno and remove `browser-or-node` (#259)

* Identify Deno and remove `browser-or-node`

- Related: https://github.com/gram-js/gramjs/issues/164#issuecomment-1030529952.

* Fix deps

* Fix homepage
Roj 3 жил өмнө
parent
commit
55060a55ce

+ 1 - 1
gramjs/Helpers.ts

@@ -1,5 +1,5 @@
-import { isNode } from "browser-or-node";
 import bigInt from "big-integer";
+import { isNode } from "./platform";
 import type { EntityLike } from "./define";
 import type { Api } from "./tl";
 

+ 1 - 1
gramjs/Password.ts

@@ -8,7 +8,7 @@ import {
     sha256,
 } from "./Helpers";
 import bigInt from "big-integer";
-import { isNode } from "browser-or-node";
+import { isNode } from "./platform";
 const crypto = require(isNode ? "crypto" : "./crypto/crypto");
 
 const SIZE_FOR_HASH = 256;

+ 2 - 1
gramjs/client/telegramBaseClient.ts

@@ -23,6 +23,7 @@ import {
 } from "../network/connection/TCPMTProxy";
 import { Semaphore } from "async-mutex";
 import { LogLevel } from "../extensions/Logger";
+import { isBrowser } from "../platform";
 
 const EXPORTED_SENDER_RECONNECT_TIMEOUT = 1000; // 1 sec
 const EXPORTED_SENDER_RELEASE_TIMEOUT = 30000; // 30 sec
@@ -137,7 +138,7 @@ const clientParamsDefault = {
     systemLangCode: "en",
     _securityChecks: true,
     useWSS:
-        typeof window !== "undefined"
+        isBrowser
             ? window.location.protocol == "https:"
             : false,
 };

+ 2 - 1
gramjs/extensions/PromisedWebSockets.ts

@@ -1,5 +1,6 @@
 import { w3cwebsocket } from "websocket";
 import { Mutex } from "async-mutex";
+import { isBrowser } from "../platform";
 
 const mutex = new Mutex();
 
@@ -95,7 +96,7 @@ export class PromisedWebSockets {
                     this.closed = true;
                 };
                 //CONTEST
-                if (typeof window !== "undefined") {
+                if (isBrowser) {
                     window.addEventListener("offline", async () => {
                         await this.close();
                         if (this.resolveRead) {

+ 3 - 0
gramjs/platform.ts

@@ -0,0 +1,3 @@
+export const isDeno = "Deno" in globalThis;
+export const isBrowser = !isDeno && typeof window !== "undefined";
+export const isNode = !isBrowser;

+ 0 - 44
package-lock.json

@@ -12,7 +12,6 @@
         "@cryptography/aes": "^0.1.1",
         "async-mutex": "^0.3.0",
         "big-integer": "^1.6.48",
-        "browser-or-node": "^1.3.0",
         "buffer": "^6.0.3",
         "htmlparser2": "^6.1.0",
         "mime-types": "^2.1.30",
@@ -31,7 +30,6 @@
         "@babel/core": "^7.12.13",
         "@babel/plugin-proposal-class-properties": "^7.12.13",
         "@babel/preset-env": "^7.12.16",
-        "@types/browser-or-node": "^1.3.0",
         "@types/mime-types": "^2.1.0",
         "@types/node": "^15.12.0",
         "@types/node-localstorage": "^1.3.0",
@@ -2083,12 +2081,6 @@
         "@babel/types": "^7.3.0"
       }
     },
-    "node_modules/@types/browser-or-node": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/@types/browser-or-node/-/browser-or-node-1.3.0.tgz",
-      "integrity": "sha512-MVetr65IR7RdJbUxVHsaPFaXAO8fi89zv1g8L/mHygh1Q7xnnK02XZLwfMh57FOpTO6gtnagoPMQ/UOFfctXRQ==",
-      "dev": true
-    },
     "node_modules/@types/eslint": {
       "version": "7.28.0",
       "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz",
@@ -2821,11 +2813,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/browser-or-node": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-1.3.0.tgz",
-      "integrity": "sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg=="
-    },
     "node_modules/browser-process-hrtime": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
@@ -3735,19 +3722,6 @@
       "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
       "dev": true
     },
-    "node_modules/fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "dev": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
-      }
-    },
     "node_modules/function-bind": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -9883,12 +9857,6 @@
         "@babel/types": "^7.3.0"
       }
     },
-    "@types/browser-or-node": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/@types/browser-or-node/-/browser-or-node-1.3.0.tgz",
-      "integrity": "sha512-MVetr65IR7RdJbUxVHsaPFaXAO8fi89zv1g8L/mHygh1Q7xnnK02XZLwfMh57FOpTO6gtnagoPMQ/UOFfctXRQ==",
-      "dev": true
-    },
     "@types/eslint": {
       "version": "7.28.0",
       "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz",
@@ -10553,11 +10521,6 @@
         "fill-range": "^7.0.1"
       }
     },
-    "browser-or-node": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-1.3.0.tgz",
-      "integrity": "sha512-0F2z/VSnLbmEeBcUrSuDH5l0HxTXdQQzLjkmBR4cYfvg1zJrKSlmIZFqyFR8oX0NrwPhy3c3HQ6i3OxMbew4Tg=="
-    },
     "browser-process-hrtime": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
@@ -11316,13 +11279,6 @@
       "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
       "dev": true
     },
-    "fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "dev": true,
-      "optional": true
-    },
     "function-bind": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",

+ 2 - 4
package.json

@@ -33,7 +33,6 @@
     "@babel/core": "^7.12.13",
     "@babel/plugin-proposal-class-properties": "^7.12.13",
     "@babel/preset-env": "^7.12.16",
-    "@types/browser-or-node": "^1.3.0",
     "@types/mime-types": "^2.1.0",
     "@types/node": "^15.12.0",
     "@types/node-localstorage": "^1.3.0",
@@ -46,16 +45,15 @@
     "ts-loader": "^8.0.16",
     "ts-node": "^9.1.1",
     "typedoc": "^0.22.11",
+    "typedoc-plugin-missing-exports": "^0.22.6",
     "typescript": "^4.2.4",
     "webpack": "^5.21.2",
-    "webpack-cli": "^4.5.0",
-    "typedoc-plugin-missing-exports": "^0.22.6"
+    "webpack-cli": "^4.5.0"
   },
   "dependencies": {
     "@cryptography/aes": "^0.1.1",
     "async-mutex": "^0.3.0",
     "big-integer": "^1.6.48",
-    "browser-or-node": "^1.3.0",
     "buffer": "^6.0.3",
     "htmlparser2": "^6.1.0",
     "mime-types": "^2.1.30",