code: function findNode(value, node) {
      var e_1, _a;
      if (value === node.value)
          return node;
      try {
          for (var _b = Object(tslib__WEBPACK_IMPORTED_MODULE_0__["__values"])(node.children), _c = _b.next(); !_c.done; _c = _b.next()) {
              var child = _c.value;
              var node_1 = findNode(value, child);
              if (node_1)
                  return node_1;
          }
      }
      catch (e_1_1) { e_1 = { error: e_1_1 }; }
      finally {
          try {
              if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
          }
          finally { if (e_1) throw e_1.error; }
      }
      return null;
  }
docs: DFS for the node matching the value