⌈⌋ ⎇ branch:  Bitrhythm


Hex Artifact Content

Artifact bae8da53ce7820029a35d38f407d518f0c9fc42dde5144ff5c790783ac50260c:


0000: 27 75 73 65 20 73 74 72 69 63 74 27 3b 0a 0a 65  'use strict';..e
0010: 78 70 6f 72 74 20 64 65 66 61 75 6c 74 20 63 6c  xport default cl
0020: 61 73 73 20 54 6f 67 67 6c 65 20 7b 0a 0a 20 20  ass Toggle {..  
0030: 63 6f 6e 73 74 72 75 63 74 6f 72 28 73 74 61 74  constructor(stat
0040: 65 29 20 7b 0a 20 20 20 20 74 68 69 73 2e 73 74  e) {.    this.st
0050: 61 74 65 20 3d 20 73 74 61 74 65 20 7c 7c 20 66  ate = state || f
0060: 61 6c 73 65 3b 0a 20 20 7d 0a 0a 20 20 66 6c 69  alse;.  }..  fli
0070: 70 28 73 74 61 74 65 29 20 7b 0a 20 20 20 20 69  p(state) {.    i
0080: 66 20 28 73 74 61 74 65 20 7c 7c 20 73 74 61 74  f (state || stat
0090: 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20  e === false) {. 
00a0: 20 20 20 20 20 74 68 69 73 2e 73 74 61 74 65 20       this.state 
00b0: 3d 20 73 74 61 74 65 3b 0a 20 20 20 20 7d 20 65  = state;.    } e
00c0: 6c 73 65 20 7b 0a 20 20 20 20 20 20 74 68 69 73  lse {.      this
00d0: 2e 73 74 61 74 65 20 3d 20 21 74 68 69 73 2e 73  .state = !this.s
00e0: 74 61 74 65 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a  tate;.    }.  }.
00f0: 0a 20 20 6f 6e 28 29 20 7b 0a 20 20 20 20 74 68  .  on() {.    th
0100: 69 73 2e 73 74 61 74 65 20 3d 20 74 72 75 65 3b  is.state = true;
0110: 0a 20 20 7d 0a 0a 20 20 6f 66 66 28 29 20 7b 0a  .  }..  off() {.
0120: 20 20 20 20 74 68 69 73 2e 73 74 61 74 65 20 3d      this.state =
0130: 20 66 61 6c 73 65 3b 0a 20 20 7d 0a 0a 7d 0a      false;.  }..}.