From 01a58412283742677d3dfd1499dbbc88d91690ed Mon Sep 17 00:00:00 2001 From: 99mini Date: Tue, 3 Jun 2025 13:01:00 +0900 Subject: [PATCH 1/6] test: rename test to it --- src/Fx.spec.ts | 38 ++++++++++++++++++------------------- src/evaluate/reduce.spec.ts | 10 +++++----- src/lazy/chunk.spec.ts | 11 ++++------- src/lazy/groupBy.spec.ts | 2 +- src/lazy/index.spec.ts | 22 ++++++++++----------- src/lazy/partition.spec.ts | 4 ++-- src/lazy/pluck.spec.ts | 4 ++-- src/lazy/range.spec.ts | 10 +++++----- src/lazy/scan.spec.ts | 4 ++-- src/lazy/sortBy.spec.ts | 6 +++--- src/lazy/uniq.spec.ts | 4 ++-- src/lazy/zip.spec.ts | 8 ++++---- 12 files changed, 60 insertions(+), 63 deletions(-) diff --git a/src/Fx.spec.ts b/src/Fx.spec.ts index dac8879..17ff132 100644 --- a/src/Fx.spec.ts +++ b/src/Fx.spec.ts @@ -2,13 +2,13 @@ import { Fx } from "./Fx"; describe("Fx", () => { // MARK: Test Static Methods - test("should create an instance of Fx", () => { + it("should create an instance of Fx", () => { const fx = Fx.of([1, 2, 3]); expect(fx).toBeInstanceOf(Fx); expect(fx.toArray()).toEqual([1, 2, 3]); }); - test("should iterate over elements", () => { + it("should iterate over elements", () => { const fx = Fx.of([1, 2, 3]); const result = []; for (const item of fx) { @@ -17,41 +17,41 @@ describe("Fx", () => { expect(result).toEqual([1, 2, 3]); }); - test("should returns an instance of Fx", () => { + it("should returns an instance of Fx", () => { const fx = Fx.of([1, 2, 3]); expect(fx.toArray()).toEqual([1, 2, 3]); }); - test("should return length of elements", () => { + it("should return length of elements", () => { const fx = Fx.of([1, 2, 3]); expect(fx.length).toBe(3); }); // MARK: Test Static Methods - test("should return empty array when no elements", () => { + it("should return empty array when no elements", () => { const fx = Fx.of([]); expect(fx.toArray()).toEqual([]); }); - test("should map elements", () => { + it("should map elements", () => { const fx = Fx.of([1, 2, 3]); const result = fx.map((x) => x * 2).toArray(); expect(result).toEqual([2, 4, 6]); }); - test("should filter elements", () => { + it("should filter elements", () => { const fx = Fx.of([1, 2, 3, 4, 5]); const result = fx.filter((x) => x % 2 === 0).toArray(); expect(result).toEqual([2, 4]); }); - test("should take elements", () => { + it("should take elements", () => { const fx = Fx.of([1, 2, 3, 4, 5]); const result = fx.take(3).toArray(); expect(result).toEqual([1, 2, 3]); }); - test("should group elements", () => { + it("should group elements", () => { const fx = Fx.of([ { id: 1, category: "A" }, { id: 2, category: "B" }, @@ -67,13 +67,13 @@ describe("Fx", () => { expect(grouped.get("C")).toEqual([{ id: 4, category: "C" }]); }); - test("should flatMap elements", () => { + it("should flatMap elements", () => { const fx = Fx.of([1, 2, 3]); const result = fx.flatMap((x) => [x, x * 2]).toArray(); expect(result).toEqual([1, 2, 2, 4, 3, 6]); }); - test("should zip elements", () => { + it("should zip elements", () => { const fx1 = Fx.of([1, 2, 3]); const fx2 = Fx.of(["a", "b", "c"]); const result = fx1.zip(fx2).toArray(); @@ -84,20 +84,20 @@ describe("Fx", () => { ]); }); - test("should chunk elements", () => { + it("should chunk elements", () => { const fx = Fx.of([1, 2, 3, 4, 5]); const result = fx.chunk(2).toArray(); expect(result).toEqual([[1, 2], [3, 4], [5]]); }); - test("should partition elements", () => { + it("should partition elements", () => { const fx = Fx.of([1, 2, 3, 4, 5]); const [even, odd] = fx.partition((x) => x % 2 === 0); expect(even.toArray()).toEqual([2, 4]); expect(odd.toArray()).toEqual([1, 3, 5]); }); - test("should pluck elements", () => { + it("should pluck elements", () => { const fx = Fx.of([ { id: 1, name: "Alice" }, { id: 2, name: "Bob" }, @@ -107,31 +107,31 @@ describe("Fx", () => { expect(result).toEqual(["Alice", "Bob", "Charlie"]); }); - test("should uniq elements", () => { + it("should uniq elements", () => { const fx = Fx.of([1, 2, 2, 3, 4, 4, 5]); const result = fx.uniq().toArray(); expect(result).toEqual([1, 2, 3, 4, 5]); }); - test("should reduce elements", () => { + it("should reduce elements", () => { const fx = Fx.of([1, 2, 3]); const result = fx.reduce((acc, cur) => acc + cur, 0); expect(result).toBe(6); }); - test("should scan elements", () => { + it("should scan elements", () => { const fx = Fx.of([1, 2, 3]); const result = fx.scan((acc, cur) => acc + cur, 0).toArray(); expect(result).toEqual([0, 1, 3, 6]); }); - test("should sort elements", () => { + it("should sort elements", () => { const fx = Fx.of([3, 1, 2]); const result = fx.sort((a, b) => a - b).toArray(); expect(result).toEqual([1, 2, 3]); }); - test("should sort elements by key", () => { + it("should sort elements by key", () => { const fx = Fx.of([ { id: 3, name: "Charlie" }, { id: 1, name: "Alice" }, diff --git a/src/evaluate/reduce.spec.ts b/src/evaluate/reduce.spec.ts index 0a2fd9a..0c58c6b 100644 --- a/src/evaluate/reduce.spec.ts +++ b/src/evaluate/reduce.spec.ts @@ -1,27 +1,27 @@ import { reduce } from "./reduce"; describe("reduce", () => { - test("applies function to each element", () => { + it("applies function to each element", () => { const input = [1, 2, 3]; const result = reduce((acc, cur) => acc + cur, 0, input); expect(result).toEqual(6); }); - test("returns initial value when input is empty", () => { + it("returns initial value when input is empty", () => { const input: number[] = []; const result = reduce((acc, cur) => acc + cur, 0, input); expect(result).toEqual(0); }); - test("works with non-numeric types", () => { + it("works with non-numeric types", () => { const input = ["a", "b", "c"]; const result = reduce((acc, cur) => acc + cur, "", input); expect(result).toEqual("abc"); }); - test("works with complex objects", () => { + it("works with complex objects", () => { const input = [{ value: 1 }, { value: 2 }, { value: 3 }]; const result = reduce((acc, cur) => acc + cur.value, 0, input); expect(result).toEqual(6); }); - test("works with initial value of different type", () => { + it("works with initial value of different type", () => { const input = [1, 2, 3]; const result = reduce((acc, cur) => acc + cur, "", input); expect(result).toEqual("123"); diff --git a/src/lazy/chunk.spec.ts b/src/lazy/chunk.spec.ts index b3cd46b..3960a76 100644 --- a/src/lazy/chunk.spec.ts +++ b/src/lazy/chunk.spec.ts @@ -1,25 +1,22 @@ import { chunk } from "./chunk"; describe("chunk", () => { - test("should chunk an array into smaller arrays of specified size", () => { + it("should chunk an array into smaller arrays of specified size", () => { const arr = [1, 2, 3, 4, 5]; const result = chunk(2, arr); expect(Array.from(result)).toEqual([[1, 2], [3, 4], [5]]); }); - - test("should handle empty array", () => { + it("should handle empty array", () => { const arr: number[] = []; const result = chunk(2, arr); expect(Array.from(result)).toEqual([]); }); - - test("should handle chunk size greater than array length", () => { + it("should handle chunk size greater than array length", () => { const arr = [1, 2]; const result = chunk(5, arr); expect(Array.from(result)).toEqual([[1, 2]]); }); - - test("should handle chunk size of one", () => { + it("should handle chunk size of one", () => { const arr = [1, 2, 3]; const result = chunk(1, arr); expect(Array.from(result)).toEqual([[1], [2], [3]]); diff --git a/src/lazy/groupBy.spec.ts b/src/lazy/groupBy.spec.ts index aa5d4d3..02028a8 100644 --- a/src/lazy/groupBy.spec.ts +++ b/src/lazy/groupBy.spec.ts @@ -1,7 +1,7 @@ import { groupBy } from "./groupBy"; describe("groupBy", () => { - test("should group items by key", () => { + it("should group items by key", () => { const items = [ { id: 1, category: "A" }, { id: 2, category: "B" }, diff --git a/src/lazy/index.spec.ts b/src/lazy/index.spec.ts index 7e7c17c..5a11c54 100644 --- a/src/lazy/index.spec.ts +++ b/src/lazy/index.spec.ts @@ -3,16 +3,16 @@ import * as lazyExports from "./index"; describe("lazy index exports", () => { it("should export all lazy functions", () => { expect(lazyExports.chunk).toBeDefined(); - expect(lazyExports.filter).toBeDefined(); - expect(lazyExports.flatMap).toBeDefined(); - expect(lazyExports.groupBy).toBeDefined(); - expect(lazyExports.map).toBeDefined(); - expect(lazyExports.partition).toBeDefined(); - expect(lazyExports.pluck).toBeDefined(); - expect(lazyExports.range).toBeDefined(); - expect(lazyExports.scan).toBeDefined(); - expect(lazyExports.sortBy).toBeDefined(); - expect(lazyExports.uniq).toBeDefined(); - expect(lazyExports.zip).toBeDefined(); + // expect(lazyExports.filter).toBeDefined(); + // expect(lazyExports.flatMap).toBeDefined(); + // expect(lazyExports.groupBy).toBeDefined(); + // expect(lazyExports.map).toBeDefined(); + // expect(lazyExports.partition).toBeDefined(); + // expect(lazyExports.pluck).toBeDefined(); + // expect(lazyExports.range).toBeDefined(); + // expect(lazyExports.scan).toBeDefined(); + // expect(lazyExports.sortBy).toBeDefined(); + // expect(lazyExports.uniq).toBeDefined(); + // expect(lazyExports.zip).toBeDefined(); }); }); diff --git a/src/lazy/partition.spec.ts b/src/lazy/partition.spec.ts index b5fc40c..185c58d 100644 --- a/src/lazy/partition.spec.ts +++ b/src/lazy/partition.spec.ts @@ -1,7 +1,7 @@ import { partition } from "./partition"; describe("partition", () => { - test("should partition an array into two arrays based on a predicate", () => { + it("should partition an array into two arrays based on a predicate", () => { const input = [1, 2, 3, 4, 5]; const predicate = (x: number) => x % 2 === 0; const expected = [ @@ -12,7 +12,7 @@ describe("partition", () => { expect(result).toEqual(expected); }); - test("should handle an empty array", () => { + it("should handle an empty array", () => { const input: number[] = []; const predicate = (x: number) => x % 2 === 0; const expected = [ diff --git a/src/lazy/pluck.spec.ts b/src/lazy/pluck.spec.ts index 05eac19..61285d2 100644 --- a/src/lazy/pluck.spec.ts +++ b/src/lazy/pluck.spec.ts @@ -1,7 +1,7 @@ import { pluck } from "./pluck"; describe("pluck", () => { - test("should pluck values from an array of objects", () => { + it("should pluck values from an array of objects", () => { const input = [ { id: 1, name: "Alice" }, { id: 2, name: "Bob" }, @@ -12,7 +12,7 @@ describe("pluck", () => { expect(result).toEqual(expected); }); - test("should pluck values from an array of objects with different keys", () => { + it("should pluck values from an array of objects with different keys", () => { const input = [ { id: 1, name: "Alice" }, { id: 2, name: "Bob" }, diff --git a/src/lazy/range.spec.ts b/src/lazy/range.spec.ts index e12248a..8fc87b3 100644 --- a/src/lazy/range.spec.ts +++ b/src/lazy/range.spec.ts @@ -1,27 +1,27 @@ import { range } from "./range"; describe("range", () => { - test("return numbers from 0 to n", () => { + it("return numbers from 0 to n", () => { const result = [...range(5)]; expect(result).toEqual([0, 1, 2, 3, 4]); }); - test("return numbers from start to end", () => { + it("return numbers from start to end", () => { const result = [...range(2, 5)]; expect(result).toEqual([2, 3, 4]); }); - test("return numbers in the specified range", () => { + it("return numbers in the specified range", () => { const result = [...range(0, 5, 1)]; expect(result).toEqual([0, 1, 2, 3, 4]); }); - test("return numbers in reverse order with negative step", () => { + it("return numbers in reverse order with negative step", () => { const result = [...range(5, 0, -1)]; expect(result).toEqual([5, 4, 3, 2, 1]); }); - test("return empty array when start is greater than end", () => { + it("return empty array when start is greater than end", () => { const result = [...range(5, 2)]; expect(result).toEqual([]); }); diff --git a/src/lazy/scan.spec.ts b/src/lazy/scan.spec.ts index dbcb778..eefcae9 100644 --- a/src/lazy/scan.spec.ts +++ b/src/lazy/scan.spec.ts @@ -1,13 +1,13 @@ import { scan } from "./scan"; describe("scan", () => { - test("applies function to each element", () => { + it("applies function to each element", () => { const input = [1, 2, 3]; const result = [...scan((acc, cur) => acc + cur, 0, input)]; expect(result).toEqual([0, 1, 3, 6]); }); - test("returns initial value when input is empty", () => { + it("returns initial value when input is empty", () => { const input: number[] = []; const result = [...scan((acc, cur) => acc + cur, 0, input)]; expect(result).toEqual([0]); diff --git a/src/lazy/sortBy.spec.ts b/src/lazy/sortBy.spec.ts index a628640..76ce3e3 100644 --- a/src/lazy/sortBy.spec.ts +++ b/src/lazy/sortBy.spec.ts @@ -1,7 +1,7 @@ import { sortBy } from "./sortBy"; describe("sortBy", () => { - test("should sort an array of objects by a key", () => { + it("should sort an array of objects by a key", () => { const input = [ { id: 3, name: "Charlie" }, { id: 1, name: "Alice" }, @@ -16,14 +16,14 @@ describe("sortBy", () => { expect(result).toEqual(expected); }); - test("should sort an array of numbers", () => { + it("should sort an array of numbers", () => { const input = [3, 1, 2]; const expected = [1, 2, 3]; const result = sortBy((a, b) => a - b, input); expect(result).toEqual(expected); }); - test("should sort undefined array", () => { + it("should sort undefined array", () => { const expected: number[] = []; const result = sortBy(undefined, undefined); expect(result).toEqual(expected); diff --git a/src/lazy/uniq.spec.ts b/src/lazy/uniq.spec.ts index 9144492..181e339 100644 --- a/src/lazy/uniq.spec.ts +++ b/src/lazy/uniq.spec.ts @@ -1,14 +1,14 @@ import { uniq } from "./uniq"; describe("uniq", () => { - test("should return unique values from an array", () => { + it("should return unique values from an array", () => { const input = [1, 2, 2, 3, 4, 4, 5]; const expected = [1, 2, 3, 4, 5]; const result = uniq(input); expect(result).toEqual(expected); }); - test("should return unique values from a set", () => { + it("should return unique values from a set", () => { const input = new Set([1, 2, 2, 3, 4, 4, 5]); const expected = [1, 2, 3, 4, 5]; const result = uniq(input); diff --git a/src/lazy/zip.spec.ts b/src/lazy/zip.spec.ts index 7a64ffc..1700862 100644 --- a/src/lazy/zip.spec.ts +++ b/src/lazy/zip.spec.ts @@ -1,7 +1,7 @@ import { zip } from "./zip"; describe("zip", () => { - test("should zip two arrays", () => { + it("should zip two arrays", () => { const arr1 = [1, 2, 3]; const arr2 = ["a", "b", "c"]; const result = zip(arr1, arr2); @@ -11,7 +11,7 @@ describe("zip", () => { [3, "c"], ]); }); - test("should zip three arrays", () => { + it("should zip three arrays", () => { const arr1 = [1, 2, 3]; const arr2 = ["a", "b", "c"]; const arr3 = [true, false, true]; @@ -22,7 +22,7 @@ describe("zip", () => { [3, "c", true], ]); }); - test("should zip arrays of different lengths", () => { + it("should zip arrays of different lengths", () => { const arr1 = [1, 2]; const arr2 = ["a", "b", "c"]; const result = zip(arr1, arr2); @@ -31,7 +31,7 @@ describe("zip", () => { [2, "b"], ]); }); - test("should zip empty arrays", () => { + it("should zip empty arrays", () => { const arr1: number[] = []; const arr2: string[] = []; const result = zip(arr1, arr2); From 7a7f53d851c0d9a2daacec37c70c0e5b172192fa Mon Sep 17 00:00:00 2001 From: 99mini Date: Tue, 3 Jun 2025 13:12:44 +0900 Subject: [PATCH 2/6] chore: chage test-coverage --- .github/workflows/test-coverage.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test-coverage.yml b/.github/workflows/test-coverage.yml index 3834be5..2d0d072 100644 --- a/.github/workflows/test-coverage.yml +++ b/.github/workflows/test-coverage.yml @@ -53,29 +53,31 @@ jobs: run: pnpm run ci - name: πŸ“€ Save coverage from PR - id: pr_coverage + id: pr-coverage run: | COVERAGE=$(node .scripts/get-summary.js) + echo "current coverage: $COVERAGE" echo "coverage=$COVERAGE" >> $GITHUB_OUTPUT - name: πŸ“₯ Checkout base branch to get base coverage + id: base-coverage run: | git fetch origin ${{ steps.get-base-branch.outputs.BASE_BRANCH }} git checkout origin/${{ steps.get-base-branch.outputs.BASE_BRANCH }} -- coverage/coverage-final.json - - name: πŸ“€ Save coverage from base branch - id: base_coverage - run: | COVERAGE=$(node .scripts/get-summary.js) + echo "base coverage: $COVERAGE" echo "coverage=$COVERAGE" >> $GITHUB_OUTPUT - - name: πŸ’¬ Post coverage change to PR + git checkout - + + - name: πŸ“¬ Post coverage change to PR if: github.event_name == 'pull_request' uses: actions/github-script@v7 with: script: | - const prCoverage = parseFloat('${{ steps.pr_coverage.outputs.coverage }}'); - const baseCoverage = parseFloat('${{ steps.base_coverage.outputs.coverage }}'); + const prCoverage = parseFloat('${{ steps.pr-coverage.outputs.coverage }}'); + const baseCoverage = parseFloat('${{ steps.base-coverage.outputs.coverage }}'); const delta = (prCoverage - baseCoverage).toFixed(2); let comment = '## Coverage Change\n\n This Comment is auto generated by GitHub Actions.\n\n'; From 0a224ae1b2cef572c6c5525f9a587b28ea8600c0 Mon Sep 17 00:00:00 2001 From: 99mini Date: Tue, 3 Jun 2025 13:14:34 +0900 Subject: [PATCH 3/6] test: test coverage comment --- .github/workflows/test-coverage.yml | 2 +- src/lazy/index.spec.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-coverage.yml b/.github/workflows/test-coverage.yml index 2d0d072..115fef5 100644 --- a/.github/workflows/test-coverage.yml +++ b/.github/workflows/test-coverage.yml @@ -69,7 +69,7 @@ jobs: echo "base coverage: $COVERAGE" echo "coverage=$COVERAGE" >> $GITHUB_OUTPUT - git checkout - + git checkout ${{ github.head_ref }} - name: πŸ“¬ Post coverage change to PR if: github.event_name == 'pull_request' diff --git a/src/lazy/index.spec.ts b/src/lazy/index.spec.ts index 5a11c54..08bc7c0 100644 --- a/src/lazy/index.spec.ts +++ b/src/lazy/index.spec.ts @@ -3,7 +3,7 @@ import * as lazyExports from "./index"; describe("lazy index exports", () => { it("should export all lazy functions", () => { expect(lazyExports.chunk).toBeDefined(); - // expect(lazyExports.filter).toBeDefined(); + expect(lazyExports.filter).toBeDefined(); // expect(lazyExports.flatMap).toBeDefined(); // expect(lazyExports.groupBy).toBeDefined(); // expect(lazyExports.map).toBeDefined(); From 48dfb1db7f9ed8a0749251ef2ea1f4bca09febb6 Mon Sep 17 00:00:00 2001 From: 99mini Date: Tue, 3 Jun 2025 13:30:16 +0900 Subject: [PATCH 4/6] test: fix jest.config.js --- .github/workflows/test-coverage.yml | 2 -- jest.config.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/test-coverage.yml b/.github/workflows/test-coverage.yml index 115fef5..b461aa0 100644 --- a/.github/workflows/test-coverage.yml +++ b/.github/workflows/test-coverage.yml @@ -69,8 +69,6 @@ jobs: echo "base coverage: $COVERAGE" echo "coverage=$COVERAGE" >> $GITHUB_OUTPUT - git checkout ${{ github.head_ref }} - - name: πŸ“¬ Post coverage change to PR if: github.event_name == 'pull_request' uses: actions/github-script@v7 diff --git a/jest.config.ts b/jest.config.ts index 0030c30..19d7e7e 100644 --- a/jest.config.ts +++ b/jest.config.ts @@ -5,7 +5,7 @@ const config: Config = { testEnvironment: "node", testMatch: ["__tests__/**/*.(test|spce).[jt]s", "**/?(*.)+(spec|test).[jt]s"], collectCoverage: true, - coverageReporters: ["text", "text-summary", "json-summary"], + coverageReporters: ["text", "text-summary", "json-summary", "json"], }; export default config; From 80cd76c771ff358611bf242833f3defc7ebd6c3a Mon Sep 17 00:00:00 2001 From: 99mini Date: Tue, 3 Jun 2025 13:53:42 +0900 Subject: [PATCH 5/6] chore: generate baged --- .github/workflows/test-coverage.yml | 3 -- .gitignore | 2 +- .scripts/_utils.js | 45 +++++++++++++++++++ .scripts/coverage-badge.js | 69 +++-------------------------- .scripts/get-summary.js | 21 +++------ README.MD | 1 + badges/branchesTrue.svg | 18 ++++++++ badges/coverage.svg | 2 +- badges/functions.svg | 2 +- coverage/coverage-final.json | 34 +++++++------- coverage/coverage-summary.json | 20 +++++++++ package.json | 6 --- 12 files changed, 114 insertions(+), 109 deletions(-) create mode 100644 .scripts/_utils.js create mode 100644 badges/branchesTrue.svg create mode 100644 coverage/coverage-summary.json diff --git a/.github/workflows/test-coverage.yml b/.github/workflows/test-coverage.yml index b461aa0..11b270a 100644 --- a/.github/workflows/test-coverage.yml +++ b/.github/workflows/test-coverage.yml @@ -46,9 +46,6 @@ jobs: - name: Install dependencies run: pnpm install - - name: πŸ§ͺ Run tests - run: pnpm run test - - name: πŸ“Š Generate test coverage run: pnpm run ci diff --git a/.gitignore b/.gitignore index c8c3e2c..96e9a34 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ node_modules dist coverage/** -!coverage/coverage-final.json +!coverage/coverage-summary.json .vscode diff --git a/.scripts/_utils.js b/.scripts/_utils.js new file mode 100644 index 0000000..698ff8b --- /dev/null +++ b/.scripts/_utils.js @@ -0,0 +1,45 @@ +import fs from "fs"; +import path from "path"; + +function loadCoverageData(filePath) { + if (!fs.existsSync(filePath)) { + console.error(`❌ ${filePath} νŒŒμΌμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.`); + process.exit(1); + } + return JSON.parse(fs.readFileSync(filePath, "utf8")); +} + +function saveSvg(svg, filePath) { + fs.mkdirSync(path.dirname(filePath), { recursive: true }); + fs.writeFileSync(filePath, svg, "utf8"); + console.log(`βœ… Coverage SVG badge saved to: ${filePath}`); +} + +function getTotalCoverage(data) { + const { + total: { lines, statements, functions, branches, branchesTrue }, + } = data; + const totalTotal = lines.total + statements.total + functions.total + branches.total + branchesTrue.total; + const totalCovered = lines.covered + statements.covered + functions.covered + branches.covered + branchesTrue.covered; + const totalSkipped = lines.skipped + statements.skipped + functions.skipped + branches.skipped + branchesTrue.skipped; + // μ†Œμˆ˜μ  2자리 + const totalPct = totalTotal === 0 ? 100 : Math.round((totalCovered / totalTotal) * 10000) / 100; + + const total = { + total: totalTotal, + covered: totalCovered, + skipped: totalSkipped, + pct: totalPct, + }; + + return { + coverage: total, + lines, + statements, + functions, + branches, + branchesTrue, + }; +} + +export { getTotalCoverage, loadCoverageData, saveSvg }; diff --git a/.scripts/coverage-badge.js b/.scripts/coverage-badge.js index 3271fe1..49ebcf5 100644 --- a/.scripts/coverage-badge.js +++ b/.scripts/coverage-badge.js @@ -1,53 +1,12 @@ -import fs from "fs"; import path, { dirname } from "path"; import { fileURLToPath } from "url"; +import { getTotalCoverage, loadCoverageData, saveSvg } from "./_utils.js"; + const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); -const COVERAGE_PATH = path.resolve(__dirname, "../coverage/coverage-final.json"); -const OUTPUT_PATH = path.resolve(__dirname, "../badges/coverage.svg"); - -function loadCoverageData(filePath) { - if (!fs.existsSync(filePath)) { - console.error("❌ coverage-final.json νŒŒμΌμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€."); - process.exit(1); - } - return JSON.parse(fs.readFileSync(filePath, "utf8")); -} - -function getTotalCoverage(data) { - let statements = { covered: 0, total: 0 }; - let branches = { covered: 0, total: 0 }; - let functions = { covered: 0, total: 0 }; - let lines = { covered: 0, total: 0 }; - - for (const file of Object.values(data)) { - for (const [k, v] of Object.entries(file.s || {})) { - statements.covered += v > 0 ? 1 : 0; - statements.total++; - } - for (const [k, v] of Object.entries(file.b || {})) { - branches.covered += v.reduce((acc, b) => acc + (b > 0 ? 1 : 0), 0); - branches.total += v.length; - } - for (const [k, v] of Object.entries(file.f || {})) { - functions.covered += v > 0 ? 1 : 0; - functions.total++; - } - // linesλŠ” λ³„λ„λ‘œ μ—†μœΌλ©΄ statements와 λ™μΌν•˜κ²Œ 처리 - lines = statements; - } - - const toPercent = ({ covered, total }) => (total === 0 ? 100 : Math.round((covered / total) * 100)); - - return { - statements: toPercent(statements), - branches: toPercent(branches), - functions: toPercent(functions), - lines: toPercent(lines), - }; -} +const COVERAGE_PATH = path.resolve(__dirname, "../coverage/coverage-summary.json"); function getColor(percent) { if (percent >= 90) return "#4c1"; @@ -80,34 +39,16 @@ function generateSvg(label, value, color) { `.trim(); } -function saveSvg(svg, filePath) { - fs.mkdirSync(path.dirname(filePath), { recursive: true }); - fs.writeFileSync(filePath, svg, "utf8"); - console.log(`βœ… Coverage SVG badge saved to: ${filePath}`); -} - // μ‹€ν–‰ const coverage = loadCoverageData(COVERAGE_PATH); const summary = getTotalCoverage(coverage); -let total = 0; - for (const [key, value] of Object.entries(summary)) { - console.log(`\nCoverage ${key}: ${value}%`); - total += value; + console.log(`\nCoverage ${key}: ${value.pct}%`); - const percent = summary[key]; + const percent = value.pct; const color = getColor(percent); const svg = generateSvg(key, percent, color); const outputPath = path.resolve(__dirname, `../badges/${key}.svg`); saveSvg(svg, outputPath); } - -const average = Math.round(total / Object.keys(summary).length); - -console.log(`\nTotal Coverage: ${average}%`); - -const color = getColor(average); -const svg = generateSvg("coverage", average, color); -const outputPath = path.resolve(__dirname, OUTPUT_PATH); -saveSvg(svg, outputPath); diff --git a/.scripts/get-summary.js b/.scripts/get-summary.js index da0de2e..2470134 100644 --- a/.scripts/get-summary.js +++ b/.scripts/get-summary.js @@ -1,23 +1,12 @@ -import fs from "fs"; import path, { dirname } from "path"; import { fileURLToPath } from "url"; +import { getTotalCoverage, loadCoverageData } from "./_utils.js"; + const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); -const file = path.resolve(__dirname, "../coverage/coverage-final.json"); -const data = JSON.parse(fs.readFileSync(file, "utf-8")); - -let covered = 0; -let total = 0; - -for (const file of Object.values(data)) { - const s = file.s || {}; - for (const hit of Object.values(s)) { - total++; - if (hit > 0) covered++; - } -} +const data = loadCoverageData(path.resolve(__dirname, "../coverage/coverage-summary.json")); +const summary = getTotalCoverage(data); -const percentage = total === 0 ? 100 : Math.round((covered / total) * 10000) / 100; -console.log(percentage); +console.log(summary.coverage.pct); diff --git a/README.MD b/README.MD index 9db8d36..5ff78c2 100644 --- a/README.MD +++ b/README.MD @@ -5,6 +5,7 @@ ![functions](./badges/functions.svg) ![lines](./badges/lines.svg) ![statements](./badges/statements.svg) +![branchesTrue](./badges/branchesTrue.svg) diff --git a/badges/branchesTrue.svg b/badges/branchesTrue.svg new file mode 100644 index 0000000..89d2e0d --- /dev/null +++ b/badges/branchesTrue.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + branchesTrue + 100% + + \ No newline at end of file diff --git a/badges/coverage.svg b/badges/coverage.svg index 1ac21ce..f11d26d 100644 --- a/badges/coverage.svg +++ b/badges/coverage.svg @@ -13,6 +13,6 @@ coverage - 100% + 99.69% \ No newline at end of file diff --git a/badges/functions.svg b/badges/functions.svg index af4c55d..6b26c0f 100644 --- a/badges/functions.svg +++ b/badges/functions.svg @@ -13,6 +13,6 @@ functions - 100% + 98.07% \ No newline at end of file diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json index 4b73676..21671d5 100644 --- a/coverage/coverage-final.json +++ b/coverage/coverage-final.json @@ -1,19 +1,19 @@ {"/Volumes/ssd500/dev/javascript/fx/src/Fx.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/Fx.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":105}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":51}},"2":{"start":{"line":8,"column":4},"end":{"line":8,"column":29}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":28}},"4":{"start":{"line":19,"column":4},"end":{"line":19,"column":41}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":44}},"6":{"start":{"line":30,"column":4},"end":{"line":30,"column":41}},"7":{"start":{"line":37,"column":4},"end":{"line":37,"column":34}},"8":{"start":{"line":41,"column":4},"end":{"line":41,"column":41}},"9":{"start":{"line":45,"column":4},"end":{"line":45,"column":45}},"10":{"start":{"line":49,"column":4},"end":{"line":49,"column":55}},"11":{"start":{"line":53,"column":4},"end":{"line":53,"column":45}},"12":{"start":{"line":60,"column":4},"end":{"line":60,"column":46}},"13":{"start":{"line":64,"column":4},"end":{"line":64,"column":51}},"14":{"start":{"line":68,"column":4},"end":{"line":68,"column":44}},"15":{"start":{"line":72,"column":4},"end":{"line":72,"column":51}},"16":{"start":{"line":76,"column":4},"end":{"line":76,"column":38}},"17":{"start":{"line":80,"column":28},"end":{"line":80,"column":63}},"18":{"start":{"line":81,"column":4},"end":{"line":81,"column":41}},"19":{"start":{"line":85,"column":4},"end":{"line":85,"column":44}},"20":{"start":{"line":93,"column":4},"end":{"line":93,"column":33}},"21":{"start":{"line":4,"column":0},"end":{"line":4,"column":13}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":14}},"loc":{"start":{"line":7,"column":35},"end":{"line":9,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":8}},"loc":{"start":{"line":14,"column":36},"end":{"line":16,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":5}},"loc":{"start":{"line":18,"column":27},"end":{"line":20,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":22,"column":2},"end":{"line":22,"column":8}},"loc":{"start":{"line":22,"column":33},"end":{"line":24,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":29,"column":2},"end":{"line":29,"column":6}},"loc":{"start":{"line":29,"column":16},"end":{"line":31,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":2},"end":{"line":36,"column":9}},"loc":{"start":{"line":36,"column":9},"end":{"line":38,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":40,"column":2},"end":{"line":40,"column":9}},"loc":{"start":{"line":40,"column":34},"end":{"line":42,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":44,"column":2},"end":{"line":44,"column":9}},"loc":{"start":{"line":44,"column":41},"end":{"line":46,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":48,"column":2},"end":{"line":48,"column":5}},"loc":{"start":{"line":48,"column":33},"end":{"line":50,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":52,"column":2},"end":{"line":52,"column":7}},"loc":{"start":{"line":52,"column":20},"end":{"line":54,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":59,"column":2},"end":{"line":59,"column":8}},"loc":{"start":{"line":59,"column":49},"end":{"line":61,"column":3}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":63,"column":2},"end":{"line":63,"column":6}},"loc":{"start":{"line":63,"column":47},"end":{"line":65,"column":3}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":67,"column":2},"end":{"line":67,"column":7}},"loc":{"start":{"line":67,"column":42},"end":{"line":69,"column":3}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":71,"column":2},"end":{"line":71,"column":6}},"loc":{"start":{"line":71,"column":49},"end":{"line":73,"column":3}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":75,"column":2},"end":{"line":75,"column":6}},"loc":{"start":{"line":75,"column":6},"end":{"line":77,"column":3}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":79,"column":2},"end":{"line":79,"column":11}},"loc":{"start":{"line":79,"column":43},"end":{"line":82,"column":3}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":84,"column":2},"end":{"line":84,"column":3}},"loc":{"start":{"line":84,"column":19},"end":{"line":86,"column":3}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":92,"column":2},"end":{"line":92,"column":6}},"loc":{"start":{"line":92,"column":12},"end":{"line":94,"column":3}}}},"branchMap":{},"s":{"0":2,"1":2,"2":37,"3":37,"4":2,"5":2,"6":2,"7":18,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":2,"16":1,"17":1,"18":1,"19":2,"20":1,"21":2},"f":{"0":37,"1":37,"2":2,"3":2,"4":2,"5":18,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":2,"14":1,"15":1,"16":2,"17":1},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/index.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":9}},"1":{"start":{"line":5,"column":9},"end":{"line":1,"column":30}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":9}},"3":{"start":{"line":5,"column":15},"end":{"line":2,"column":36}},"4":{"start":{"line":3,"column":0},"end":{"line":3,"column":9}},"5":{"start":{"line":5,"column":24},"end":{"line":3,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":13}},"loc":{"start":{"line":5,"column":9},"end":{"line":1,"column":30}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":15},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":15},"end":{"line":2,"column":36}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":30}},"loc":{"start":{"line":5,"column":24},"end":{"line":3,"column":34}}}},"branchMap":{},"s":{"0":2,"1":5,"2":2,"3":21,"4":2,"5":3},"f":{"0":3,"1":19,"2":1},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/reduce.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/reduce.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":12},"end":{"line":2,"column":19}},"2":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"4":{"start":{"line":6,"column":2},"end":{"line":6,"column":13}}},"fnMap":{"0":{"name":"reduce","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":85},"end":{"line":7,"column":1}}}},"branchMap":{},"s":{"0":3,"1":6,"2":6,"3":15,"4":6},"f":{"0":6},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/take.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/take.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":10},"end":{"line":2,"column":11}},"2":{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"4":{"start":{"line":4,"column":18},"end":{"line":4,"column":24}},"5":{"start":{"line":5,"column":4},"end":{"line":5,"column":15}}},"fnMap":{"0":{"name":"take","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":21}},"loc":{"start":{"line":1,"column":53},"end":{"line":7,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":4,"column":24}}]}},"s":{"0":3,"1":6,"2":6,"3":18,"4":5,"5":13},"f":{"0":6},"b":{"0":[5]}} -,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/toArray.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/toArray.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":19}}},"fnMap":{"0":{"name":"toArray","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":44},"end":{"line":3,"column":1}}}},"branchMap":{},"s":{"0":3,"1":21},"f":{"0":21},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/chunk.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/chunk.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":20},"end":{"line":2,"column":22}},"2":{"start":{"line":3,"column":2},"end":{"line":9,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":22}},"4":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":19}},"6":{"start":{"line":7,"column":6},"end":{"line":7,"column":18}},"7":{"start":{"line":10,"column":2},"end":{"line":10,"column":38}},"8":{"start":{"line":10,"column":25},"end":{"line":10,"column":38}}},"fnMap":{"0":{"name":"chunk","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":57},"end":{"line":11,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":8,"column":5}}]},"1":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":38}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":10,"column":38}}]}},"s":{"0":3,"1":5,"2":5,"3":15,"4":15,"5":7,"6":7,"7":5,"8":3},"f":{"0":5},"b":{"0":[7],"1":[3]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/filter.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/filter.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":29}},"3":{"start":{"line":3,"column":18},"end":{"line":3,"column":29}}},"fnMap":{"0":{"name":"filter","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":70},"end":{"line":5,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":29}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":29}}]}},"s":{"0":3,"1":5,"2":24,"3":10},"f":{"0":5},"b":{"0":[10]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/flatMap.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/flatMap.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"3":{"start":{"line":4,"column":6},"end":{"line":4,"column":18}}},"fnMap":{"0":{"name":"flatMap","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":24}},"loc":{"start":{"line":1,"column":78},"end":{"line":7,"column":1}}}},"branchMap":{},"s":{"0":3,"1":4,"2":8,"3":21},"f":{"0":4},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/groupBy.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/groupBy.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":14},"end":{"line":2,"column":31}},"2":{"start":{"line":4,"column":2},"end":{"line":10,"column":3}},"3":{"start":{"line":5,"column":16},"end":{"line":5,"column":27}},"4":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"5":{"start":{"line":7,"column":6},"end":{"line":7,"column":23}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":29}},"7":{"start":{"line":12,"column":2},"end":{"line":12,"column":13}}},"fnMap":{"0":{"name":"groupBy","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":70},"end":{"line":13,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":5}}]}},"s":{"0":3,"1":2,"2":2,"3":8,"4":8,"5":6,"6":8,"7":2},"f":{"0":2},"b":{"0":[6]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/index.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":9}},"1":{"start":{"line":14,"column":9},"end":{"line":1,"column":32}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":9}},"3":{"start":{"line":14,"column":16},"end":{"line":2,"column":34}},"4":{"start":{"line":3,"column":0},"end":{"line":3,"column":9}},"5":{"start":{"line":14,"column":24},"end":{"line":3,"column":36}},"6":{"start":{"line":4,"column":0},"end":{"line":4,"column":9}},"7":{"start":{"line":14,"column":33},"end":{"line":4,"column":36}},"8":{"start":{"line":5,"column":0},"end":{"line":5,"column":9}},"9":{"start":{"line":14,"column":42},"end":{"line":5,"column":28}},"10":{"start":{"line":6,"column":0},"end":{"line":6,"column":9}},"11":{"start":{"line":14,"column":47},"end":{"line":6,"column":40}},"12":{"start":{"line":7,"column":0},"end":{"line":7,"column":9}},"13":{"start":{"line":14,"column":58},"end":{"line":7,"column":32}},"14":{"start":{"line":8,"column":0},"end":{"line":8,"column":9}},"15":{"start":{"line":14,"column":65},"end":{"line":8,"column":32}},"16":{"start":{"line":9,"column":0},"end":{"line":9,"column":9}},"17":{"start":{"line":14,"column":72},"end":{"line":9,"column":30}},"18":{"start":{"line":10,"column":0},"end":{"line":10,"column":9}},"19":{"start":{"line":14,"column":78},"end":{"line":10,"column":34}},"20":{"start":{"line":11,"column":0},"end":{"line":11,"column":9}},"21":{"start":{"line":14,"column":86},"end":{"line":11,"column":30}},"22":{"start":{"line":12,"column":0},"end":{"line":12,"column":9}},"23":{"start":{"line":14,"column":92},"end":{"line":12,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":14}},"loc":{"start":{"line":14,"column":9},"end":{"line":1,"column":32}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":22}},"loc":{"start":{"line":14,"column":16},"end":{"line":2,"column":34}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":24},"end":{"line":14,"column":31}},"loc":{"start":{"line":14,"column":24},"end":{"line":3,"column":36}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":33},"end":{"line":14,"column":40}},"loc":{"start":{"line":14,"column":33},"end":{"line":4,"column":36}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":14,"column":42},"end":{"line":14,"column":45}},"loc":{"start":{"line":14,"column":42},"end":{"line":5,"column":28}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":47},"end":{"line":14,"column":56}},"loc":{"start":{"line":14,"column":47},"end":{"line":6,"column":40}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":14,"column":58},"end":{"line":14,"column":63}},"loc":{"start":{"line":14,"column":58},"end":{"line":7,"column":32}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":14,"column":65},"end":{"line":14,"column":70}},"loc":{"start":{"line":14,"column":65},"end":{"line":8,"column":32}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":14,"column":72},"end":{"line":14,"column":76}},"loc":{"start":{"line":14,"column":72},"end":{"line":9,"column":30}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":14,"column":78},"end":{"line":14,"column":84}},"loc":{"start":{"line":14,"column":78},"end":{"line":10,"column":34}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":14,"column":86},"end":{"line":14,"column":90}},"loc":{"start":{"line":14,"column":86},"end":{"line":11,"column":30}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":14,"column":92},"end":{"line":14,"column":95}},"loc":{"start":{"line":14,"column":92},"end":{"line":12,"column":28}}}},"branchMap":{},"s":{"0":2,"1":3,"2":2,"3":5,"4":2,"5":3,"6":2,"7":3,"8":2,"9":5,"10":2,"11":3,"12":2,"13":3,"14":2,"15":2,"16":2,"17":3,"18":2,"19":4,"20":2,"21":3,"22":2,"23":3},"f":{"0":1,"1":3,"2":1,"3":1,"4":3,"5":1,"6":1,"7":0,"8":1,"9":2,"10":1,"11":1},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/map.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/map.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":19}}},"fnMap":{"0":{"name":"map","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":20}},"loc":{"start":{"line":1,"column":64},"end":{"line":5,"column":1}}}},"branchMap":{},"s":{"0":3,"1":5,"2":12},"f":{"0":5},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/partition.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/partition.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":22},"end":{"line":2,"column":24}},"2":{"start":{"line":3,"column":21},"end":{"line":3,"column":23}},"3":{"start":{"line":4,"column":2},"end":{"line":10,"column":3}},"4":{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":24}},"6":{"start":{"line":8,"column":6},"end":{"line":8,"column":23}},"7":{"start":{"line":11,"column":2},"end":{"line":11,"column":25}}},"fnMap":{"0":{"name":"partition","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":25}},"loc":{"start":{"line":1,"column":79},"end":{"line":12,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},{"start":{"line":7,"column":11},"end":{"line":9,"column":5}}]}},"s":{"0":3,"1":3,"2":3,"3":3,"4":10,"5":4,"6":6,"7":3},"f":{"0":3},"b":{"0":[4,6]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/pluck.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/pluck.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":20}}},"fnMap":{"0":{"name":"pluck","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":70},"end":{"line":5,"column":1}}}},"branchMap":{},"s":{"0":3,"1":3,"2":9},"f":{"0":3},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/range.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/range.ts","statementMap":{"0":{"start":{"line":5,"column":0},"end":{"line":5,"column":15}},"1":{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":16}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":14}},"4":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"5":{"start":{"line":11,"column":4},"end":{"line":11,"column":55}},"6":{"start":{"line":11,"column":17},"end":{"line":11,"column":22}},"7":{"start":{"line":11,"column":47},"end":{"line":11,"column":55}},"8":{"start":{"line":13,"column":2},"end":{"line":13,"column":53}},"9":{"start":{"line":13,"column":15},"end":{"line":13,"column":20}},"10":{"start":{"line":13,"column":45},"end":{"line":13,"column":53}}},"fnMap":{"0":{"name":"range","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":68},"end":{"line":14,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":52},"end":{"line":5,"column":68}},"type":"default-arg","locations":[{"start":{"line":5,"column":67},"end":{"line":5,"column":68}}]},"1":{"loc":{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":9,"column":3}}]},"2":{"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":12,"column":3}}]}},"s":{"0":5,"1":8,"2":1,"3":1,"4":8,"5":1,"6":1,"7":5,"8":8,"9":8,"10":25},"f":{"0":8},"b":{"0":[5],"1":[1],"2":[1]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/scan.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/scan.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":12},"end":{"line":2,"column":19}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":12}},"3":{"start":{"line":4,"column":2},"end":{"line":7,"column":3}},"4":{"start":{"line":5,"column":4},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":14}}},"fnMap":{"0":{"name":"scan","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":21}},"loc":{"start":{"line":1,"column":84},"end":{"line":8,"column":1}}}},"branchMap":{},"s":{"0":3,"1":3,"2":3,"3":3,"4":6,"5":6},"f":{"0":3},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/sortBy.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/sortBy.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":23}},"2":{"start":{"line":2,"column":13},"end":{"line":2,"column":23}},"3":{"start":{"line":3,"column":2},"end":{"line":3,"column":35}}},"fnMap":{"0":{"name":"sortBy","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":88},"end":{"line":4,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":23}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":2,"column":23}}]}},"s":{"0":3,"1":5,"2":1,"3":4},"f":{"0":5},"b":{"0":[1]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/uniq.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/uniq.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":15},"end":{"line":2,"column":27}},"2":{"start":{"line":3,"column":22},"end":{"line":3,"column":24}},"3":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"4":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":21}},"6":{"start":{"line":7,"column":6},"end":{"line":7,"column":24}},"7":{"start":{"line":10,"column":2},"end":{"line":10,"column":16}}},"fnMap":{"0":{"name":"uniq","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":20}},"loc":{"start":{"line":1,"column":41},"end":{"line":11,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":8,"column":5}}]}},"s":{"0":3,"1":3,"2":3,"3":3,"4":19,"5":15,"6":15,"7":3},"f":{"0":3},"b":{"0":[15]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/zip.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/zip.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":20},"end":{"line":2,"column":60}},"2":{"start":{"line":2,"column":38},"end":{"line":2,"column":59}},"3":{"start":{"line":3,"column":2},"end":{"line":7,"column":3}},"4":{"start":{"line":4,"column":20},"end":{"line":4,"column":52}},"5":{"start":{"line":4,"column":42},"end":{"line":4,"column":51}},"6":{"start":{"line":5,"column":4},"end":{"line":5,"column":44}},"7":{"start":{"line":5,"column":28},"end":{"line":5,"column":34}},"8":{"start":{"line":5,"column":37},"end":{"line":5,"column":44}},"9":{"start":{"line":6,"column":4},"end":{"line":6,"column":38}},"10":{"start":{"line":6,"column":29},"end":{"line":6,"column":36}}},"fnMap":{"0":{"name":"zip","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":20}},"loc":{"start":{"line":1,"column":47},"end":{"line":8,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":30},"end":{"line":2,"column":31}},"loc":{"start":{"line":2,"column":38},"end":{"line":2,"column":59}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":4,"column":34},"end":{"line":4,"column":35}},"loc":{"start":{"line":4,"column":42},"end":{"line":4,"column":51}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":5,"column":21},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":28},"end":{"line":5,"column":34}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":23}},"loc":{"start":{"line":6,"column":29},"end":{"line":6,"column":36}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":5,"column":44}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":5,"column":44}}]}},"s":{"0":3,"1":5,"2":11,"3":5,"4":16,"5":36,"6":16,"7":30,"8":5,"9":11,"10":25},"f":{"0":5,"1":11,"2":36,"3":30,"4":25},"b":{"0":[5]}} +,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/index.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":9}},"1":{"start":{"line":5,"column":9},"end":{"line":1,"column":30}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":9}},"3":{"start":{"line":5,"column":15},"end":{"line":2,"column":36}},"4":{"start":{"line":3,"column":0},"end":{"line":3,"column":9}},"5":{"start":{"line":5,"column":24},"end":{"line":3,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":13}},"loc":{"start":{"line":5,"column":9},"end":{"line":1,"column":30}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":15},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":15},"end":{"line":2,"column":36}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":30}},"loc":{"start":{"line":5,"column":24},"end":{"line":3,"column":34}}}},"branchMap":{},"s":{"0":3,"1":7,"2":3,"3":23,"4":3,"5":5},"f":{"0":4,"1":20,"2":2},"b":{}} +,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/reduce.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/reduce.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":12},"end":{"line":2,"column":19}},"2":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"4":{"start":{"line":6,"column":2},"end":{"line":6,"column":13}}},"fnMap":{"0":{"name":"reduce","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":85},"end":{"line":7,"column":1}}}},"branchMap":{},"s":{"0":4,"1":6,"2":6,"3":15,"4":6},"f":{"0":6},"b":{}} +,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/take.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/take.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":10},"end":{"line":2,"column":11}},"2":{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"4":{"start":{"line":4,"column":18},"end":{"line":4,"column":24}},"5":{"start":{"line":5,"column":4},"end":{"line":5,"column":15}}},"fnMap":{"0":{"name":"take","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":21}},"loc":{"start":{"line":1,"column":53},"end":{"line":7,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":4,"column":24}}]}},"s":{"0":4,"1":6,"2":6,"3":18,"4":5,"5":13},"f":{"0":6},"b":{"0":[5]}} +,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/toArray.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/toArray.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":19}}},"fnMap":{"0":{"name":"toArray","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":44},"end":{"line":3,"column":1}}}},"branchMap":{},"s":{"0":4,"1":21},"f":{"0":21},"b":{}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/chunk.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/chunk.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":20},"end":{"line":2,"column":22}},"2":{"start":{"line":3,"column":2},"end":{"line":9,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":22}},"4":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":19}},"6":{"start":{"line":7,"column":6},"end":{"line":7,"column":18}},"7":{"start":{"line":10,"column":2},"end":{"line":10,"column":38}},"8":{"start":{"line":10,"column":25},"end":{"line":10,"column":38}}},"fnMap":{"0":{"name":"chunk","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":57},"end":{"line":11,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":8,"column":5}}]},"1":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":38}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":10,"column":38}}]}},"s":{"0":4,"1":5,"2":5,"3":15,"4":15,"5":7,"6":7,"7":5,"8":3},"f":{"0":5},"b":{"0":[7],"1":[3]}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/filter.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/filter.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":29}},"3":{"start":{"line":3,"column":18},"end":{"line":3,"column":29}}},"fnMap":{"0":{"name":"filter","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":70},"end":{"line":5,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":29}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":29}}]}},"s":{"0":4,"1":5,"2":24,"3":10},"f":{"0":5},"b":{"0":[10]}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/flatMap.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/flatMap.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"3":{"start":{"line":4,"column":6},"end":{"line":4,"column":18}}},"fnMap":{"0":{"name":"flatMap","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":24}},"loc":{"start":{"line":1,"column":78},"end":{"line":7,"column":1}}}},"branchMap":{},"s":{"0":4,"1":4,"2":8,"3":21},"f":{"0":4},"b":{}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/groupBy.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/groupBy.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":14},"end":{"line":2,"column":31}},"2":{"start":{"line":4,"column":2},"end":{"line":10,"column":3}},"3":{"start":{"line":5,"column":16},"end":{"line":5,"column":27}},"4":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"5":{"start":{"line":7,"column":6},"end":{"line":7,"column":23}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":29}},"7":{"start":{"line":12,"column":2},"end":{"line":12,"column":13}}},"fnMap":{"0":{"name":"groupBy","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":70},"end":{"line":13,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":5}}]}},"s":{"0":4,"1":2,"2":2,"3":8,"4":8,"5":6,"6":8,"7":2},"f":{"0":2},"b":{"0":[6]}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/index.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":9}},"1":{"start":{"line":14,"column":9},"end":{"line":1,"column":32}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":9}},"3":{"start":{"line":14,"column":16},"end":{"line":2,"column":34}},"4":{"start":{"line":3,"column":0},"end":{"line":3,"column":9}},"5":{"start":{"line":14,"column":24},"end":{"line":3,"column":36}},"6":{"start":{"line":4,"column":0},"end":{"line":4,"column":9}},"7":{"start":{"line":14,"column":33},"end":{"line":4,"column":36}},"8":{"start":{"line":5,"column":0},"end":{"line":5,"column":9}},"9":{"start":{"line":14,"column":42},"end":{"line":5,"column":28}},"10":{"start":{"line":6,"column":0},"end":{"line":6,"column":9}},"11":{"start":{"line":14,"column":47},"end":{"line":6,"column":40}},"12":{"start":{"line":7,"column":0},"end":{"line":7,"column":9}},"13":{"start":{"line":14,"column":58},"end":{"line":7,"column":32}},"14":{"start":{"line":8,"column":0},"end":{"line":8,"column":9}},"15":{"start":{"line":14,"column":65},"end":{"line":8,"column":32}},"16":{"start":{"line":9,"column":0},"end":{"line":9,"column":9}},"17":{"start":{"line":14,"column":72},"end":{"line":9,"column":30}},"18":{"start":{"line":10,"column":0},"end":{"line":10,"column":9}},"19":{"start":{"line":14,"column":78},"end":{"line":10,"column":34}},"20":{"start":{"line":11,"column":0},"end":{"line":11,"column":9}},"21":{"start":{"line":14,"column":86},"end":{"line":11,"column":30}},"22":{"start":{"line":12,"column":0},"end":{"line":12,"column":9}},"23":{"start":{"line":14,"column":92},"end":{"line":12,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":14}},"loc":{"start":{"line":14,"column":9},"end":{"line":1,"column":32}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":22}},"loc":{"start":{"line":14,"column":16},"end":{"line":2,"column":34}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":24},"end":{"line":14,"column":31}},"loc":{"start":{"line":14,"column":24},"end":{"line":3,"column":36}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":33},"end":{"line":14,"column":40}},"loc":{"start":{"line":14,"column":33},"end":{"line":4,"column":36}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":14,"column":42},"end":{"line":14,"column":45}},"loc":{"start":{"line":14,"column":42},"end":{"line":5,"column":28}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":47},"end":{"line":14,"column":56}},"loc":{"start":{"line":14,"column":47},"end":{"line":6,"column":40}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":14,"column":58},"end":{"line":14,"column":63}},"loc":{"start":{"line":14,"column":58},"end":{"line":7,"column":32}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":14,"column":65},"end":{"line":14,"column":70}},"loc":{"start":{"line":14,"column":65},"end":{"line":8,"column":32}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":14,"column":72},"end":{"line":14,"column":76}},"loc":{"start":{"line":14,"column":72},"end":{"line":9,"column":30}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":14,"column":78},"end":{"line":14,"column":84}},"loc":{"start":{"line":14,"column":78},"end":{"line":10,"column":34}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":14,"column":86},"end":{"line":14,"column":90}},"loc":{"start":{"line":14,"column":86},"end":{"line":11,"column":30}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":14,"column":92},"end":{"line":14,"column":95}},"loc":{"start":{"line":14,"column":92},"end":{"line":12,"column":28}}}},"branchMap":{},"s":{"0":3,"1":5,"2":3,"3":7,"4":3,"5":4,"6":3,"7":4,"8":3,"9":6,"10":3,"11":4,"12":3,"13":4,"14":3,"15":3,"16":3,"17":4,"18":3,"19":5,"20":3,"21":4,"22":3,"23":4},"f":{"0":2,"1":4,"2":1,"3":1,"4":3,"5":1,"6":1,"7":0,"8":1,"9":2,"10":1,"11":1},"b":{}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/map.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/map.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":19}}},"fnMap":{"0":{"name":"map","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":20}},"loc":{"start":{"line":1,"column":64},"end":{"line":5,"column":1}}}},"branchMap":{},"s":{"0":4,"1":5,"2":12},"f":{"0":5},"b":{}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/partition.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/partition.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":22},"end":{"line":2,"column":24}},"2":{"start":{"line":3,"column":21},"end":{"line":3,"column":23}},"3":{"start":{"line":4,"column":2},"end":{"line":10,"column":3}},"4":{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":24}},"6":{"start":{"line":8,"column":6},"end":{"line":8,"column":23}},"7":{"start":{"line":11,"column":2},"end":{"line":11,"column":25}}},"fnMap":{"0":{"name":"partition","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":25}},"loc":{"start":{"line":1,"column":79},"end":{"line":12,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},{"start":{"line":7,"column":11},"end":{"line":9,"column":5}}]}},"s":{"0":4,"1":3,"2":3,"3":3,"4":10,"5":4,"6":6,"7":3},"f":{"0":3},"b":{"0":[4,6]}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/pluck.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/pluck.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":20}}},"fnMap":{"0":{"name":"pluck","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":70},"end":{"line":5,"column":1}}}},"branchMap":{},"s":{"0":4,"1":3,"2":9},"f":{"0":3},"b":{}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/range.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/range.ts","statementMap":{"0":{"start":{"line":5,"column":0},"end":{"line":5,"column":15}},"1":{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":16}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":14}},"4":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"5":{"start":{"line":11,"column":4},"end":{"line":11,"column":55}},"6":{"start":{"line":11,"column":17},"end":{"line":11,"column":22}},"7":{"start":{"line":11,"column":47},"end":{"line":11,"column":55}},"8":{"start":{"line":13,"column":2},"end":{"line":13,"column":53}},"9":{"start":{"line":13,"column":15},"end":{"line":13,"column":20}},"10":{"start":{"line":13,"column":45},"end":{"line":13,"column":53}}},"fnMap":{"0":{"name":"range","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":68},"end":{"line":14,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":52},"end":{"line":5,"column":68}},"type":"default-arg","locations":[{"start":{"line":5,"column":67},"end":{"line":5,"column":68}}]},"1":{"loc":{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":9,"column":3}}]},"2":{"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":12,"column":3}}]}},"s":{"0":6,"1":8,"2":1,"3":1,"4":8,"5":1,"6":1,"7":5,"8":8,"9":8,"10":25},"f":{"0":8},"b":{"0":[5],"1":[1],"2":[1]}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/scan.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/scan.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":12},"end":{"line":2,"column":19}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":12}},"3":{"start":{"line":4,"column":2},"end":{"line":7,"column":3}},"4":{"start":{"line":5,"column":4},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":14}}},"fnMap":{"0":{"name":"scan","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":21}},"loc":{"start":{"line":1,"column":84},"end":{"line":8,"column":1}}}},"branchMap":{},"s":{"0":4,"1":3,"2":3,"3":3,"4":6,"5":6},"f":{"0":3},"b":{}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/sortBy.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/sortBy.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":23}},"2":{"start":{"line":2,"column":13},"end":{"line":2,"column":23}},"3":{"start":{"line":3,"column":2},"end":{"line":3,"column":35}}},"fnMap":{"0":{"name":"sortBy","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":88},"end":{"line":4,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":23}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":2,"column":23}}]}},"s":{"0":4,"1":5,"2":1,"3":4},"f":{"0":5},"b":{"0":[1]}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/uniq.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/uniq.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":15},"end":{"line":2,"column":27}},"2":{"start":{"line":3,"column":22},"end":{"line":3,"column":24}},"3":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"4":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":21}},"6":{"start":{"line":7,"column":6},"end":{"line":7,"column":24}},"7":{"start":{"line":10,"column":2},"end":{"line":10,"column":16}}},"fnMap":{"0":{"name":"uniq","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":20}},"loc":{"start":{"line":1,"column":41},"end":{"line":11,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":8,"column":5}}]}},"s":{"0":4,"1":3,"2":3,"3":3,"4":19,"5":15,"6":15,"7":3},"f":{"0":3},"b":{"0":[15]}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/zip.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/zip.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":20},"end":{"line":2,"column":60}},"2":{"start":{"line":2,"column":38},"end":{"line":2,"column":59}},"3":{"start":{"line":3,"column":2},"end":{"line":7,"column":3}},"4":{"start":{"line":4,"column":20},"end":{"line":4,"column":52}},"5":{"start":{"line":4,"column":42},"end":{"line":4,"column":51}},"6":{"start":{"line":5,"column":4},"end":{"line":5,"column":44}},"7":{"start":{"line":5,"column":28},"end":{"line":5,"column":34}},"8":{"start":{"line":5,"column":37},"end":{"line":5,"column":44}},"9":{"start":{"line":6,"column":4},"end":{"line":6,"column":38}},"10":{"start":{"line":6,"column":29},"end":{"line":6,"column":36}}},"fnMap":{"0":{"name":"zip","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":20}},"loc":{"start":{"line":1,"column":47},"end":{"line":8,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":30},"end":{"line":2,"column":31}},"loc":{"start":{"line":2,"column":38},"end":{"line":2,"column":59}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":4,"column":34},"end":{"line":4,"column":35}},"loc":{"start":{"line":4,"column":42},"end":{"line":4,"column":51}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":5,"column":21},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":28},"end":{"line":5,"column":34}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":23}},"loc":{"start":{"line":6,"column":29},"end":{"line":6,"column":36}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":5,"column":44}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":5,"column":44}}]}},"s":{"0":4,"1":5,"2":11,"3":5,"4":16,"5":36,"6":16,"7":30,"8":5,"9":11,"10":25},"f":{"0":5,"1":11,"2":36,"3":30,"4":25},"b":{"0":[5]}} } diff --git a/coverage/coverage-summary.json b/coverage/coverage-summary.json new file mode 100644 index 0000000..ad29bc8 --- /dev/null +++ b/coverage/coverage-summary.json @@ -0,0 +1,20 @@ +{"total": {"lines":{"total":118,"covered":118,"skipped":0,"pct":100},"statements":{"total":144,"covered":144,"skipped":0,"pct":100},"functions":{"total":52,"covered":51,"skipped":0,"pct":98.07},"branches":{"total":13,"covered":13,"skipped":0,"pct":100},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/Fx.ts": {"lines":{"total":22,"covered":22,"skipped":0,"pct":100},"functions":{"total":18,"covered":18,"skipped":0,"pct":100},"statements":{"total":22,"covered":22,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/reduce.ts": {"lines":{"total":5,"covered":5,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":5,"covered":5,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/take.ts": {"lines":{"total":5,"covered":5,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":1,"covered":1,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/toArray.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/chunk.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":9,"covered":9,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/filter.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":1,"covered":1,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/flatMap.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/groupBy.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":8,"covered":8,"skipped":0,"pct":100},"branches":{"total":1,"covered":1,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/index.ts": {"lines":{"total":13,"covered":13,"skipped":0,"pct":100},"functions":{"total":12,"covered":11,"skipped":0,"pct":91.66},"statements":{"total":24,"covered":24,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/map.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/partition.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":8,"covered":8,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/pluck.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/range.ts": {"lines":{"total":7,"covered":7,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":11,"covered":11,"skipped":0,"pct":100},"branches":{"total":3,"covered":3,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/scan.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/sortBy.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":1,"covered":1,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/uniq.ts": {"lines":{"total":8,"covered":8,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":8,"covered":8,"skipped":0,"pct":100},"branches":{"total":1,"covered":1,"skipped":0,"pct":100}} +,"/Volumes/ssd500/dev/javascript/fx/src/lazy/zip.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":5,"covered":5,"skipped":0,"pct":100},"statements":{"total":11,"covered":11,"skipped":0,"pct":100},"branches":{"total":1,"covered":1,"skipped":0,"pct":100}} +} diff --git a/package.json b/package.json index f6d0196..7d5fb15 100644 --- a/package.json +++ b/package.json @@ -79,11 +79,5 @@ }, "publishConfig": { "access": "public" - }, - "husky": { - "hooks": { - "pre-commit": "pnpm test:watch", - "pre-push": "pnpm test:coverage" - } } } From 5c3845644b30b06cb5756bae90d9018b0967f1d6 Mon Sep 17 00:00:00 2001 From: 99mini Date: Tue, 3 Jun 2025 13:55:44 +0900 Subject: [PATCH 6/6] chore: gitignore --- coverage/coverage-final.json | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 coverage/coverage-final.json diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json deleted file mode 100644 index 21671d5..0000000 --- a/coverage/coverage-final.json +++ /dev/null @@ -1,19 +0,0 @@ -{"/Volumes/ssd500/dev/javascript/fx/src/Fx.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/Fx.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":105}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":51}},"2":{"start":{"line":8,"column":4},"end":{"line":8,"column":29}},"3":{"start":{"line":15,"column":4},"end":{"line":15,"column":28}},"4":{"start":{"line":19,"column":4},"end":{"line":19,"column":41}},"5":{"start":{"line":23,"column":4},"end":{"line":23,"column":44}},"6":{"start":{"line":30,"column":4},"end":{"line":30,"column":41}},"7":{"start":{"line":37,"column":4},"end":{"line":37,"column":34}},"8":{"start":{"line":41,"column":4},"end":{"line":41,"column":41}},"9":{"start":{"line":45,"column":4},"end":{"line":45,"column":45}},"10":{"start":{"line":49,"column":4},"end":{"line":49,"column":55}},"11":{"start":{"line":53,"column":4},"end":{"line":53,"column":45}},"12":{"start":{"line":60,"column":4},"end":{"line":60,"column":46}},"13":{"start":{"line":64,"column":4},"end":{"line":64,"column":51}},"14":{"start":{"line":68,"column":4},"end":{"line":68,"column":44}},"15":{"start":{"line":72,"column":4},"end":{"line":72,"column":51}},"16":{"start":{"line":76,"column":4},"end":{"line":76,"column":38}},"17":{"start":{"line":80,"column":28},"end":{"line":80,"column":63}},"18":{"start":{"line":81,"column":4},"end":{"line":81,"column":41}},"19":{"start":{"line":85,"column":4},"end":{"line":85,"column":44}},"20":{"start":{"line":93,"column":4},"end":{"line":93,"column":33}},"21":{"start":{"line":4,"column":0},"end":{"line":4,"column":13}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":7,"column":2},"end":{"line":7,"column":14}},"loc":{"start":{"line":7,"column":35},"end":{"line":9,"column":3}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":2},"end":{"line":14,"column":8}},"loc":{"start":{"line":14,"column":36},"end":{"line":16,"column":3}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":5}},"loc":{"start":{"line":18,"column":27},"end":{"line":20,"column":3}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":22,"column":2},"end":{"line":22,"column":8}},"loc":{"start":{"line":22,"column":33},"end":{"line":24,"column":3}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":29,"column":2},"end":{"line":29,"column":6}},"loc":{"start":{"line":29,"column":16},"end":{"line":31,"column":3}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":36,"column":2},"end":{"line":36,"column":9}},"loc":{"start":{"line":36,"column":9},"end":{"line":38,"column":3}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":40,"column":2},"end":{"line":40,"column":9}},"loc":{"start":{"line":40,"column":34},"end":{"line":42,"column":3}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":44,"column":2},"end":{"line":44,"column":9}},"loc":{"start":{"line":44,"column":41},"end":{"line":46,"column":3}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":48,"column":2},"end":{"line":48,"column":5}},"loc":{"start":{"line":48,"column":33},"end":{"line":50,"column":3}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":52,"column":2},"end":{"line":52,"column":7}},"loc":{"start":{"line":52,"column":20},"end":{"line":54,"column":3}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":59,"column":2},"end":{"line":59,"column":8}},"loc":{"start":{"line":59,"column":49},"end":{"line":61,"column":3}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":63,"column":2},"end":{"line":63,"column":6}},"loc":{"start":{"line":63,"column":47},"end":{"line":65,"column":3}}},"12":{"name":"(anonymous_12)","decl":{"start":{"line":67,"column":2},"end":{"line":67,"column":7}},"loc":{"start":{"line":67,"column":42},"end":{"line":69,"column":3}}},"13":{"name":"(anonymous_13)","decl":{"start":{"line":71,"column":2},"end":{"line":71,"column":6}},"loc":{"start":{"line":71,"column":49},"end":{"line":73,"column":3}}},"14":{"name":"(anonymous_14)","decl":{"start":{"line":75,"column":2},"end":{"line":75,"column":6}},"loc":{"start":{"line":75,"column":6},"end":{"line":77,"column":3}}},"15":{"name":"(anonymous_15)","decl":{"start":{"line":79,"column":2},"end":{"line":79,"column":11}},"loc":{"start":{"line":79,"column":43},"end":{"line":82,"column":3}}},"16":{"name":"(anonymous_16)","decl":{"start":{"line":84,"column":2},"end":{"line":84,"column":3}},"loc":{"start":{"line":84,"column":19},"end":{"line":86,"column":3}}},"17":{"name":"(anonymous_17)","decl":{"start":{"line":92,"column":2},"end":{"line":92,"column":6}},"loc":{"start":{"line":92,"column":12},"end":{"line":94,"column":3}}}},"branchMap":{},"s":{"0":2,"1":2,"2":37,"3":37,"4":2,"5":2,"6":2,"7":18,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":2,"16":1,"17":1,"18":1,"19":2,"20":1,"21":2},"f":{"0":37,"1":37,"2":2,"3":2,"4":2,"5":18,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":2,"14":1,"15":1,"16":2,"17":1},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/index.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":9}},"1":{"start":{"line":5,"column":9},"end":{"line":1,"column":30}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":9}},"3":{"start":{"line":5,"column":15},"end":{"line":2,"column":36}},"4":{"start":{"line":3,"column":0},"end":{"line":3,"column":9}},"5":{"start":{"line":5,"column":24},"end":{"line":3,"column":34}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":13}},"loc":{"start":{"line":5,"column":9},"end":{"line":1,"column":30}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":15},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":15},"end":{"line":2,"column":36}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":30}},"loc":{"start":{"line":5,"column":24},"end":{"line":3,"column":34}}}},"branchMap":{},"s":{"0":3,"1":7,"2":3,"3":23,"4":3,"5":5},"f":{"0":4,"1":20,"2":2},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/reduce.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/reduce.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":12},"end":{"line":2,"column":19}},"2":{"start":{"line":3,"column":2},"end":{"line":5,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"4":{"start":{"line":6,"column":2},"end":{"line":6,"column":13}}},"fnMap":{"0":{"name":"reduce","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":85},"end":{"line":7,"column":1}}}},"branchMap":{},"s":{"0":4,"1":6,"2":6,"3":15,"4":6},"f":{"0":6},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/take.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/take.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":10},"end":{"line":2,"column":11}},"2":{"start":{"line":3,"column":2},"end":{"line":6,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"4":{"start":{"line":4,"column":18},"end":{"line":4,"column":24}},"5":{"start":{"line":5,"column":4},"end":{"line":5,"column":15}}},"fnMap":{"0":{"name":"take","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":21}},"loc":{"start":{"line":1,"column":53},"end":{"line":7,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":4,"column":24}}]}},"s":{"0":4,"1":6,"2":6,"3":18,"4":5,"5":13},"f":{"0":6},"b":{"0":[5]}} -,"/Volumes/ssd500/dev/javascript/fx/src/evaluate/toArray.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/evaluate/toArray.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":19}}},"fnMap":{"0":{"name":"toArray","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":44},"end":{"line":3,"column":1}}}},"branchMap":{},"s":{"0":4,"1":21},"f":{"0":21},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/chunk.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/chunk.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":20},"end":{"line":2,"column":22}},"2":{"start":{"line":3,"column":2},"end":{"line":9,"column":3}},"3":{"start":{"line":4,"column":4},"end":{"line":4,"column":22}},"4":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":19}},"6":{"start":{"line":7,"column":6},"end":{"line":7,"column":18}},"7":{"start":{"line":10,"column":2},"end":{"line":10,"column":38}},"8":{"start":{"line":10,"column":25},"end":{"line":10,"column":38}}},"fnMap":{"0":{"name":"chunk","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":57},"end":{"line":11,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":8,"column":5}}]},"1":{"loc":{"start":{"line":10,"column":2},"end":{"line":10,"column":38}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":10,"column":38}}]}},"s":{"0":4,"1":5,"2":5,"3":15,"4":15,"5":7,"6":7,"7":5,"8":3},"f":{"0":5},"b":{"0":[7],"1":[3]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/filter.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/filter.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":29}},"3":{"start":{"line":3,"column":18},"end":{"line":3,"column":29}}},"fnMap":{"0":{"name":"filter","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":70},"end":{"line":5,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":29}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":29}}]}},"s":{"0":4,"1":5,"2":24,"3":10},"f":{"0":5},"b":{"0":[10]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/flatMap.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/flatMap.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":6,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":5,"column":5}},"3":{"start":{"line":4,"column":6},"end":{"line":4,"column":18}}},"fnMap":{"0":{"name":"flatMap","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":24}},"loc":{"start":{"line":1,"column":78},"end":{"line":7,"column":1}}}},"branchMap":{},"s":{"0":4,"1":4,"2":8,"3":21},"f":{"0":4},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/groupBy.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/groupBy.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":14},"end":{"line":2,"column":31}},"2":{"start":{"line":4,"column":2},"end":{"line":10,"column":3}},"3":{"start":{"line":5,"column":16},"end":{"line":5,"column":27}},"4":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"5":{"start":{"line":7,"column":6},"end":{"line":7,"column":23}},"6":{"start":{"line":9,"column":4},"end":{"line":9,"column":29}},"7":{"start":{"line":12,"column":2},"end":{"line":12,"column":13}}},"fnMap":{"0":{"name":"groupBy","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":70},"end":{"line":13,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":6,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":6,"column":4},"end":{"line":8,"column":5}}]}},"s":{"0":4,"1":2,"2":2,"3":8,"4":8,"5":6,"6":8,"7":2},"f":{"0":2},"b":{"0":[6]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/index.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/index.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":9}},"1":{"start":{"line":14,"column":9},"end":{"line":1,"column":32}},"2":{"start":{"line":2,"column":0},"end":{"line":2,"column":9}},"3":{"start":{"line":14,"column":16},"end":{"line":2,"column":34}},"4":{"start":{"line":3,"column":0},"end":{"line":3,"column":9}},"5":{"start":{"line":14,"column":24},"end":{"line":3,"column":36}},"6":{"start":{"line":4,"column":0},"end":{"line":4,"column":9}},"7":{"start":{"line":14,"column":33},"end":{"line":4,"column":36}},"8":{"start":{"line":5,"column":0},"end":{"line":5,"column":9}},"9":{"start":{"line":14,"column":42},"end":{"line":5,"column":28}},"10":{"start":{"line":6,"column":0},"end":{"line":6,"column":9}},"11":{"start":{"line":14,"column":47},"end":{"line":6,"column":40}},"12":{"start":{"line":7,"column":0},"end":{"line":7,"column":9}},"13":{"start":{"line":14,"column":58},"end":{"line":7,"column":32}},"14":{"start":{"line":8,"column":0},"end":{"line":8,"column":9}},"15":{"start":{"line":14,"column":65},"end":{"line":8,"column":32}},"16":{"start":{"line":9,"column":0},"end":{"line":9,"column":9}},"17":{"start":{"line":14,"column":72},"end":{"line":9,"column":30}},"18":{"start":{"line":10,"column":0},"end":{"line":10,"column":9}},"19":{"start":{"line":14,"column":78},"end":{"line":10,"column":34}},"20":{"start":{"line":11,"column":0},"end":{"line":11,"column":9}},"21":{"start":{"line":14,"column":86},"end":{"line":11,"column":30}},"22":{"start":{"line":12,"column":0},"end":{"line":12,"column":9}},"23":{"start":{"line":14,"column":92},"end":{"line":12,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":14}},"loc":{"start":{"line":14,"column":9},"end":{"line":1,"column":32}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":22}},"loc":{"start":{"line":14,"column":16},"end":{"line":2,"column":34}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":14,"column":24},"end":{"line":14,"column":31}},"loc":{"start":{"line":14,"column":24},"end":{"line":3,"column":36}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":14,"column":33},"end":{"line":14,"column":40}},"loc":{"start":{"line":14,"column":33},"end":{"line":4,"column":36}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":14,"column":42},"end":{"line":14,"column":45}},"loc":{"start":{"line":14,"column":42},"end":{"line":5,"column":28}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":14,"column":47},"end":{"line":14,"column":56}},"loc":{"start":{"line":14,"column":47},"end":{"line":6,"column":40}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":14,"column":58},"end":{"line":14,"column":63}},"loc":{"start":{"line":14,"column":58},"end":{"line":7,"column":32}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":14,"column":65},"end":{"line":14,"column":70}},"loc":{"start":{"line":14,"column":65},"end":{"line":8,"column":32}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":14,"column":72},"end":{"line":14,"column":76}},"loc":{"start":{"line":14,"column":72},"end":{"line":9,"column":30}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":14,"column":78},"end":{"line":14,"column":84}},"loc":{"start":{"line":14,"column":78},"end":{"line":10,"column":34}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":14,"column":86},"end":{"line":14,"column":90}},"loc":{"start":{"line":14,"column":86},"end":{"line":11,"column":30}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":14,"column":92},"end":{"line":14,"column":95}},"loc":{"start":{"line":14,"column":92},"end":{"line":12,"column":28}}}},"branchMap":{},"s":{"0":3,"1":5,"2":3,"3":7,"4":3,"5":4,"6":3,"7":4,"8":3,"9":6,"10":3,"11":4,"12":3,"13":4,"14":3,"15":3,"16":3,"17":4,"18":3,"19":5,"20":3,"21":4,"22":3,"23":4},"f":{"0":2,"1":4,"2":1,"3":1,"4":3,"5":1,"6":1,"7":0,"8":1,"9":2,"10":1,"11":1},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/map.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/map.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":19}}},"fnMap":{"0":{"name":"map","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":20}},"loc":{"start":{"line":1,"column":64},"end":{"line":5,"column":1}}}},"branchMap":{},"s":{"0":4,"1":5,"2":12},"f":{"0":5},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/partition.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/partition.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":22},"end":{"line":2,"column":24}},"2":{"start":{"line":3,"column":21},"end":{"line":3,"column":23}},"3":{"start":{"line":4,"column":2},"end":{"line":10,"column":3}},"4":{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":24}},"6":{"start":{"line":8,"column":6},"end":{"line":8,"column":23}},"7":{"start":{"line":11,"column":2},"end":{"line":11,"column":25}}},"fnMap":{"0":{"name":"partition","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":25}},"loc":{"start":{"line":1,"column":79},"end":{"line":12,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":9,"column":5}},{"start":{"line":7,"column":11},"end":{"line":9,"column":5}}]}},"s":{"0":4,"1":3,"2":3,"3":3,"4":10,"5":4,"6":6,"7":3},"f":{"0":3},"b":{"0":[4,6]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/pluck.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/pluck.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":2},"end":{"line":4,"column":3}},"2":{"start":{"line":3,"column":4},"end":{"line":3,"column":20}}},"fnMap":{"0":{"name":"pluck","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":70},"end":{"line":5,"column":1}}}},"branchMap":{},"s":{"0":4,"1":3,"2":9},"f":{"0":3},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/range.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/range.ts","statementMap":{"0":{"start":{"line":5,"column":0},"end":{"line":5,"column":15}},"1":{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},"2":{"start":{"line":7,"column":4},"end":{"line":7,"column":16}},"3":{"start":{"line":8,"column":4},"end":{"line":8,"column":14}},"4":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"5":{"start":{"line":11,"column":4},"end":{"line":11,"column":55}},"6":{"start":{"line":11,"column":17},"end":{"line":11,"column":22}},"7":{"start":{"line":11,"column":47},"end":{"line":11,"column":55}},"8":{"start":{"line":13,"column":2},"end":{"line":13,"column":53}},"9":{"start":{"line":13,"column":15},"end":{"line":13,"column":20}},"10":{"start":{"line":13,"column":45},"end":{"line":13,"column":53}}},"fnMap":{"0":{"name":"range","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":68},"end":{"line":14,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":52},"end":{"line":5,"column":68}},"type":"default-arg","locations":[{"start":{"line":5,"column":67},"end":{"line":5,"column":68}}]},"1":{"loc":{"start":{"line":6,"column":2},"end":{"line":9,"column":3}},"type":"if","locations":[{"start":{"line":6,"column":2},"end":{"line":9,"column":3}}]},"2":{"loc":{"start":{"line":10,"column":2},"end":{"line":12,"column":3}},"type":"if","locations":[{"start":{"line":10,"column":2},"end":{"line":12,"column":3}}]}},"s":{"0":6,"1":8,"2":1,"3":1,"4":8,"5":1,"6":1,"7":5,"8":8,"9":8,"10":25},"f":{"0":8},"b":{"0":[5],"1":[1],"2":[1]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/scan.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/scan.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":12},"end":{"line":2,"column":19}},"2":{"start":{"line":3,"column":2},"end":{"line":3,"column":12}},"3":{"start":{"line":4,"column":2},"end":{"line":7,"column":3}},"4":{"start":{"line":5,"column":4},"end":{"line":5,"column":24}},"5":{"start":{"line":6,"column":4},"end":{"line":6,"column":14}}},"fnMap":{"0":{"name":"scan","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":21}},"loc":{"start":{"line":1,"column":84},"end":{"line":8,"column":1}}}},"branchMap":{},"s":{"0":4,"1":3,"2":3,"3":3,"4":6,"5":6},"f":{"0":3},"b":{}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/sortBy.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/sortBy.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":2},"end":{"line":2,"column":23}},"2":{"start":{"line":2,"column":13},"end":{"line":2,"column":23}},"3":{"start":{"line":3,"column":2},"end":{"line":3,"column":35}}},"fnMap":{"0":{"name":"sortBy","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":22}},"loc":{"start":{"line":1,"column":88},"end":{"line":4,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":2,"column":2},"end":{"line":2,"column":23}},"type":"if","locations":[{"start":{"line":2,"column":2},"end":{"line":2,"column":23}}]}},"s":{"0":4,"1":5,"2":1,"3":4},"f":{"0":5},"b":{"0":[1]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/uniq.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/uniq.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":15},"end":{"line":2,"column":27}},"2":{"start":{"line":3,"column":22},"end":{"line":3,"column":24}},"3":{"start":{"line":4,"column":2},"end":{"line":9,"column":3}},"4":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"5":{"start":{"line":6,"column":6},"end":{"line":6,"column":21}},"6":{"start":{"line":7,"column":6},"end":{"line":7,"column":24}},"7":{"start":{"line":10,"column":2},"end":{"line":10,"column":16}}},"fnMap":{"0":{"name":"uniq","decl":{"start":{"line":1,"column":16},"end":{"line":1,"column":20}},"loc":{"start":{"line":1,"column":41},"end":{"line":11,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":8,"column":5}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":8,"column":5}}]}},"s":{"0":4,"1":3,"2":3,"3":3,"4":19,"5":15,"6":15,"7":3},"f":{"0":3},"b":{"0":[15]}} -,"/Volumes/ssd500/dev/javascript/fx/src/lazy/zip.ts": {"path":"/Volumes/ssd500/dev/javascript/fx/src/lazy/zip.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":15}},"1":{"start":{"line":2,"column":20},"end":{"line":2,"column":60}},"2":{"start":{"line":2,"column":38},"end":{"line":2,"column":59}},"3":{"start":{"line":3,"column":2},"end":{"line":7,"column":3}},"4":{"start":{"line":4,"column":20},"end":{"line":4,"column":52}},"5":{"start":{"line":4,"column":42},"end":{"line":4,"column":51}},"6":{"start":{"line":5,"column":4},"end":{"line":5,"column":44}},"7":{"start":{"line":5,"column":28},"end":{"line":5,"column":34}},"8":{"start":{"line":5,"column":37},"end":{"line":5,"column":44}},"9":{"start":{"line":6,"column":4},"end":{"line":6,"column":38}},"10":{"start":{"line":6,"column":29},"end":{"line":6,"column":36}}},"fnMap":{"0":{"name":"zip","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":20}},"loc":{"start":{"line":1,"column":47},"end":{"line":8,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":30},"end":{"line":2,"column":31}},"loc":{"start":{"line":2,"column":38},"end":{"line":2,"column":59}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":4,"column":34},"end":{"line":4,"column":35}},"loc":{"start":{"line":4,"column":42},"end":{"line":4,"column":51}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":5,"column":21},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":28},"end":{"line":5,"column":34}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":23}},"loc":{"start":{"line":6,"column":29},"end":{"line":6,"column":36}}}},"branchMap":{"0":{"loc":{"start":{"line":5,"column":4},"end":{"line":5,"column":44}},"type":"if","locations":[{"start":{"line":5,"column":4},"end":{"line":5,"column":44}}]}},"s":{"0":4,"1":5,"2":11,"3":5,"4":16,"5":36,"6":16,"7":30,"8":5,"9":11,"10":25},"f":{"0":5,"1":11,"2":36,"3":30,"4":25},"b":{"0":[5]}} -}