From 602dc41ce4da2f4cf6e290f52ad409723d0f0bed Mon Sep 17 00:00:00 2001 From: Perlover Date: Fri, 13 Nov 2020 19:19:27 +0100 Subject: [PATCH 1/2] Object.seal sometime gets undefined value Hi, I see strange option `sockets` parameter which can be undefined if user didn't define it in `Vue` options. If I understand as right it may be bug. It can be related with this opened issue: https://github.com/nathantsoi/vue-native-websocket/issues/75 And the [Object.seal should get the object type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal#Non-object_coercion). If it will be not object ES5 code will throw error. I didn't test it but i saw code and think that's should be patched. --- src/Main.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Main.js b/src/Main.js index 401a759..f26f353 100755 --- a/src/Main.js +++ b/src/Main.js @@ -56,10 +56,9 @@ export default { }) } } else { - Object.seal(this.$options.sockets) - // if !hasProxy need addListener if (sockets) { + Object.seal(this.$options.sockets) Object.keys(sockets).forEach(key => { Emitter.addListener(key, sockets[key], vm) }) From e5d72e31a601bad318ec720c61fa63145a231d43 Mon Sep 17 00:00:00 2001 From: Perlover Date: Fri, 13 Nov 2020 19:24:21 +0100 Subject: [PATCH 2/2] May be it will be few better --- src/Main.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/Main.js b/src/Main.js index f26f353..76580a5 100755 --- a/src/Main.js +++ b/src/Main.js @@ -55,14 +55,12 @@ export default { this.$options.sockets[key] = sockets[key] }) } - } else { + } else if (sockets) { // if !hasProxy need addListener - if (sockets) { - Object.seal(this.$options.sockets) - Object.keys(sockets).forEach(key => { - Emitter.addListener(key, sockets[key], vm) - }) - } + Object.seal(this.$options.sockets) + Object.keys(sockets).forEach(key => { + Emitter.addListener(key, sockets[key], vm) + }) } }, beforeDestroy () {