Indent C++ method declarations

Summary:
This moves the `indent` function into a `Utils` module so it can be also used to properly indent the abstract methods declarations in a C++ TurboModule spec.

Changelog:
Internal

Reviewed By: nlutsenko

Differential Revision: D34704456

fbshipit-source-id: 88a3a672e4860927b5dd1f5107f40da7b5a83e51
This commit is contained in:
Scott Kyle
2022-03-07 19:21:51 -08:00
committed by Facebook GitHub Bot
parent 3b61f2108d
commit 269fa37bb8
4 changed files with 58 additions and 47 deletions
+14
View File
@@ -14,6 +14,20 @@ function capitalize(string: string): string {
return string.charAt(0).toUpperCase() + string.slice(1);
}
function indent(nice: string, spaces: number): string {
return nice
.split('\n')
.map((line, index) => {
if (line.length === 0 || index === 0) {
return line;
}
const emptySpaces = new Array(spaces + 1).join(' ');
return emptySpaces + line;
})
.join('\n');
}
module.exports = {
capitalize,
indent,
};
@@ -16,7 +16,8 @@ const {
getCppTypeForAnnotation,
toSafeCppString,
generateEventStructName,
} = require('./CppHelpers.js');
} = require('./CppHelpers');
const {indent} = require('../Utils');
import type {
ComponentShape,
@@ -110,19 +111,6 @@ static char const *toString(const ${enumName} value) {
}
`.trim();
function indent(nice: string, spaces: number) {
return nice
.split('\n')
.map((line, index) => {
if (line.length === 0 || index === 0) {
return line;
}
const emptySpaces = new Array(spaces + 1).join(' ');
return emptySpaces + line;
})
.join('\n');
}
function getNativeTypeFromAnnotation(
componentName: string,
eventProperty: NamedShape<EventTypeAnnotation>,
@@ -19,6 +19,7 @@ import type {
import type {AliasResolver} from './Utils';
const {createAliasResolver, getModules} = require('./Utils');
const {indent} = require('../Utils');
const {unwrapNullable} = require('../../parsers/flow/modules/utils');
type FilesOutput = Map<string, string>;
@@ -32,7 +33,7 @@ protected:
${hasteModuleName}CxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
${moduleProperties}
${indent(moduleProperties, 2)}
};`;
};
@@ -57,6 +58,7 @@ const FileTemplate = ({
namespace facebook {
namespace react {
${modules}
} // namespace react
@@ -17,12 +17,13 @@ Map {
namespace facebook {
namespace react {
class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule {
protected:
NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
};
@@ -49,15 +50,16 @@ Map {
namespace facebook {
namespace react {
class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule {
protected:
NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
virtual jsi::Object difficult(jsi::Runtime &rt, const jsi::Object &A) = 0;
virtual void optionals(jsi::Runtime &rt, const jsi::Object &A) = 0;
virtual void optionalMethod(jsi::Runtime &rt, const jsi::Object &options, const jsi::Function &callback, const jsi::Array &extras) = 0;
virtual void getArrays(jsi::Runtime &rt, const jsi::Object &options) = 0;
virtual jsi::Object difficult(jsi::Runtime &rt, const jsi::Object &A) = 0;
virtual void optionals(jsi::Runtime &rt, const jsi::Object &A) = 0;
virtual void optionalMethod(jsi::Runtime &rt, const jsi::Object &options, const jsi::Function &callback, const jsi::Array &extras) = 0;
virtual void getArrays(jsi::Runtime &rt, const jsi::Object &options) = 0;
};
@@ -84,12 +86,13 @@ Map {
namespace facebook {
namespace react {
class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule {
protected:
NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
};
@@ -116,13 +119,14 @@ Map {
namespace facebook {
namespace react {
class JSI_EXPORT AliasTurboModuleCxxSpecJSI : public TurboModule {
protected:
AliasTurboModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
virtual void cropImage(jsi::Runtime &rt, const jsi::Object &cropData) = 0;
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
virtual void cropImage(jsi::Runtime &rt, const jsi::Object &cropData) = 0;
};
@@ -149,15 +153,16 @@ Map {
namespace facebook {
namespace react {
class JSI_EXPORT NativeCameraRollManagerCxxSpecJSI : public TurboModule {
protected:
NativeCameraRollManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
virtual jsi::Value getPhotos(jsi::Runtime &rt, const jsi::Object &params) = 0;
virtual jsi::Value saveToCameraRoll(jsi::Runtime &rt, const jsi::String &uri, const jsi::String &type) = 0;
virtual jsi::Value deletePhotos(jsi::Runtime &rt, const jsi::Array &assets) = 0;
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
virtual jsi::Value getPhotos(jsi::Runtime &rt, const jsi::Object &params) = 0;
virtual jsi::Value saveToCameraRoll(jsi::Runtime &rt, const jsi::String &uri, const jsi::String &type) = 0;
virtual jsi::Value deletePhotos(jsi::Runtime &rt, const jsi::Array &assets) = 0;
};
class JSI_EXPORT NativeImagePickerIOSCxxSpecJSI : public TurboModule {
@@ -165,7 +170,7 @@ protected:
NativeImagePickerIOSCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
virtual void openCameraDialog(jsi::Runtime &rt, const jsi::Object &config, const jsi::Function &successCallback, const jsi::Function &cancelCallback) = 0;
virtual void openCameraDialog(jsi::Runtime &rt, const jsi::Object &config, const jsi::Function &successCallback, const jsi::Function &cancelCallback) = 0;
};
class JSI_EXPORT NativeExceptionsManagerCxxSpecJSI : public TurboModule {
@@ -173,11 +178,11 @@ protected:
NativeExceptionsManagerCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
virtual void reportFatalException(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0;
virtual void reportSoftException(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0;
virtual void reportException(jsi::Runtime &rt, const jsi::Object &data) = 0;
virtual void updateExceptionMessage(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0;
virtual void dismissRedbox(jsi::Runtime &rt) = 0;
virtual void reportFatalException(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0;
virtual void reportSoftException(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0;
virtual void reportException(jsi::Runtime &rt, const jsi::Object &data) = 0;
virtual void updateExceptionMessage(jsi::Runtime &rt, const jsi::String &message, const jsi::Array &stack, double exceptionId) = 0;
virtual void dismissRedbox(jsi::Runtime &rt) = 0;
};
@@ -204,22 +209,23 @@ Map {
namespace facebook {
namespace react {
class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule {
protected:
NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
virtual void voidFunc(jsi::Runtime &rt) = 0;
virtual bool getBool(jsi::Runtime &rt, bool arg) = 0;
virtual double getNumber(jsi::Runtime &rt, double arg) = 0;
virtual jsi::String getString(jsi::Runtime &rt, const jsi::String &arg) = 0;
virtual jsi::Array getArray(jsi::Runtime &rt, const jsi::Array &arg) = 0;
virtual jsi::Object getObject(jsi::Runtime &rt, const jsi::Object &arg) = 0;
virtual double getRootTag(jsi::Runtime &rt, double arg) = 0;
virtual jsi::Object getValue(jsi::Runtime &rt, double x, const jsi::String &y, const jsi::Object &z) = 0;
virtual void getValueWithCallback(jsi::Runtime &rt, const jsi::Function &callback) = 0;
virtual jsi::Value getValueWithPromise(jsi::Runtime &rt, bool error) = 0;
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
virtual void voidFunc(jsi::Runtime &rt) = 0;
virtual bool getBool(jsi::Runtime &rt, bool arg) = 0;
virtual double getNumber(jsi::Runtime &rt, double arg) = 0;
virtual jsi::String getString(jsi::Runtime &rt, const jsi::String &arg) = 0;
virtual jsi::Array getArray(jsi::Runtime &rt, const jsi::Array &arg) = 0;
virtual jsi::Object getObject(jsi::Runtime &rt, const jsi::Object &arg) = 0;
virtual double getRootTag(jsi::Runtime &rt, double arg) = 0;
virtual jsi::Object getValue(jsi::Runtime &rt, double x, const jsi::String &y, const jsi::Object &z) = 0;
virtual void getValueWithCallback(jsi::Runtime &rt, const jsi::Function &callback) = 0;
virtual jsi::Value getValueWithPromise(jsi::Runtime &rt, bool error) = 0;
};
@@ -246,12 +252,13 @@ Map {
namespace facebook {
namespace react {
class JSI_EXPORT NativeSampleTurboModuleCxxSpecJSI : public TurboModule {
protected:
NativeSampleTurboModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
virtual void voidFunc(jsi::Runtime &rt) = 0;
virtual void voidFunc(jsi::Runtime &rt) = 0;
};
class JSI_EXPORT NativeSampleTurboModule2CxxSpecJSI : public TurboModule {
@@ -259,8 +266,8 @@ protected:
NativeSampleTurboModule2CxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
public:
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
virtual void voidFunc(jsi::Runtime &rt) = 0;
virtual jsi::Object getConstants(jsi::Runtime &rt) = 0;
virtual void voidFunc(jsi::Runtime &rt) = 0;
};