react-native-push-signal 0.1.6 → 0.1.8

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 (97) hide show
  1. package/LICENSE +1 -1
  2. package/PushSignal.podspec +2 -12
  3. package/README.md +1 -3
  4. package/README.ru.md +1 -3
  5. package/android/build.gradle +1 -62
  6. package/android/consumer-rules.pro +3 -3
  7. package/android/src/main/AndroidManifest.xml +2 -2
  8. package/android/src/main/java/com/pushsignal/PushModels.kt +15 -0
  9. package/android/src/main/java/com/{margelo/nitro/pushsignal → pushsignal}/PushSignalCenter.kt +2 -3
  10. package/android/src/main/java/com/{margelo/nitro/pushsignal → pushsignal}/PushSignalInitProvider.kt +1 -1
  11. package/android/src/main/java/com/{margelo/nitro/pushsignal → pushsignal}/PushSignalMessagingService.kt +1 -1
  12. package/android/src/main/java/com/pushsignal/PushSignalModule.kt +88 -0
  13. package/android/src/main/java/com/pushsignal/PushSignalPackage.kt +30 -0
  14. package/ios/PushSignal.h +4 -0
  15. package/ios/PushSignal.mm +57 -0
  16. package/ios/PushSignalCenter.h +26 -0
  17. package/ios/PushSignalCenter.m +583 -0
  18. package/ios/PushSignalLaunchStore.m +3 -14
  19. package/lib/module/NativePushSignal.js +5 -0
  20. package/lib/module/NativePushSignal.js.map +1 -0
  21. package/lib/module/pushSignal.native.js +33 -7
  22. package/lib/module/pushSignal.native.js.map +1 -1
  23. package/lib/module/types.js +2 -0
  24. package/lib/module/types.js.map +1 -0
  25. package/lib/typescript/src/NativePushSignal.d.ts +22 -0
  26. package/lib/typescript/src/NativePushSignal.d.ts.map +1 -0
  27. package/lib/typescript/src/index.d.ts +1 -1
  28. package/lib/typescript/src/index.d.ts.map +1 -1
  29. package/lib/typescript/src/pushSignal.d.ts +1 -1
  30. package/lib/typescript/src/pushSignal.d.ts.map +1 -1
  31. package/lib/typescript/src/pushSignal.native.d.ts +1 -1
  32. package/lib/typescript/src/pushSignal.native.d.ts.map +1 -1
  33. package/lib/typescript/src/{PushSignal.nitro.d.ts → types.d.ts} +2 -12
  34. package/lib/typescript/src/types.d.ts.map +1 -0
  35. package/package.json +14 -19
  36. package/src/NativePushSignal.ts +25 -0
  37. package/src/index.tsx +1 -1
  38. package/src/pushSignal.native.tsx +54 -11
  39. package/src/pushSignal.tsx +1 -1
  40. package/src/types.ts +25 -0
  41. package/android/CMakeLists.txt +0 -24
  42. package/android/src/main/cpp/cpp-adapter.cpp +0 -11
  43. package/android/src/main/java/com/margelo/nitro/pushsignal/PushSignal.kt +0 -38
  44. package/android/src/main/java/com/margelo/nitro/pushsignal/PushSignalPackage.kt +0 -22
  45. package/ios/PushSignal.swift +0 -29
  46. package/ios/PushSignalCenter.swift +0 -604
  47. package/lib/module/PushSignal.nitro.js +0 -4
  48. package/lib/module/PushSignal.nitro.js.map +0 -1
  49. package/lib/typescript/src/PushSignal.nitro.d.ts.map +0 -1
  50. package/nitro.json +0 -23
  51. package/nitrogen/generated/android/c++/JAndroidFirebaseConfig.hpp +0 -70
  52. package/nitrogen/generated/android/c++/JFunc_void_PushMessage.hpp +0 -80
  53. package/nitrogen/generated/android/c++/JHybridPushSignalSpec.cpp +0 -114
  54. package/nitrogen/generated/android/c++/JHybridPushSignalSpec.hpp +0 -66
  55. package/nitrogen/generated/android/c++/JPushCredentials.hpp +0 -70
  56. package/nitrogen/generated/android/c++/JPushEnvironment.hpp +0 -58
  57. package/nitrogen/generated/android/c++/JPushMessage.hpp +0 -84
  58. package/nitrogen/generated/android/c++/JPushPlatform.hpp +0 -58
  59. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/AndroidFirebaseConfig.kt +0 -66
  60. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/Func_void_PushMessage.kt +0 -78
  61. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/HybridPushSignalSpec.kt +0 -79
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/PushCredentials.kt +0 -61
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/PushEnvironment.kt +0 -23
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/PushMessage.kt +0 -66
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/PushPlatform.kt +0 -23
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/pushsignal/pushsignalOnLoad.kt +0 -35
  67. package/nitrogen/generated/android/pushsignal+autolinking.cmake +0 -81
  68. package/nitrogen/generated/android/pushsignal+autolinking.gradle +0 -27
  69. package/nitrogen/generated/android/pushsignalOnLoad.cpp +0 -56
  70. package/nitrogen/generated/android/pushsignalOnLoad.hpp +0 -34
  71. package/nitrogen/generated/ios/PushSignal+autolinking.rb +0 -62
  72. package/nitrogen/generated/ios/PushSignal-Swift-Cxx-Bridge.cpp +0 -65
  73. package/nitrogen/generated/ios/PushSignal-Swift-Cxx-Bridge.hpp +0 -254
  74. package/nitrogen/generated/ios/PushSignal-Swift-Cxx-Umbrella.hpp +0 -63
  75. package/nitrogen/generated/ios/PushSignalAutolinking.mm +0 -33
  76. package/nitrogen/generated/ios/PushSignalAutolinking.swift +0 -26
  77. package/nitrogen/generated/ios/c++/HybridPushSignalSpecSwift.cpp +0 -11
  78. package/nitrogen/generated/ios/c++/HybridPushSignalSpecSwift.hpp +0 -120
  79. package/nitrogen/generated/ios/swift/AndroidFirebaseConfig.swift +0 -96
  80. package/nitrogen/generated/ios/swift/Func_void.swift +0 -46
  81. package/nitrogen/generated/ios/swift/Func_void_PushCredentials.swift +0 -46
  82. package/nitrogen/generated/ios/swift/Func_void_PushMessage.swift +0 -46
  83. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +0 -46
  84. package/nitrogen/generated/ios/swift/HybridPushSignalSpec.swift +0 -58
  85. package/nitrogen/generated/ios/swift/HybridPushSignalSpec_cxx.swift +0 -196
  86. package/nitrogen/generated/ios/swift/PushCredentials.swift +0 -45
  87. package/nitrogen/generated/ios/swift/PushEnvironment.swift +0 -40
  88. package/nitrogen/generated/ios/swift/PushMessage.swift +0 -97
  89. package/nitrogen/generated/ios/swift/PushPlatform.swift +0 -40
  90. package/nitrogen/generated/shared/c++/AndroidFirebaseConfig.hpp +0 -96
  91. package/nitrogen/generated/shared/c++/HybridPushSignalSpec.cpp +0 -24
  92. package/nitrogen/generated/shared/c++/HybridPushSignalSpec.hpp +0 -74
  93. package/nitrogen/generated/shared/c++/PushCredentials.hpp +0 -97
  94. package/nitrogen/generated/shared/c++/PushEnvironment.hpp +0 -76
  95. package/nitrogen/generated/shared/c++/PushMessage.hpp +0 -97
  96. package/nitrogen/generated/shared/c++/PushPlatform.hpp +0 -76
  97. package/src/PushSignal.nitro.ts +0 -39
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","PushSignalHybridObject","createHybridObject","messageListeners","Set","pressListeners","nativeCallbacksBound","bindNativeCallbacks","setOnMessage","message","listener","setOnNotificationPress","forEach","initialize","config","getCredentials","onMessage","add","delete","onNotificationPress"],"sourceRoot":"../../src","sources":["pushSignal.native.tsx"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AASzD,MAAMC,sBAAsB,GAC1BD,YAAY,CAACE,kBAAkB,CAAa,YAAY,CAAC;AAE3D,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAoB,CAAC;AACrD,MAAMC,cAAc,GAAG,IAAID,GAAG,CAAiC,CAAC;AAChE,IAAIE,oBAAoB,GAAG,KAAK;AAEhC,SAASC,mBAAmBA,CAAA,EAAG;EAC7B,IAAID,oBAAoB,EAAE;IACxB;EACF;EAEAA,oBAAoB,GAAG,IAAI;EAE3BL,sBAAsB,CAACO,YAAY,CAAEC,OAAO,IAAK;IAC/C,KAAK,MAAMC,QAAQ,IAAI,CAAC,GAAGP,gBAAgB,CAAC,EAAE;MAC5C,IAAI;QACF,KAAKO,QAAQ,CAACD,OAAO,CAAC;MACxB,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF,CAAC,CAAC;EAEFR,sBAAsB,CAACU,sBAAsB,CAAEF,OAAO,IAAK;IACzDJ,cAAc,CAACO,OAAO,CAAEF,QAAQ,IAAKA,QAAQ,CAACD,OAAO,CAAC,CAAC;EACzD,CAAC,CAAC;AACJ;AAEA,OAAO,SAASI,UAAUA,CAACC,MAA6B,GAAG,CAAC,CAAC,EAAiB;EAC5E,OAAOb,sBAAsB,CAACY,UAAU,CAACC,MAAM,CAAC;AAClD;AAEA,OAAO,SAASC,cAAcA,CAAA,EAA6B;EACzD,OAAOd,sBAAsB,CAACc,cAAc,CAAC,CAAC;AAChD;AAEA,OAAO,SAASC,SAASA,CAACN,QAA2B,EAAc;EACjEH,mBAAmB,CAAC,CAAC;EACrBJ,gBAAgB,CAACc,GAAG,CAACP,QAAQ,CAAC;EAC9B,OAAO,MAAM;IACXP,gBAAgB,CAACe,MAAM,CAACR,QAAQ,CAAC;EACnC,CAAC;AACH;AAEA,OAAO,SAASS,mBAAmBA,CACjCT,QAAwC,EAC5B;EACZH,mBAAmB,CAAC,CAAC;EACrBF,cAAc,CAACY,GAAG,CAACP,QAAQ,CAAC;EAC5B,OAAO,MAAM;IACXL,cAAc,CAACa,MAAM,CAACR,QAAQ,CAAC;EACjC,CAAC;AACH;AAEAH,mBAAmB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NativePushSignal","messageListeners","Set","pressListeners","nativeCallbacksBound","normalizeMessage","raw","data","key","value","Object","entries","String","id","title","body","normalizeCredentials","platform","token","environment","bindNativeCallbacks","onMessage","message","listener","Promise","resolve","then","undefined","onNotificationPress","forEach","startListening","initialize","config","getCredentials","add","delete"],"sourceRoot":"../../src","sources":["pushSignal.native.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ import type { CodegenTypes, TurboModule } from 'react-native';
2
+ export type NativePushMessage = {
3
+ id?: string;
4
+ title?: string;
5
+ body?: string;
6
+ data: Object;
7
+ };
8
+ export type NativePushCredentials = {
9
+ platform: string;
10
+ token: string;
11
+ environment?: string;
12
+ };
13
+ export interface Spec extends TurboModule {
14
+ initialize(config: Object): Promise<void>;
15
+ getCredentials(): Promise<NativePushCredentials>;
16
+ startListening(): void;
17
+ readonly onMessage: CodegenTypes.EventEmitter<NativePushMessage>;
18
+ readonly onNotificationPress: CodegenTypes.EventEmitter<NativePushMessage>;
19
+ }
20
+ declare const _default: Spec;
21
+ export default _default;
22
+ //# sourceMappingURL=NativePushSignal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativePushSignal.d.ts","sourceRoot":"","sources":["../../../src/NativePushSignal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,cAAc,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjD,cAAc,IAAI,IAAI,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACjE,QAAQ,CAAC,mBAAmB,EAAE,YAAY,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;CAC5E;;AAED,wBAAoE"}
@@ -1,3 +1,3 @@
1
- export type { AndroidFirebaseConfig, OnMessageListener, PushCredentials, PushEnvironment, PushMessage, PushPlatform, } from './PushSignal.nitro.js';
1
+ export type { AndroidFirebaseConfig, OnMessageListener, PushCredentials, PushEnvironment, PushMessage, PushPlatform, } from './types.js';
2
2
  export { getCredentials, initialize, onMessage, onNotificationPress, } from './pushSignal';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,uBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,UAAU,EACV,SAAS,EACT,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,WAAW,EACX,YAAY,GACb,MAAM,YAAS,CAAC;AACjB,OAAO,EACL,cAAc,EACd,UAAU,EACV,SAAS,EACT,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AndroidFirebaseConfig, OnMessageListener, PushCredentials, PushMessage } from './PushSignal.nitro.js';
