Add setMethodArgConversionSelector
Summary: `setMethodArgConversionSelector` is method for provinding generated structs for methods' params. It was exactly how in old codegen. Reviewed By: RSNara Differential Revision: D16784403 fbshipit-source-id: d35bc8160be62385527299a6b8e68c1159002853
This commit is contained in:
Родитель
40dd48c6bd
Коммит
c0304aaa9b
|
@ -36,7 +36,7 @@ const moduleTemplate = `
|
|||
|
||||
Native::_MODULE_NAME_::SpecJSI::Native::_MODULE_NAME_::SpecJSI(id<RCTTurboModule> instance, std::shared_ptr<JSCallInvoker> jsInvoker)
|
||||
: ObjCTurboModule("::_MODULE_NAME_::", instance, jsInvoker) {
|
||||
::_PROPERTIES_MAP_::
|
||||
::_PROPERTIES_MAP_::::_CONVERSION_SELECTORS_::
|
||||
}`.trim();
|
||||
|
||||
const getterTemplate = `
|
||||
|
@ -48,6 +48,9 @@ const getterTemplate = `
|
|||
@end
|
||||
`.trim();
|
||||
|
||||
const argConvertionTemplate =
|
||||
'\n setMethodArgConversionSelector(@"::_ARG_NAME_::", ::_ARG_NUMBER_::, @"JS_Native::_MODULE_NAME_::_Spec::_SELECTOR_NAME_:::");';
|
||||
|
||||
const template = `
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
|
@ -221,6 +224,28 @@ module.exports = {
|
|||
)
|
||||
.join('\n'),
|
||||
)
|
||||
.replace(
|
||||
'::_CONVERSION_SELECTORS_::',
|
||||
properties
|
||||
.map(({name: propertyName, typeAnnotation: {params}}) =>
|
||||
params
|
||||
.map((param, index) =>
|
||||
param.typeAnnotation.type === 'ObjectTypeAnnotation' &&
|
||||
param.typeAnnotation.properties
|
||||
? argConvertionTemplate
|
||||
.replace(
|
||||
'::_SELECTOR_NAME_::',
|
||||
capitalizeFirstLetter(propertyName) +
|
||||
capitalizeFirstLetter(param.name),
|
||||
)
|
||||
.replace('::_ARG_NUMBER_::', index.toString())
|
||||
.replace('::_ARG_NAME_::', propertyName)
|
||||
: '',
|
||||
)
|
||||
.join(''),
|
||||
)
|
||||
.join(''),
|
||||
)
|
||||
.replace(/::_MODULE_NAME_::/g, name);
|
||||
})
|
||||
.join('\n');
|
||||
|
|
|
@ -40,6 +40,7 @@ static facebook::jsi::Value __hostFunction_NativeSampleTurboModuleSpecJSI_diffic
|
|||
NativeSampleTurboModuleSpecJSI::NativeSampleTurboModuleSpecJSI(id<RCTTurboModule> instance, std::shared_ptr<JSCallInvoker> jsInvoker)
|
||||
: ObjCTurboModule(\\"SampleTurboModule\\", instance, jsInvoker) {
|
||||
methodMap_[\\"difficult\\"] = MethodMetadata {1, __hostFunction_NativeSampleTurboModuleSpecJSI_difficult};
|
||||
setMethodArgConversionSelector(@\\"difficult\\", 0, @\\"JS_NativeSampleTurboModule_SpecDifficultA:\\");
|
||||
}
|
||||
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче