@react-native-firebase/perf 25.1.0 → 26.0.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 (80) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/RNFBPerf.podspec +7 -6
  3. package/android/build.gradle +19 -0
  4. package/android/src/main/java/io/invertase/firebase/perf/UniversalFirebasePerfModule.java +88 -0
  5. package/android/src/reactnative/java/io/invertase/firebase/perf/NativeRNFBTurboPerf.java +108 -0
  6. package/android/src/reactnative/java/io/invertase/firebase/perf/ReactNativeFirebasePerfPackage.java +1 -1
  7. package/android/src/reactnative/java/io/invertase/firebase/perf/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboPerfSpec.java +100 -0
  8. package/android/src/reactnative/java/io/invertase/firebase/perf/generated/jni/CMakeLists.txt +36 -0
  9. package/android/src/reactnative/java/io/invertase/firebase/perf/generated/jni/RNFBPerfTurboModules-generated.cpp +80 -0
  10. package/android/src/reactnative/java/io/invertase/firebase/perf/generated/jni/RNFBPerfTurboModules.h +31 -0
  11. package/android/src/reactnative/java/io/invertase/firebase/perf/generated/jni/react/renderer/components/RNFBPerfTurboModules/RNFBPerfTurboModulesJSI-generated.cpp +94 -0
  12. package/android/src/reactnative/java/io/invertase/firebase/perf/generated/jni/react/renderer/components/RNFBPerfTurboModules/RNFBPerfTurboModulesJSI.h +267 -0
  13. package/app.plugin.js +1 -1
  14. package/dist/module/HttpMetric.js +4 -4
  15. package/dist/module/HttpMetric.js.map +1 -1
  16. package/dist/module/ScreenTrace.js +5 -5
  17. package/dist/module/ScreenTrace.js.map +1 -1
  18. package/dist/module/Trace.js +4 -4
  19. package/dist/module/Trace.js.map +1 -1
  20. package/dist/module/index.js +142 -3
  21. package/dist/module/index.js.map +1 -1
  22. package/dist/module/version.js +1 -1
  23. package/dist/typescript/lib/HttpMetric.d.ts +2 -2
  24. package/dist/typescript/lib/HttpMetric.d.ts.map +1 -1
  25. package/dist/typescript/lib/ScreenTrace.d.ts +2 -2
  26. package/dist/typescript/lib/ScreenTrace.d.ts.map +1 -1
  27. package/dist/typescript/lib/Trace.d.ts +2 -2
  28. package/dist/typescript/lib/Trace.d.ts.map +1 -1
  29. package/dist/typescript/lib/index.d.ts +23 -4
  30. package/dist/typescript/lib/index.d.ts.map +1 -1
  31. package/dist/typescript/lib/types/internal.d.ts +12 -16
  32. package/dist/typescript/lib/types/internal.d.ts.map +1 -1
  33. package/dist/typescript/lib/types/perf.d.ts +7 -7
  34. package/dist/typescript/lib/types/perf.d.ts.map +1 -1
  35. package/dist/typescript/lib/version.d.ts +1 -1
  36. package/ios/RNFBPerf/RNFBPerfModule.h +3 -2
  37. package/ios/RNFBPerf/{RNFBPerfModule.m → RNFBPerfModule.mm} +56 -71
  38. package/ios/RNFBPerf.xcodeproj/project.pbxproj +8 -8
  39. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  40. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  41. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  42. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  43. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  44. package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
  45. package/ios/generated/RNFBPerfTurboModules/RNFBPerfTurboModules-generated.mm +106 -0
  46. package/ios/generated/RNFBPerfTurboModules/RNFBPerfTurboModules.h +191 -0
  47. package/ios/generated/RNFBPerfTurboModulesJSI-generated.cpp +94 -0
  48. package/ios/generated/RNFBPerfTurboModulesJSI.h +267 -0
  49. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  50. package/lib/HttpMetric.ts +6 -6
  51. package/lib/ScreenTrace.ts +7 -7
  52. package/lib/Trace.ts +6 -6
  53. package/lib/index.ts +228 -5
  54. package/lib/types/internal.ts +12 -24
  55. package/lib/types/perf.ts +7 -7
  56. package/lib/version.ts +1 -1
  57. package/package.json +30 -5
  58. package/plugin/build/app.plugin.d.ts +2 -0
  59. package/plugin/build/app.plugin.js +6 -0
  60. package/plugin/src/app.plugin.ts +3 -0
  61. package/plugin/tsconfig.tsbuildinfo +1 -1
  62. package/react-native.config.js +10 -0
  63. package/specs/NativeRNFBTurboPerf.ts +44 -0
  64. package/typedoc.json +1 -1
  65. package/android/src/reactnative/java/io/invertase/firebase/perf/ReactNativeFirebasePerfModule.java +0 -158
  66. package/dist/module/modular.js +0 -93
  67. package/dist/module/modular.js.map +0 -1
  68. package/dist/module/namespaced.js +0 -130
  69. package/dist/module/namespaced.js.map +0 -1
  70. package/dist/module/types/namespaced.js +0 -65
  71. package/dist/module/types/namespaced.js.map +0 -1
  72. package/dist/typescript/lib/modular.d.ts +0 -43
  73. package/dist/typescript/lib/modular.d.ts.map +0 -1
  74. package/dist/typescript/lib/namespaced.d.ts +0 -11
  75. package/dist/typescript/lib/namespaced.d.ts.map +0 -1
  76. package/dist/typescript/lib/types/namespaced.d.ts +0 -128
  77. package/dist/typescript/lib/types/namespaced.d.ts.map +0 -1
  78. package/lib/modular.ts +0 -116
  79. package/lib/namespaced.ts +0 -200
  80. package/lib/types/namespaced.ts +0 -162
