code: function(e) {
      const doclets = e.doclets;
      for (let i = 0, ii = doclets.length; i < ii; ++i) {
        const doclet = doclets[i];
        if (doclet.params) {
          const params = doclet.params;
          for (let j = 0, jj = params.length; j < jj; ++j) {
            const param = params[j];
            if (param.type && param.type.names) {
              const type = param.type.names[0];
              if (type in properties) {
                param.type.names[0] = type;
                params.push.apply(params, properties[type].map(p => {
                  const property = Object.assign({}, p);
                  property.name = `${param.name}.${property.name}`;
                  return property;
                }));
              }
            }
          }
        }
      }
    }
docs: Adds `options.*` params for options that match the longname of one of the
  collected typedefs.
  @param {Object} e Event object.