react-native-nitro-modules 0.0.2 → 0.0.6

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 +49 -0
  2. package/android/CMakeLists.txt +44 -7
  3. package/android/build.gradle +28 -24
  4. package/cpp/core/AnyMap.cpp +181 -0
  5. package/cpp/core/AnyMap.hpp +191 -0
  6. package/cpp/core/HybridContext.hpp +51 -0
  7. package/cpp/core/HybridObject.cpp +220 -0
  8. package/cpp/core/HybridObject.hpp +241 -0
  9. package/cpp/core/PointerHolder.hpp +93 -0
  10. package/cpp/jsi/ArrayBuffer.hpp +79 -0
  11. package/cpp/jsi/JSICache.hpp +145 -0
  12. package/cpp/jsi/JSIConverter.hpp +610 -0
  13. package/cpp/jsi/Promise.cpp +54 -0
  14. package/cpp/jsi/Promise.hpp +54 -0
  15. package/cpp/platform/ThreadUtils.hpp +23 -0
  16. package/cpp/registry/HybridObjectRegistry.cpp +57 -0
  17. package/cpp/registry/HybridObjectRegistry.hpp +44 -0
  18. package/cpp/test-object/TestHybridObject.cpp +37 -0
  19. package/cpp/test-object/TestHybridObject.hpp +87 -0
  20. package/cpp/threading/CallInvokerDispatcher.hpp +33 -0
  21. package/cpp/threading/Dispatcher.cpp +56 -0
  22. package/cpp/threading/Dispatcher.hpp +82 -0
  23. package/cpp/turbomodule/NativeNitroModules.cpp +70 -0
  24. package/cpp/turbomodule/NativeNitroModules.h +7 -0
  25. package/cpp/turbomodule/NativeNitroModules.hpp +35 -0
  26. package/cpp/turbomodule/RegisterNativeNitroModules.cpp +33 -0
  27. package/cpp/turbomodule/RegisterNativeNitroModules.hpp +21 -0
  28. package/cpp/utils/BorrowingReference+Owning.hpp +34 -0
  29. package/cpp/utils/BorrowingReference.hpp +115 -0
  30. package/cpp/utils/DoesClassExist.hpp +23 -0
  31. package/cpp/utils/GetRuntimeID.hpp +28 -0
  32. package/cpp/utils/NitroDefines.hpp +32 -0
  33. package/cpp/utils/NitroHash.hpp +42 -0
  34. package/cpp/utils/NitroLogger.hpp +55 -0
  35. package/cpp/utils/OwningLock.hpp +54 -0
  36. package/cpp/utils/OwningReference.hpp +214 -0
  37. package/cpp/utils/TypeInfo.hpp +81 -0
  38. package/ios/core/HybridObjectSpec.swift +52 -0
  39. package/ios/core/RuntimeError.swift +17 -0
  40. package/ios/platform/ThreadUtils.cpp +28 -0
  41. package/ios/turbomodule/NitroModuleOnLoad.mm +31 -0
  42. package/lib/AnyMap.d.ts +16 -0
  43. package/lib/AnyMap.js +1 -0
  44. package/lib/HybridObject.d.ts +57 -0
  45. package/lib/HybridObject.js +1 -0
  46. package/lib/ModuleNotFoundError.d.ts +6 -0
  47. package/lib/ModuleNotFoundError.js +61 -0
  48. package/lib/NativeNitro.d.ts +8 -0
  49. package/lib/NativeNitro.js +3 -0
  50. package/lib/NativeNitroModules.d.ts +7 -0
  51. package/lib/NativeNitroModules.js +17 -0
  52. package/lib/NitroModules.d.ts +17 -0
  53. package/lib/NitroModules.js +21 -0
  54. package/lib/__tests__/index.test.d.ts +0 -0
  55. package/lib/__tests__/index.test.js +2 -0
  56. package/lib/commonjs/AnyMap.js +2 -0
  57. package/lib/commonjs/AnyMap.js.map +1 -0
  58. package/lib/commonjs/HybridObject.js +2 -0
  59. package/lib/commonjs/HybridObject.js.map +1 -0
  60. package/lib/commonjs/ModuleNotFoundError.js +72 -0
  61. package/lib/commonjs/ModuleNotFoundError.js.map +1 -0
  62. package/lib/commonjs/NativeNitroModules.js +24 -0
  63. package/lib/commonjs/NativeNitroModules.js.map +1 -0
  64. package/lib/commonjs/NitroModules.js +32 -0
  65. package/lib/commonjs/NitroModules.js.map +1 -0
  66. package/lib/commonjs/createTestObject.js +15 -0
  67. package/lib/commonjs/createTestObject.js.map +1 -0
  68. package/lib/commonjs/index.js +44 -5
  69. package/lib/commonjs/index.js.map +1 -1
  70. package/lib/createTestObject.d.ts +22 -0
  71. package/lib/createTestObject.js +7 -0
  72. package/lib/index.d.ts +4 -0
  73. package/lib/index.js +4 -0
  74. package/lib/module/AnyMap.js +2 -0
  75. package/lib/module/AnyMap.js.map +1 -0
  76. package/lib/module/HybridObject.js +2 -0
  77. package/lib/module/HybridObject.js.map +1 -0
  78. package/lib/module/ModuleNotFoundError.js +65 -0
  79. package/lib/module/ModuleNotFoundError.js.map +1 -0
  80. package/lib/module/NativeNitroModules.js +18 -0
  81. package/lib/module/NativeNitroModules.js.map +1 -0
  82. package/lib/module/NitroModules.js +27 -0
  83. package/lib/module/NitroModules.js.map +1 -0
  84. package/lib/module/createTestObject.js +8 -0
  85. package/lib/module/createTestObject.js.map +1 -0
  86. package/lib/module/index.js +4 -4
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/tsconfig.tsbuildinfo +1 -0
  89. package/package.json +74 -50
  90. package/react-native.config.js +16 -0
  91. package/src/AnyMap.ts +22 -0
  92. package/src/HybridObject.ts +58 -0
  93. package/src/ModuleNotFoundError.ts +90 -0
  94. package/src/NativeNitroModules.ts +26 -0
  95. package/src/NitroModules.ts +30 -0
  96. package/src/createTestObject.ts +40 -0
  97. package/src/index.ts +4 -0
  98. package/LICENSE +0 -20
  99. package/README.md +0 -32
  100. package/android/cpp-adapter.cpp +0 -8
  101. package/android/src/main/AndroidManifest.xml +0 -3
  102. package/android/src/main/AndroidManifestNew.xml +0 -2
  103. package/android/src/main/java/com/nitro/NitroModule.java +0 -34
  104. package/android/src/main/java/com/nitro/NitroPackage.java +0 -44
  105. package/cpp/react-native-nitro.cpp +0 -7
  106. package/cpp/react-native-nitro.h +0 -8
  107. package/ios/Nitro.h +0 -15
  108. package/ios/Nitro.mm +0 -21
  109. package/lib/commonjs/NativeNitro.js +0 -9
  110. package/lib/commonjs/NativeNitro.js.map +0 -1
  111. package/lib/module/NativeNitro.js +0 -3
  112. package/lib/module/NativeNitro.js.map +0 -1
  113. package/lib/typescript/src/NativeNitro.d.ts +0 -7
  114. package/lib/typescript/src/NativeNitro.d.ts.map +0 -1
  115. package/lib/typescript/src/index.d.ts +0 -2
  116. package/lib/typescript/src/index.d.ts.map +0 -1
  117. package/react-native-nitro.podspec +0 -41
  118. package/src/NativeNitro.ts +0 -8
  119. package/src/index.tsx +0 -5
