From 5fda7ccf79418bd5e86f771ed175e59beb10db35 Mon Sep 17 00:00:00 2001 From: Kenny Daniel Date: Thu, 28 Dec 2023 09:27:39 -0800 Subject: [PATCH] Return number instead of bigint, if it's safe to do so --- src/hyllama.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/hyllama.ts b/src/hyllama.ts index 04c4d79..060a0f9 100644 --- a/src/hyllama.ts +++ b/src/hyllama.ts @@ -67,7 +67,7 @@ export function ggufMetadata(arrayBuffer: ArrayBuffer): Record { const metadata: Record = {} metadata['version'] = version - metadata['tensorCount'] = tensorCount + metadata['tensorCount'] = castNumber(tensorCount) // initial offset after header let offset = 24 @@ -90,3 +90,11 @@ export function ggufMetadata(arrayBuffer: ArrayBuffer): Record { return metadata } + +/** + * Cast a bigint to a number, if it is safe to do so + */ +function castNumber(value: bigint): number | bigint { + if (value > Number.MAX_SAFE_INTEGER) return value + return Number(value) +}