Selaa lähdekoodia

increased runtime speed with encoding

sanex3339 8 vuotta sitten
vanhempi
commit
64d4c79efa

+ 3 - 3
dist/index.js

@@ -7609,7 +7609,7 @@ exports.SelfDefendingTemplate = SelfDefendingTemplate;
 
 
 function StringArrayBase64DecodeNodeTemplate() {
-    return "      \n        if (!{stringArrayCallsWrapperName}.atobPolyfillAppended) {\n            {atobPolyfill}\n            \n            {stringArrayCallsWrapperName}.atobPolyfillAppended = true;\n        }\n        \n        if (!{stringArrayCallsWrapperName}.base64DecodeUnicode) {                \n            {stringArrayCallsWrapperName}.base64DecodeUnicode = function (str) {\n                var string = atob(str);\n                var newStringChars = [];\n                \n                for (var i = 0, length = string.length; i < length; i++) {\n                    newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2);\n                }\n                \n                return decodeURIComponent(newStringChars);\n            };\n        }\n        \n        if (!{stringArrayCallsWrapperName}.data) {\n            {stringArrayCallsWrapperName}.data = {};\n        }\n                        \n        if (!{stringArrayCallsWrapperName}.data[index]) {\n            {selfDefendingCode}\n            \n            value = {stringArrayCallsWrapperName}.base64DecodeUnicode(value);\n            {stringArrayCallsWrapperName}.data[index] = value;\n        } else {\n            value = {stringArrayCallsWrapperName}.data[index];\n        }  \n    ";
+    return "      \n        if ({stringArrayCallsWrapperName}.initialized === undefined) {\n            {atobPolyfill}\n            \n            {stringArrayCallsWrapperName}.base64DecodeUnicode = function (str) {\n                var string = atob(str);\n                var newStringChars = [];\n                \n                for (var i = 0, length = string.length; i < length; i++) {\n                    newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2);\n                }\n                \n                return decodeURIComponent(newStringChars);\n            };\n            \n            {stringArrayCallsWrapperName}.data = {};\n            \n            {stringArrayCallsWrapperName}.initialized = true;\n        }\n                        \n        if (!{stringArrayCallsWrapperName}.data[index]) {\n            {selfDefendingCode}\n            \n            value = {stringArrayCallsWrapperName}.base64DecodeUnicode(value);\n            {stringArrayCallsWrapperName}.data[index] = value;\n        } else {\n            value = {stringArrayCallsWrapperName}.data[index];\n        }  \n    ";
 }
 exports.StringArrayBase64DecodeNodeTemplate = StringArrayBase64DecodeNodeTemplate;
 
@@ -7621,7 +7621,7 @@ exports.StringArrayBase64DecodeNodeTemplate = StringArrayBase64DecodeNodeTemplat
 
 
 function StringArrayCallsWrapperTemplate() {
-    return "\n        var {stringArrayCallsWrapperName} = function (index, key) {\n            var index = parseInt(index, 0x10);\n            var value = {stringArrayName}[index];\n            \n            {decodeNodeTemplate}\n        \n            return value;\n        };\n    ";
+    return "\n        var {stringArrayCallsWrapperName} = function (index, key) {\n            index = index - 0;\n            \n            var value = {stringArrayName}[index];\n            \n            {decodeNodeTemplate}\n        \n            return value;\n        };\n    ";
 }
 exports.StringArrayCallsWrapperTemplate = StringArrayCallsWrapperTemplate;
 
@@ -7633,7 +7633,7 @@ exports.StringArrayCallsWrapperTemplate = StringArrayCallsWrapperTemplate;
 
 
 function StringArrayRc4DecodeNodeTemplate() {
-    return "\n        if (!{stringArrayCallsWrapperName}.atobPolyfillAppended) {            \n            {atobPolyfill}\n            \n            {stringArrayCallsWrapperName}.atobPolyfillAppended = true;\n        }\n        \n        if (!{stringArrayCallsWrapperName}.rc4) {            \n            {rc4Polyfill}\n            \n            {stringArrayCallsWrapperName}.rc4 = rc4;\n        }\n                        \n        if (!{stringArrayCallsWrapperName}.data) {\n            {stringArrayCallsWrapperName}.data = {};\n        }\n\n        var cacheKey = index + key;\n\n        if ({stringArrayCallsWrapperName}.data[cacheKey] === undefined) {\n            if (!{stringArrayCallsWrapperName}.once) {\n                {selfDefendingCode}\n                \n                {stringArrayCallsWrapperName}.once = true;\n            }\n            \n            value = {stringArrayCallsWrapperName}.rc4(value, key);\n            {stringArrayCallsWrapperName}.data[cacheKey] = value;\n        } else {\n            value = {stringArrayCallsWrapperName}.data[cacheKey];\n        }\n    ";
+    return "\n        if ({stringArrayCallsWrapperName}.initialized === undefined) {\n            {atobPolyfill}\n            \n            {rc4Polyfill}\n            {stringArrayCallsWrapperName}.rc4 = rc4;\n            \n            {stringArrayCallsWrapperName}.data = {};\n            \n            {stringArrayCallsWrapperName}.initialized = true;\n        }\n        \n        index += key;\n\n        if ({stringArrayCallsWrapperName}.data[index] === undefined) {\n            if ({stringArrayCallsWrapperName}.once === undefined) {\n                {selfDefendingCode}\n                \n                {stringArrayCallsWrapperName}.once = true;\n            }\n            \n            value = {stringArrayCallsWrapperName}.rc4(value, key);\n            {stringArrayCallsWrapperName}.data[index] = value;\n        } else {\n            value = {stringArrayCallsWrapperName}.data[index];\n        }\n    ";
 }
 exports.StringArrayRc4DecodeNodeTemplate = StringArrayRc4DecodeNodeTemplate;
 

