@@ -210,6 +210,20 @@ function createStructs(
210
210
const templateParameter = value . properties
211
211
. map ( ( v , i ) => 'P' + i )
212
212
. join ( ', ' ) ;
213
+ const paramemterConversion = value . properties
214
+ . map ( ( v , i ) => {
215
+ const translatedParam = translatePrimitiveJSTypeToCpp (
216
+ v . typeAnnotation ,
217
+ false ,
218
+ typeName =>
219
+ `Unsupported type for param "${ v . name } ". Found: ${ typeName } ` ,
220
+ resolveAlias ,
221
+ ) ;
222
+ return ` static ${ translatedParam } ${ v . name } ToJs(jsi::Runtime &rt, P${ i } value) {
223
+ return bridging::toJs(rt, value);
224
+ }` ;
225
+ } )
226
+ . join ( '\n' ) ;
213
227
return `#pragma mark - ${ structName }
214
228
215
229
template <${ templateParameterWithTypename } >
@@ -238,25 +252,29 @@ ${value.properties
238
252
return result;
239
253
}
240
254
255
+ #ifdef DEBUG
256
+ ${ paramemterConversion }
257
+ #endif
258
+
241
259
static jsi::Object toJs(
242
- jsi::Runtime &rt,
243
- const ${ structName } <${ templateParameter } > &value,
244
- const std::shared_ptr<CallInvoker> &jsInvoker) {
245
- auto result = facebook::jsi::Object(rt);
246
- ${ value . properties
247
- . map ( ( v , i ) => {
248
- if ( v . optional ) {
249
- return ` if (value.${ v . name } ) {
250
- result.setProperty(rt, "${ v . name } ", bridging::toJs(rt, value.${ v . name } .value(), jsInvoker));
251
- }` ;
252
- } else {
253
- return ` result.setProperty(rt, "${ v . name } ", bridging::toJs(rt, value.${ v . name } , jsInvoker));` ;
254
- }
255
- } )
256
- . join ( '\n' ) }
257
- return result;
258
- }
259
- };
260
+ jsi::Runtime &rt,
261
+ const ${ structName } <${ templateParameter } > &value,
262
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
263
+ auto result = facebook::jsi::Object(rt);
264
+ ${ value . properties
265
+ . map ( ( v , i ) => {
266
+ if ( v . optional ) {
267
+ return ` if (value.${ v . name } ) {
268
+ result.setProperty(rt, "${ v . name } ", bridging::toJs(rt, value.${ v . name } .value(), jsInvoker));
269
+ }` ;
270
+ } else {
271
+ return ` result.setProperty(rt, "${ v . name } ", bridging::toJs(rt, value.${ v . name } , jsInvoker));` ;
272
+ }
273
+ } )
274
+ . join ( '\n' ) }
275
+ return result;
276
+ }
277
+ };
260
278
261
279
` ;
262
280
} )
0 commit comments