react-native-nitro-modules 0.9.2 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/NitroModules.podspec +2 -0
  2. package/README.md +4 -4
  3. package/android/CMakeLists.txt +3 -0
  4. package/android/build.gradle +26 -2
  5. package/android/src/main/cpp/JNIOnLoad.cpp +5 -5
  6. package/android/src/main/cpp/turbomodule/JNitroModules.cpp +39 -0
  7. package/android/src/main/cpp/turbomodule/JNitroModules.hpp +37 -0
  8. package/android/src/main/java/com/margelo/nitro/NitroModules.kt +69 -0
  9. package/android/src/main/java/com/margelo/nitro/NitroModulesPackage.kt +34 -0
  10. package/android/src/main/java/com/margelo/nitro/core/HybridObject.kt +6 -2
  11. package/android/src/newarch/NitroModulesSpec.kt +6 -0
  12. package/android/src/oldarch/NitroModulesSpec.kt +9 -0
  13. package/cpp/core/BoxedHybridObject.cpp +29 -0
  14. package/cpp/core/BoxedHybridObject.hpp +36 -0
  15. package/cpp/core/HybridFunction.hpp +12 -3
  16. package/cpp/entrypoint/HybridNitroModulesProxy.cpp +55 -0
  17. package/cpp/entrypoint/HybridNitroModulesProxy.hpp +48 -0
  18. package/cpp/entrypoint/InstallNitro.cpp +28 -0
  19. package/cpp/entrypoint/InstallNitro.hpp +41 -0
  20. package/cpp/jsi/JSIConverter+HostObject.hpp +73 -0
  21. package/cpp/jsi/JSIConverter+HybridObject.hpp +1 -1
  22. package/cpp/jsi/JSIConverter.hpp +1 -0
  23. package/cpp/templates/FutureType.hpp +1 -1
  24. package/cpp/templates/TypeIndex.hpp +29 -0
  25. package/cpp/utils/NitroDefines.hpp +5 -0
  26. package/ios/core/AnyMapHolder.hpp +8 -0
  27. package/ios/core/AnyMapHolder.swift +65 -39
  28. package/ios/core/HybridObjectSpec.swift +1 -1
  29. package/ios/platform/NitroLogger.mm +0 -1
  30. package/ios/turbomodule/NativeNitroModules+NewArch.mm +67 -0
  31. package/ios/turbomodule/NativeNitroModules+OldArch.mm +68 -0
  32. package/ios/turbomodule/NativeNitroModules.h +22 -0
  33. package/lib/BoxedHybridObject.d.ts +12 -0
  34. package/lib/BoxedHybridObject.js +1 -0
  35. package/lib/ModuleNotFoundError.js +3 -13
  36. package/lib/NitroModules.d.ts +1 -48
  37. package/lib/NitroModules.js +2 -67
  38. package/lib/NitroModulesProxy.d.ts +58 -0
  39. package/lib/NitroModulesProxy.js +1 -0
  40. package/lib/commonjs/BoxedHybridObject.js +6 -0
  41. package/lib/commonjs/BoxedHybridObject.js.map +1 -0
  42. package/lib/commonjs/ModuleNotFoundError.js +3 -15
  43. package/lib/commonjs/ModuleNotFoundError.js.map +1 -1
  44. package/lib/commonjs/NitroModules.js +11 -72
  45. package/lib/commonjs/NitroModules.js.map +1 -1
  46. package/lib/commonjs/NitroModulesProxy.js +6 -0
  47. package/lib/commonjs/NitroModulesProxy.js.map +1 -0
  48. package/lib/commonjs/turbomodule/NativeNitroModules.js +36 -0
  49. package/lib/commonjs/turbomodule/NativeNitroModules.js.map +1 -0
  50. package/lib/commonjs/turbomodule/NativeNitroModules.web.js +17 -0
  51. package/lib/commonjs/turbomodule/NativeNitroModules.web.js.map +1 -0
  52. package/lib/module/BoxedHybridObject.js +4 -0
  53. package/lib/module/BoxedHybridObject.js.map +1 -0
  54. package/lib/module/ModuleNotFoundError.js +3 -15
  55. package/lib/module/ModuleNotFoundError.js.map +1 -1
  56. package/lib/module/NitroModules.js +2 -72
  57. package/lib/module/NitroModules.js.map +1 -1
  58. package/lib/module/NitroModulesProxy.js +4 -0
  59. package/lib/module/NitroModulesProxy.js.map +1 -0
  60. package/lib/module/turbomodule/NativeNitroModules.js +31 -0
  61. package/lib/module/turbomodule/NativeNitroModules.js.map +1 -0
  62. package/lib/{NitroModulesTurboModule.web.js → module/turbomodule/NativeNitroModules.web.js} +9 -1
  63. package/lib/module/turbomodule/NativeNitroModules.web.js.map +1 -0
  64. package/lib/tsconfig.tsbuildinfo +1 -1
  65. package/lib/turbomodule/NativeNitroModules.d.ts +7 -0
  66. package/lib/turbomodule/NativeNitroModules.js +27 -0
  67. package/lib/turbomodule/NativeNitroModules.web.d.ts +2 -0
  68. package/lib/turbomodule/NativeNitroModules.web.js +9 -0
  69. package/lib/typescript/AnyMap.d.ts +20 -0
  70. package/lib/typescript/BoxedHybridObject.d.ts +13 -0
  71. package/lib/typescript/BoxedHybridObject.d.ts.map +1 -0
  72. package/lib/typescript/HybridObject.d.ts +99 -0
  73. package/lib/typescript/ModuleNotFoundError.d.ts +7 -0
  74. package/lib/typescript/ModuleNotFoundError.d.ts.map +1 -1
  75. package/lib/typescript/NitroModules.d.ts +2 -0
  76. package/lib/typescript/NitroModules.d.ts.map +1 -1
  77. package/lib/typescript/NitroModulesProxy.d.ts +59 -0
  78. package/lib/typescript/NitroModulesProxy.d.ts.map +1 -0
  79. package/lib/typescript/__tests__/index.test.d.ts +1 -0
  80. package/lib/typescript/index.d.ts +4 -0
  81. package/lib/typescript/turbomodule/NativeNitroModules.d.ts +8 -0
  82. package/lib/typescript/turbomodule/NativeNitroModules.d.ts.map +1 -0
  83. package/lib/typescript/turbomodule/NativeNitroModules.web.d.ts +3 -0
  84. package/lib/typescript/turbomodule/NativeNitroModules.web.d.ts.map +1 -0
  85. package/package.json +9 -1
  86. package/src/BoxedHybridObject.ts +13 -0
  87. package/src/ModuleNotFoundError.ts +3 -19
  88. package/src/NitroModules.ts +2 -76
  89. package/src/NitroModulesProxy.ts +61 -0
  90. package/src/turbomodule/NativeNitroModules.ts +48 -0
  91. package/src/turbomodule/NativeNitroModules.web.ts +16 -0
  92. package/android/src/main/java/com/margelo/nitro/NitroModulesPackage.java +0 -30
  93. package/cpp/turbomodule/NativeNitroModules.cpp +0 -131
  94. package/cpp/turbomodule/NativeNitroModules.h +0 -8
  95. package/cpp/turbomodule/NativeNitroModules.hpp +0 -39
  96. package/cpp/turbomodule/RegisterNativeNitroModules.cpp +0 -33
  97. package/cpp/turbomodule/RegisterNativeNitroModules.hpp +0 -21
  98. package/ios/turbomodule/NitroModuleOnLoad.mm +0 -32
  99. package/lib/NativeNitroModules.d.ts +0 -17
  100. package/lib/NativeNitroModules.js +0 -22
  101. package/lib/NativeNitroModules.web.d.ts +0 -4
  102. package/lib/NativeNitroModules.web.js +0 -3
  103. package/lib/NitroModulesTurboModule.d.ts +0 -17
  104. package/lib/NitroModulesTurboModule.js +0 -23
  105. package/lib/NitroModulesTurboModule.web.d.ts +0 -1
  106. package/lib/commonjs/NitroModulesTurboModule.js +0 -34
  107. package/lib/commonjs/NitroModulesTurboModule.js.map +0 -1
  108. package/lib/commonjs/NitroModulesTurboModule.web.js +0 -11
  109. package/lib/commonjs/NitroModulesTurboModule.web.js.map +0 -1
  110. package/lib/module/NitroModulesTurboModule.js +0 -30
  111. package/lib/module/NitroModulesTurboModule.js.map +0 -1
  112. package/lib/module/NitroModulesTurboModule.web.js +0 -7
  113. package/lib/module/NitroModulesTurboModule.web.js.map +0 -1
  114. package/lib/typescript/NitroModulesTurboModule.d.ts +0 -18
  115. package/lib/typescript/NitroModulesTurboModule.d.ts.map +0 -1
  116. package/lib/typescript/NitroModulesTurboModule.web.d.ts +0 -2
  117. package/lib/typescript/NitroModulesTurboModule.web.d.ts.map +0 -1
  118. package/src/NitroModulesTurboModule.ts +0 -49
  119. package/src/NitroModulesTurboModule.web.ts +0 -7
