From 29c9960792f06190a6ba454254a9f515445f8b41 Mon Sep 17 00:00:00 2001 From: Benjamin Eckel Date: Tue, 3 Dec 2024 14:34:03 -0600 Subject: [PATCH 1/2] update bindgen --- package-lock.json | 9 ++++----- package.json | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2c6b4d4..6f9cd0e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "license": "BSD-3-Clause", "dependencies": { - "@dylibso/xtp-bindgen": "1.0.0-rc.13", + "@dylibso/xtp-bindgen": "1.0.0-rc.16", "ejs": "^3.1.10" }, "devDependencies": { @@ -21,10 +21,9 @@ } }, "node_modules/@dylibso/xtp-bindgen": { - "version": "1.0.0-rc.13", - "resolved": "https://registry.npmjs.org/@dylibso/xtp-bindgen/-/xtp-bindgen-1.0.0-rc.13.tgz", - "integrity": "sha512-aCmYSgC3Xwdlhm8mBKVpkzuHAtQ84ZgIwkdYQ3QFmDRxnBlZUtOZgpRoJTtOnahm0lUCiBkWkLcsikUluMY/qw==", - "license": "BSD-3-Clause" + "version": "1.0.0-rc.16", + "resolved": "https://registry.npmjs.org/@dylibso/xtp-bindgen/-/xtp-bindgen-1.0.0-rc.16.tgz", + "integrity": "sha512-qbv3tH7jpyq4p2czEGGwZudWByZUOttCeRXs2mnMZB+fNuW90W2FfqBHfdAijMABnhTII45AkmQHS3w/9SpSwg==" }, "node_modules/@esbuild/aix-ppc64": { "version": "0.19.12", diff --git a/package.json b/package.json index bd1786f..2a9adfa 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "typescript": "^5.3.2" }, "dependencies": { - "@dylibso/xtp-bindgen": "1.0.0-rc.13", + "@dylibso/xtp-bindgen": "1.0.0-rc.16", "ejs": "^3.1.10" } } From d41f6f28103d73ed1e9fd2db8a1faad1e93a752c Mon Sep 17 00:00:00 2001 From: zach Date: Tue, 3 Dec 2024 14:51:21 -0800 Subject: [PATCH 2/2] fix: handle int64 type and untyped objects --- src/index.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index c7e0ef8..fb0ede5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -30,6 +30,8 @@ function toPythonTypeX(type: XtpNormalizedType): string { return opt('str'); case 'int32': return opt('int'); + case 'int64': + return opt('int'); case 'float': return opt('float'); case 'double': @@ -49,11 +51,15 @@ function toPythonTypeX(type: XtpNormalizedType): string { // TODO: improve typing of dicts return opt('dict'); case 'object': - return opt(pythonTypeName((type as ObjectType).name)); + const name = (type as ObjectType).name; + if (!name) { + return opt('dict'); + } + return opt(pythonTypeName(name)); case 'enum': return opt(pythonTypeName((type as EnumType).name)); default: - throw new Error("Can't convert XTP type to Python type: " + type) + throw new Error("Can't convert XTP type to Python type: " + JSON.stringify(type)) } }