Explorar el Código

Merge pull request #94 from frobinsonj/flat

Replace use of Array.fill with Array.flat
Martin Kleppe hace 4 años
padre
commit
388173ea64
Se han modificado 2 ficheros con 77 adiciones y 77 borrados
  1. 13 13
      jsfuck.js
  2. 64 64
      output.txt

+ 13 - 13
jsfuck.js

@@ -19,7 +19,7 @@
     'Number':   '(+[])',
     'Number':   '(+[])',
     'String':   '([]+[])',
     'String':   '([]+[])',
     'Boolean':  '(![])',
     'Boolean':  '(![])',
-    'Function': '[]["fill"]',
+    'Function': '[]["flat"]',
     'RegExp':   'Function("return/"+false+"/")()',
     'RegExp':   'Function("return/"+false+"/")()',
     'Object':	'[]["entries"]()'
     'Object':	'[]["entries"]()'
   };
   };
@@ -27,7 +27,7 @@
   const MAPPING = {
   const MAPPING = {
     'a':   '(false+"")[1]',
     'a':   '(false+"")[1]',
     'b':   '([]["entries"]()+"")[2]',
     'b':   '([]["entries"]()+"")[2]',
-    'c':   '([]["fill"]+"")[3]',
+    'c':   '([]["flat"]+"")[3]',
     'd':   '(undefined+"")[2]',
     'd':   '(undefined+"")[2]',
     'e':   '(true+"")[3]',
     'e':   '(true+"")[3]',
     'f':   '(false+"")[0]',
     'f':   '(false+"")[0]',
@@ -39,7 +39,7 @@
     'l':   '(false+"")[2]',
     'l':   '(false+"")[2]',
     'm':   '(Number+"")[11]',
     'm':   '(Number+"")[11]',
     'n':   '(undefined+"")[1]',
     'n':   '(undefined+"")[1]',
-    'o':   '(true+[]["fill"])[10]',
+    'o':   '(true+[]["flat"])[10]',
     'p':   '(+(211))["to"+String["name"]](31)[1]',
     'p':   '(+(211))["to"+String["name"]](31)[1]',
     'q':   '("")["fontcolor"]([0]+false+")[20]',
     'q':   '("")["fontcolor"]([0]+false+")[20]',
     'r':   '(true+"")[1]',
     'r':   '(true+"")[1]',
@@ -55,7 +55,7 @@
     'A':   '(+[]+Array)[10]',
     'A':   '(+[]+Array)[10]',
     'B':   '(+[]+Boolean)[10]',
     'B':   '(+[]+Boolean)[10]',
     'C':   'Function("return escape")()(("")["italics"]())[2]',
     'C':   'Function("return escape")()(("")["italics"]())[2]',
-    'D':   'Function("return escape")()([]["fill"])["slice"]("-1")',
+    'D':   'Function("return escape")()([]["flat"])["slice"]("-1")',
     'E':   '(RegExp+"")[12]',
     'E':   '(RegExp+"")[12]',
     'F':   '(+[]+Function)[10]',
     'F':   '(+[]+Function)[10]',
     'G':   '(false+Function("return Date")()())[30]',
     'G':   '(false+Function("return Date")()())[30]',
@@ -79,16 +79,16 @@
     'Y':   USE_CHAR_CODE,
     'Y':   USE_CHAR_CODE,
     'Z':   USE_CHAR_CODE,
     'Z':   USE_CHAR_CODE,
 
 
-    ' ':   '(NaN+[]["fill"])[11]',
+    ' ':   '(NaN+[]["flat"])[11]',
     '!':   USE_CHAR_CODE,
     '!':   USE_CHAR_CODE,
     '"':   '("")["fontcolor"]()[12]',
     '"':   '("")["fontcolor"]()[12]',
     '#':   USE_CHAR_CODE,
     '#':   USE_CHAR_CODE,
     '$':   USE_CHAR_CODE,
     '$':   USE_CHAR_CODE,
-    '%':   'Function("return escape")()([]["fill"])[21]',
+    '%':   'Function("return escape")()([]["flat"])[21]',
     '&':   '("")["fontcolor"](")[13]',
     '&':   '("")["fontcolor"](")[13]',
     '\'':  USE_CHAR_CODE,
     '\'':  USE_CHAR_CODE,
-    '(':   '([]["fill"]+"")[13]',
-    ')':   '([0]+false+[]["fill"])[20]',
+    '(':   '([]["flat"]+"")[13]',
+    ')':   '([0]+false+[]["flat"])[20]',
     '*':   USE_CHAR_CODE,
     '*':   USE_CHAR_CODE,
     '+':   '(+(+!+[]+(!+[]+[])[!+[]+!+[]+!+[]]+[+!+[]]+[+[]]+[+[]])+[])[2]',
     '+':   '(+(+!+[]+(!+[]+[])[!+[]+!+[]+!+[]]+[+!+[]]+[+[]]+[+[]])+[])[2]',
     ',':   '([]["slice"]["call"](false+"")+"")[1]',
     ',':   '([]["slice"]["call"](false+"")+"")[1]',
@@ -108,9 +108,9 @@
     '^':   USE_CHAR_CODE,
     '^':   USE_CHAR_CODE,
     '_':   USE_CHAR_CODE,
     '_':   USE_CHAR_CODE,
     '`':   USE_CHAR_CODE,
     '`':   USE_CHAR_CODE,
-    '{':   '(true+[]["fill"])[20]',
+    '{':   '(true+[]["flat"])[20]',
     '|':   USE_CHAR_CODE,
     '|':   USE_CHAR_CODE,
-    '}':   '([]["fill"]+"")["slice"]("-1")',
+    '}':   '([]["flat"]+"")["slice"]("-1")',
     '~':   USE_CHAR_CODE
     '~':   USE_CHAR_CODE
   };
   };
 
 