1
+ import type { AndroidFirebaseConfig, OnMessageListener, PushCredentials, PushMessage } from './types.js';
2
2
  export declare function initialize(_config?: AndroidFirebaseConfig): Promise<void>;
3
3
  export declare function getCredentials(): Promise<PushCredentials>;
4
4
  export declare function onMessage(_listener: OnMessageListener): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"pushSignal.d.ts","sourceRoot":"","sources":["../../../src/pushSignal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACZ,MAAM,uBAAoB,CAAC;AAE5B,wBAAsB,UAAU,CAC9B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAAG;AAEnB,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAE/D;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAElE;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GACxC,MAAM,IAAI,CAEZ"}
1
+ {"version":3,"file":"pushSignal.d.ts","sourceRoot":"","sources":["../../../src/pushSignal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,WAAW,EACZ,MAAM,YAAS,CAAC;AAEjB,wBAAsB,UAAU,CAC9B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,IAAI,CAAC,CAAG;AAEnB,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAE/D;AAED,wBAAgB,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAElE;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GACxC,MAAM,IAAI,CAEZ"}
@@ -1,4 +1,4 @@
1
- import type { AndroidFirebaseConfig, OnMessageListener, PushCredentials, PushMessage } from './PushSignal.nitro.js';
1
+ import type { AndroidFirebaseConfig, OnMessageListener, PushCredentials, PushMessage } from './types.js';
2
2
  export declare function initialize(config?: AndroidFirebaseConfig): Promise<void>;
3
3
  export declare function getCredentials(): Promise<PushCredentials>;
4
4
  export declare function onMessage(listener: OnMessageListener): () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"pushSignal.native.d.ts","sourceRoot":"","sources":["../../../src/pushSignal.native.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,WAAW,EAEZ,MAAM,uBAAoB,CAAC;AA+B5B,wBAAgB,UAAU,CAAC,MAAM,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAEzD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAMjE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GACvC,MAAM,IAAI,CAMZ"}
1
+ {"version":3,"file":"pushSignal.native.d.ts","sourceRoot":"","sources":["../../../src/pushSignal.native.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EAEf,WAAW,EAEZ,MAAM,YAAS,CAAC;AAyEjB,wBAAgB,UAAU,CAAC,MAAM,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,eAAe,CAAC,CAEzD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAMjE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GACvC,MAAM,IAAI,CAMZ"}
@@ -1,5 +1,4 @@
1
- import type { HybridObject } from 'react-native-nitro-modules';
2
- /** JS/C++ name cannot be `android`: NDK defines `-DANDROID` and breaks the generated enum. */
1
+ /** JS name cannot be `android`: NDK defines `-DANDROID` and breaks native enums. */
3
2
  export type PushPlatform = 'ios' | 'android_os';
4
3
  export type PushEnvironment = 'sandbox' | 'production';
5
4
  export interface PushCredentials {
@@ -20,13 +19,4 @@ export interface AndroidFirebaseConfig {
20
19
  current_key?: string;
21
20
  project_number?: string;
22
21
  }
23
- export interface PushSignal extends HybridObject<{
24
- ios: 'swift';
25
- android: 'kotlin';
26
- }> {
27
- initialize(config: AndroidFirebaseConfig): Promise<void>;
28
- getCredentials(): Promise<PushCredentials>;
29
- setOnMessage(callback: (message: PushMessage) => void): void;
30
- setOnNotificationPress(callback: (message: PushMessage) => void): void;
31
- }
32
- //# sourceMappingURL=PushSignal.nitro.d.ts.map
22
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,YAAY,CAAC;AAChD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,YAAY,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/E,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-push-signal",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Push",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -18,8 +18,6 @@
18
18
  "android",
19
19
  "ios",
20
20
  "cpp",
21
- "nitrogen",
22
- "nitro.json",
23
21
  "*.podspec",
24
22
  "react-native.config.js",
25
23
  "!ios/build",
@@ -37,7 +35,6 @@
37
35
  "example": "yarn workspace react-native-push-signal-example",
38
36
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
39
37
  "prepare": "bob build",
40
- "nitrogen": "nitrogen",
41
38
  "typecheck": "tsc",
42
39
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
43
40
  "test": "jest",
@@ -54,7 +51,7 @@
54
51
  "type": "git",
55
52
  "url": "git+https://antonseagull.com.git"
56
53
  },
57
- "author": "Anton Seagull <hi@antonseagull.com> (https://antonseagull.com)",
54
+ "author": "AntonSeagull <hi@antonseagull.com> (https://antonseagull.com)",
58
55
  "license": "MIT",
59
56
  "bugs": {
60
57
  "url": "https://antonseagull.com/issues"
@@ -82,12 +79,10 @@
82
79
  "eslint-plugin-prettier": "^5.5.6",
83
80
  "jest": "^29.7.0",
84
81
  "lefthook": "^2.1.9",
85
- "nitrogen": "^0.37.0",
86
82
  "prettier": "^3.8.3",
87
83
  "react": "19.2.3",
88
84
  "react-native": "0.85.0",
89
85
  "react-native-builder-bob": "^0.43.0",
90
- "react-native-nitro-modules": "^0.37.0",
91
86
  "react-native-web": "~0.21.2",
92
87
  "release-it": "^20.2.0",
93
88
  "turbo": "^2.9.16",
@@ -95,8 +90,7 @@
95
90
  },
96
91
  "peerDependencies": {
97
92
  "react": "*",
98
- "react-native": "*",
99
- "react-native-nitro-modules": "^0.37.0"
93
+ "react-native": "*"
100
94
  },
101
95
  "workspaces": [
102
96
  "example"
@@ -106,13 +100,6 @@
106
100
  "source": "src",
107
101
  "output": "lib",
108
102
  "targets": [
109
- [
110
- "custom",
111
- {
112
- "script": "nitrogen",
113
- "clean": "nitrogen/"
114
- }
115
- ],
116
103
  [
117
104
  "module",
118
105
  {
@@ -127,6 +114,14 @@
127
114
  ]
128
115
  ]
129
116
  },
117
+ "codegenConfig": {
118
+ "name": "PushSignalSpec",
119
+ "type": "modules",
120
+ "jsSrcsDir": "src",
121
+ "android": {
122
+ "javaPackageName": "com.pushsignal"
123
+ }
124
+ },
130
125
  "prettier": {
131
126
  "quoteProps": "consistent",
132
127
  "singleQuote": true,
@@ -140,7 +135,7 @@
140
135
  "customExportConditions": [
141
136
  "require",
142
137
  "react-native",
143
- "<%- project.sourceCondition -%>"
138
+ "react-native-push-signal-source"
144
139
  ]
145
140
  },
146
141
  "modulePathIgnorePatterns": [
@@ -173,8 +168,8 @@
173
168
  }
174
169
  },
175
170
  "create-react-native-library": {
176
- "type": "nitro-module",
177
- "languages": "kotlin-swift",
171
+ "type": "turbo-module",
172
+ "languages": "kotlin-objc",
178
173
  "tools": [
179
174
  "eslint",
180
175
  "jest",
@@ -0,0 +1,25 @@
1
+ import type { CodegenTypes, TurboModule } from 'react-native';
2
+ import { TurboModuleRegistry } from 'react-native';
3
+
4
+ export type NativePushMessage = {
5
+ id?: string;
6
+ title?: string;
7
+ body?: string;
8
+ data: Object;
9
+ };
10
+
11
+ export type NativePushCredentials = {
12
+ platform: string;
13
+ token: string;
14
+ environment?: string;
15
+ };
16
+
17
+ export interface Spec extends TurboModule {
18
+ initialize(config: Object): Promise<void>;
19
+ getCredentials(): Promise<NativePushCredentials>;
20
+ startListening(): void;
21
+ readonly onMessage: CodegenTypes.EventEmitter<NativePushMessage>;
22
+ readonly onNotificationPress: CodegenTypes.EventEmitter<NativePushMessage>;
23
+ }
24
+
25
+ export default TurboModuleRegistry.getEnforcing<Spec>('PushSignal');
package/src/index.tsx CHANGED
@@ -5,7 +5,7 @@ export type {
5
5
  PushEnvironment,
6
6
  PushMessage,
7
7
  PushPlatform,
8
- } from './PushSignal.nitro';
8
+ } from './types';
9
9
  export {
10
10
  getCredentials,
11
11
  initialize,
@@ -1,19 +1,55 @@
1
- import { NitroModules } from 'react-native-nitro-modules';
1
+ import NativePushSignal from './NativePushSignal';
2
2
  import type {
3
3
  AndroidFirebaseConfig,
4
4
  OnMessageListener,
5
5
  PushCredentials,
6
+ PushEnvironment,
6
7
  PushMessage,
7
- PushSignal,
8
- } from './PushSignal.nitro';
9
-
10
- const PushSignalHybridObject =
11
- NitroModules.createHybridObject<PushSignal>('PushSignal');
8
+ PushPlatform,
9
+ } from './types';
12
10
 
13
11
  const messageListeners = new Set<OnMessageListener>();
14
12
  const pressListeners = new Set<(message: PushMessage) => void>();
15
13
  let nativeCallbacksBound = false;
16
14
 
15
+ function normalizeMessage(raw: {
16
+ id?: string;
17
+ title?: string;
18
+ body?: string;
19
+ data: Object;
20
+ }): PushMessage {
21
+ const data: Record<string, string> = {};
22
+ if (raw.data && typeof raw.data === 'object') {
23
+ for (const [key, value] of Object.entries(
24
+ raw.data as Record<string, unknown>
25
+ )) {
26
+ if (value == null) {
27
+ continue;
28
+ }
29
+ data[key] = typeof value === 'string' ? value : String(value);
30
+ }
31
+ }
32
+
33
+ return {
34
+ id: raw.id,
35
+ title: raw.title,
36
+ body: raw.body,
37
+ data,
38
+ };
39
+ }
40
+
41
+ function normalizeCredentials(raw: {
42
+ platform: string;
43
+ token: string;
44
+ environment?: string;
45
+ }): PushCredentials {
46
+ return {
47
+ platform: raw.platform as PushPlatform,
48
+ token: raw.token,
49
+ environment: raw.environment as PushEnvironment | undefined,
50
+ };
51
+ }
52
+
17
53
  function bindNativeCallbacks() {
18
54
  if (nativeCallbacksBound) {
19
55
  return;
@@ -21,27 +57,34 @@ function bindNativeCallbacks() {
21
57
 
22
58
  nativeCallbacksBound = true;
23
59
 
24
- PushSignalHybridObject.setOnMessage((message) => {
60
+ NativePushSignal.onMessage((raw) => {
61
+ const message = normalizeMessage(raw);
25
62
  for (const listener of [...messageListeners]) {
26
63
  try {
27
- void listener(message);
64
+ Promise.resolve(listener(message)).then(
65
+ () => undefined,
66
+ () => undefined
67
+ );
28
68
  } catch {
29
69
  // Ignore listener failures so one bad subscriber cannot break delivery.
30
70
  }
31
71
  }
32
72
  });
33
73
 
34
- PushSignalHybridObject.setOnNotificationPress((message) => {
74
+ NativePushSignal.onNotificationPress((raw) => {
75
+ const message = normalizeMessage(raw);
35
76
  pressListeners.forEach((listener) => listener(message));
36
77
  });
78
+
79
+ NativePushSignal.startListening();
37
80
  }
38
81
 
39
82
  export function initialize(config: AndroidFirebaseConfig = {}): Promise<void> {
40
- return PushSignalHybridObject.initialize(config);
83
+ return NativePushSignal.initialize(config);
41
84
  }
42
85
 
43
86
  export function getCredentials(): Promise<PushCredentials> {
44
- return PushSignalHybridObject.getCredentials();
87
+ return NativePushSignal.getCredentials().then(normalizeCredentials);
45
88
  }
46
89
 
47
90
  export function onMessage(listener: OnMessageListener): () => void {
@@ -3,7 +3,7 @@ import type {
3
3
  OnMessageListener,
4
4
  PushCredentials,
5
5
  PushMessage,
6
- } from './PushSignal.nitro';
6
+ } from './types';
7
7
 
8
8
  export async function initialize(
9
9
  _config: AndroidFirebaseConfig = {}
package/src/types.ts ADDED
@@ -0,0 +1,25 @@
1
+ /** JS name cannot be `android`: NDK defines `-DANDROID` and breaks native enums. */
2
+ export type PushPlatform = 'ios' | 'android_os';
3
+ export type PushEnvironment = 'sandbox' | 'production';
4
+
5
+ export interface PushCredentials {
6
+ platform: PushPlatform;
7
+ token: string;
8
+ environment?: PushEnvironment;
9
+ }
10
+
11
+ export interface PushMessage {
12
+ id?: string;
13
+ title?: string;
14
+ body?: string;
15
+ data: Record<string, string>;
16
+ }
17
+
18
+ export type OnMessageListener = (message: PushMessage) => void | Promise<void>;
19
+
20
+ export interface AndroidFirebaseConfig {
21
+ project_id?: string;
22
+ mobilesdk_app_id?: string;
23
+ current_key?: string;
24
+ project_number?: string;
25
+ }
@@ -1,24 +0,0 @@
1
- project(pushsignal)
2
- cmake_minimum_required(VERSION 3.9.0)
3
-
4
- set(PACKAGE_NAME pushsignal)
5
- set(CMAKE_VERBOSE_MAKEFILE ON)
6
- set(CMAKE_CXX_STANDARD 20)
7
-
8
- # Define C++ library and add all sources
9
- add_library(${PACKAGE_NAME} SHARED src/main/cpp/cpp-adapter.cpp)
10
-
11
- # Add Nitrogen specs :)
12
- include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/pushsignal+autolinking.cmake)
13
-
14
- # Set up local includes
15
- include_directories("src/main/cpp" "../cpp")
16
-
17
- find_library(LOG_LIB log)
18
-
19
- # Link all libraries together
20
- target_link_libraries(
21
- ${PACKAGE_NAME}
22
- ${LOG_LIB}
23
- android # <-- Android core
24
- )
@@ -1,11 +0,0 @@
1
- #include <jni.h>
2
- #include "pushsignalOnLoad.hpp"
3
-
4
- #include <fbjni/fbjni.h>
5
-
6
-
7
- JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
8
- return facebook::jni::initialize(vm, []() {
9
- margelo::nitro::pushsignal::registerAllNatives();
10
- });
11
- }
@@ -1,38 +0,0 @@
1
- package com.margelo.nitro.pushsignal
2
-
3
- import com.facebook.proguard.annotations.DoNotStrip
4
- import com.margelo.nitro.core.Promise
5
-
6
- @DoNotStrip
7
- class PushSignal : HybridPushSignalSpec() {
8
- override fun initialize(config: AndroidFirebaseConfig): Promise<Unit> {
9
- val promise = Promise<Unit>()
10
- PushSignalCenter.initialize(config) { error ->
11
- if (error == null) {
12
- promise.resolve(Unit)
13
- } else {
14
- promise.reject(error)
15
- }
16
- }
17
- return promise
18
- }
19
-
20
- override fun getCredentials(): Promise<PushCredentials> {
21
- return Promise.async {
22
- val token = PushSignalCenter.fetchToken()
23
- PushCredentials(
24
- PushPlatform.ANDROID_OS,
25
- token,
26
- null
27
- )
28
- }
29
- }
30
-
31
- override fun setOnMessage(callback: (message: PushMessage) -> Unit) {
32
- PushSignalCenter.setOnMessage(callback)
33
- }
34
-
35
- override fun setOnNotificationPress(callback: (message: PushMessage) -> Unit) {
36
- PushSignalCenter.setOnNotificationPress(callback)
37
- }
38
- }
@@ -1,22 +0,0 @@
1
- package com.margelo.nitro.pushsignal
2
-
3
- import com.facebook.react.BaseReactPackage
4
- import com.facebook.react.bridge.NativeModule
5
- import com.facebook.react.bridge.ReactApplicationContext
6
- import com.facebook.react.module.model.ReactModuleInfoProvider
7
-
8
- class PushSignalPackage : BaseReactPackage() {
9
- override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
10
- return null
11
- }
12
-
13
- override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
14
- return ReactModuleInfoProvider { HashMap() }
15
- }
16
-
17
- companion object {
18
- init {
19
- System.loadLibrary("pushsignal")
20
- }
21
- }
22
- }
@@ -1,29 +0,0 @@
1
- import NitroModules
2
-
3
- class PushSignal: HybridPushSignalSpec {
4
- override init() {
5
- super.init()
6
- PushSignalCenter.shared.install()
7
- }
8
-
9
- func initialize(config: AndroidFirebaseConfig) throws -> Promise<Void> {
10
- _ = config
11
- return Promise.async {
12
- ()
13
- }
14
- }
15
-
16
- func getCredentials() throws -> Promise<PushCredentials> {
17
- return Promise.async {
18
- try await PushSignalCenter.shared.fetchCredentials()
19
- }
20
- }
21
-
22
- func setOnMessage(callback: @escaping (PushMessage) -> Void) throws {
23
- PushSignalCenter.shared.onMessage = callback
24
- }
25
-
26
- func setOnNotificationPress(callback: @escaping (PushMessage) -> Void) throws {
27
- PushSignalCenter.shared.onNotificationPress = callback
28
- }
29
- }