@@ -0,0 +1,65 @@
1
+ import { NativeModules, Platform } from 'react-native';
2
+ const BULLET_POINT = '\n* ';
3
+ function messageWithSuggestions(message, suggestions) {
4
+ return message + BULLET_POINT + suggestions.join(BULLET_POINT);
5
+ }
6
+ function getFrameworkType() {
7
+ // check if Expo
8
+ const ExpoConstants = NativeModules.NativeUnimoduleProxy?.modulesConstants?.ExponentConstants;
9
+ if (ExpoConstants != null) {
10
+ if (ExpoConstants.appOwnership === 'expo') {
11
+ // We're running Expo Go
12
+ return 'expo-go';
13
+ } else {
14
+ // We're running Expo bare / standalone
15
+ return 'expo';
16
+ }
17
+ }
18
+ return 'react-native';
19
+ }
20
+ export class ModuleNotFoundError extends Error {
21
+ constructor(cause) {
22
+ // TurboModule not found, something went wrong!
23
+ if (global.__turboModuleProxy == null) {
24
+ // TurboModules are not available/new arch is not enabled.
25
+ const message = 'Failed to get NitroModules: NitroModules require the new architecture to be enabled!';
26
+ const suggestions = [];
27
+ suggestions.push('Enable the new architecture in your app to use NitroModules. (See https://github.com/reactwg/react-native-new-architecture/blob/main/docs/enable-apps.md)');
28
+ const error = messageWithSuggestions(message, suggestions);
29
+ super(error, {
30
+ cause: cause
31
+ });
32
+ return;
33
+ }
34
+ const framework = getFrameworkType();
35
+ if (framework === 'expo-go') {
36
+ super('NitroModules are not supported in Expo Go! Use EAS (`expo prebuild`) or eject to a bare workflow instead.');
37
+ return;
38
+ }
39
+ const message = 'Failed to get NitroModules: The native "NitroModules" TurboModule could not be found.';
40
+ const suggestions = [];
41
+ suggestions.push('Make sure react-native-nitro-modules/NitroModules is correctly autolinked (run `npx react-native config` to verify)');
42
+ suggestions.push('Make sure you enabled the new architecture (TurboModules) and CodeGen properly generated the "NativeNitroModules"/NitroModulesCxx specs. See https://github.com/reactwg/react-native-new-architecture/blob/main/docs/enable-apps.md');
43
+ suggestions.push('Make sure you are using react-native 0.74.0 or higher, because NitroModules are built with C++ TurboModules.');
44
+ suggestions.push('Make sure you rebuilt the app.');
45
+ if (framework === 'expo') {
46
+ suggestions.push('Make sure you ran `expo prebuild`.');
47
+ }
48
+ switch (Platform.OS) {
49
+ case 'ios':
50
+ case 'macos':
51
+ suggestions.push('Make sure you ran `pod install` in the ios/ directory.');
52
+ break;
53
+ case 'android':
54
+ suggestions.push('Make sure gradle is synced.');
55
+ break;
56
+ default:
57
+ throw new Error(`NitroModules are not yet supported on ${Platform.OS}!`);
58
+ }
59
+ const error = messageWithSuggestions(message, suggestions);
60
+ super(error, {
61
+ cause: cause
62
+ });
63
+ }
64
+ }
65
+ //# sourceMappingURL=ModuleNotFoundError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","BULLET_POINT","messageWithSuggestions","message","suggestions","join","getFrameworkType","ExpoConstants","NativeUnimoduleProxy","modulesConstants","ExponentConstants","appOwnership","ModuleNotFoundError","Error","constructor","cause","global","__turboModuleProxy","push","error","framework","OS"],"sourceRoot":"../../src","sources":["ModuleNotFoundError.ts"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAOtD,MAAMC,YAAY,GAAG,MAAM;AAE3B,SAASC,sBAAsBA,CAC7BC,OAAe,EACfC,WAAqB,EACb;EACR,OAAOD,OAAO,GAAGF,YAAY,GAAGG,WAAW,CAACC,IAAI,CAACJ,YAAY,CAAC;AAChE;AAEA,SAASK,gBAAgBA,CAAA,EAAwC;EAC/D;EACA,MAAMC,aAAa,GACjBR,aAAa,CAACS,oBAAoB,EAAEC,gBAAgB,EAAEC,iBAAiB;EACzE,IAAIH,aAAa,IAAI,IAAI,EAAE;IACzB,IAAIA,aAAa,CAACI,YAAY,KAAK,MAAM,EAAE;MACzC;MACA,OAAO,SAAS;IAClB,CAAC,MAAM;MACL;MACA,OAAO,MAAM;IACf;EACF;EACA,OAAO,cAAc;AACvB;AAEA,OAAO,MAAMC,mBAAmB,SAASC,KAAK,CAAC;EAC7CC,WAAWA,CAACC,KAAe,EAAE;IAC3B;IACA,IAAIC,MAAM,CAACC,kBAAkB,IAAI,IAAI,EAAE;MACrC;MACA,MAAMd,OAAO,GACX,sFAAsF;MACxF,MAAMC,WAAqB,GAAG,EAAE;MAChCA,WAAW,CAACc,IAAI,CACd,2JACF,CAAC;MACD,MAAMC,KAAK,GAAGjB,sBAAsB,CAACC,OAAO,EAAEC,WAAW,CAAC;MAC1D,KAAK,CAACe,KAAK,EAAE;QAAEJ,KAAK,EAAEA;MAAM,CAAC,CAAC;MAC9B;IACF;IAEA,MAAMK,SAAS,GAAGd,gBAAgB,CAAC,CAAC;IACpC,IAAIc,SAAS,KAAK,SAAS,EAAE;MAC3B,KAAK,CACH,2GACF,CAAC;MACD;IACF;IAEA,MAAMjB,OAAO,GACX,uFAAuF;IACzF,MAAMC,WAAqB,GAAG,EAAE;IAChCA,WAAW,CAACc,IAAI,CACd,qHACF,CAAC;IACDd,WAAW,CAACc,IAAI,CACd,qOACF,CAAC;IACDd,WAAW,CAACc,IAAI,CACd,8GACF,CAAC;IACDd,WAAW,CAACc,IAAI,CAAC,gCAAgC,CAAC;IAClD,IAAIE,SAAS,KAAK,MAAM,EAAE;MACxBhB,WAAW,CAACc,IAAI,CAAC,oCAAoC,CAAC;IACxD;IACA,QAAQlB,QAAQ,CAACqB,EAAE;MACjB,KAAK,KAAK;MACV,KAAK,OAAO;QACVjB,WAAW,CAACc,IAAI,CACd,wDACF,CAAC;QACD;MACF,KAAK,SAAS;QACZd,WAAW,CAACc,IAAI,CAAC,6BAA6B,CAAC;QAC/C;MACF;QACE,MAAM,IAAIL,KAAK,CAAC,yCAAyCb,QAAQ,CAACqB,EAAE,GAAG,CAAC;IAC5E;IAEA,MAAMF,KAAK,GAAGjB,sBAAsB,CAACC,OAAO,EAAEC,WAAW,CAAC;IAC1D,KAAK,CAACe,KAAK,EAAE;MAAEJ,KAAK,EAAEA;IAAM,CAAC,CAAC;EAChC;AACF","ignoreList":[]}
@@ -0,0 +1,18 @@
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
+
10
+ // 2. Install Dispatcher and required bindings into the Runtime
11
+ turboModule.install();
12
+ } catch (e) {
13
+ throw new ModuleNotFoundError(e);
14
+ }
15
+ }
16
+ return turboModule;
17
+ }
18
+ //# sourceMappingURL=NativeNitroModules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","ModuleNotFoundError","turboModule","getNativeNitroModules","getEnforcing","install","e"],"sourceRoot":"../../src","sources":["NativeNitroModules.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAElD,SAASC,mBAAmB,QAAQ,uBAAuB;AAO3D,IAAIC,WAA6B;AACjC,OAAO,SAASC,qBAAqBA,CAAA,EAAS;EAC5C,IAAID,WAAW,IAAI,IAAI,EAAE;IACvB,IAAI;MACF;MACAA,WAAW,GAAGF,mBAAmB,CAACI,YAAY,CAAO,iBAAiB,CAAC;;MAEvE;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","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ import { getNativeNitroModules } from './NativeNitroModules';
2
+
3
+ // TODO: Do we wanna support such constructors?
4
+ // @ts-expect-error
5
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
6
+
7
+ /**
8
+ * A lazy proxy for initializing Nitro Modules HybridObjects.
9
+ */
10
+ export const NitroModules = {
11
+ /**
12
+ * Create a new instance of the `HybridObject` {@linkcode T}.
13
+ *
14
+ * {@linkcode T} has to be registered beforehand under the name {@linkcode name}
15
+ * in the native Nitro Modules `HybridObjectRegistry`.
16
+ *
17
+ * @param name The name of the `HybridObject` under which it was registered at.
18
+ * @returns An instance of {@linkcode T}
19
+ * @throws an Error if {@linkcode T} has not been registered under the name {@linkcode name}.
20
+ */
21
+ get(name) {
22
+ const nitro = getNativeNitroModules();
23
+ const instance = nitro.createHybridObject(name);
24
+ return instance;
25
+ }
26
+ };
27
+ //# sourceMappingURL=NitroModules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getNativeNitroModules","NitroModules","get","name","nitro","instance","createHybridObject"],"sourceRoot":"../../src","sources":["NitroModules.ts"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,sBAAsB;;AAG5D;AACA;AACA;;AAKA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,GAAG;EAC1B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,GAAGA,CAA8BC,IAAY,EAAK;IAChD,MAAMC,KAAK,GAAGJ,qBAAqB,CAAC,CAAC;IACrC,MAAMK,QAAQ,GAAGD,KAAK,CAACE,kBAAkB,CAACH,IAAI,CAAC;IAC/C,OAAOE,QAAQ;EACjB;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { NitroModules } from '.';
2
+ export function createCppTestHybridObject() {
3
+ return NitroModules.get('TestHybridObject');
4
+ }
5
+ export function createSwiftTestHybridObject() {
6
+ return NitroModules.get('SwiftTestObject');
7
+ }
8
+ //# sourceMappingURL=createTestObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NitroModules","createCppTestHybridObject","get","createSwiftTestHybridObject"],"sourceRoot":"../../src","sources":["createTestObject.ts"],"mappings":"AAAA,SAASA,YAAY,QAA2B,GAAG;AAyBnD,OAAO,SAASC,yBAAyBA,CAAA,EAAqB;EAC5D,OAAOD,YAAY,CAACE,GAAG,CAAmB,kBAAkB,CAAC;AAC/D;AAUA,OAAO,SAASC,2BAA2BA,CAAA,EAA0B;EACnE,OAAOH,YAAY,CAACE,GAAG,CAAwB,iBAAiB,CAAC;AACnE","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- const Nitro = require('./NativeNitro').default;
2
- export function multiply(a, b) {
3
- return Nitro.multiply(a, b);
4
- }
1
+ export * from './createTestObject';
2
+ export * from './HybridObject';
3
+ export * from './NitroModules';
4
+ export * from './AnyMap';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Nitro","require","default","multiply","a","b"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,MAAMA,KAAK,GAAGC,OAAO,CAAC,eAAe,CAAC,CAACC,OAAO;AAE9C,OAAO,SAASC,QAAQA,CAACC,CAAS,EAAEC,CAAS,EAAU;EACrD,OAAOL,KAAK,CAACG,QAAQ,CAACC,CAAC,EAAEC,CAAC,CAAC;AAC7B","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB;AAC9B,cAAc,UAAU","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/hybridobject.ts","../../../node_modules/react-native/types/modules/batchedbridge.d.ts","../../../node_modules/react-native/types/modules/codegen.d.ts","../../../node_modules/react-native/types/modules/devtools.d.ts","../../../node_modules/react-native/types/modules/globals.d.ts","../../../node_modules/react-native/types/modules/launchscreen.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/react-native/types/private/utilities.d.ts","../../../node_modules/react-native/types/public/insets.d.ts","../../../node_modules/react-native/types/public/reactnativetypes.d.ts","../../../node_modules/react-native/libraries/types/coreeventtypes.d.ts","../../../node_modules/react-native/types/public/reactnativerenderer.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchable.d.ts","../../../node_modules/react-native/libraries/components/view/viewaccessibility.d.ts","../../../node_modules/react-native/libraries/components/view/viewproptypes.d.ts","../../../node_modules/react-native/libraries/components/refreshcontrol/refreshcontrol.d.ts","../../../node_modules/react-native/libraries/components/scrollview/scrollview.d.ts","../../../node_modules/react-native/libraries/components/view/view.d.ts","../../../node_modules/react-native/libraries/image/imageresizemode.d.ts","../../../node_modules/react-native/libraries/image/imagesource.d.ts","../../../node_modules/react-native/libraries/image/image.d.ts","../../../node_modules/@react-native/virtualized-lists/lists/virtualizedlist.d.ts","../../../node_modules/@react-native/virtualized-lists/index.d.ts","../../../node_modules/react-native/libraries/lists/flatlist.d.ts","../../../node_modules/react-native/libraries/reactnative/rendererproxy.d.ts","../../../node_modules/react-native/libraries/lists/sectionlist.d.ts","../../../node_modules/react-native/libraries/text/text.d.ts","../../../node_modules/react-native/libraries/animated/animated.d.ts","../../../node_modules/react-native/libraries/stylesheet/stylesheettypes.d.ts","../../../node_modules/react-native/libraries/stylesheet/stylesheet.d.ts","../../../node_modules/react-native/libraries/stylesheet/processcolor.d.ts","../../../node_modules/react-native/libraries/actionsheetios/actionsheetios.d.ts","../../../node_modules/react-native/libraries/alert/alert.d.ts","../../../node_modules/react-native/libraries/animated/easing.d.ts","../../../node_modules/react-native/libraries/animated/useanimatedvalue.d.ts","../../../node_modules/react-native/libraries/vendor/emitter/eventemitter.d.ts","../../../node_modules/react-native/libraries/eventemitter/rctdeviceeventemitter.d.ts","../../../node_modules/react-native/libraries/eventemitter/rctnativeappeventemitter.d.ts","../../../node_modules/react-native/libraries/appstate/appstate.d.ts","../../../node_modules/react-native/libraries/batchedbridge/nativemodules.d.ts","../../../node_modules/react-native/libraries/components/accessibilityinfo/accessibilityinfo.d.ts","../../../node_modules/react-native/libraries/components/activityindicator/activityindicator.d.ts","../../../node_modules/react-native/libraries/components/clipboard/clipboard.d.ts","../../../node_modules/react-native/libraries/components/drawerandroid/drawerlayoutandroid.d.ts","../../../node_modules/react-native/libraries/eventemitter/nativeeventemitter.d.ts","../../../node_modules/react-native/libraries/components/keyboard/keyboard.d.ts","../../../node_modules/react-native/types/private/timermixin.d.ts","../../../node_modules/react-native/libraries/components/keyboard/keyboardavoidingview.d.ts","../../../node_modules/react-native/libraries/components/pressable/pressable.d.ts","../../../node_modules/react-native/libraries/components/progressbarandroid/progressbarandroid.d.ts","../../../node_modules/react-native/libraries/components/safeareaview/safeareaview.d.ts","../../../node_modules/react-native/libraries/components/statusbar/statusbar.d.ts","../../../node_modules/react-native/libraries/components/switch/switch.d.ts","../../../node_modules/react-native/libraries/components/textinput/inputaccessoryview.d.ts","../../../node_modules/react-native/libraries/components/textinput/textinput.d.ts","../../../node_modules/react-native/libraries/components/toastandroid/toastandroid.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchablewithoutfeedback.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchablehighlight.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchableopacity.d.ts","../../../node_modules/react-native/libraries/components/touchable/touchablenativefeedback.d.ts","../../../node_modules/react-native/libraries/components/button.d.ts","../../../node_modules/react-native/libraries/core/registercallablemodule.d.ts","../../../node_modules/react-native/libraries/devtoolssettings/devtoolssettingsmanager.d.ts","../../../node_modules/react-native/libraries/interaction/interactionmanager.d.ts","../../../node_modules/react-native/libraries/interaction/panresponder.d.ts","../../../node_modules/react-native/libraries/layoutanimation/layoutanimation.d.ts","../../../node_modules/react-native/libraries/linking/linking.d.ts","../../../node_modules/react-native/libraries/logbox/logbox.d.ts","../../../node_modules/react-native/libraries/modal/modal.d.ts","../../../node_modules/react-native/libraries/performance/systrace.d.ts","../../../node_modules/react-native/libraries/permissionsandroid/permissionsandroid.d.ts","../../../node_modules/react-native/libraries/pushnotificationios/pushnotificationios.d.ts","../../../node_modules/react-native/libraries/utilities/iperformancelogger.d.ts","../../../node_modules/react-native/libraries/reactnative/appregistry.d.ts","../../../node_modules/react-native/libraries/reactnative/i18nmanager.d.ts","../../../node_modules/react-native/libraries/reactnative/roottag.d.ts","../../../node_modules/react-native/libraries/reactnative/uimanager.d.ts","../../../node_modules/react-native/libraries/reactnative/requirenativecomponent.d.ts","../../../node_modules/react-native/libraries/settings/settings.d.ts","../../../node_modules/react-native/libraries/share/share.d.ts","../../../node_modules/react-native/libraries/stylesheet/platformcolorvaluetypesios.d.ts","../../../node_modules/react-native/libraries/stylesheet/platformcolorvaluetypes.d.ts","../../../node_modules/react-native/libraries/turbomodule/rctexport.d.ts","../../../node_modules/react-native/libraries/turbomodule/turbomoduleregistry.d.ts","../../../node_modules/react-native/libraries/utilities/appearance.d.ts","../../../node_modules/react-native/libraries/utilities/backhandler.d.ts","../../../node_modules/react-native/libraries/utilities/devsettings.d.ts","../../../node_modules/react-native/libraries/utilities/dimensions.d.ts","../../../node_modules/react-native/libraries/utilities/pixelratio.d.ts","../../../node_modules/react-native/libraries/utilities/platform.d.ts","../../../node_modules/react-native/libraries/vibration/vibration.d.ts","../../../node_modules/react-native/libraries/yellowbox/yellowboxdeprecated.d.ts","../../../node_modules/react-native/libraries/vendor/core/errorutils.d.ts","../../../node_modules/react-native/types/public/deprecatedpropertiesalias.d.ts","../../../node_modules/react-native/types/index.d.ts","../src/nativenitro.ts","../src/createtestobject.ts","../src/index.ts","../src/__tests__/index.test.tsx","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/http-cache-semantics/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node-forge/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","17edc026abf73c5c2dd508652d63f68ec4efd9d4856e3469890d27598209feb5",{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"5771d0839240e11fb70d44b24c9f945e6dc9201e18a01bebc374eb4f99d90ea3","signature":"599b187fd5eb125284be0d26a73a7e6a7c2c72cea650ad1505042dfe037ee588"},{"version":"3a909e8789a4f8b5377ef3fb8dc10d0c0a090c03f2e40aab599534727457475a","affectsGlobalScope":true},"2b47c8df863142d9383f948c987e1ebd25ade3867aeb4ae60e9d6009035dfe46","b8dd45aa6e099a5f564edcabfe8114096b096eb1ffaa343dd6f3fe73f1a6e85e",{"version":"1c7e0072ec63ceee8f4f1a0248ff6b9ec7196eabd5dc61189da9807862cc09bd","affectsGlobalScope":true},"bc4db28f3510994e45bbabba1ee33e9a0d27dab33d4c8a5844cee8c85438a058",{"version":"36a2e4c9a67439aca5f91bb304611d5ae6e20d420503e96c230cf8fcdc948d94","affectsGlobalScope":true},"8a8eb4ebffd85e589a1cc7c178e291626c359543403d58c9cd22b81fab5b1fb9","247a952efd811d780e5630f8cfd76f495196f5fa74f6f0fee39ac8ba4a3c9800",{"version":"8ca4709dbd22a34bcc1ebf93e1877645bdb02ebd3f3d9a211a299a8db2ee4ba1","affectsGlobalScope":true},"232f660363b3b189f7be7822ed71e907195d1a85bc8d55d2b7ce3f09b2136938","e745388cfad9efb4e5a9a15a2c6b66d54094dd82f8d0c2551064e216f7b51526","53390c21d095fb54e6c0b8351cbf7f4008f096ade9717bc5ee75e340bc3dfa30","71493b2c538dffa1e3e968b55b70984b542cc6e488012850865f72768ff32630","8ebf448e9837fda1a368acbb575b0e28843d5b2a3fda04bce76248b64326ea49","91b9f6241fca7843985aa31157cfa08cc724c77d91145a4d834d27cdde099c05","1ded20b804e07204fc4c3b47b1ee67bcbbf483c2c1c537d3b06ea86ddf0ed5a6","e0342a1ffdbed1c647127b61f57a07bc908546f7f3b0d21e6fd49f7315377950","3dfa3a6f2a62259b56fa7bcebfbacf886848dfa037298be5bed07c7a0381ee4f","a1e3cda52746919d2a95784ce0b1b9ffa22052209aab5f54e079e7b920f5339e","1882680f8c88c5648d603408dd1943857ca831a815e33d3126be8368f7a69252","f387a979388291b2688ba0f604e3ae78874f5f777616b448d34109762a4f05a9","cae0fb826d8a88749189b8a924dfcb5d3ad629e3bc5ec934195fbd83fa48b068","65439c17810a801359b14cb051ad50688329bbc1b9c278c3f63487a31a98e349","488242948cc48ee6413a159c60bcaf70de15db01364741737a962662f1a127a5","42bacb33cddecbcfe3e043ee1117ba848801749e44f947626765b3e0aec74b1c","b326790c20287ad266b5fcd0c388e2a83320a24747856727dcb70c7bbd489dfc","cd2156bc8e4d54d52a2817d1b6f4629a5dd3173b1d8bb0fc893ee678d6a78ecd","60526d9010e8ccb2a76a59821061463464c3acd5bc7a50320df6d2e4e0d6e4f7","562cce1c8e14e8d5a55d1931cb1848b1df49cc7b1024356d56f3550ed57ad67f","623fa4efc706bb9956d0ae94b13321c6617655bf8ebdb270c9792bb398f82e44","12e89ccc9388208a5c72abe13b2037085dad791d5f1bd5f9ce5f07225da6bec4","52ee75cf0be6032ebaf0b3e2f2d5b98febe01fb4d783a903c03a4dbc8c81b205","9054417b5760061bc5fe31f9eee5dc9bf018339b0617d3c65dd1673c8e3c0f25","442856ad0787bc213f659e134c204ad0d502179aa216bf700faefb5572208358","443702ca8101ef0adc827c2cc530ca93cf98d41e36ce4399efb9bc833ad9cb62","c94f70562ae60797cce564c3bebbaaf1752c327d5063d6ac152aa5ca1616c267","2aeb5fcdfc884b16015617d263fd8d1a8513f7efe23880be4e5f0bdb3794b37c","fd412dd6372493eb8e3e95cae8687d35e4d34dde905a33e0ee47b74224cdd6ab","b561170fbe8d4292425e1dfa52406c8d97575681f7a5e420d11d9f72f7c29e38","5fe94f3f6411a0f6293f16fdc8e02ee61138941847ce91d6f6800c97fac22fcd","7f7c0ecc3eeeef905a3678e540947f4fbbc1a9c76075419dcc5fbfc3df59cb0b","df3303018d45c92be73fb4a282d5a242579f96235f5e0f8981983102caf5feca","35db266b474b3b9dfd0bc7d25dff3926cc227de45394262f3783b8b174182a16","8205e62a7310ac0513747f6d84175400680cff372559bc5fbe2df707194a295d","084d0df6805570b6dc6c8b49c3a71d5bdfe59606901e0026c63945b68d4b080a","8387fa3287992c71702756fe6ecea68e2f8f2c5aa434493e3afe4817dd4a4787","0f066f9654e700a9cf79c75553c934eb14296aa80583bd2b5d07e2d582a3f4ee","269c5d54104033b70331343bd931c9933852a882391ed6bd98c3d8b7d6465d22","a56b8577aaf471d9e60582065a8193269310e8cae48c1ce4111ed03216f5f715","486ae83cd51b813095f6716f06cc9b2cf480ad1d6c7f8ec59674d6c858cd2407","fff527e2567a24dd634a30268f1aa8a220315fed9c513d70ee872e54f67f27f3","5dd0ff735b3f2e642c3f16bcfb3dc4ecebb679a70e43cfb19ab5fd84d8faaeed","d1d78d1ef0f21ac77cdc436d2a4d56592453a8a2e51af2040ec9a69a5d35e4de","bc55b91274e43f88030c9cfe2c4217fae57894c3c302173ab6e9743c29484e3d","8bb22f70bfd7bf186631fa565c9202ee6a1009ffb961197b7d092b5a1e1d56b1","77282216c61bcef9a700db98e142301d5a7d988d3076286029da63e415e98a42","9d7b415f4856108011453a98e28c79d36baeb0dfc6c1c176826454909e1ff47f","64ce8e260a1362d4cadd6c753581a912a9869d4a53ec6e733dc61018f9250f5d","29db89aee3b9f95c0ceb8c6e5d129c746dbbf60d588f78cc549b14002ea4b9ec","33eedfef5ad506cfa5f650a66001e7df48bc9676ab5177826d599adb9600a723","4c4cb14e734799f98f97d5a0670cb7943bd2b4bd61413e33641f448e35e9f242","bdb2b70c74908c92ec41d8dd8375a195cb3bb07523e4de642b2b2dfbde249ca6","7b329f4137a552073f504022acbf8cd90d49cc5e5529791bef508f76ff774854","f63bbbffcfc897d22f34cf19ae13405cd267b1783cd21ec47d8a2d02947c98c1","7889f4932dfa7b1126cdc17914d85d80b5860cc3d62ba329494007e8aab45430","d9725ef7f60a791668f7fb808eb90b1789feaaef989a686fefc0f7546a51dcdc","df55b9be6ba19a6f77487e09dc7a94d7c9bf66094d35ea168dbd4bac42c46b8f","595125f3e088b883d104622ef10e6b7d5875ff6976bbe4d7dca090a3e2dca513","8ebb6f0603bf481e893311c49e4d2e2061413c51b9ba5898cd9b0a01f5ef19c8","e0d7eed4ba363df3faadb8e617f95f9fc8adfbb00b87db7ade4a1098d6cf1e90","38faab59a79924ce5eb4f2f3e7e7db91e74d425b4183f908cc014be213f0d971","de115595321ce012c456f512a799679bfc874f0ac0a4928a8429557bb25086aa","cdca67bd898deff48e3acb05fb44500b5ebce16c26a8ec99dee1522cf9879795","0524cab11ba9048d151d93cc666d3908fda329eec6b1642e9a936093e6d79f28","869073d7523e75f45bd65b2072865c60002d5e0cbd3d17831e999cf011312778","c43f78e8fa0df471335a1ddf8ccc32aecaa7a9813049b355dff8a66ab35f4ae9","56503e377bc1344f155e4e3115a772cb4e59350c0b8131e3e1fb2750ac491608","6b579287217ee1320ee1c6cfec5f6730f3a1f91daab000f7131558ee531b2bf8","d9c805da711bc8dd43d837576a4adf6893472b822d0458f525a5571cdbf81fce","a793636667598e739a52684033037a67dc2d9db37fab727623626ef19aa5abb9","b15d6238a86bc0fc2368da429249b96c260debc0cec3eb7b5f838ad32587c129","9be37564440fc3e305e1edc77e6406f7d09579195ad1d302b60ee3de31ec1d16","4b10e2fe52cb61035e58df3f1fdd926dd0fe9cf1a2302f92916da324332fb4e0","d1092ae8d6017f359f4758115f588e089848cc8fb359f7ba045b1a1cf3668a49","ddae9195b0da7b25a585ef43365f4dc5204a746b155fbee71e6ee1a9193fb69f","32dbced998ce74c5e76ce87044d0b4071857576dde36b0c6ed1d5957ce9cf5b5","5bc29a9918feba88816b71e32960cf11243b77b76630e9e87cad961e5e1d31d0","341ffa358628577f490f128f3880c01d50ef31412d1be012bb1cd959b0a383ea","ecc1b8878c8033bde0204b85e26fe1af6847805427759e5723882c848a11e134","cfc9c32553ad3b5be38342bc8731397438a93531118e1a226a8c79ad255b4f0c","16e5b5b023c2a1119c1878a51714861c56255778de0a7fe378391876a15f7433","328a366c195c74ecd5cd576bb11ced578e35be7288fc4d72783f860409a48b3d","a090a8a3b0ef2cceeb089acf4df95df72e7d934215896afe264ff6f734d66d15","a0259c6054e3ed2c5fb705b6638e384446cbcdf7fd2072c659b43bd56e214b9a","005319c82222e57934c7b211013eb6931829e46b2a61c5d9a1c3c25f8dc3ea90","151f422f08c8ca67b77c5c39d49278b4df452ef409237c8219be109ae3cdae9d",{"version":"6466cbb0aa561e1c1a87850a1f066692f1692a0a9513c508a3886cd66a62dae8","affectsGlobalScope":true},{"version":"f1589360cba81d594da547055c31480e231d67bfe2996c7f4232d1fe3df5d448","signature":"4bd84212b4e7ca8ea8742c66d8e734738d6bd2ba9091eda265e10963ae65915a"},{"version":"b89031554302c3d93781a7e93aa6608cda36c3b0b0984a59b3fb1566d35fa942","signature":"b28cbf619cc8b3d39acf1f6158e6703b22fd89c624b2618ba0bea5900cd986bb"},{"version":"79f5612af8ab821129020a135a13fc063ba8e42f6fe11e1834bde32c64c5e709","signature":"2ec3e51f87d48e34354ef4180ce351754d5483ed4b63c0c726aa08ea63d2ba75"},{"version":"a63b18a77e34251638949c52bbba73c4b1b3956e16ba34b014e6bfc2565298c5","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","affectsGlobalScope":true},"55584873eae27c5607725f0a9b2123cdea9100fd47cd4bfd582b567a7c363877","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","5f02abbb1b17e3d1e68c5eea14adf4705696e6255e2982b010c0dc2a5417b606","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9e0cf651e8e2c5b9bebbabdff2f7c6f8cedd91b1d9afcc0a854cdff053a88f1b","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","2db0dd3aaa2ed285950273ce96ae8a450b45423aa9da2d10e194570f1233fa6b","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"e7be367719c613d580d4b27fdf8fe64c9736f48217f4b322c0d63b2971460918","affectsGlobalScope":true},"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36",{"version":"392eadc2af403dd10b4debfbc655c089a7fa6a9750caeb770cfb30051e55e848","affectsGlobalScope":true},"62f1c00d3d246e0e3cf0224f91e122d560428ec1ccc36bb51d4574a84f1dbad0","53f0960fdcc53d097918adfd8861ffbe0db989c56ffc16c052197bf115da5ed6",{"version":"662163e5327f260b23ca0a1a1ad8a74078aabb587c904fcb5ef518986987eaff","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"c48c503c6b3f63baf18257e9a87559b5602a4e960107c762586d2a6a62b64a18","affectsGlobalScope":true},"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","0364f8bb461d6e84252412d4e5590feda4eb582f77d47f7a024a7a9ff105dfdc","5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","d0ca5d7df114035258a9d01165be309371fcccf0cccd9d57b1453204686d1ed0",{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true},{"version":"9a30b7fefd7f8abbca4828d481c61c18e40fe5ff107e113b1c1fcd2c8dcf2743","affectsGlobalScope":true},"173b6275a81ebdb283b180654890f46516c21199734fed01a773b1c168b8c45c","304f66274aa8119e8d65a49b1cff84cbf803def6afe1b2cc987386e9a9890e22","1b9adafe8a7fefaeaf9099a0e06f602903f6268438147b843a33a5233ac71745","98273274f2dbb79b0b2009b20f74eca4a7146a3447c912d580cd5d2d94a7ae30","c933f7ba4b201c98b14275fd11a14abb950178afd2074703250fe3654fc10cd2","2eaa31492906bc8525aff3c3ec2236e22d90b0dfeee77089f196cd0adf0b3e3b",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"8f5814f29dbaf8bacd1764aebdf1c8a6eb86381f6a188ddbac0fcbaab855ce52","a63d03de72adfb91777784015bd3b4125abd2f5ef867fc5a13920b5649e8f52b","d20e003f3d518a7c1f749dbe27c6ab5e3be7b3c905a48361b04a9557de4a6900",{"version":"1d4d78c8b23c9ddaaaa49485e6adc2ec01086dfe5d8d4d36ca4cdc98d2f7e74a","affectsGlobalScope":true},{"version":"44fc16356b81c0463cc7d7b2b35dcf324d8144136f5bc5ce73ced86f2b3475b5","affectsGlobalScope":true},"575fb200043b11b464db8e42cc64379c5fd322b6d787638e005b5ee98a64486d","6de2f225d942562733e231a695534b30039bdf1875b377bb7255881f0df8ede8","56249fd3ef1f6b90888e606f4ea648c43978ef43a7263aafad64f8d83cd3b8aa","139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","7b166975fdbd3b37afb64707b98bca88e46577bbc6c59871f9383a7df2daacd1","9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","81505c54d7cad0009352eaa21bd923ab7cdee7ec3405357a54d9a5da033a2084","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","2ee1645e0df9d84467cfe1d67b0ad3003c2f387de55874d565094464ee6f2927",{"version":"7da97d603bf3dd0000f56467c56cb6efaf5f94692980474925fae6c33412b12a","affectsGlobalScope":true},{"version":"9cf780e96b687e4bdfd1907ed26a688c18b89797490a00598fa8b8ab683335dd","affectsGlobalScope":true},"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","9ae88ce9f73446c24b2d2452e993b676da1b31fca5ceb7276e7f36279f693ed1","e49d7625faff2a7842e4e7b9b197f972633fca685afcf6b4403400c97d087c36","b82c38abc53922b1b3670c3af6f333c21b735722a8f156e7d357a2da7c53a0a0",{"version":"b423f53647708043299ded4daa68d95c967a2ac30aa1437adc4442129d7d0a6c","affectsGlobalScope":true},{"version":"7245af181218216bacb01fbdf51095617a51661f20d77178c69a377e16fb69ed","affectsGlobalScope":true},"4f0fc7b7f54422bd97cfaf558ddb4bca86893839367b746a8f86b60ac7619673","4cdd8b6b51599180a387cc7c1c50f49eca5ce06595d781638fd0216520d98246","d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c",{"version":"8704423bf338bff381ebc951ed819935d0252d90cd6de7dffe5b0a5debb65d07","affectsGlobalScope":true},"7c6929fd7cbf38499b6a600b91c3b603d1d78395046dc3499b2b92d01418b94b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","d7dbe0ad36bdca8a6ecf143422a48e72cc8927bab7b23a1a2485c2f78a7022c6","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true},"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","916be7d770b0ae0406be9486ac12eb9825f21514961dd050594c4b250617d5a8","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e"],"root":[72,[170,173]],"options":{"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"esModuleInterop":true,"jsx":2,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noImplicitUseStrict":false,"noStrictGenericChecks":false,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"strict":true,"target":99,"verbatimModuleSyntax":true},"fileIdsList":[[174],[275],[96],[81,169],[174,175,176,177,178],[174,176],[230,267],[270],[271],[277,280],[267],[180],[216],[217,222,251],[218,223,229,230,237,248,259],[218,219,229,237],[220,260],[221,222,230,238],[222,248,256],[223,225,229,237],[216,224],[225,226],[229],[227,229],[216,229],[229,230,231,248,259],[229,230,231,244,248,251],[214,217,264],[225,229,232,237,248,259],[229,230,232,233,237,248,256,259],[232,234,248,256,259],[180,181,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266],[229,235],[236,259,264],[225,229,237,248],[238],[239],[216,240],[237,238,241,258,264],[242],[243],[229,244,245],[244,246,260,262],[217,229,248,249,250,251],[217,248,250],[248,249],[251],[252],[216,248],[229,254,255],[254,255],[222,237,248,256],[257],[237,258],[217,232,243,259],[222,260],[248,261],[236,262],[263],[217,222,229,231,240,248,259,262,264],[248,265],[78,79,80],[287,326],[287,311,326],[326],[287],[287,312,326],[287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325],[312,326],[328],[273,279],[277],[274,278],[276],[104,105],[81,85,91,92,95,98,100,101,104],[102],[112],[81,84,110],[81,82,84,85,89,103,104],[81,104,133,134],[81,82,84,85,89,104],[110,119],[81,82,89,103,104,121],[81,83,85,88,89,92,103,104],[81,82,84,89,104],[81,82,84,89],[81,82,83,85,87,89,90,103,104],[81,104],[81,103,104],[81,82,84,85,88,89,103,104,110,121],[81,83,85],[81,82,84,87,103,104,121,131],[81,82,87,104,131,133],[81,82,84,87,89,121,131],[81,82,83,85,87,88,103,104,121],[85],[81,83,85,86,87,88,103,104],[110],[111],[81,82,83,84,85,88,93,94,103,104],[85,86],[81,91,92,97,103,104],[81,91,97,99,103,104],[81,85,89],[81,147],[81],[84],[81,84],[104],[103],[93,102,104],[81,82,84,85,88,103,104],[157],[119],[73,74,75,76,77,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168],[169],[75],[191,195,259],[191,248,259],[186],[188,191,256,259],[237,256],[186,267],[188,191,237,259],[183,184,187,190,217,229,248,259],[183,189],[187,191,217,251,259,267],[217,267],[207,217,267],[185,186,267],[191],[185,186,187,188,189,190,191,192,193,195,196,197,198,199,200,201,202,203,204,205,206,208,209,210,211,212,213],[191,198,199],[189,191,199,200],[190],[183,186,191],[191,195,199,200],[195],[189,191,194,259],[183,188,189,191,195,198],[217,248],[186,191,207,217,264,267],[170],[72,170,171],[74,169]],"referencedMap":[[176,1],[276,2],[97,3],[96,4],[179,5],[175,1],[177,6],[178,1],[268,7],[271,8],[272,9],[281,10],[284,11],[180,12],[181,12],[216,13],[217,14],[218,15],[219,16],[220,17],[221,18],[222,19],[223,20],[224,21],[225,22],[226,22],[228,23],[227,24],[229,25],[230,26],[231,27],[215,28],[232,29],[233,30],[234,31],[267,32],[235,33],[236,34],[237,35],[238,36],[239,37],[240,38],[241,39],[242,40],[243,41],[244,42],[245,42],[246,43],[248,44],[250,45],[249,46],[251,47],[252,48],[253,49],[254,50],[255,51],[256,52],[257,53],[258,54],[259,55],[260,56],[261,57],[262,58],[263,59],[264,60],[265,61],[81,62],[311,63],[312,64],[287,65],[290,65],[309,63],[310,63],[300,63],[299,66],[297,63],[292,63],[305,63],[303,63],[307,63],[291,63],[304,63],[308,63],[293,63],[294,63],[306,63],[288,63],[295,63],[296,63],[298,63],[302,63],[313,67],[301,63],[289,63],[326,68],[320,67],[322,69],[321,67],[314,67],[315,67],[317,67],[319,67],[323,69],[324,69],[316,69],[318,69],[329,70],[280,71],[278,72],[279,73],[277,74],[106,75],[102,76],[109,77],[113,78],[115,79],[116,80],[135,81],[118,82],[120,83],[122,84],[123,85],[124,86],[90,86],[125,87],[91,88],[126,89],[127,80],[128,90],[129,91],[87,92],[132,93],[134,94],[133,95],[131,96],[92,87],[88,97],[89,98],[119,99],[111,99],[112,100],[95,101],[138,99],[139,102],[141,83],[98,103],[100,104],[143,105],[148,106],[99,107],[152,108],[150,107],[151,109],[154,110],[156,110],[155,110],[105,110],[104,111],[103,112],[101,113],[158,114],[85,109],[159,78],[160,78],[161,115],[162,99],[166,107],[169,116],[74,117],[75,118],[168,117],[86,97],[84,107],[198,119],[205,120],[197,119],[212,121],[189,122],[188,123],[211,11],[206,124],[209,125],[191,126],[190,127],[186,128],[185,129],[208,130],[187,131],[192,132],[196,132],[214,133],[213,132],[200,134],[201,135],[203,136],[199,137],[202,138],[207,11],[194,139],[195,140],[204,141],[184,142],[210,143],[171,144],[172,145],[170,146]],"latestChangedDtsFile":"./src/__tests__/index.test.d.ts"},"version":"5.5.3"}
package/package.json CHANGED
@@ -1,43 +1,52 @@
1
1
  {
2
2
  "name": "react-native-nitro-modules",
3
- "version": "0.0.2",
4
- "description": "Nitro Modules",
5
- "main": "lib/commonjs/index",
6
- "module": "lib/module/index",
7
- "types": "lib/typescript/src/index.d.ts",
3
+ "version": "0.0.6",
4
+ "description": "Fast and flexible object-oriented native modules for React Native.",
5
+ "main": "lib/index",
6
+ "module": "lib/index",
7
+ "types": "lib/index.d.ts",
8
8
  "react-native": "src/index",
9
9
  "source": "src/index",
10
10
  "files": [
11
11
  "src",
12
+ "!src/__tests__",
13
+ "react-native.config.js",
12
14
  "lib",
13
- "android",
14
- "ios",
15
- "cpp",
15
+ "android/build.gradle",
16
+ "android/gradle.properties",
17
+ "android/CMakeLists.txt",
18
+ "android/src/",
19
+ "ios/",
20
+ "cpp/",
21
+ "app.plugin.js",
16
22
  "*.podspec",
17
- "!ios/build",
18
- "!android/build",
19
- "!android/gradle",
20
- "!android/gradlew",
21
- "!android/gradlew.bat",
22
- "!android/local.properties",
23
- "!**/__tests__",
24
- "!**/__fixtures__",
25
- "!**/__mocks__",
26
- "!**/.*"
23
+ "README.md"
27
24
  ],
28
25
  "scripts": {
29
- "example": "yarn workspace react-native-nitro-example",
26
+ "postinstall": "tsc || exit 0;",
30
27
  "test": "jest",
31
28
  "typecheck": "tsc --noEmit",
32
- "lint": "eslint \"**/*.{js,ts,tsx}\"",
33
- "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
34
- "prepare": "bob build",
35
- "release": "release-it"
29
+ "clean": "del-cli android/build node_modules/**/android/build lib",
30
+ "lint": "eslint \"**/*.{js,ts,tsx}\" --fix",
31
+ "release": "bob build && release-it"
36
32
  },
37
33
  "keywords": [
38
34
  "react-native",
35
+ "nitro",
39
36
  "ios",
40
- "android"
37
+ "android",
38
+ "cpp",
39
+ "framework",
40
+ "react",
41
+ "swift",
42
+ "native",
43
+ "modules",
44
+ "fast",
45
+ "jsi",
46
+ "turbo",
47
+ "scaffold",
48
+ "template",
49
+ "views"
41
50
  ],
42
51
  "repository": {
43
52
  "type": "git",
@@ -53,22 +62,21 @@
53
62
  "registry": "https://registry.npmjs.org/"
54
63
  },
55
64
  "devDependencies": {
56
- "@react-native/eslint-config": "^0.73.1",
57
- "@release-it/conventional-changelog": "^5.0.0",
58
- "@types/jest": "^29.5.5",
59
- "@types/react": "^18.2.44",
65
+ "@react-native/eslint-config": "^0.74.85",
66
+ "@release-it/conventional-changelog": "^5.1.1",
67
+ "@types/jest": "^29.5.12",
68
+ "@types/react": "^18.3.3",
60
69
  "del-cli": "^5.1.0",
61
- "eslint": "^8.51.0",
62
- "eslint-config-prettier": "^9.0.0",
63
- "eslint-plugin-prettier": "^5.0.1",
70
+ "eslint": "^8.57.0",
71
+ "eslint-config-prettier": "^9.1.0",
72
+ "eslint-plugin-prettier": "^5.2.1",
64
73
  "jest": "^29.7.0",
65
- "prettier": "^3.0.3",
66
- "react": "18.2.0",
67
- "react-native": "0.74.2",
74
+ "prettier": "^3.3.3",
75
+ "react": "18.3.1",
76
+ "react-native": "0.74.3",
68
77
  "react-native-builder-bob": "^0.23.2",
69
- "release-it": "^15.0.0",
70
- "turbo": "^1.10.7",
71
- "typescript": "^5.2.2"
78
+ "release-it": "^15.11.0",
79
+ "typescript": "^5.5.4"
72
80
  },
73
81
  "resolutions": {
74
82
  "@types/react": "^18.2.44"
@@ -77,10 +85,6 @@
77
85
  "react": "*",
78
86
  "react-native": "*"
79
87
  },
80
- "workspaces": [
81
- "example"
82
- ],
83
- "packageManager": "yarn@3.6.1",
84
88
  "jest": {
85
89
  "preset": "react-native",
86
90
  "modulePathIgnorePatterns": [
@@ -101,7 +105,31 @@
101
105
  },
102
106
  "plugins": {
103
107
  "@release-it/conventional-changelog": {
104
- "preset": "angular"
108
+ "preset": {
109
+ "name": "conventionalcommits",
110
+ "types": [
111
+ {
112
+ "type": "feat",
113
+ "section": "✨ Features"
114
+ },
115
+ {
116
+ "type": "perf",
117
+ "section": "💨 Performance Improvements"
118
+ },
119
+ {
120
+ "type": "fix",
121
+ "section": "🐛 Bug Fixes"
122
+ },
123
+ {
124
+ "type": "chore(deps)",
125
+ "section": "🛠️ Dependency Upgrades"
126
+ },
127
+ {
128
+ "type": "docs",
129
+ "section": "📚 Documentation"
130
+ }
131
+ ]
132
+ }
105
133
  }
106
134
  }
107
135
  },
@@ -113,7 +141,7 @@
113
141
  ],
