1 | import { createHtmlReporter } from "./reporters/html";
|
2 | import { createLcovFileReporter, createLcovReporter } from "./reporters/lcov";
|
3 | import { createTextFileReporter, createTextReporter } from "./reporters/text";
|
4 | export class ReporterRegistry {
|
5 | constructor() {
|
6 | this.registry = new Map();
|
7 | }
|
8 | register(id, factory) {
|
9 | this.registry.set(id, factory);
|
10 | }
|
11 | create(id, options) {
|
12 | const factory = this.registry.get(id);
|
13 | if (factory === undefined) {
|
14 | throw new Error(`Unknown reporter ${id}, available: ${[...this.registry.keys()].join(", ")}`);
|
15 | }
|
16 | return factory(options);
|
17 | }
|
18 | }
|
19 | export const DEFAULT_REGISTRY = new ReporterRegistry();
|
20 | DEFAULT_REGISTRY.register("text", createTextReporter);
|
21 | DEFAULT_REGISTRY.register("text-file", createTextFileReporter);
|
22 | DEFAULT_REGISTRY.register("lcov", createLcovReporter);
|
23 | // TODO: Deprecate `lcovonly`
|
24 | DEFAULT_REGISTRY.register("lcovonly", createLcovFileReporter);
|
25 | DEFAULT_REGISTRY.register("lcov-file", createLcovFileReporter);
|
26 | DEFAULT_REGISTRY.register("html", createHtmlReporter);
|
27 |
|
28 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9zcmMvcmVwb3J0ZXItcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJOUUsTUFBTSxPQUFPLGdCQUFnQjtJQUczQjtRQUNFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sUUFBUSxDQUFDLEVBQVUsRUFBRSxPQUF3QjtRQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxFQUFVLEVBQUUsT0FBWTtRQUNwQyxNQUFNLE9BQU8sR0FBZ0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkUsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMvRjtRQUNELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFxQixJQUFJLGdCQUFnQixFQUFFLENBQUM7QUFFekUsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3RELGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQUMvRCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDdEQsNkJBQTZCO0FBQzdCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQUM5RCxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFDL0QsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDIiwiZmlsZSI6InJlcG9ydGVyLXJlZ2lzdHJ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwb3J0ZXIgfSBmcm9tIFwiLi9yZXBvcnRlclwiO1xuaW1wb3J0IHsgY3JlYXRlSHRtbFJlcG9ydGVyIH0gZnJvbSBcIi4vcmVwb3J0ZXJzL2h0bWxcIjtcbmltcG9ydCB7IGNyZWF0ZUxjb3ZGaWxlUmVwb3J0ZXIsIGNyZWF0ZUxjb3ZSZXBvcnRlciB9IGZyb20gXCIuL3JlcG9ydGVycy9sY292XCI7XG5pbXBvcnQgeyBjcmVhdGVUZXh0RmlsZVJlcG9ydGVyLCBjcmVhdGVUZXh0UmVwb3J0ZXIgfSBmcm9tIFwiLi9yZXBvcnRlcnMvdGV4dFwiO1xuXG5leHBvcnQgdHlwZSBSZXBvcnRlckZhY3RvcnkgPSAob3B0aW9uczogYW55KSA9PiBSZXBvcnRlcjtcblxuZXhwb3J0IGNsYXNzIFJlcG9ydGVyUmVnaXN0cnkge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlZ2lzdHJ5OiBNYXA8c3RyaW5nLCBSZXBvcnRlckZhY3Rvcnk+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMucmVnaXN0cnkgPSBuZXcgTWFwKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXIoaWQ6IHN0cmluZywgZmFjdG9yeTogUmVwb3J0ZXJGYWN0b3J5KTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RyeS5zZXQoaWQsIGZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZShpZDogc3RyaW5nLCBvcHRpb25zOiBhbnkpOiBSZXBvcnRlciB7XG4gICAgY29uc3QgZmFjdG9yeTogUmVwb3J0ZXJGYWN0b3J5IHwgdW5kZWZpbmVkID0gdGhpcy5yZWdpc3RyeS5nZXQoaWQpO1xuICAgIGlmIChmYWN0b3J5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biByZXBvcnRlciAke2lkfSwgYXZhaWxhYmxlOiAke1suLi50aGlzLnJlZ2lzdHJ5LmtleXMoKV0uam9pbihcIiwgXCIpfWApO1xuICAgIH1cbiAgICByZXR1cm4gZmFjdG9yeShvcHRpb25zKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9SRUdJU1RSWTogUmVwb3J0ZXJSZWdpc3RyeSA9IG5ldyBSZXBvcnRlclJlZ2lzdHJ5KCk7XG5cbkRFRkFVTFRfUkVHSVNUUlkucmVnaXN0ZXIoXCJ0ZXh0XCIsIGNyZWF0ZVRleHRSZXBvcnRlcik7XG5ERUZBVUxUX1JFR0lTVFJZLnJlZ2lzdGVyKFwidGV4dC1maWxlXCIsIGNyZWF0ZVRleHRGaWxlUmVwb3J0ZXIpO1xuREVGQVVMVF9SRUdJU1RSWS5yZWdpc3RlcihcImxjb3ZcIiwgY3JlYXRlTGNvdlJlcG9ydGVyKTtcbi8vIFRPRE86IERlcHJlY2F0ZSBgbGNvdm9ubHlgXG5ERUZBVUxUX1JFR0lTVFJZLnJlZ2lzdGVyKFwibGNvdm9ubHlcIiwgY3JlYXRlTGNvdkZpbGVSZXBvcnRlcik7XG5ERUZBVUxUX1JFR0lTVFJZLnJlZ2lzdGVyKFwibGNvdi1maWxlXCIsIGNyZWF0ZUxjb3ZGaWxlUmVwb3J0ZXIpO1xuREVGQVVMVF9SRUdJU1RSWS5yZWdpc3RlcihcImh0bWxcIiwgY3JlYXRlSHRtbFJlcG9ydGVyKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=
|