@@ -1,6 +1,25 @@
1
+ import type { FirebaseApp } from '@react-native-firebase/app';
2
+ import './types/internal';
3
+ import type { FirebasePerformance, HttpMetric, HttpMethod, PerformanceSettings, PerformanceTrace, ScreenTrace } from './types/perf';
4
+ export declare const SDK_VERSION = "26.0.0";
5
+ export declare function getPerformance(app?: FirebaseApp): FirebasePerformance;
6
+ /**
7
+ * Creates a Performance Monitoring instance and applies optional settings.
8
+ *
9
+ * @remarks Returns **synchronously** on React Native Firebase (unlike some async firebase-js-sdk
10
+ * initialization paths). Settings are applied to the native Performance SDK instance.
11
+ */
12
+ export declare function initializePerformance(app: FirebaseApp, settings?: PerformanceSettings): FirebasePerformance;
13
+ /**
14
+ * Creates a custom performance trace.
15
+ *
16
+ * @remarks On React Native Firebase, {@link PerformanceTrace.start} and
17
+ * {@link PerformanceTrace.stop} are **synchronous** (in-memory native calls via TurboModules),
18
+ * matching the firebase-js-sdk web `PerformanceTrace`.
19
+ */
20
+ export declare function trace(performance: FirebasePerformance, name: string): PerformanceTrace;
21
+ export declare function httpMetric(performance: FirebasePerformance, url: string, httpMethod: HttpMethod): HttpMetric;
22
+ export declare function newScreenTrace(performance: FirebasePerformance, screenName: string): ScreenTrace;
23
+ export declare function startScreenTrace(performance: FirebasePerformance, screenName: string): ScreenTrace;
1
24
  export type * from './types/perf';
2
- export * from './modular';
3
- export type { FirebasePerformanceTypes } from './types/namespaced';
4
- export * from './namespaced';
5
- export { default } from './namespaced';
6
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAiBA,mBAAmB,cAAc,CAAC;AAElC,cAAc,WAAW,CAAC;AAE1B,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEnE,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAM9D,OAAO,kBAAkB,CAAC;AAS1B,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACZ,MAAM,cAAc,CAAC;AA6ItB,eAAO,MAAM,WAAW,WAAU,CAAC;AAMnC,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,mBAAmB,CAMrE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,WAAW,EAChB,QAAQ,CAAC,EAAE,mBAAmB,GAC7B,mBAAmB,CAWrB;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAEtF;AAED,wBAAgB,UAAU,CACxB,WAAW,EAAE,mBAAmB,EAChC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,GACrB,UAAU,CAEZ;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CAEhG;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,GACjB,WAAW,CAEb;AAED,mBAAmB,cAAc,CAAC"}
@@ -1,18 +1,14 @@
1
1
  import type { FirebasePerformance, HttpMetric, HttpMethod, PerformanceTrace, ScreenTrace } from './perf';
2
- export type PerfModularDeprecationArg = string;
3
- /**
4
- * Namespaced perf instance used by modular entrypoints; methods accept an optional modular deprecation token.
5
- */
6
2
  export interface PerfInternal extends FirebasePerformance {
7
3
  /**
8
4
  * @deprecated Prefer assigning {@link FirebasePerformance.dataCollectionEnabled}.
9
5
  */
10
6
  setPerformanceCollectionEnabled(enabled: boolean): Promise<null>;
11
- newTrace(name: string, deprecationArg?: PerfModularDeprecationArg): PerformanceTrace;
12
- startTrace(name: string, deprecationArg?: PerfModularDeprecationArg): Promise<PerformanceTrace>;
13
- newScreenTrace(screenName: string, deprecationArg?: PerfModularDeprecationArg): ScreenTrace;
14
- startScreenTrace(screenName: string, deprecationArg?: PerfModularDeprecationArg): Promise<ScreenTrace>;
15
- newHttpMetric(url: string, httpMethod: HttpMethod, deprecationArg?: PerfModularDeprecationArg): HttpMetric;
7
+ newTrace(name: string): PerformanceTrace;
8
+ startTrace(name: string): PerformanceTrace;
9
+ newScreenTrace(screenName: string): ScreenTrace;
10
+ startScreenTrace(screenName: string): ScreenTrace;
11
+ newHttpMetric(url: string, httpMethod: HttpMethod): HttpMetric;
16
12
  }