@@ -1,32 +0,0 @@
1
- //
2
- // NitroModuleOnLoad.mm
3
- // DoubleConversion
4
- //
5
- // Created by Marc Rousavy on 21.06.24.
6
- //
7
-
8
- #import "HybridObjectRegistry.hpp"
9
- #import "RegisterNativeNitroModules.hpp"
10
- #import <Foundation/Foundation.h>
11
-
12
- // just import headers so we have syntax highlighting
13
- #import "ArrayBufferHolder.hpp"
14
- #import "HybridContext.hpp"
15
- #import "PromiseHolder.hpp"
16
- #import "SwiftClosure.hpp"
17
-
18
- @interface NitroModulesOnLoad : NSObject
19
- @end
20
-
21
- @implementation NitroModulesOnLoad
22
-
23
- using namespace margelo::nitro;
24
-
25
- + (void)load {
26
- // When this Objective-C class is loaded, it registers the CxxTurboModule in the react module system.
27
- // We need Objective-C here because these things do not get compiled out - meaning this will always be
28
- // called when the app starts.
29
- RegisterNativeNitroModules::registerNativeNitroModules();
30
- }
31
-
32
- @end
@@ -1,17 +0,0 @@
1
- import type { TurboModule } from 'react-native';
2
- import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
3
- export interface Spec extends TurboModule {
4
- install(): void;
5
- createHybridObject(name: string, args?: UnsafeObject): UnsafeObject;
6
- hasHybridObject(name: string): boolean;
7
- getAllHybridObjectNames(): string[];
8
- hasNativeState(obj: UnsafeObject): boolean;
9
- removeNativeState(obj: UnsafeObject): void;
10
- buildType: 'debug' | 'release';
11
- }
12
- export declare function getNativeNitroModules(): Spec;
13
- declare global {
14
- var __nitroModulesJSICache: {};
15
- var __nitroDispatcher: {};
16
- }
17
- export declare function isRuntimeAlive(): boolean;
@@ -1,22 +0,0 @@
1
- import { TurboModuleRegistry } from 'react-native';
2
- import { ModuleNotFoundError } from './ModuleNotFoundError';
3
- let turboModule;
4
- export function getNativeNitroModules() {
5
- if (turboModule == null) {
6
- try {
7
- // 1. Get (and initialize) the C++ TurboModule
8
- turboModule = TurboModuleRegistry.getEnforcing('NitroModulesCxx');
9
- // 2. Install Dispatcher and required bindings into the Runtime
10
- turboModule.install();
11
- }
12
- catch (e) {
13
- throw new ModuleNotFoundError(e);
14
- }
15
- }
16
- return turboModule;
17
- }
18
- export function isRuntimeAlive() {
19
- const cache = global.__nitroModulesJSICache;
20
- const dispatcher = global.__nitroDispatcher;
21
- return cache != null && dispatcher != null;
22
- }
@@ -1,4 +0,0 @@
1
- import type { TurboModule } from 'react-native';
2
- export interface Spec extends TurboModule {
3
- }
4
- export declare function getNativeNitroModules(): Spec;
@@ -1,3 +0,0 @@
1
- export function getNativeNitroModules() {
2
- throw new Error(`Native NitroModules are not available on web! Make sure you're not calling getNativeNitroModules() in a web (.web.ts) environment.`);
3
- }
@@ -1,17 +0,0 @@
1
- import type { TurboModule } from 'react-native';
2
- import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
3
- export interface NativeNitroSpec extends TurboModule {
4
- install(): void;
5
- createHybridObject(name: string, args?: UnsafeObject): UnsafeObject;
6
- hasHybridObject(name: string): boolean;
7
- getAllHybridObjectNames(): string[];
8
- hasNativeState(obj: UnsafeObject): boolean;
9
- removeNativeState(obj: UnsafeObject): void;
10
- buildType: 'debug' | 'release';
11
- }
12
- export declare function getNativeNitroModules(): NativeNitroSpec;
13
- declare global {
14
- var __nitroModulesJSICache: {};
15
- var __nitroDispatcher: {};
16
- }
17
- export declare function isRuntimeAlive(): boolean;
@@ -1,23 +0,0 @@
1
- import { TurboModuleRegistry } from 'react-native';
2
- import { ModuleNotFoundError } from './ModuleNotFoundError';
3
- let turboModule;
4
- export function getNativeNitroModules() {
5
- if (turboModule == null) {
6
- try {
7
- // 1. Get (and initialize) the C++ TurboModule
8
- turboModule =
9
- TurboModuleRegistry.getEnforcing('NitroModulesCxx');
10
- // 2. Install Dispatcher and required bindings into the Runtime
11
- turboModule.install();
12
- }
13
- catch (e) {
14
- throw new ModuleNotFoundError(e);
15
- }
16
- }
17
- return turboModule;
18
- }
19
- export function isRuntimeAlive() {
20
- const cache = global.__nitroModulesJSICache;
21
- const dispatcher = global.__nitroDispatcher;
22
- return cache != null && dispatcher != null;
23
- }
@@ -1 +0,0 @@
1
- export declare function getNativeNitroModules(): never;
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getNativeNitroModules = getNativeNitroModules;
7
- exports.isRuntimeAlive = isRuntimeAlive;
8
- var _reactNative = require("react-native");
9
- var _ModuleNotFoundError = require("./ModuleNotFoundError");
10
- // This TurboModule is *not* codegen'd.
11
- // It's handwritten, because otherwise the app's CMakeLists wants to build it.
12
- // Instead, we want to build it ourselves and have full control over the CMakeLists.
13
-
14
- let turboModule;
15
- function getNativeNitroModules() {
16
- if (turboModule == null) {
17
- try {
18
- // 1. Get (and initialize) the C++ TurboModule
19
- turboModule = _reactNative.TurboModuleRegistry.getEnforcing('NitroModulesCxx');
20
-
21
- // 2. Install Dispatcher and required bindings into the Runtime
22
- turboModule.install();
23
- } catch (e) {
24
- throw new _ModuleNotFoundError.ModuleNotFoundError(e);
25
- }
26
- }
27
- return turboModule;
28
- }
29
- function isRuntimeAlive() {
30
- const cache = global.__nitroModulesJSICache;
31
- const dispatcher = global.__nitroDispatcher;
32
- return cache != null && dispatcher != null;
33
- }
34
- //# sourceMappingURL=NitroModulesTurboModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_ModuleNotFoundError","turboModule","getNativeNitroModules","TurboModuleRegistry","getEnforcing","install","e","ModuleNotFoundError","isRuntimeAlive","cache","global","__nitroModulesJSICache","dispatcher","__nitroDispatcher"],"sourceRoot":"../../src","sources":["NitroModulesTurboModule.ts"],"mappings":";;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAEA;AACA;AACA;;AAcA,IAAIE,WAAwC;AACrC,SAASC,qBAAqBA,CAAA,EAAoB;EACvD,IAAID,WAAW,IAAI,IAAI,EAAE;IACvB,IAAI;MACF;MACAA,WAAW,GACTE,gCAAmB,CAACC,YAAY,CAAkB,iBAAiB,CAAC;;MAEtE;MACAH,WAAW,CAACI,OAAO,CAAC,CAAC;IACvB,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,MAAM,IAAIC,wCAAmB,CAACD,CAAC,CAAC;IAClC;EACF;EAEA,OAAOL,WAAW;AACpB;AAOO,SAASO,cAAcA,CAAA,EAAG;EAC/B,MAAMC,KAAK,GAAGC,MAAM,CAACC,sBAAsB;EAC3C,MAAMC,UAAU,GAAGF,MAAM,CAACG,iBAAiB;EAC3C,OAAOJ,KAAK,IAAI,IAAI,IAAIG,UAAU,IAAI,IAAI;AAC5C","ignoreList":[]}
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getNativeNitroModules = getNativeNitroModules;
7
- var _reactNative = require("react-native");
8
- function getNativeNitroModules() {
9
- throw new Error(`Native NitroModules are not available on ${_reactNative.Platform.OS}! Make sure you're not calling getNativeNitroModules() in a ${_reactNative.Platform.OS} (.${_reactNative.Platform.OS}.ts) environment.`);
10
- }
11
- //# sourceMappingURL=NitroModulesTurboModule.web.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","getNativeNitroModules","Error","Platform","OS"],"sourceRoot":"../../src","sources":["NitroModulesTurboModule.web.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,SAASC,qBAAqBA,CAAA,EAAU;EAC7C,MAAM,IAAIC,KAAK,CACb,4CAA4CC,qBAAQ,CAACC,EAAE,+DAA+DD,qBAAQ,CAACC,EAAE,MAAMD,qBAAQ,CAACC,EAAE,mBACpJ,CAAC;AACH","ignoreList":[]}
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- import { TurboModuleRegistry } from 'react-native';
4
- import { ModuleNotFoundError } from './ModuleNotFoundError';
5
-
6
- // This TurboModule is *not* codegen'd.
7
- // It's handwritten, because otherwise the app's CMakeLists wants to build it.
8
- // Instead, we want to build it ourselves and have full control over the CMakeLists.
9
-
10
- let turboModule;
11
- export function getNativeNitroModules() {
12
- if (turboModule == null) {
13
- try {
14
- // 1. Get (and initialize) the C++ TurboModule
15
- turboModule = TurboModuleRegistry.getEnforcing('NitroModulesCxx');
16
-
17
- // 2. Install Dispatcher and required bindings into the Runtime
18
- turboModule.install();
19
- } catch (e) {
20
- throw new ModuleNotFoundError(e);
21
- }
22
- }
23
- return turboModule;
24
- }
25
- export function isRuntimeAlive() {
26
- const cache = global.__nitroModulesJSICache;
27
- const dispatcher = global.__nitroDispatcher;
28
- return cache != null && dispatcher != null;
29
- }
30
- //# sourceMappingURL=NitroModulesTurboModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["TurboModuleRegistry","ModuleNotFoundError","turboModule","getNativeNitroModules","getEnforcing","install","e","isRuntimeAlive","cache","global","__nitroModulesJSICache","dispatcher","__nitroDispatcher"],"sourceRoot":"../../src","sources":["NitroModulesTurboModule.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAElD,SAASC,mBAAmB,QAAQ,uBAAuB;;AAE3D;AACA;AACA;;AAcA,IAAIC,WAAwC;AAC5C,OAAO,SAASC,qBAAqBA,CAAA,EAAoB;EACvD,IAAID,WAAW,IAAI,IAAI,EAAE;IACvB,IAAI;MACF;MACAA,WAAW,GACTF,mBAAmB,CAACI,YAAY,CAAkB,iBAAiB,CAAC;;MAEtE;MACAF,WAAW,CAACG,OAAO,CAAC,CAAC;IACvB,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,MAAM,IAAIL,mBAAmB,CAACK,CAAC,CAAC;IAClC;EACF;EAEA,OAAOJ,WAAW;AACpB;AAOA,OAAO,SAASK,cAAcA,CAAA,EAAG;EAC/B,MAAMC,KAAK,GAAGC,MAAM,CAACC,sBAAsB;EAC3C,MAAMC,UAAU,GAAGF,MAAM,CAACG,iBAAiB;EAC3C,OAAOJ,KAAK,IAAI,IAAI,IAAIG,UAAU,IAAI,IAAI;AAC5C","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- import { Platform } from 'react-native';
4
- export function getNativeNitroModules() {
5
- throw new Error(`Native NitroModules are not available on ${Platform.OS}! Make sure you're not calling getNativeNitroModules() in a ${Platform.OS} (.${Platform.OS}.ts) environment.`);
6
- }
7
- //# sourceMappingURL=NitroModulesTurboModule.web.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Platform","getNativeNitroModules","Error","OS"],"sourceRoot":"../../src","sources":["NitroModulesTurboModule.web.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,OAAO,SAASC,qBAAqBA,CAAA,EAAU;EAC7C,MAAM,IAAIC,KAAK,CACb,4CAA4CF,QAAQ,CAACG,EAAE,+DAA+DH,QAAQ,CAACG,EAAE,MAAMH,QAAQ,CAACG,EAAE,mBACpJ,CAAC;AACH","ignoreList":[]}
@@ -1,18 +0,0 @@
1
- import type { TurboModule } from 'react-native';
2
- import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
3
- export interface NativeNitroSpec extends TurboModule {
4
- install(): void;
5
- createHybridObject(name: string, args?: UnsafeObject): UnsafeObject;
6
- hasHybridObject(name: string): boolean;
7
- getAllHybridObjectNames(): string[];
8
- hasNativeState(obj: UnsafeObject): boolean;
9
- removeNativeState(obj: UnsafeObject): void;
10
- buildType: 'debug' | 'release';
11
- }
12
- export declare function getNativeNitroModules(): NativeNitroSpec;
13
- declare global {
14
- var __nitroModulesJSICache: {};
15
- var __nitroDispatcher: {};
16
- }
17
- export declare function isRuntimeAlive(): boolean;
18
- //# sourceMappingURL=NitroModulesTurboModule.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NitroModulesTurboModule.d.ts","sourceRoot":"","sources":["../../src/NitroModulesTurboModule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAA;AAM7E,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAElD,OAAO,IAAI,IAAI,CAAA;IAEf,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAA;IACnE,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACtC,uBAAuB,IAAI,MAAM,EAAE,CAAA;IAEnC,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAA;IAC1C,iBAAiB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAA;IAC1C,SAAS,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/B;AAGD,wBAAgB,qBAAqB,IAAI,eAAe,CAevD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,sBAAsB,EAAE,EAAE,CAAA;IAC9B,IAAI,iBAAiB,EAAE,EAAE,CAAA;CAC1B;AAED,wBAAgB,cAAc,YAI7B"}
@@ -1,2 +0,0 @@
1
- export declare function getNativeNitroModules(): never;
2
- //# sourceMappingURL=NitroModulesTurboModule.web.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NitroModulesTurboModule.web.d.ts","sourceRoot":"","sources":["../../src/NitroModulesTurboModule.web.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,IAAI,KAAK,CAI7C"}
@@ -1,49 +0,0 @@
1
- import type { TurboModule } from 'react-native'
2
- import { TurboModuleRegistry } from 'react-native'
3
- import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes'
4
- import { ModuleNotFoundError } from './ModuleNotFoundError'
5
-
6
- // This TurboModule is *not* codegen'd.
7
- // It's handwritten, because otherwise the app's CMakeLists wants to build it.
8
- // Instead, we want to build it ourselves and have full control over the CMakeLists.
9
- export interface NativeNitroSpec extends TurboModule {
10
- // Set up
11
- install(): void
12
- // Hybrid Objects stuff
13
- createHybridObject(name: string, args?: UnsafeObject): UnsafeObject
14
- hasHybridObject(name: string): boolean
15
- getAllHybridObjectNames(): string[]
16
- // JSI Helpers
17
- hasNativeState(obj: UnsafeObject): boolean
18
- removeNativeState(obj: UnsafeObject): void
19
- buildType: 'debug' | 'release'
20
- }
21
-
22
- let turboModule: NativeNitroSpec | undefined
23
- export function getNativeNitroModules(): NativeNitroSpec {
24
- if (turboModule == null) {
25
- try {
26
- // 1. Get (and initialize) the C++ TurboModule
27
- turboModule =
28
- TurboModuleRegistry.getEnforcing<NativeNitroSpec>('NitroModulesCxx')
29
-
30
- // 2. Install Dispatcher and required bindings into the Runtime
31
- turboModule.install()
32
- } catch (e) {
33
- throw new ModuleNotFoundError(e)
34
- }
35
- }
36
-
37
- return turboModule
38
- }
39
-
40
- declare global {
41
- var __nitroModulesJSICache: {}
42
- var __nitroDispatcher: {}
43
- }
44
-
45
- export function isRuntimeAlive() {
46
- const cache = global.__nitroModulesJSICache
47
- const dispatcher = global.__nitroDispatcher
48
- return cache != null && dispatcher != null
49
- }
@@ -1,7 +0,0 @@
1
- import { Platform } from 'react-native'
2
-
3
- export function getNativeNitroModules(): never {
4
- throw new Error(
5
- `Native NitroModules are not available on ${Platform.OS}! Make sure you're not calling getNativeNitroModules() in a ${Platform.OS} (.${Platform.OS}.ts) environment.`
6
- )
7
- }