114
142
  "rules": {
115
143
  "prettier/prettier": [
116
- "error",
144
+ "warn",
117
145
  {
118
146
  "quoteProps": "consistent",
119
147
  "singleQuote": true,
@@ -133,7 +161,8 @@
133
161
  "singleQuote": true,
134
162
  "tabWidth": 2,
135
163
  "trailingComma": "es5",
136
- "useTabs": false
164
+ "useTabs": false,
165
+ "semi": false
137
166
  },
138
167
  "react-native-builder-bob": {
139
168
  "source": "src",
@@ -148,10 +177,5 @@
148
177
  }
149
178
  ]
150
179
  ]
151
- },
152
- "codegenConfig": {
153
- "name": "RNNitroSpec",
154
- "type": "modules",
155
- "jsSrcsDir": "src"
156
180
  }
157
- }
181
+ }
@@ -0,0 +1,16 @@
1
+ // https://github.com/react-native-community/cli/blob/main/docs/dependencies.md
2
+
3
+ module.exports = {
4
+ dependency: {
5
+ platforms: {
6
+ /**
7
+ * @type {import('@react-native-community/cli-types').IOSDependencyParams}
8
+ */
9
+ ios: {},
10
+ /**
11
+ * @type {import('@react-native-community/cli-types').AndroidDependencyParams}
12
+ */
13
+ android: {},
14
+ },
15
+ },
16
+ }
package/src/AnyMap.ts ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Represents a single value inside an untyped map.
3
+ */
4
+ export type ValueType =
5
+ | string
6
+ | number
7
+ | boolean
8
+ | bigint
9
+ | null
10
+ | ValueType[]
11
+ | { [k: string]: ValueType }
12
+
13
+ /**
14
+ * Represents an untyped map, similar to a JSON structure.
15
+ * Supported types:
16
+ * - Primitives (`string`, `number`, `boolean`, `bigint`, `null`)
17
+ * - Arrays of primitives (`ValueType[]`)
18
+ * - Objects of primitives (`Record<string, ValueType>`)
19
+ * - Arrays of arrays or objects
20
+ * - Objects of arrays or objects
21
+ */
22
+ export type AnyMap = Record<string, ValueType>
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Describes the languages this component will be implemented in.
3
+ */
4
+ export interface PlatformSpec {
5
+ ios?: 'swift' | 'c++'
6
+ android?: 'kotlin' | 'c++'
7
+ }
8
+
9
+ /**
10
+ * Represents a Nitro `HybridObject` which is implemented natively in either C++,
11
+ * or Swift/Kotlin.
12
+ *
13
+ * Uses the Nitro Tunnel for efficient, low-overhead JS <-> Native communication.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * interface Photo extends HybridObject<{ ios: 'swift', android: 'kotlin' }> {
18
+ * readonly width: number
19
+ * readonly height: number
20
+ * toArrayBuffer(): ArrayBuffer
21
+ * saveToFile(path: string): Promise<void>
22
+ * }
23
+ * ```
24
+ */
25
+ export interface HybridObject<Spec extends PlatformSpec> {
26
+ /**
27
+ * The `HybridObject`'s name.
28
+ */
29
+ readonly name: string
30
+ /**
31
+ * Returns a string representation of the given `HybridObject`.
32
+ *
33
+ * Unless overridden by the `HybridObject`, this will return a list of all properties.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const hybridA = SomeModule.getExistingHybridInstance()
38
+ * console.log(hybridA.toString()) // [HybridObject HybridA]
39
+ * ```
40
+ */
41
+ toString(): string
42
+ /**
43
+ * Returns whether this `HybridObject` is the same object as {@linkcode other}.
44
+ *
45
+ * While two `HybridObject`s might not be equal when compared with `==`, they might still
46
+ * hold the same underlying `HybridObject`, in which case {@linkcode equals | equals(other)}
47
+ * will return `true`.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * const hybridA = SomeModule.getExistingHybridInstance()
52
+ * const hybridB = SomeModule.getExistingHybridInstance()
53
+ * console.log(hybridA === hybridB) // false
54
+ * console.log(hybridA.equals(hybridB)) // true
55
+ * ```
56
+ */
57
+ equals(other: HybridObject<Spec>): boolean
58
+ }