diff --git a/package.json b/package.json index 14ec09d..2933962 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "type": "module", "types": "dist/hyparquet.d.ts", "scripts": { - "build": "tsc", + "build": "tsc && cp src/*.js dist", "coverage": "vitest run --coverage", "demo": "http-server -o", "lint": "eslint . --ext .ts", diff --git a/src/metadata.ts b/src/metadata.ts index 073c84d..e0ecf09 100644 --- a/src/metadata.ts +++ b/src/metadata.ts @@ -123,13 +123,14 @@ export function schemaElement(schema: SchemaElement[], name: string[]): SchemaEl * @param {unknown} obj object to convert * @returns {unknown} converted object */ -export function toJson(obj: unknown): unknown { +export function toJson(obj: any): unknown { if (typeof obj === 'bigint') { return Number(obj) } else if (Array.isArray(obj)) { return obj.map(toJson) - } else if (typeof obj === 'object') { - const newObj = {} + } else if (obj instanceof Object) { + /** @type {Record} */ + const newObj: Record = {} for (const key of Object.keys(obj)) { newObj[key] = toJson(obj[key]) } diff --git a/src/snappy.ts b/src/snappy.js similarity index 92% rename from src/snappy.ts rename to src/snappy.js index 20e49f3..aedccce 100644 --- a/src/snappy.ts +++ b/src/snappy.js @@ -10,7 +10,7 @@ const WORD_MASK = [0, 0xff, 0xffff, 0xffffff, 0xffffffff] * @param {number} length number of bytes to copy * @returns {void} */ -function copyBytes(fromArray: Uint8Array, fromPos: number, toArray: Uint8Array, toPos: number, length: number) { +function copyBytes(fromArray, fromPos, toArray, toPos, length) { for (let i = 0; i < length; i++) { toArray[toPos + i] = fromArray[fromPos + i] } @@ -25,7 +25,7 @@ function copyBytes(fromArray: Uint8Array, fromPos: number, toArray: Uint8Array, * @param {number} length number of bytes to copy * @returns {void} */ -function selfCopyBytes(array: Uint8Array, pos: number, offset: number, length: number) { +function selfCopyBytes(array, pos, offset, length) { for (let i = 0; i < length; i++) { array[pos + i] = array[pos - offset + i] } @@ -39,7 +39,7 @@ function selfCopyBytes(array: Uint8Array, pos: number, offset: number, length: n * @param {Uint8Array} outputArray output buffer * @returns {boolean} true if successful */ -export function snappyUncompress(inputArray: Uint8Array, outputArray: Uint8Array): boolean { +export function snappyUncompress(inputArray, outputArray) { const inputLength = inputArray.byteLength let pos = 0 diff --git a/src/thrift.ts b/src/thrift.ts index 61ea46d..62cdbb9 100644 --- a/src/thrift.ts +++ b/src/thrift.ts @@ -28,7 +28,8 @@ export function deserializeTCompactProtocol(arrayBuffer: ArrayBuffer): Decoded} */ + const value: Record = {} while (byteLength < arrayBuffer.byteLength) { // Parse each field based on its type and add to the result object @@ -91,7 +92,8 @@ function readElement(view: DataView, type: number, index: number): [any, number] return [listValues, index] } case CompactType.STRUCT: { - const structValues = {} + /** @type {Record} */ + const structValues: Record = {} let structLastFid = 0 while (true) { let structFieldType, structFid, structIndex diff --git a/tsconfig.json b/tsconfig.json index 4b50dee..36a613c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,10 +1,13 @@ { "compilerOptions": { - "declaration": true, + "allowJs": true, + "checkJs": true, "lib": ["esnext", "dom"], "module": "nodenext", "outDir": "dist", + "skipLibCheck": true, "sourceMap": true, + "strict": true, "target": "esnext", }, "include": ["src"]