Bladeren bron

GramJS : Remove zlib and other small fixes.

painor 5 jaren geleden
bovenliggende
commit
b54356a591
4 gewijzigde bestanden met toevoegingen van 21 en 28 verwijderingen
  1. 4 0
      package.json
  2. 1 1
      src/lib/gramjs/crypto/crypto.js
  3. 7 3
      src/lib/gramjs/errors/RPCBaseErrors.js
  4. 9 24
      src/lib/gramjs/tl/core/GZIPPacked.js

+ 4 - 0
package.json

@@ -71,6 +71,10 @@
 >>>>>>> 1ab480fe... Gram JS: Remove deps; Fix Factorizator and remove leemon lib
     "tdweb": "^1.5.0",
     "websocket": "^1.0.30",
+<<<<<<< HEAD
     "big-integer": "latest"
+=======
+    "pako": "latest"
+>>>>>>> f8f1a405... GramJS : Remove zlib and other small fixes.
   }
 }

+ 1 - 1
src/lib/gramjs/crypto/crypto.js

@@ -402,7 +402,7 @@ class ECB {
         return plaintext
     }
 }
-// end region
+// endregion
 function createDecipheriv(algorithm, key, iv) {
     if (algorithm.includes('ECB')) {
         return new ECB(key, 'decrypt')

+ 7 - 3
src/lib/gramjs/errors/RPCBaseErrors.js

@@ -2,7 +2,7 @@
  * Base class for all Remote Procedure Call errors.
  */
 class RPCError extends Error {
-    constructor(message,request, code = null) {
+    constructor(message, request, code = null) {
         super(
             'RPCError {0}: {1}{2}'
                 .replace('{0}', code)
@@ -15,7 +15,11 @@ class RPCError extends Error {
 
     static _fmtRequest(request) {
         // TODO fix this
-        return ` (caused by ${request.constructor.name})`
+        if (request) {
+            return ` (caused by ${request.className})`
+        } else {
+            return ''
+        }
     }
 }
 
@@ -24,7 +28,7 @@ class RPCError extends Error {
  */
 class InvalidDCError extends RPCError {
     constructor(request, message, code) {
-        super( message,request, code)
+        super(message, request, code)
         this.code = code || 303
         this.message = message || 'ERROR_SEE_OTHER'
     }

+ 9 - 24
src/lib/gramjs/tl/core/GZIPPacked.js

@@ -1,14 +1,14 @@
-const { serializeBytes } = require("../index")
-const zlib = require('zlib')
+const { serializeBytes } = require('../index')
+const { gzip, ungzip } = require('pako')
 
 class GZIPPacked {
     static CONSTRUCTOR_ID = 0x3072cfa1
-    static classType = "constructor"
+    static classType = 'constructor'
 
     constructor(data) {
         this.data = data
         this.CONSTRUCTOR_ID = 0x3072cfa1
-        this.classType = "constructor"
+        this.classType = 'constructor'
     }
 
     static async gzipIfSmaller(contentRelated, data) {
@@ -21,28 +21,12 @@ class GZIPPacked {
         return data
     }
 
-    static gzip(input, options) {
-        return new Promise(function (resolve, reject) {
-            zlib.gzip(input, options, function (error, result) {
-                if (!error) {
-                    resolve(result)
-                } else {
-                    reject(Error(error))
-                }
-            })
-        })
+    static gzip(input) {
+        return Buffer.from(gzip(input))
     }
 
-    static ungzip(input, options) {
-        return new Promise(function (resolve, reject) {
-            zlib.gunzip(input, options, function (error, result) {
-                if (!error) {
-                    resolve(result)
-                } else {
-                    reject(Error(error))
-                }
-            })
-        })
+    static ungzip(input) {
+        return Buffer.from(ungzip(input))
     }
 
     async toBytes() {
@@ -68,3 +52,4 @@ class GZIPPacked {
 }
 
 module.exports = GZIPPacked
+