diff --git a/src/xy/__tests__/xySortX.test.ts b/src/xy/__tests__/xySortX.test.ts index 9ca42280..5652d9a4 100644 --- a/src/xy/__tests__/xySortX.test.ts +++ b/src/xy/__tests__/xySortX.test.ts @@ -43,3 +43,19 @@ test('sorted reverse', () => { y: Float64Array.from([3, 2, 1]), }); }); + +test('typed XY arrays', () => { + const data = { + x: Float64Array.from([ + 1.557, 1.265, 1.535, 1.622, 2, 1.426, 1.094, 1.201, 1.825, + ]), + y: Float64Array.from([0, 1, 2, 5, 6, 7, 8, 9, 10]), + }; + const result = xySortX(data); + expect(result).toStrictEqual({ + x: Float64Array.from([ + 1.094, 1.201, 1.265, 1.426, 1.535, 1.557, 1.622, 1.825, 2, + ]), + y: Float64Array.from([8, 9, 1, 7, 2, 0, 5, 10, 6]), + }); +}); diff --git a/src/xy/utils/integral.test.ts b/src/xy/utils/__tests__/integral.test.ts similarity index 92% rename from src/xy/utils/integral.test.ts rename to src/xy/utils/__tests__/integral.test.ts index 0834a0d4..4bac56da 100644 --- a/src/xy/utils/integral.test.ts +++ b/src/xy/utils/__tests__/integral.test.ts @@ -1,6 +1,6 @@ import { expect, test } from 'vitest'; -import integral from './integral'; +import integral from '../integral'; test('should compute expect(integral with a,b, x0 and x1', () => { expect(integral(0, 1, 1, 0)).toBe(0.5); diff --git a/src/xy/xySortX.ts b/src/xy/xySortX.ts index e240dfd0..1766a425 100644 --- a/src/xy/xySortX.ts +++ b/src/xy/xySortX.ts @@ -24,12 +24,10 @@ export function xySortX(data: DataXY): DataXY { } } - const xyObject = (x as number[]) - .map((val, index) => ({ - x: val, - y: y[index], - })) - .sort((a, b) => a.x - b.x); + const xyObject = Array.from(x, (val, index) => ({ + x: val, + y: y[index], + })).sort((a, b) => a.x - b.x); const response = { x: new Float64Array(x.length),