+ 4 - 8
src/templates/custom-nodes/string-array-nodes/string-array-calls-wrapper/StringArrayBase64DecodeNodeTemplate.ts

@@ -3,13 +3,9 @@
  */
 export function StringArrayBase64DecodeNodeTemplate (): string {
     return `      
-        if (!{stringArrayCallsWrapperName}.atobPolyfillAppended) {
+        if ({stringArrayCallsWrapperName}.initialized === undefined) {
             {atobPolyfill}
             
-            {stringArrayCallsWrapperName}.atobPolyfillAppended = true;
-        }
-        
-        if (!{stringArrayCallsWrapperName}.base64DecodeUnicode) {                
             {stringArrayCallsWrapperName}.base64DecodeUnicode = function (str) {
                 var string = atob(str);
                 var newStringChars = [];
@@ -20,10 +16,10 @@ export function StringArrayBase64DecodeNodeTemplate (): string {
                 
                 return decodeURIComponent(newStringChars);
             };
-        }
-        
-        if (!{stringArrayCallsWrapperName}.data) {
+            
             {stringArrayCallsWrapperName}.data = {};
+            
+            {stringArrayCallsWrapperName}.initialized = true;
         }
                         
         if (!{stringArrayCallsWrapperName}.data[index]) {

+ 2 - 1
src/templates/custom-nodes/string-array-nodes/string-array-calls-wrapper/StringArrayCallsWrapperTemplate.ts

@@ -4,7 +4,8 @@
 export function StringArrayCallsWrapperTemplate (): string {
     return `
         var {stringArrayCallsWrapperName} = function (index, key) {
-            var index = parseInt(index, 0x10);
+            index = index - 0;
+            
             var value = {stringArrayName}[index];
             
             {decodeNodeTemplate}

+ 10 - 15
src/templates/custom-nodes/string-array-nodes/string-array-calls-wrapper/StringArrayRC4DecodeNodeTemplate.ts

@@ -3,35 +3,30 @@
  */
 export function StringArrayRc4DecodeNodeTemplate (): string {
     return `
-        if (!{stringArrayCallsWrapperName}.atobPolyfillAppended) {            
+        if ({stringArrayCallsWrapperName}.initialized === undefined) {
             {atobPolyfill}
             
-            {stringArrayCallsWrapperName}.atobPolyfillAppended = true;
-        }
-        
-        if (!{stringArrayCallsWrapperName}.rc4) {            
             {rc4Polyfill}
-            
             {stringArrayCallsWrapperName}.rc4 = rc4;
-        }
-                        
-        if (!{stringArrayCallsWrapperName}.data) {
+            
             {stringArrayCallsWrapperName}.data = {};
+            
+            {stringArrayCallsWrapperName}.initialized = true;
         }
+        
+        index += key;
 
-        var cacheKey = index + key;
-
-        if ({stringArrayCallsWrapperName}.data[cacheKey] === undefined) {
-            if (!{stringArrayCallsWrapperName}.once) {
+        if ({stringArrayCallsWrapperName}.data[index] === undefined) {
+            if ({stringArrayCallsWrapperName}.once === undefined) {
                 {selfDefendingCode}
                 
                 {stringArrayCallsWrapperName}.once = true;
             }
             
             value = {stringArrayCallsWrapperName}.rc4(value, key);
-            {stringArrayCallsWrapperName}.data[cacheKey] = value;
+            {stringArrayCallsWrapperName}.data[index] = value;
         } else {
-            value = {stringArrayCallsWrapperName}.data[cacheKey];
+            value = {stringArrayCallsWrapperName}.data[index];
         }
     `;
 }