17
13
  export interface RNFBPerfTraceData {
18
14
  metrics: Record<string, number>;
@@ -30,16 +26,16 @@ export interface RNFBPerfNativeModule {
30
26
  isInstrumentationEnabled: boolean;
31
27
  setPerformanceCollectionEnabled(enabled: boolean): Promise<null>;
32
28
  instrumentationEnabled(enabled: boolean): Promise<null>;
33
- startTrace(id: number, identifier: string): Promise<null>;
34
- stopTrace(id: number, traceData: RNFBPerfTraceData): Promise<null>;
35
- startHttpMetric(id: number, url: string, httpMethod: HttpMethod): Promise<null>;
36
- stopHttpMetric(id: number, metricData: RNFBPerfHttpMetricData): Promise<null>;
37
- startScreenTrace(id: number, identifier: string): Promise<null>;
38
- stopScreenTrace(id: number): Promise<null>;
29
+ startTrace(id: number, identifier: string): void;
30
+ stopTrace(id: number, traceData: RNFBPerfTraceData): void;
31
+ startHttpMetric(id: number, url: string, httpMethod: HttpMethod): void;
32
+ stopHttpMetric(id: number, metricData: RNFBPerfHttpMetricData): void;
33
+ startScreenTrace(id: number, identifier: string): void;
34
+ stopScreenTrace(id: number): void;
39
35
  }
40
36
  declare module '@react-native-firebase/app/dist/module/internal/NativeModules' {
41
37
  interface ReactNativeFirebaseNativeModules {
42
- RNFBPerfModule: RNFBPerfNativeModule;
38
+ NativeRNFBTurboPerf: RNFBPerfNativeModule;
43
39
  }
44
40
  }
45
41
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACZ,MAAM,QAAQ,CAAC;AAEhB,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD;;OAEG;IACH,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,yBAAyB,GAAG,gBAAgB,CAAC;IACrF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,yBAAyB,GAAG,WAAW,CAAC;IAC5F,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,yBAAyB,GACzC,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB,aAAa,CACX,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,yBAAyB,GACzC,UAAU,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,8BAA8B,EAAE,OAAO,CAAC;IACxC,wBAAwB,EAAE,OAAO,CAAC;IAClC,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,OAAO,QAAQ,+DAA+D,CAAC;IAC7E,UAAU,gCAAgC;QACxC,cAAc,EAAE,oBAAoB,CAAC;KACtC;CACF"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,WAAW,EACZ,MAAM,QAAQ,CAAC;AAEhB,MAAM,WAAW,YAAa,SAAQ,mBAAmB;IACvD;;OAEG;IACH,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACzC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAC3C,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC;IAChD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,CAAC;IAClD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;CAChE;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,8BAA8B,EAAE,OAAO,CAAC;IACxC,wBAAwB,EAAE,OAAO,CAAC;IAClC,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1D,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACvE,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACrE,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACvD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,OAAO,QAAQ,+DAA+D,CAAC;IAC7E,UAAU,gCAAgC;QACxC,mBAAmB,EAAE,oBAAoB,CAAC;KAC3C;CACF"}
@@ -15,7 +15,7 @@ export type HttpMethod = 'GET' | 'HEAD' | 'PUT' | 'POST' | 'PATCH' | 'TRACE' | '
15
15
  /**
16
16
  * A performance trace (aligned with {@link https://firebase.google.com/docs/reference/js/performance.performancetrace | PerformanceTrace} in the Firebase JS SDK).
17
17
  *
18
- * @remarks React Native uses async `start`/`stop` (native bridge). The web SDK uses synchronous `start`/`stop`. React Native also exposes `getMetrics` and `removeMetric`, which are not on the web `PerformanceTrace` type.
18
+ * @remarks React Native uses synchronous `start`/`stop` (in-memory native calls via TurboModules), matching the firebase-js-sdk web `PerformanceTrace`. React Native also exposes `getMetrics` and `removeMetric`, which are not on the web `PerformanceTrace` type.
19
19
  */
