Files
react-native/ReactCommon/react/nativemodule/samples/platform/ios/SampleTurboCxxModuleLegacyImpl.h
T
Rubén Norte e088a4fe9c Add support for UnsafeObject to allow using Flow strict in native modules
Summary:
This new type will be valid in Flow strict mode and can be used by native modules and components to replace `Object`, with the same semantics.

This unblocks the migration of the most modules in the React Native package to Flow strict.

Changelog: [Internal] Add UnsafeObject type compatible with Flow strict mode to use in native modules and components

Reviewed By: RSNara

Differential Revision: D25540631

fbshipit-source-id: 60b80bbc84a53aecc747e3a1799cdf551e1859cd
2021-01-04 03:56:57 -08:00

48 lines
1.4 KiB
Objective-C

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#import <cxxreact/CxxModule.h>
namespace facebook {
namespace react {
/**
* A sample CxxModule (legacy system) implementation.
*/
class SampleTurboCxxModuleLegacyImpl
: public facebook::xplat::module::CxxModule {
public:
SampleTurboCxxModuleLegacyImpl();
std::string getName() override;
std::map<std::string, folly::dynamic> getConstants() override;
std::vector<facebook::xplat::module::CxxModule::Method> getMethods() override;
// API
void voidFunc();
bool getBool(bool arg);
double getNumber(double arg);
std::string getString(const std::string &arg);
folly::dynamic getArray(const folly::dynamic &arg);
folly::dynamic getObject(const folly::dynamic &arg);
folly::dynamic getUnsafeObject(const folly::dynamic &arg);
double getRootTag(double arg);
folly::dynamic
getValue(double x, const std::string &y, const folly::dynamic &z);
void getValueWithCallback(
const facebook::xplat::module::CxxModule::Callback &callback);
void getValueWithPromise(
bool error,
const facebook::xplat::module::CxxModule::Callback &resolve,
const facebook::xplat::module::CxxModule::Callback &reject);
};
} // namespace react
} // namespace facebook