@swiftpatch/react-native 2.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 (182) hide show
  1. package/README.md +430 -0
  2. package/android/build.gradle +105 -0
  3. package/android/src/main/AndroidManifest.xml +6 -0
  4. package/android/src/main/java/com/swiftpatch/BundleManager.kt +107 -0
  5. package/android/src/main/java/com/swiftpatch/CrashDetector.kt +79 -0
  6. package/android/src/main/java/com/swiftpatch/CryptoVerifier.kt +69 -0
  7. package/android/src/main/java/com/swiftpatch/DownloadManager.kt +120 -0
  8. package/android/src/main/java/com/swiftpatch/EventQueue.kt +86 -0
  9. package/android/src/main/java/com/swiftpatch/FileUtils.kt +60 -0
  10. package/android/src/main/java/com/swiftpatch/PatchApplier.kt +60 -0
  11. package/android/src/main/java/com/swiftpatch/SignalCrashHandler.kt +84 -0
  12. package/android/src/main/java/com/swiftpatch/SlotManager.kt +299 -0
  13. package/android/src/main/java/com/swiftpatch/SwiftPatchModule.kt +630 -0
  14. package/android/src/main/java/com/swiftpatch/SwiftPatchPackage.kt +21 -0
  15. package/android/src/main/jni/CMakeLists.txt +12 -0
  16. package/android/src/main/jni/bspatch.c +188 -0
  17. package/android/src/main/jni/bspatch.h +57 -0
  18. package/android/src/main/jni/bspatch_jni.c +28 -0
  19. package/ios/Libraries/bspatch/bspatch.c +188 -0
  20. package/ios/Libraries/bspatch/bspatch.h +50 -0
  21. package/ios/Libraries/bspatch/module.modulemap +4 -0
  22. package/ios/SwiftPatch/BundleManager.swift +113 -0
  23. package/ios/SwiftPatch/CrashDetector.swift +71 -0
  24. package/ios/SwiftPatch/CryptoVerifier.swift +70 -0
  25. package/ios/SwiftPatch/DownloadManager.swift +125 -0
  26. package/ios/SwiftPatch/EventQueue.swift +116 -0
  27. package/ios/SwiftPatch/FileUtils.swift +38 -0
  28. package/ios/SwiftPatch/PatchApplier.swift +41 -0
  29. package/ios/SwiftPatch/SignalCrashHandler.swift +129 -0
  30. package/ios/SwiftPatch/SlotManager.swift +360 -0
  31. package/ios/SwiftPatch/SwiftPatchModule.m +56 -0
  32. package/ios/SwiftPatch/SwiftPatchModule.swift +621 -0
  33. package/lib/commonjs/SwiftPatchCore.js +140 -0
  34. package/lib/commonjs/SwiftPatchCore.js.map +1 -0
  35. package/lib/commonjs/SwiftPatchProvider.js +617 -0
  36. package/lib/commonjs/SwiftPatchProvider.js.map +1 -0
  37. package/lib/commonjs/constants.js +50 -0
  38. package/lib/commonjs/constants.js.map +1 -0
  39. package/lib/commonjs/core/Downloader.js +63 -0
  40. package/lib/commonjs/core/Downloader.js.map +1 -0
  41. package/lib/commonjs/core/Installer.js +46 -0
  42. package/lib/commonjs/core/Installer.js.map +1 -0
  43. package/lib/commonjs/core/Rollback.js +36 -0
  44. package/lib/commonjs/core/Rollback.js.map +1 -0
  45. package/lib/commonjs/core/UpdateChecker.js +57 -0
  46. package/lib/commonjs/core/UpdateChecker.js.map +1 -0
  47. package/lib/commonjs/core/Verifier.js +82 -0
  48. package/lib/commonjs/core/Verifier.js.map +1 -0
  49. package/lib/commonjs/core/index.js +41 -0
  50. package/lib/commonjs/core/index.js.map +1 -0
  51. package/lib/commonjs/index.js +154 -0
  52. package/lib/commonjs/index.js.map +1 -0
  53. package/lib/commonjs/modal/SwiftPatchModal.js +667 -0
  54. package/lib/commonjs/modal/SwiftPatchModal.js.map +1 -0
  55. package/lib/commonjs/modal/useSwiftPatchModal.js +26 -0
  56. package/lib/commonjs/modal/useSwiftPatchModal.js.map +1 -0
  57. package/lib/commonjs/native/NativeSwiftPatch.js +85 -0
  58. package/lib/commonjs/native/NativeSwiftPatch.js.map +1 -0
  59. package/lib/commonjs/native/NativeSwiftPatchSpec.js +15 -0
  60. package/lib/commonjs/native/NativeSwiftPatchSpec.js.map +1 -0
  61. package/lib/commonjs/package.json +1 -0
  62. package/lib/commonjs/types.js +126 -0
  63. package/lib/commonjs/types.js.map +1 -0
  64. package/lib/commonjs/useSwiftPatch.js +31 -0
  65. package/lib/commonjs/useSwiftPatch.js.map +1 -0
  66. package/lib/commonjs/utils/api.js +206 -0
  67. package/lib/commonjs/utils/api.js.map +1 -0
  68. package/lib/commonjs/utils/device.js +23 -0
  69. package/lib/commonjs/utils/device.js.map +1 -0
  70. package/lib/commonjs/utils/logger.js +30 -0
  71. package/lib/commonjs/utils/logger.js.map +1 -0
  72. package/lib/commonjs/utils/storage.js +31 -0
  73. package/lib/commonjs/utils/storage.js.map +1 -0
  74. package/lib/commonjs/withSwiftPatch.js +42 -0
  75. package/lib/commonjs/withSwiftPatch.js.map +1 -0
  76. package/lib/module/SwiftPatchCore.js +135 -0
  77. package/lib/module/SwiftPatchCore.js.map +1 -0
  78. package/lib/module/SwiftPatchProvider.js +611 -0
  79. package/lib/module/SwiftPatchProvider.js.map +1 -0
  80. package/lib/module/constants.js +46 -0
  81. package/lib/module/constants.js.map +1 -0
  82. package/lib/module/core/Downloader.js +57 -0
  83. package/lib/module/core/Downloader.js.map +1 -0
  84. package/lib/module/core/Installer.js +41 -0
  85. package/lib/module/core/Installer.js.map +1 -0
  86. package/lib/module/core/Rollback.js +31 -0
  87. package/lib/module/core/Rollback.js.map +1 -0
  88. package/lib/module/core/UpdateChecker.js +51 -0
  89. package/lib/module/core/UpdateChecker.js.map +1 -0
  90. package/lib/module/core/Verifier.js +76 -0
  91. package/lib/module/core/Verifier.js.map +1 -0
  92. package/lib/module/core/index.js +8 -0
  93. package/lib/module/core/index.js.map +1 -0
  94. package/lib/module/index.js +34 -0
  95. package/lib/module/index.js.map +1 -0
  96. package/lib/module/modal/SwiftPatchModal.js +661 -0
  97. package/lib/module/modal/SwiftPatchModal.js.map +1 -0
  98. package/lib/module/modal/useSwiftPatchModal.js +22 -0
  99. package/lib/module/modal/useSwiftPatchModal.js.map +1 -0
  100. package/lib/module/native/NativeSwiftPatch.js +78 -0
  101. package/lib/module/native/NativeSwiftPatch.js.map +1 -0
  102. package/lib/module/native/NativeSwiftPatchSpec.js +12 -0
  103. package/lib/module/native/NativeSwiftPatchSpec.js.map +1 -0
  104. package/lib/module/types.js +139 -0
  105. package/lib/module/types.js.map +1 -0
  106. package/lib/module/useSwiftPatch.js +26 -0
  107. package/lib/module/useSwiftPatch.js.map +1 -0
  108. package/lib/module/utils/api.js +197 -0
  109. package/lib/module/utils/api.js.map +1 -0
  110. package/lib/module/utils/device.js +18 -0
  111. package/lib/module/utils/device.js.map +1 -0
  112. package/lib/module/utils/logger.js +26 -0
  113. package/lib/module/utils/logger.js.map +1 -0
  114. package/lib/module/utils/storage.js +24 -0
  115. package/lib/module/utils/storage.js.map +1 -0
  116. package/lib/module/withSwiftPatch.js +37 -0
  117. package/lib/module/withSwiftPatch.js.map +1 -0
  118. package/lib/typescript/SwiftPatchCore.d.ts +64 -0
  119. package/lib/typescript/SwiftPatchCore.d.ts.map +1 -0
  120. package/lib/typescript/SwiftPatchProvider.d.ts +22 -0
  121. package/lib/typescript/SwiftPatchProvider.d.ts.map +1 -0
  122. package/lib/typescript/constants.d.ts +33 -0
  123. package/lib/typescript/constants.d.ts.map +1 -0
  124. package/lib/typescript/core/Downloader.d.ts +34 -0
  125. package/lib/typescript/core/Downloader.d.ts.map +1 -0
  126. package/lib/typescript/core/Installer.d.ts +25 -0
  127. package/lib/typescript/core/Installer.d.ts.map +1 -0
  128. package/lib/typescript/core/Rollback.d.ts +18 -0
  129. package/lib/typescript/core/Rollback.d.ts.map +1 -0
  130. package/lib/typescript/core/UpdateChecker.d.ts +27 -0
  131. package/lib/typescript/core/UpdateChecker.d.ts.map +1 -0
  132. package/lib/typescript/core/Verifier.d.ts +31 -0
  133. package/lib/typescript/core/Verifier.d.ts.map +1 -0
  134. package/lib/typescript/core/index.d.ts +8 -0
  135. package/lib/typescript/core/index.d.ts.map +1 -0
  136. package/lib/typescript/index.d.ts +13 -0
  137. package/lib/typescript/index.d.ts.map +1 -0
  138. package/lib/typescript/modal/SwiftPatchModal.d.ts +11 -0
  139. package/lib/typescript/modal/SwiftPatchModal.d.ts.map +1 -0
  140. package/lib/typescript/modal/useSwiftPatchModal.d.ts +7 -0
  141. package/lib/typescript/modal/useSwiftPatchModal.d.ts.map +1 -0
  142. package/lib/typescript/native/NativeSwiftPatch.d.ts +61 -0
  143. package/lib/typescript/native/NativeSwiftPatch.d.ts.map +1 -0
  144. package/lib/typescript/native/NativeSwiftPatchSpec.d.ts +67 -0
  145. package/lib/typescript/native/NativeSwiftPatchSpec.d.ts.map +1 -0
  146. package/lib/typescript/types.d.ts +266 -0
  147. package/lib/typescript/types.d.ts.map +1 -0
  148. package/lib/typescript/useSwiftPatch.d.ts +12 -0
  149. package/lib/typescript/useSwiftPatch.d.ts.map +1 -0
  150. package/lib/typescript/utils/api.d.ts +87 -0
  151. package/lib/typescript/utils/api.d.ts.map +1 -0
  152. package/lib/typescript/utils/device.d.ts +9 -0
  153. package/lib/typescript/utils/device.d.ts.map +1 -0
  154. package/lib/typescript/utils/logger.d.ts +8 -0
  155. package/lib/typescript/utils/logger.d.ts.map +1 -0
  156. package/lib/typescript/utils/storage.d.ts +14 -0
  157. package/lib/typescript/utils/storage.d.ts.map +1 -0
  158. package/lib/typescript/withSwiftPatch.d.ts +12 -0
  159. package/lib/typescript/withSwiftPatch.d.ts.map +1 -0
  160. package/package.json +99 -0
  161. package/react-native-swiftpatch.podspec +50 -0
  162. package/src/SwiftPatchCore.ts +148 -0
  163. package/src/SwiftPatchProvider.tsx +514 -0
  164. package/src/constants.ts +49 -0
  165. package/src/core/Downloader.ts +74 -0
  166. package/src/core/Installer.ts +38 -0
  167. package/src/core/Rollback.ts +28 -0
  168. package/src/core/UpdateChecker.ts +70 -0
  169. package/src/core/Verifier.ts +92 -0
  170. package/src/core/index.ts +11 -0
  171. package/src/index.ts +64 -0
  172. package/src/modal/SwiftPatchModal.tsx +657 -0
  173. package/src/modal/useSwiftPatchModal.ts +24 -0
  174. package/src/native/NativeSwiftPatch.ts +205 -0
  175. package/src/native/NativeSwiftPatchSpec.ts +139 -0
  176. package/src/types.ts +336 -0
  177. package/src/useSwiftPatch.ts +29 -0
  178. package/src/utils/api.ts +244 -0
  179. package/src/utils/device.ts +15 -0
  180. package/src/utils/logger.ts +29 -0
  181. package/src/utils/storage.ts +23 -0
  182. package/src/withSwiftPatch.tsx +41 -0
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.confirmInstall = confirmInstall;
7
+ exports.getCurrentBundleInfo = getCurrentBundleInfo;
8
+ exports.hasPendingInstall = hasPendingInstall;
9
+ var _NativeSwiftPatch = _interopRequireDefault(require("../native/NativeSwiftPatch"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ /**
12
+ * Get current bundle info from native storage
13
+ */
14
+ async function getCurrentBundleInfo() {
15
+ return _NativeSwiftPatch.default.getCurrentBundle();
16
+ }
17
+
18
+ /**
19
+ * Check if an install is pending confirmation
20
+ */
21
+ async function hasPendingInstall() {
22
+ return _NativeSwiftPatch.default.hasPendingInstall();
23
+ }
24
+
25
+ /**
26
+ * Confirm the current install is stable
27
+ */
28
+ async function confirmInstall() {
29
+ return _NativeSwiftPatch.default.confirmInstall();
30
+ }
31
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_NativeSwiftPatch","_interopRequireDefault","require","e","__esModule","default","getCurrentBundleInfo","NativeSwiftPatch","getCurrentBundle","hasPendingInstall","confirmInstall"],"sourceRoot":"../../../src","sources":["utils/storage.ts"],"mappings":";;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0D,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG1D;AACA;AACA;AACO,eAAeG,oBAAoBA,CAAA,EAA+B;EACvE,OAAOC,yBAAgB,CAACC,gBAAgB,CAAC,CAAC;AAC5C;;AAEA;AACA;AACA;AACO,eAAeC,iBAAiBA,CAAA,EAAqB;EAC1D,OAAOF,yBAAgB,CAACE,iBAAiB,CAAC,CAAC;AAC7C;;AAEA;AACA;AACA;AACO,eAAeC,cAAcA,CAAA,EAAkB;EACpD,OAAOH,yBAAgB,CAACG,cAAc,CAAC,CAAC;AAC1C","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ exports.withSwiftPatch = withSwiftPatch;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _SwiftPatchProvider = require("./SwiftPatchProvider");
10
+ var _SwiftPatchModal = require("./modal/SwiftPatchModal");
11
+ var _constants = require("./constants");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ /**
15
+ * Higher-order component to wrap your root component with SwiftPatchProvider.
16
+ * Also includes the built-in dashboard modal (accessible via useSwiftPatchModal).
17
+ */
18
+ function withSwiftPatch(WrappedComponent, config) {
19
+ const mergedConfig = {
20
+ ..._constants.DEFAULT_CONFIG,
21
+ ...config
22
+ };
23
+ function WithSwiftPatch(props) {
24
+ const [modalVisible, setModalVisible] = (0, _react.useState)(false);
25
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_SwiftPatchProvider.SwiftPatchProvider, {
26
+ config: config,
27
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedComponent, {
28
+ ...props
29
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SwiftPatchModal.SwiftPatchModal, {
30
+ visible: modalVisible,
31
+ onClose: () => setModalVisible(false),
32
+ serverUrl: mergedConfig.serverUrl,
33
+ deploymentKey: config.deploymentKey,
34
+ customHeaders: mergedConfig.customHeaders
35
+ })]
36
+ });
37
+ }
38
+ WithSwiftPatch.displayName = `withSwiftPatch(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;
39
+ return WithSwiftPatch;
40
+ }
41
+ var _default = exports.default = withSwiftPatch;
42
+ //# sourceMappingURL=withSwiftPatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_SwiftPatchProvider","_SwiftPatchModal","_constants","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withSwiftPatch","WrappedComponent","config","mergedConfig","DEFAULT_CONFIG","WithSwiftPatch","props","modalVisible","setModalVisible","useState","jsxs","SwiftPatchProvider","children","jsx","SwiftPatchModal","visible","onClose","serverUrl","deploymentKey","customHeaders","displayName","name","_default","exports"],"sourceRoot":"../../src","sources":["withSwiftPatch.tsx"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AAA6C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE7C;AACA;AACA;AACA;AACO,SAASkB,cAAcA,CAC5BC,gBAAkC,EAClCC,MAAwB,EACxB;EACA,MAAMC,YAAY,GAAG;IAAE,GAAGC,yBAAc;IAAE,GAAGF;EAAO,CAAC;EAErD,SAASG,cAAcA,CAACC,KAAQ,EAAE;IAChC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAEvD,oBACE,IAAA7B,WAAA,CAAA8B,IAAA,EAACjC,mBAAA,CAAAkC,kBAAkB;MAACT,MAAM,EAAEA,MAAO;MAAAU,QAAA,gBACjC,IAAAhC,WAAA,CAAAiC,GAAA,EAACZ,gBAAgB;QAAA,GAAKK;MAAK,CAAG,CAAC,eAC/B,IAAA1B,WAAA,CAAAiC,GAAA,EAACnC,gBAAA,CAAAoC,eAAe;QACdC,OAAO,EAAER,YAAa;QACtBS,OAAO,EAAEA,CAAA,KAAMR,eAAe,CAAC,KAAK,CAAE;QACtCS,SAAS,EAAEd,YAAY,CAACc,SAAW;QACnCC,aAAa,EAAEhB,MAAM,CAACgB,aAAc;QACpCC,aAAa,EAAEhB,YAAY,CAACgB;MAAc,CAC3C,CAAC;IAAA,CACgB,CAAC;EAEzB;EAEAd,cAAc,CAACe,WAAW,GAAG,kBAC3BnB,gBAAgB,CAACmB,WAAW,IAAInB,gBAAgB,CAACoB,IAAI,IAAI,WAAW,GACnE;EAEH,OAAOhB,cAAc;AACvB;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAAhC,OAAA,GAEcS,cAAc","ignoreList":[]}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+
3
+ import NativeSwiftPatch from './native/NativeSwiftPatch';
4
+ import { reportInstallStatus } from './utils/api';
5
+ import { logger } from './utils/logger';
6
+ import { UpdateChecker } from './core/UpdateChecker';
7
+ import { Downloader } from './core/Downloader';
8
+ import { Installer } from './core/Installer';
9
+ import { Rollback as RollbackModule } from './core/Rollback';
10
+ import { DEFAULT_CONFIG } from './constants';
11
+
12
+ /**
13
+ * Imperative API for SwiftPatch (non-React usage).
14
+ *
15
+ * Use this when you need to interact with SwiftPatch outside of
16
+ * React components, such as in native module callbacks or background tasks.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * import { SwiftPatch } from '@orbitplus/react-native';
21
+ *
22
+ * const sp = new SwiftPatch({ deploymentKey: 'your-key' });
23
+ * await sp.init();
24
+ * const update = await sp.checkForUpdate();
25
+ * if (update) {
26
+ * await sp.downloadAndInstall(update);
27
+ * }
28
+ * ```
29
+ */
30
+ export class SwiftPatch {
31
+ constructor(userConfig) {
32
+ this.config = {
33
+ ...DEFAULT_CONFIG,
34
+ ...userConfig
35
+ };
36
+ }
37
+
38
+ /**
39
+ * Initialize the native module
40
+ */
41
+ async init() {
42
+ await NativeSwiftPatch.initialize({
43
+ deploymentKey: this.config.deploymentKey,
44
+ serverUrl: this.config.serverUrl,
45
+ publicKey: this.config.publicKey
46
+ });
47
+ NativeSwiftPatch.setDebugMode(this.config.debug);
48
+ logger.setDebug(this.config.debug);
49
+
50
+ // Initialize core modules
51
+ this.updateChecker = new UpdateChecker({
52
+ serverUrl: this.config.serverUrl,
53
+ deploymentKey: this.config.deploymentKey,
54
+ customHeaders: this.config.customHeaders
55
+ });
56
+ this.downloader = new Downloader();
57
+ this.installer = new Installer();
58
+ this.rollbackModule = new RollbackModule();
59
+ logger.info('SwiftPatch initialized (imperative)');
60
+ }
61
+
62
+ /**
63
+ * Check for an available update
64
+ */
65
+ async checkForUpdate() {
66
+ const result = await this.updateChecker.check();
67
+ if (result.updateAvailable && result.release) {
68
+ return result.release;
69
+ }
70
+ return null;
71
+ }
72
+
73
+ /**
74
+ * Download an update
75
+ */
76
+ async download(release) {
77
+ await this.downloader.downloadRelease(release);
78
+ await reportInstallStatus({
79
+ serverUrl: this.config.serverUrl,
80
+ releaseId: release.id,
81
+ status: 'downloaded',
82
+ deploymentKey: this.config.deploymentKey
83
+ });
84
+ }
85
+
86
+ /**
87
+ * Install a downloaded update
88
+ */
89
+ async install(release) {
90
+ await this.installer.install(release.bundleHash);
91
+ await reportInstallStatus({
92
+ serverUrl: this.config.serverUrl,
93
+ releaseId: release.id,
94
+ status: 'installed',
95
+ deploymentKey: this.config.deploymentKey
96
+ });
97
+ }
98
+
99
+ /**
100
+ * Download and install an update in one call
101
+ */
102
+ async downloadAndInstall(release) {
103
+ await this.download(release);
104
+ await this.install(release);
105
+ }
106
+
107
+ /**
108
+ * Restart the app to apply the update
109
+ */
110
+ restart() {
111
+ NativeSwiftPatch.restart();
112
+ }
113
+
114
+ /**
115
+ * Rollback to the previous bundle
116
+ */
117
+ async rollback() {
118
+ await this.rollbackModule.rollback();
119
+ }
120
+
121
+ /**
122
+ * Get current bundle info
123
+ */
124
+ async getCurrentBundle() {
125
+ return NativeSwiftPatch.getCurrentBundle();
126
+ }
127
+
128
+ /**
129
+ * Clear any pending update
130
+ */
131
+ async clearPendingUpdate() {
132
+ await this.rollbackModule.clearPending();
133
+ }
134
+ }
135
+ //# sourceMappingURL=SwiftPatchCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeSwiftPatch","reportInstallStatus","logger","UpdateChecker","Downloader","Installer","Rollback","RollbackModule","DEFAULT_CONFIG","SwiftPatch","constructor","userConfig","config","init","initialize","deploymentKey","serverUrl","publicKey","setDebugMode","debug","setDebug","updateChecker","customHeaders","downloader","installer","rollbackModule","info","checkForUpdate","result","check","updateAvailable","release","download","downloadRelease","releaseId","id","status","install","bundleHash","downloadAndInstall","restart","rollback","getCurrentBundle","clearPendingUpdate","clearPending"],"sourceRoot":"../../src","sources":["SwiftPatchCore.ts"],"mappings":"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","ignoreList":[]}