{"version":3,"file":"AccumulatorMap.js","sourceRoot":"","sources":["../../src/jsutils/AccumulatorMap.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,cAAqB,SAAQ,GAAgB;IACxD,IAAa,CAAC,MAAM,CAAC,WAAW,CAAC;QAC/B,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,IAAO;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;CACF","sourcesContent":["/**\n * ES6 Map with additional `add` method to accumulate items.\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters\nexport class AccumulatorMap<K, T> extends Map<K, Array<T>> {\n  override get [Symbol.toStringTag](): string {\n    return 'AccumulatorMap';\n  }\n\n  add(key: K, item: T): void {\n    const group = this.get(key);\n    if (group === undefined) {\n      this.set(key, [item]);\n    } else {\n      group.push(item);\n    }\n  }\n}\n"]}