20
20
  export interface PerformanceTrace {
21
21
  getAttribute(attr: string): string | undefined;
@@ -27,15 +27,15 @@ export interface PerformanceTrace {
27
27
  putMetric(metricName: string, num: number): void;
28
28
  incrementMetric(metricName: string, num?: number): void;
29
29
  removeMetric(metricName: string): void;
30
- start(): Promise<null>;
31
- stop(): Promise<null>;
30
+ start(): void;
31
+ stop(): void;
32
32
  }
33
33
  /**
34
34
  * Screen trace for slow/frozen frames (React Native).
35
35
  */
36
36
  export interface ScreenTrace {
37
- start(): Promise<null>;
38
- stop(): Promise<null>;
37
+ start(): void;
38
+ stop(): void;
39
39
  }
40
40
  /**
41
41
  * Network request metric (React Native; not part of the web Performance modular surface).
@@ -51,8 +51,8 @@ export interface HttpMetric {
51
51
  setRequestPayloadSize(bytes: number | null): void;
52
52
  setResponsePayloadSize(bytes: number | null): void;
53
53
  setResponseContentType(contentType: string | null): void;
54
- start(): Promise<null>;
55
- stop(): Promise<null>;
54
+ start(): void;
55
+ stop(): void;
56
56
  }
57
57
  /**
58
58
  * Firebase Performance Monitoring service (aligned with {@link https://firebase.google.com/docs/reference/js/performance.firebaseperformance | FirebasePerformance} in the Firebase JS SDK).
@@ -1 +1 @@
1
- {"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../../../lib/types/perf.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gDAAgD;IAChD,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAEd;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,UAAU,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACxC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,aAAa,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC/C,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAClD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,GAAG,EAAE,WAAW,CAAC;IACjB,0EAA0E;IAC1E,sBAAsB,EAAE,OAAO,CAAC;IAChC,yCAAyC;IACzC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qFAAqF;IACrF,8BAA8B,EAAE,OAAO,CAAC;CACzC"}
1
+ {"version":3,"file":"perf.d.ts","sourceRoot":"","sources":["../../../../lib/types/perf.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gDAAgD;IAChD,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,CAAC;AAEd;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,UAAU,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACxC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,aAAa,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC/C,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAClD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACzD,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,GAAG,EAAE,WAAW,CAAC;IACjB,0EAA0E;IAC1E,sBAAsB,EAAE,OAAO,CAAC;IAChC,yCAAyC;IACzC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qFAAqF;IACrF,8BAA8B,EAAE,OAAO,CAAC;CACzC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "25.1.0";
1
+ export declare const version = "26.0.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -16,8 +16,9 @@
16
16
  */
17
17
 
18
18
  #import <Foundation/Foundation.h>
19
+ #import <React/RCTInvalidating.h>
20
+ #import "RNFBPerfTurboModules.h"
19
21
 
20
- #import <React/RCTBridgeModule.h>
22
+ @interface RNFBPerfModule : NSObject <NativeRNFBTurboPerfSpec, RCTInvalidating>
21
23
 
22
- @interface RNFBPerfModule : NSObject <RCTBridgeModule>
23
24
  @end
@@ -25,10 +25,12 @@ static __strong NSMutableDictionary *traces;
25
25
  static __strong NSMutableDictionary *httpMetrics;
26
26
 
27
27
  @implementation RNFBPerfModule
28
- #pragma mark -
29
- #pragma mark Module Setup
30
28
 
31
- RCT_EXPORT_MODULE();
29
+ RCT_EXPORT_MODULE(NativeRNFBTurboPerf)
30
+
31
+ + (BOOL)requiresMainQueueSetup {
32
+ return NO;
33
+ }
32
34
 
33
35
  - (instancetype)init {
34
36
  self = [super init];
@@ -42,7 +44,7 @@ RCT_EXPORT_MODULE();
42
44
  return self;
43
45
  }
44
46
 
45
- - (void)dealloc {
47
+ - (void)invalidate {
46
48
  @synchronized([self class]) {
47
49
  for (NSString *key in [traces allKeys]) {
48
50
  [traces removeObjectForKey:key];
@@ -54,7 +56,7 @@ RCT_EXPORT_MODULE();
54
56
  }
55
57
  }
56
58
 
57
- - (NSDictionary *)constantsToExport {
59
+ - (NSDictionary *)perfConstantsDictionary {
58
60
  NSMutableDictionary *constants = [NSMutableDictionary new];
59
61
  constants[@"isPerformanceCollectionEnabled"] =
60
62
  @([RCTConvert BOOL:@([FIRPerformance sharedInstance].dataCollectionEnabled)]);
@@ -63,48 +65,50 @@ RCT_EXPORT_MODULE();
63
65
  return constants;
64
66
  }
65
67
 
66
- + (BOOL)requiresMainQueueSetup {
67
- return NO;
68
+ - (facebook::react::ModuleConstants<JS::NativeRNFBTurboPerf::Constants::Builder>)constantsToExport {
69
+ return [_RCTTypedModuleConstants newWithUnsafeDictionary:[self perfConstantsDictionary]];
70
+ }
71
+
72
+ - (facebook::react::ModuleConstants<JS::NativeRNFBTurboPerf::Constants::Builder>)getConstants {
73
+ return [self constantsToExport];
68
74
  }
69
75
 
70
- #pragma mark -
71
- #pragma mark Firebase Perf Methods
76
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
77
+ (const facebook::react::ObjCTurboModule::InitParams &)params {
78
+ return std::make_shared<facebook::react::NativeRNFBTurboPerfSpecJSI>(params);
79
+ }
72
80
 
73
- RCT_EXPORT_METHOD(setPerformanceCollectionEnabled
74
- : (BOOL)enabled resolver
75
- : (RCTPromiseResolveBlock)resolve rejecter
76
- : (RCTPromiseRejectBlock)reject) {
81
+ - (void)setPerformanceCollectionEnabled:(BOOL)enabled
82
+ resolve:(RCTPromiseResolveBlock)resolve
83
+ reject:(RCTPromiseRejectBlock)reject {
77
84
  [FIRPerformance sharedInstance].dataCollectionEnabled = (BOOL)enabled;
78
85
  resolve([NSNull null]);
79
86
  }
80
87
 
81
- RCT_EXPORT_METHOD(startTrace
82
- : (nonnull NSNumber *)id identifier
83
- : (NSString *)identifier resolver
84
- : (RCTPromiseResolveBlock)resolve rejecter
85
- : (RCTPromiseRejectBlock)reject) {
88
+ - (void)instrumentationEnabled:(BOOL)enabled
89
+ resolve:(RCTPromiseResolveBlock)resolve
90
+ reject:(RCTPromiseRejectBlock)reject {
91
+ [FIRPerformance sharedInstance].instrumentationEnabled = (BOOL)enabled;
92
+ resolve([NSNull null]);
93
+ }
94
+
95
+ - (void)startTrace:(double)id identifier:(NSString *)identifier {
86
96
  FIRTrace *trace = [[FIRPerformance sharedInstance] traceWithName:identifier];
87
97
  [trace start];
88
98
 
89
99
  @synchronized([self class]) {
90
- traces[id] = trace;
100
+ traces[@((int)id)] = trace;
91
101
  }
92
-
93
- resolve([NSNull null]);
94
102
  }
95
103
 
96
- RCT_EXPORT_METHOD(stopTrace
97
- : (nonnull NSNumber *)id traceData
98
- : (NSDictionary *)traceData resolver
99
- : (RCTPromiseResolveBlock)resolve rejecter
100
- : (RCTPromiseRejectBlock)reject) {
104
+ - (void)stopTrace:(double)id traceData:(JS::NativeRNFBTurboPerf::TraceData &)traceData {
101
105
  FIRTrace *trace;
102
106
  @synchronized([self class]) {
103
- trace = traces[id];
107
+ trace = traces[@((int)id)];
104
108
  }
105
109
 
106
- NSDictionary *metrics = traceData[@"metrics"];
107
- NSDictionary *attributes = traceData[@"attributes"];
110
+ NSDictionary *metrics = (NSDictionary *)traceData.metrics();
111
+ NSDictionary *attributes = (NSDictionary *)traceData.attributes();
108
112
 
109
113
  [metrics enumerateKeysAndObjectsUsingBlock:^(NSString *metricName, NSNumber *value, BOOL *stop) {
110
114
  [trace setIntValue:[value longLongValue] forMetric:metricName];
@@ -118,24 +122,25 @@ RCT_EXPORT_METHOD(stopTrace
118
122
  [trace stop];
119
123
 
120
124
  @synchronized([self class]) {
121
- [traces removeObjectForKey:id];
125
+ [traces removeObjectForKey:@((int)id)];
122
126
  }
127
+ }
123
128
 
124
- resolve([NSNull null]);
129
+ - (void)startScreenTrace:(double)id identifier:(NSString *)identifier {
130
+ // Custom screen traces are not supported on iOS.
125
131
  }
126
132
 
127
- RCT_EXPORT_METHOD(startHttpMetric
128
- : (nonnull NSNumber *)id url
129
- : (NSString *)url httpMethod
130
- : (NSString *)httpMethod resolver
131
- : (RCTPromiseResolveBlock)resolve rejecter
132
- : (RCTPromiseRejectBlock)reject) {
133
+ - (void)stopScreenTrace:(double)id {
134
+ // Custom screen traces are not supported on iOS.
135
+ }
136
+
137
+ - (void)startHttpMetric:(double)id url:(NSString *)url httpMethod:(NSString *)httpMethod {
133
138
  FIRHTTPMethod method = FIRHTTPMethodGET;
134
139
  NSURL *toNSURL = [NSURL URLWithString:url];
135
140
  if ([httpMethod compare:@"put" options:NSCaseInsensitiveSearch] == NSOrderedSame)
136
141
  method = FIRHTTPMethodPUT;
137
142
  if ([httpMethod compare:@"post" options:NSCaseInsensitiveSearch] == NSOrderedSame)
138
- method = FIRHTTPMethodPUT;
143
+ method = FIRHTTPMethodPOST;
139
144
  if ([httpMethod compare:@"head" options:NSCaseInsensitiveSearch] == NSOrderedSame)
140
145
  method = FIRHTTPMethodHEAD;
141
146
  if ([httpMethod compare:@"trace" options:NSCaseInsensitiveSearch] == NSOrderedSame)
@@ -153,63 +158,43 @@ RCT_EXPORT_METHOD(startHttpMetric
153
158
  [httpMetric start];
154
159
 
155
160
  @synchronized([self class]) {
156
- httpMetrics[id] = httpMetric;
161
+ httpMetrics[@((int)id)] = httpMetric;
157
162
  }
158
-
159
- resolve([NSNull null]);
160
163
  }
161
164
 
162
- RCT_EXPORT_METHOD(stopHttpMetric
163
- : (nonnull NSNumber *)id metricData
164
- : (NSDictionary *)metricData resolver
165
- : (RCTPromiseResolveBlock)resolve rejecter
166
- : (RCTPromiseRejectBlock)reject) {
165
+ - (void)stopHttpMetric:(double)id metricData:(JS::NativeRNFBTurboPerf::HttpMetricData &)metricData {
167
166
  FIRHTTPMetric *httpMetric;
168
167
  @synchronized([self class]) {
169
- httpMetric = httpMetrics[id];
168
+ httpMetric = httpMetrics[@((int)id)];
170
169
  }
171
170
 
172
- NSDictionary *attributes = metricData[@"attributes"];
171
+ NSDictionary *attributes = (NSDictionary *)metricData.attributes();
173
172
  [attributes
174
173
  enumerateKeysAndObjectsUsingBlock:^(NSString *attributeName, NSString *value, BOOL *stop) {
175
174
  [httpMetric setValue:value forAttribute:attributeName];
176
175
  }];
177
176
 
178
- if (metricData[@"httpResponseCode"]) {
179
- NSNumber *responseCode = (NSNumber *)metricData[@"httpResponseCode"];
180
- [httpMetric setResponseCode:[responseCode integerValue]];
177
+ if (metricData.httpResponseCode().has_value()) {
178
+ [httpMetric setResponseCode:(NSInteger)metricData.httpResponseCode().value()];
181
179
  }
182
180
 
183
- if (metricData[@"requestPayloadSize"]) {
184
- NSNumber *requestPayloadSize = (NSNumber *)metricData[@"requestPayloadSize"];
185
- [httpMetric setRequestPayloadSize:[requestPayloadSize longValue]];
181
+ if (metricData.requestPayloadSize().has_value()) {
182
+ [httpMetric setRequestPayloadSize:(NSInteger)metricData.requestPayloadSize().value()];
186
183
  }
187
184
 
188
- if (metricData[@"responsePayloadSize"]) {
189
- NSNumber *responsePayloadSize = (NSNumber *)metricData[@"responsePayloadSize"];
190
- [httpMetric setResponsePayloadSize:[responsePayloadSize longValue]];
185
+ if (metricData.responsePayloadSize().has_value()) {
186
+ [httpMetric setResponsePayloadSize:(NSInteger)metricData.responsePayloadSize().value()];
191
187
  }
192
188
 
193
- if (metricData[@"responseContentType"]) {
194
- NSString *responseContentType = (NSString *)metricData[@"responseContentType"];
195
- [httpMetric setResponseContentType:responseContentType];
189
+ if (metricData.responseContentType() != nil) {
190
+ [httpMetric setResponseContentType:metricData.responseContentType()];
196
191
  }
197
192
 
198
193
  [httpMetric stop];
199
194
 
200
195
  @synchronized([self class]) {
201
- [httpMetrics removeObjectForKey:id];
196
+ [httpMetrics removeObjectForKey:@((int)id)];
202
197
  }
203
-
204
- resolve([NSNull null]);
205
- }
206
-
207
- RCT_EXPORT_METHOD(instrumentationEnabled
208
- : (BOOL)enabled resolver
209
- : (RCTPromiseResolveBlock)resolve rejecter
210
- : (RCTPromiseRejectBlock)reject) {
211
- [FIRPerformance sharedInstance].instrumentationEnabled = (BOOL)enabled;
212
- resolve([NSNull null]);
213
198
  }
214
199
 
215
200
  @end
@@ -7,7 +7,7 @@
7
7
  objects = {
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
- 2744B98621F45429004F8E3F /* RNFBPerfModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 2744B98521F45429004F8E3F /* RNFBPerfModule.m */; };
10
+ 2744B98621F45429004F8E3F /* RNFBPerfModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2744B98521F45429004F8E3F /* RNFBPerfModule.mm */; };
11
11
  /* End PBXBuildFile section */
12
12
 
13
13
  /* Begin PBXCopyFilesBuildPhase section */
@@ -25,7 +25,7 @@
25
25
  /* Begin PBXFileReference section */
26
26
  2744B98221F45429004F8E3F /* libRNFBPerf.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNFBPerf.a; sourceTree = BUILT_PRODUCTS_DIR; };
27
27
  2744B98421F45429004F8E3F /* RNFBPerfModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBPerfModule.h; path = RNFBPerf/RNFBPerfModule.h; sourceTree = SOURCE_ROOT; };
28
- 2744B98521F45429004F8E3F /* RNFBPerfModule.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBPerfModule.m; path = RNFBPerf/RNFBPerfModule.m; sourceTree = SOURCE_ROOT; };
28
+ 2744B98521F45429004F8E3F /* RNFBPerfModule.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = RNFBPerfModule.mm; path = RNFBPerf/RNFBPerfModule.mm; sourceTree = SOURCE_ROOT; };
29
29
  /* End PBXFileReference section */
30
30
 
31
31
  /* Begin PBXFrameworksBuildPhase section */
@@ -53,7 +53,7 @@
53
53
  2744B9A121F48736004F8E3F /* converters */,
54
54
  2744B98C21F45C64004F8E3F /* common */,
55
55
  2744B98421F45429004F8E3F /* RNFBPerfModule.h */,
56
- 2744B98521F45429004F8E3F /* RNFBPerfModule.m */,
56
+ 2744B98521F45429004F8E3F /* RNFBPerfModule.mm */,
57
57
  );
58
58
  path = RNFBPerf;
59
59
  sourceTree = "<group>";
@@ -124,7 +124,7 @@
124
124
  isa = PBXSourcesBuildPhase;
125
125
  buildActionMask = 2147483647;
126
126
  files = (
127
- 2744B98621F45429004F8E3F /* RNFBPerfModule.m in Sources */,
127
+ 2744B98621F45429004F8E3F /* RNFBPerfModule.mm in Sources */,
128
128
  );
129
129
  runOnlyForDeploymentPostprocessing = 0;
130
130
  };
@@ -159,7 +159,7 @@
159
159
  );
160
160
  GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
161
161
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
162
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
162
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
163
163
  MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
164
164
  MTL_FAST_MATH = YES;
165
165
  OTHER_LDFLAGS = "-ObjC";
@@ -193,7 +193,7 @@
193
193
  GCC_C_LANGUAGE_STANDARD = gnu11;
194
194
  GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
195
195
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
196
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
196
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
197
197
  MTL_ENABLE_DEBUG_INFO = NO;
198
198
  MTL_FAST_MATH = YES;
199
199
  OTHER_LDFLAGS = "-ObjC";
@@ -254,7 +254,7 @@
254
254
  "$(SRCROOT)/../../../node_modules/react-native-firebase/ios/**",
255
255
  "$(SRCROOT)/../../../packages/app/ios/**",
256
256
  );
257
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
257
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
258
258
  LIBRARY_SEARCH_PATHS = "$(inherited)";
259
259
  MACH_O_TYPE = staticlib;
260
260
  OTHER_LDFLAGS = "$(inherited)";
@@ -312,7 +312,7 @@
312
312
  "$(SRCROOT)/../../../node_modules/react-native-firebase/ios/**",
313
313
  "$(SRCROOT)/../../../packages/app/ios/**",
314
314
  );
315
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
315
+ IPHONEOS_DEPLOYMENT_TARGET = 15.0;
316
316
  LIBRARY_SEARCH_PATHS = "$(inherited)";
317
317
  MACH_O_TYPE = staticlib;
318
318
  ONLY_ACTIVE_ARCH = YES;
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ #if __has_include(<React-RCTAppDelegate/RCTDependencyProvider.h>)
12
+ #import <React-RCTAppDelegate/RCTDependencyProvider.h>
13
+ #elif __has_include(<React_RCTAppDelegate/RCTDependencyProvider.h>)
14
+ #import <React_RCTAppDelegate/RCTDependencyProvider.h>
15
+ #else
16
+ #import "RCTDependencyProvider.h"
17
+ #endif
18
+
19
+ NS_ASSUME_NONNULL_BEGIN
20
+
21
+ @interface RCTAppDependencyProvider : NSObject <RCTDependencyProvider>
22
+
23
+ @end
24
+
25
+ NS_ASSUME_NONNULL_END
@@ -0,0 +1,55 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import "RCTAppDependencyProvider.h"
9
+ #import <ReactCodegen/RCTModulesConformingToProtocolsProvider.h>
10
+ #import <ReactCodegen/RCTThirdPartyComponentsProvider.h>
11
+
12
+ @implementation RCTAppDependencyProvider {
13
+ NSArray<NSString *> * _URLRequestHandlerClassNames;
14
+ NSArray<NSString *> * _imageDataDecoderClassNames;
15
+ NSArray<NSString *> * _imageURLLoaderClassNames;
16
+ NSDictionary<NSString *,Class<RCTComponentViewProtocol>> * _thirdPartyFabricComponents;
17
+ }
18
+
19
+ - (nonnull NSArray<NSString *> *)URLRequestHandlerClassNames {
20
+ static dispatch_once_t requestUrlToken;
21
+ dispatch_once(&requestUrlToken, ^{
22
+ self->_URLRequestHandlerClassNames = RCTModulesConformingToProtocolsProvider.URLRequestHandlerClassNames;
23
+ });
24
+
25
+ return _URLRequestHandlerClassNames;
26
+ }
27
+
28
+ - (nonnull NSArray<NSString *> *)imageDataDecoderClassNames {
29
+ static dispatch_once_t dataDecoderToken;
30
+ dispatch_once(&dataDecoderToken, ^{
31
+ _imageDataDecoderClassNames = RCTModulesConformingToProtocolsProvider.imageDataDecoderClassNames;
32
+ });
33
+
34
+ return _imageDataDecoderClassNames;
35
+ }
36
+
37
+ - (nonnull NSArray<NSString *> *)imageURLLoaderClassNames {
38
+ static dispatch_once_t urlLoaderToken;
39
+ dispatch_once(&urlLoaderToken, ^{
40
+ _imageURLLoaderClassNames = RCTModulesConformingToProtocolsProvider.imageURLLoaderClassNames;
41
+ });
42
+
43
+ return _imageURLLoaderClassNames;
44
+ }
45
+
46
+ - (nonnull NSDictionary<NSString *,Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents {
47
+ static dispatch_once_t nativeComponentsToken;
48
+ dispatch_once(&nativeComponentsToken, ^{
49
+ _thirdPartyFabricComponents = RCTThirdPartyComponentsProvider.thirdPartyFabricComponents;
50
+ });
51
+
52
+ return _thirdPartyFabricComponents;
53
+ }
54
+
55
+ @end
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ @interface RCTModulesConformingToProtocolsProvider: NSObject
11
+
12
+ +(NSArray<NSString *> *)imageURLLoaderClassNames;
13
+
14
+ +(NSArray<NSString *> *)imageDataDecoderClassNames;
15
+
16
+ +(NSArray<NSString *> *)URLRequestHandlerClassNames;
17
+
18
+ @end
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import "RCTModulesConformingToProtocolsProvider.h"
9
+
10
+ @implementation RCTModulesConformingToProtocolsProvider
11
+
12
+ +(NSArray<NSString *> *)imageURLLoaderClassNames
13
+ {
14
+ return @[
15
+
16
+ ];
17
+ }
18
+
19
+ +(NSArray<NSString *> *)imageDataDecoderClassNames
20
+ {
21
+ return @[
22
+
23
+ ];
24
+ }
25
+
26
+ +(NSArray<NSString *> *)URLRequestHandlerClassNames
27
+ {
28
+ return @[
29
+
30
+ ];
31
+ }
32
+
33
+ @end
@@ -0,0 +1,16 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ #import <Foundation/Foundation.h>
9
+
10
+ @protocol RCTComponentViewProtocol;
11
+
12
+ @interface RCTThirdPartyComponentsProvider: NSObject
13
+
14
+ + (NSDictionary<NSString *, Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents;
15
+
16
+ @end
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+
9
+ #import <Foundation/Foundation.h>
10
+
11
+ #import "RCTThirdPartyComponentsProvider.h"
12
+ #import <React/RCTComponentViewProtocol.h>
13
+
14
+ @implementation RCTThirdPartyComponentsProvider
15
+
16
+ + (NSDictionary<NSString *, Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents
17
+ {
18
+ return @{
19
+
20
+ };
21
+ }
22
+
23
+ @end