From d0b4a9e9edf0634bfa75d198f6b5d9c0ecc37647 Mon Sep 17 00:00:00 2001 From: Benjamin Eckel Date: Tue, 15 Apr 2025 11:05:11 -0500 Subject: [PATCH 1/2] Bump bingden lib to rc-17 --- package-lock.json | 9 +++++---- package.json | 2 +- src/index.ts | 2 -- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0b512ef..6a36b7d 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.16", + "@dylibso/xtp-bindgen": "1.0.0-rc.17", "ejs": "^3.1.10" }, "devDependencies": { @@ -21,9 +21,10 @@ } }, "node_modules/@dylibso/xtp-bindgen": { - "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==" + "version": "1.0.0-rc.17", + "resolved": "https://registry.npmjs.org/@dylibso/xtp-bindgen/-/xtp-bindgen-1.0.0-rc.17.tgz", + "integrity": "sha512-M5jZR/tTb6/sbZ8A6zypwseW9rQcNOo2wO5CpzcJeFc79Ln48RfjiL/uEa5FdcB1bq+x/5Eo5MvUpSQb/UPnMQ==", + "license": "BSD-3-Clause" }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.0", diff --git a/package.json b/package.json index a337169..c4b0b58 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "typescript": "^5.3.2" }, "dependencies": { - "@dylibso/xtp-bindgen": "1.0.0-rc.16", + "@dylibso/xtp-bindgen": "1.0.0-rc.17", "ejs": "^3.1.10" } } diff --git a/src/index.ts b/src/index.ts index 78caa6e..59e2e6d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -36,8 +36,6 @@ function toRustTypeX(type: XtpNormalizedType): string { return optionalize('f32') case 'double': return optionalize('f64') - case 'byte': - return optionalize('byte') case 'date-time': return optionalize('chrono::DateTime') case 'boolean': From 596fb8fbd2236f2908af6d639d2c7eed13ff9a23 Mon Sep 17 00:00:00 2001 From: Benjamin Eckel Date: Tue, 15 Apr 2025 11:10:46 -0500 Subject: [PATCH 2/2] upgrade free form object type --- src/index.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/index.ts b/src/index.ts index 59e2e6d..9240942 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ import ejs from 'ejs'; -import { ArrayType, EnumType, getContext, helpers, MapType, ObjectType, Property, XtpNormalizedType, XtpTyped } from '@dylibso/xtp-bindgen'; +import { ArrayType, EnumType, getContext, helpers, MapType, FreeFormObjectType, ObjectType, Property, XtpNormalizedType, XtpTyped } from '@dylibso/xtp-bindgen'; // keywords via https://doc.rust-lang.org/reference/keywords.html let KEYWORDS: Set = new Set(['as', 'break', 'const', 'continue', 'crate', 'else', 'enum', 'extern', 'false', 'fn', 'for', 'if', 'impl', 'in', 'let', 'loop', 'match', 'mod', 'move', 'mut', 'pub', 'ref', 'return', 'self', 'Self', 'static', 'struct', 'super', 'trait', 'true', 'type', 'unsafe', 'use', 'where', 'while', 'async', 'await', 'dyn', 'abstract', 'become', 'box', 'do', 'final', 'macro', 'override', 'priv', 'typeof', 'unsized', 'virtual', 'yield', 'try', 'macro_rules', 'union', 'dyn']) @@ -47,12 +47,10 @@ function toRustTypeX(type: XtpNormalizedType): string { return optionalize('Vec') case 'object': const oType = (type as ObjectType) - if (oType.properties?.length > 0) { - return optionalize(`types::${helpers.capitalize(oType.name)}`) - } else { - // we're just exposing the serde values directly for backwards compat - return optionalize('serde_json::Map') - } + return optionalize(`types::${helpers.capitalize(oType.name)}`) + case 'free-form-object': + // we're just exposing the serde values directly for backwards compat + return optionalize('serde_json::Map') case 'enum': return optionalize(`types::${helpers.capitalize((type as EnumType).name)}`) case 'map':