@@ -267,7 +267,7 @@
         } else {
         } else {
           var cc16 = c.charCodeAt(0).toString(16);
           var cc16 = c.charCodeAt(0).toString(16);
           replacement =
           replacement =
-            "[][" + encode("fill") + "]"+
+            "[][" + encode("flat") + "]"+
             "[" + encode("constructor") + "]" +
             "[" + encode("constructor") + "]" +
             "(" + encode("return\"\\u"+("0000"+cc16).substring(cc16.length)+"\"") + ")()";
             "(" + encode("return\"\\u"+("0000"+cc16).substring(cc16.length)+"\"") + ")()";
 
 
@@ -285,12 +285,12 @@
 
 
     if (wrapWithEval){
     if (wrapWithEval){
       if (runInParentScope){
       if (runInParentScope){
-        output = "[][" + encode("fill") + "]" +
+        output = "[][" + encode("flat") + "]" +
           "[" + encode("constructor") + "]" +
           "[" + encode("constructor") + "]" +
           "(" + encode("return eval") +  ")()" +
           "(" + encode("return eval") +  ")()" +
           "(" + output + ")";
           "(" + output + ")";
       } else {
       } else {
-        output = "[][" + encode("fill") + "]" +
+        output = "[][" + encode("flat") + "]" +
           "[" + encode("constructor") + "]" +
           "[" + encode("constructor") + "]" +
           "(" + output + ")()";
           "(" + output + ")()";
       }
       }

+ 64 - 64
output.txt

@@ -1,19 +1,19 @@
-` ` 109
-`!` 4002
-`"` 539
-`#` 4011
-`$` 4016
-`%` 2551
-`&` 1083
-`'` 4031
-`(` 114
-`)` 114
-`*` 4010
+` ` 92
+`!` 3577
+`"` 471
+`#` 3586
+`$` 3591
+`%` 2262
+`&` 947
+`'` 3606
+`(` 97
+`)` 97
+`*` 3585
 `+` 70
 `+` 70
-`,` 393
+`,` 359
 `-` 135
 `-` 135
 `.` 72
 `.` 72
-`/` 266
+`/` 249
 `0` 8
 `0` 8
 `1` 10
 `1` 10
 `2` 14
 `2` 14
@@ -24,72 +24,72 @@
 `7` 39
 `7` 39
 `8` 44
 `8` 44
 `9` 49
 `9` 49
-`:` 1864
-`;` 1085
-`<` 254
-`=` 535
-`>` 260
-`?` 1859
-`@` 4010
-`A` 573
-`B` 576
-`C` 2707
-`D` 2884
-`E` 1865
-`F` 656
-`G` 3833
-`H` 4046
+`:` 1677
+`;` 949
+`<` 237
+`=` 467
+`>` 243
+`?` 1672
+`@` 3585
+`A` 505
+`B` 508
+`C` 2418
+`D` 2578
+`E` 1678
+`F` 571
+`G` 3425
+`H` 3621
 `I` 70
 `I` 70
-`J` 4020
-`K` 4182
-`L` 4111
-`M` 3834
+`J` 3595
+`K` 3757
+`L` 3669
+`M` 3426
 `N` 16
 `N` 16
-`O` 732
-`P` 4015
-`Q` 4017
-`R` 1860
-`S` 578
-`T` 3836
-`U` 2227
-`V` 4041
-`W` 4046
-`X` 4051
-`Y` 4056
-`Z` 4025
+`O` 664
+`P` 3590
+`Q` 3592
+`R` 1673
+`S` 510
+`T` 3428
+`U` 1989
+`V` 3616
+`W` 3621
+`X` 3626
+`Y` 3631
+`Z` 3600
 `[` 171
 `[` 171
-`\` 2121
+`\` 1917
 `]` 189
 `]` 189
-`^` 4035
-`_` 4023
-``` 4020
+`^` 3610
+`_` 3598
+``` 3595
 `a` 15
 `a` 15
 `b` 177
 `b` 177
-`c` 106
+`c` 89
 `d` 22
 `d` 22
 `e` 25
 `e` 25
 `f` 13
 `f` 13
-`g` 588
-`h` 1372
+`g` 520
+`h` 1219
 `i` 27
 `i` 27
 `j` 182
 `j` 182
-`k` 1361
+`k` 1208
 `l` 19
 `l` 19
-`m` 577
+`m` 509
 `n` 18
 `n` 18
-`o` 105
-`p` 1383
-`q` 1086
+`o` 88
+`p` 1230
+`q` 950
 `r` 16
 `r` 16
 `s` 24
 `s` 24
 `t` 14
 `t` 14
 `u` 16
 `u` 16
-`v` 1377
-`w` 1386
-`x` 1391
+`v` 1224
+`w` 1233
+`x` 1238
 `y` 84
 `y` 84
-`z` 1416
-`{` 109
-`|` 4126
-`}` 442
-`~` 4045
+`z` 1263
+`{` 92
+`|` 3684
+`}` 408
+`~` 3620