{"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-spec/src/core/reporter.ts":{"path":"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-spec/src/core/reporter.ts","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":26}},"2":{"start":{"line":4,"column":16},"end":{"line":83,"column":3}},"3":{"start":{"line":6,"column":8},"end":{"line":6,"column":23}},"4":{"start":{"line":7,"column":8},"end":{"line":7,"column":35}},"5":{"start":{"line":9,"column":4},"end":{"line":11,"column":6}},"6":{"start":{"line":10,"column":8},"end":{"line":10,"column":23}},"7":{"start":{"line":12,"column":4},"end":{"line":14,"column":6}},"8":{"start":{"line":13,"column":8},"end":{"line":13,"column":21}},"9":{"start":{"line":15,"column":4},"end":{"line":38,"column":6}},"10":{"start":{"line":16,"column":20},"end":{"line":16,"column":30}},"11":{"start":{"line":17,"column":8},"end":{"line":35,"column":9}},"12":{"start":{"line":18,"column":12},"end":{"line":18,"column":25}},"13":{"start":{"line":19,"column":12},"end":{"line":19,"column":39}},"14":{"start":{"line":21,"column":13},"end":{"line":35,"column":9}},"15":{"start":{"line":22,"column":12},"end":{"line":22,"column":25}},"16":{"start":{"line":23,"column":12},"end":{"line":23,"column":37}},"17":{"start":{"line":25,"column":13},"end":{"line":35,"column":9}},"18":{"start":{"line":26,"column":12},"end":{"line":26,"column":25}},"19":{"start":{"line":27,"column":12},"end":{"line":27,"column":39}},"20":{"start":{"line":29,"column":13},"end":{"line":35,"column":9}},"21":{"start":{"line":30,"column":12},"end":{"line":30,"column":25}},"22":{"start":{"line":31,"column":12},"end":{"line":31,"column":37}},"23":{"start":{"line":33,"column":13},"end":{"line":35,"column":9}},"24":{"start":{"line":34,"column":12},"end":{"line":34,"column":39}},"25":{"start":{"line":36,"column":22},"end":{"line":36,"column":40}},"26":{"start":{"line":37,"column":8},"end":{"line":37,"column":34}},"27":{"start":{"line":39,"column":4},"end":{"line":41,"column":6}},"28":{"start":{"line":40,"column":8},"end":{"line":40,"column":23}},"29":{"start":{"line":42,"column":4},"end":{"line":46,"column":6}},"30":{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},"31":{"start":{"line":44,"column":12},"end":{"line":44,"column":34}},"32":{"start":{"line":47,"column":4},"end":{"line":51,"column":6}},"33":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"34":{"start":{"line":49,"column":12},"end":{"line":49,"column":32}},"35":{"start":{"line":52,"column":4},"end":{"line":56,"column":6}},"36":{"start":{"line":53,"column":8},"end":{"line":55,"column":9}},"37":{"start":{"line":54,"column":12},"end":{"line":54,"column":46}},"38":{"start":{"line":57,"column":4},"end":{"line":61,"column":6}},"39":{"start":{"line":58,"column":8},"end":{"line":60,"column":9}},"40":{"start":{"line":59,"column":12},"end":{"line":59,"column":44}},"41":{"start":{"line":62,"column":4},"end":{"line":66,"column":6}},"42":{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},"43":{"start":{"line":64,"column":12},"end":{"line":64,"column":46}},"44":{"start":{"line":67,"column":4},"end":{"line":71,"column":6}},"45":{"start":{"line":68,"column":8},"end":{"line":70,"column":9}},"46":{"start":{"line":69,"column":12},"end":{"line":69,"column":44}},"47":{"start":{"line":72,"column":4},"end":{"line":76,"column":6}},"48":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"49":{"start":{"line":74,"column":12},"end":{"line":74,"column":46}},"50":{"start":{"line":77,"column":4},"end":{"line":81,"column":6}},"51":{"start":{"line":78,"column":8},"end":{"line":80,"column":9}},"52":{"start":{"line":79,"column":12},"end":{"line":79,"column":45}},"53":{"start":{"line":82,"column":4},"end":{"line":82,"column":20}},"54":{"start":{"line":84,"column":0},"end":{"line":84,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":16},"end":{"line":4,"column":17}},"loc":{"start":{"line":4,"column":28},"end":{"line":83,"column":1}},"line":4},"1":{"name":"Reporter","decl":{"start":{"line":5,"column":13},"end":{"line":5,"column":21}},"loc":{"start":{"line":5,"column":30},"end":{"line":8,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":9,"column":31},"end":{"line":9,"column":32}},"loc":{"start":{"line":9,"column":43},"end":{"line":11,"column":5}},"line":9},"3":{"name":"(anonymous_3)","decl":{"start":{"line":12,"column":29},"end":{"line":12,"column":30}},"loc":{"start":{"line":12,"column":41},"end":{"line":14,"column":5}},"line":12},"4":{"name":"(anonymous_4)","decl":{"start":{"line":15,"column":30},"end":{"line":15,"column":31}},"loc":{"start":{"line":15,"column":46},"end":{"line":38,"column":5}},"line":15},"5":{"name":"(anonymous_5)","decl":{"start":{"line":39,"column":31},"end":{"line":39,"column":32}},"loc":{"start":{"line":39,"column":43},"end":{"line":41,"column":5}},"line":39},"6":{"name":"(anonymous_6)","decl":{"start":{"line":42,"column":33},"end":{"line":42,"column":34}},"loc":{"start":{"line":42,"column":45},"end":{"line":46,"column":5}},"line":42},"7":{"name":"(anonymous_7)","decl":{"start":{"line":47,"column":31},"end":{"line":47,"column":32}},"loc":{"start":{"line":47,"column":43},"end":{"line":51,"column":5}},"line":47},"8":{"name":"(anonymous_8)","decl":{"start":{"line":52,"column":41},"end":{"line":52,"column":42}},"loc":{"start":{"line":52,"column":57},"end":{"line":56,"column":5}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":57,"column":39},"end":{"line":57,"column":40}},"loc":{"start":{"line":57,"column":55},"end":{"line":61,"column":5}},"line":57},"10":{"name":"(anonymous_10)","decl":{"start":{"line":62,"column":41},"end":{"line":62,"column":42}},"loc":{"start":{"line":62,"column":57},"end":{"line":66,"column":5}},"line":62},"11":{"name":"(anonymous_11)","decl":{"start":{"line":67,"column":39},"end":{"line":67,"column":40}},"loc":{"start":{"line":67,"column":55},"end":{"line":71,"column":5}},"line":67},"12":{"name":"(anonymous_12)","decl":{"start":{"line":72,"column":41},"end":{"line":72,"column":42}},"loc":{"start":{"line":72,"column":57},"end":{"line":76,"column":5}},"line":72},"13":{"name":"(anonymous_13)","decl":{"start":{"line":77,"column":32},"end":{"line":77,"column":33}},"loc":{"start":{"line":77,"column":56},"end":{"line":81,"column":5}},"line":77}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":22},"end":{"line":7,"column":34}},"type":"binary-expr","locations":[{"start":{"line":7,"column":22},"end":{"line":7,"column":28}},{"start":{"line":7,"column":32},"end":{"line":7,"column":34}}],"line":7},"1":{"loc":{"start":{"line":17,"column":8},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":17,"column":8},"end":{"line":35,"column":9}},{"start":{"line":17,"column":8},"end":{"line":35,"column":9}}],"line":17},"2":{"loc":{"start":{"line":21,"column":13},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":21,"column":13},"end":{"line":35,"column":9}},{"start":{"line":21,"column":13},"end":{"line":35,"column":9}}],"line":21},"3":{"loc":{"start":{"line":25,"column":13},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":13},"end":{"line":35,"column":9}},{"start":{"line":25,"column":13},"end":{"line":35,"column":9}}],"line":25},"4":{"loc":{"start":{"line":29,"column":13},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":29,"column":13},"end":{"line":35,"column":9}},{"start":{"line":29,"column":13},"end":{"line":35,"column":9}}],"line":29},"5":{"loc":{"start":{"line":33,"column":13},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":33,"column":13},"end":{"line":35,"column":9}},{"start":{"line":33,"column":13},"end":{"line":35,"column":9}}],"line":33},"6":{"loc":{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},{"start":{"line":43,"column":8},"end":{"line":45,"column":9}}],"line":43},"7":{"loc":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},{"start":{"line":48,"column":8},"end":{"line":50,"column":9}}],"line":48},"8":{"loc":{"start":{"line":53,"column":8},"end":{"line":55,"column":9}},"type":"if","locations":[{"start":{"line":53,"column":8},"end":{"line":55,"column":9}},{"start":{"line":53,"column":8},"end":{"line":55,"column":9}}],"line":53},"9":{"loc":{"start":{"line":58,"column":8},"end":{"line":60,"column":9}},"type":"if","locations":[{"start":{"line":58,"column":8},"end":{"line":60,"column":9}},{"start":{"line":58,"column":8},"end":{"line":60,"column":9}}],"line":58},"10":{"loc":{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},"type":"if","locations":[{"start":{"line":63,"column":8},"end":{"line":65,"column":9}},{"start":{"line":63,"column":8},"end":{"line":65,"column":9}}],"line":63},"11":{"loc":{"start":{"line":68,"column":8},"end":{"line":70,"column":9}},"type":"if","locations":[{"start":{"line":68,"column":8},"end":{"line":70,"column":9}},{"start":{"line":68,"column":8},"end":{"line":70,"column":9}}],"line":68},"12":{"loc":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},{"start":{"line":73,"column":8},"end":{"line":75,"column":9}}],"line":73},"13":{"loc":{"start":{"line":78,"column":8},"end":{"line":80,"column":9}},"type":"if","locations":[{"start":{"line":78,"column":8},"end":{"line":80,"column":9}},{"start":{"line":78,"column":8},"end":{"line":80,"column":9}}],"line":78}},"s":{"0":1,"1":1,"2":1,"3":2,"4":2,"5":1,"6":1,"7":1,"8":1,"9":1,"10":8,"11":8,"12":2,"13":2,"14":6,"15":2,"16":2,"17":4,"18":2,"19":2,"20":2,"21":1,"22":1,"23":1,"24":1,"25":8,"26":8,"27":1,"28":0,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":2,"37":1,"38":1,"39":2,"40":1,"41":1,"42":2,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":8,"52":5,"53":1,"54":1},"f":{"0":1,"1":2,"2":1,"3":1,"4":8,"5":0,"6":1,"7":1,"8":2,"9":2,"10":2,"11":1,"12":1,"13":8},"b":{"0":[2,1],"1":[2,6],"2":[2,4],"3":[2,2],"4":[1,1],"5":[1,0],"6":[1,0],"7":[1,0],"8":[1,1],"9":[1,1],"10":[1,1],"11":[1,0],"12":[1,0],"13":[5,3]},"inputSourceMap":{"version":3,"file":"/Users/xpepermint/Work/hayspec/framework/packages/hayspec-spec/src/core/reporter.ts","sources":["/Users/xpepermint/Work/hayspec/framework/packages/hayspec-spec/src/core/reporter.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecStartNote, SpecEndNote, TestStartNote, TestEndNote, AssertionNote } from './types';\n\n/**\n * \n */\nexport type ReporterNote = SpecStartNote | SpecEndNote | TestStartNote | TestEndNote | AssertionNote;\n\n/**\n * \n */\nexport interface ReporterRecipe {\n  onBegin?: () => void;\n  onEnd?: () => void;\n  onNote?: (note: ReporterNote, change: ReporterLevelChange) => void;\n  onSpecStartNote?: (note: SpecStartNote) => void;\n  onSpecEndNote?: (note: SpecEndNote) => void;\n  onTestStartNote?: (note: TestStartNote) => void;\n  onTestEndNote?: (note: TestEndNote) => void;\n  onAssertionNote?: (note: AssertionNote) => void;\n}\n\n/**\n * \n */\nexport type ReporterLevelChange = -1 | 0 | 1;\n\n/**\n * \n */\nexport class Reporter {\n  protected recipe: ReporterRecipe;\n  public level: number = 0;\n\n  /**\n   * \n   */\n  public constructor(recipe?: ReporterRecipe) {\n    this.recipe = recipe || {};\n  }\n\n  /**\n   * \n   */\n  public begin() {\n    this.onBegin();\n  }\n\n  /**\n   * \n   */\n  public end() {\n    this.onEnd();\n  }\n\n  /**\n   * \n   */\n  public note(note: ReporterNote) {\n    const level = this.level;\n\n    if (note.type === 'SpecStartNote') {\n      this.level++;\n      this.onSpecStartNote(note);\n    }\n    else if (note.type === 'SpecEndNote') {\n      this.level--;\n      this.onSpecEndNote(note);\n    }\n    else if (note.type === 'TestStartNote') {\n      this.level++;\n      this.onTestStartNote(note);\n    }\n    else if (note.type === 'TestEndNote') {\n      this.level--;\n      this.onTestEndNote(note);\n    }\n    else if (note.type === 'AssertionNote') {\n      this.onAssertionNote(note);\n    }\n\n    const change = (level - this.level) as ReporterLevelChange;\n    this.onNote(note, change);\n  }\n\n  /**\n   * \n   */\n  public reset() {\n    this.level = 0;\n  }\n\n  /**\n   * \n   */\n  protected onBegin() {\n    if (typeof this.recipe.onBegin === 'function') {\n      this.recipe.onBegin();\n    }\n  }\n\n  /**\n   * \n   */\n  protected onEnd() {\n    if (typeof this.recipe.onEnd === 'function') {\n      this.recipe.onEnd();\n    }\n  }\n\n  /**\n   * \n   */\n  protected onSpecStartNote(note: SpecStartNote) {\n    if (typeof this.recipe.onSpecStartNote === 'function') {\n      this.recipe.onSpecStartNote(note);\n    }\n  }\n\n  /**\n   * \n   */\n  protected onSpecEndNote(note: SpecEndNote) {\n    if (typeof this.recipe.onSpecEndNote === 'function') {\n      this.recipe.onSpecEndNote(note);\n    }\n  }\n\n  /**\n   * \n   */\n  protected onTestStartNote(note: TestStartNote) {\n    if (typeof this.recipe.onTestStartNote === 'function') {\n      this.recipe.onTestStartNote(note);\n    }\n  }\n\n  /**\n   * \n   */\n  protected onTestEndNote(note: TestEndNote) {\n    if (typeof this.recipe.onTestEndNote === 'function') {\n      this.recipe.onTestEndNote(note);\n    }\n  }\n\n  /**\n   * \n   */\n  protected onAssertionNote(note: AssertionNote) {\n    if (typeof this.recipe.onAssertionNote === 'function') {\n      this.recipe.onAssertionNote(note);\n    }\n  }\n\n  /**\n   * \n   */\n  protected onNote(note: ReporterNote, change: ReporterLevelChange) {\n    if (typeof this.recipe.onNote === 'function') {\n      this.recipe.onNote(note, change);\n    }\n  }\n\n}\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"892c2ccdf05b025f30e718a6f3b42fda8908dee9","contentHash":"f627d3ea79d34ff45684c191a3053e8b243381531c7732c0ac0930db29c8c430"}}