react-nitro-networking 0.0.0-stage → 0.0.1-alpha.7

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 (73) hide show
  1. package/LICENSE +21 -0
  2. package/Package.swift +102 -0
  3. package/README.md +58 -2
  4. package/Sources/ReactNitroNetworking/HybridNetworking.swift +17 -0
  5. package/Sources/ReactNitroNetworking/HybridResponse.swift +87 -0
  6. package/Sources/ReactNitroNetworking/HybridWebSocket.swift +188 -0
  7. package/Sources/ReactNitroNetworking/NetworkingTaskDelegate.swift +16 -0
  8. package/Sources/ReactNitroNetworking/WebSocketListeners.swift +49 -0
  9. package/Sources/ReactNitroNetworking/WebSocketTaskDelegate.swift +26 -0
  10. package/Sources/ReactNitroNetworking/WebSocketURL.swift +18 -0
  11. package/nitrogen/generated/.gitattributes +1 -0
  12. package/nitrogen/generated/apple/ReactNitroNetworking-Swift-Cxx-Bridge.cpp +171 -0
  13. package/nitrogen/generated/apple/ReactNitroNetworkingAppleCxx/ReactNitroNetworkingAppleCxx.cpp +9 -0
  14. package/nitrogen/generated/apple/ReactNitroNetworkingAppleCxx/include/ReactNitroNetworkingAppleCxx/ReactNitroNetworkingAppleCxx.h +97 -0
  15. package/nitrogen/generated/apple/ReactNitroNetworkingAutolinking.cpp +24 -0
  16. package/nitrogen/generated/apple/ReactNitroNetworkingAutolinking.mm +24 -0
  17. package/nitrogen/generated/apple/c++/HybridNetworkingSpecSwift.cpp +42 -0
  18. package/nitrogen/generated/apple/c++/HybridNetworkingSpec_cxx-Swift.cpp +28 -0
  19. package/nitrogen/generated/apple/c++/HybridResponseSpecSwift.cpp +102 -0
  20. package/nitrogen/generated/apple/c++/HybridResponseSpec_cxx-Swift.cpp +28 -0
  21. package/nitrogen/generated/apple/c++/HybridWebSocketSpecSwift.cpp +111 -0
  22. package/nitrogen/generated/apple/c++/HybridWebSocketSpec_cxx-Swift.cpp +28 -0
  23. package/nitrogen/generated/apple/c++/ListenerSubscription-Swift.cpp +37 -0
  24. package/nitrogen/generated/apple/c++/Record_swift__String_swift__String-Swift.cpp +26 -0
  25. package/nitrogen/generated/apple/c++/ResponseType-Swift.cpp +58 -0
  26. package/nitrogen/generated/apple/c++/Variant_ArrayBuffer_String-Swift.cpp +41 -0
  27. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/ReactNitroNetworkingAutolinking.hpp +13 -0
  28. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/HybridNetworkingSpecSwift.hpp +72 -0
  29. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/HybridNetworkingSpec_cxx-Swift.hpp +23 -0
  30. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/HybridResponseSpecSwift.hpp +81 -0
  31. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/HybridResponseSpec_cxx-Swift.hpp +23 -0
  32. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/HybridWebSocketSpecSwift.hpp +78 -0
  33. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/HybridWebSocketSpec_cxx-Swift.hpp +23 -0
  34. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/ListenerSubscription-Swift.hpp +23 -0
  35. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/ReactNitroNetworking-Swift-Cxx-Umbrella.hpp +44 -0
  36. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/Record_swift__String_swift__String-Swift.hpp +23 -0
  37. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/ResponseType-Swift.hpp +23 -0
  38. package/nitrogen/generated/apple/c++/include/ReactNitroNetworking/private/Variant_ArrayBuffer_String-Swift.hpp +23 -0
  39. package/nitrogen/generated/apple/c++/include/module.modulemap +12 -0
  40. package/nitrogen/generated/apple/swift/Callback_void.swift +60 -0
  41. package/nitrogen/generated/apple/swift/Callback_void___ReactNitroNetworking__Variant_ArrayBuffer_String_cxx.swift +66 -0
  42. package/nitrogen/generated/apple/swift/Callback_void_std__exception_ptr.swift +60 -0
  43. package/nitrogen/generated/apple/swift/HybridNetworkingSpec.swift +65 -0
  44. package/nitrogen/generated/apple/swift/HybridNetworkingSpec_cxx.swift +143 -0
  45. package/nitrogen/generated/apple/swift/HybridResponseSpec.swift +74 -0
  46. package/nitrogen/generated/apple/swift/HybridResponseSpec_cxx.swift +201 -0
  47. package/nitrogen/generated/apple/swift/HybridWebSocketSpec.swift +70 -0
  48. package/nitrogen/generated/apple/swift/HybridWebSocketSpec_cxx.swift +201 -0
  49. package/nitrogen/generated/apple/swift/ListenerSubscription.swift +29 -0
  50. package/nitrogen/generated/apple/swift/Promise_ArrayBuffer.swift +100 -0
  51. package/nitrogen/generated/apple/swift/Promise_NitroModules__AnyJSON.swift +102 -0
  52. package/nitrogen/generated/apple/swift/Promise___ReactNitroNetworking__HybridResponseSpec_cxx.swift +102 -0
  53. package/nitrogen/generated/apple/swift/Promise_swift__String.swift +102 -0
  54. package/nitrogen/generated/apple/swift/Promise_void.swift +100 -0
  55. package/nitrogen/generated/apple/swift/Record_swift__String_swift__String.swift +48 -0
  56. package/nitrogen/generated/apple/swift/ResponseType.swift +74 -0
  57. package/nitrogen/generated/apple/swift/Variant_ArrayBuffer_String.swift +69 -0
  58. package/nitrogen/generated/hybrid-classes.json +29 -0
  59. package/nitrogen/generated/shared/c++/ReactNitroNetworkingCxxModule.cpp +2 -0
  60. package/nitrogen/generated/shared/c++/include/ReactNitroNetworking/ReactNitroNetworkingCxxModule.hpp +2 -0
  61. package/nitrogen/generated/shared/javascript/Networking.cjs +19 -0
  62. package/nitrogen/generated/shared/javascript/Networking.d.cts +9 -0
  63. package/nitrogen/generated/shared/javascript/Response.cjs +19 -0
  64. package/nitrogen/generated/shared/javascript/Response.d.cts +9 -0
  65. package/nitrogen/generated/shared/javascript/WebSocket.cjs +19 -0
  66. package/nitrogen/generated/shared/javascript/WebSocket.d.cts +9 -0
  67. package/package.json +34 -4
  68. package/src/ListenerSubscription.ts +7 -0
  69. package/src/ResponseType.ts +8 -0
  70. package/src/index.ts +5 -0
  71. package/src/specs/Networking.nitro.ts +18 -0
  72. package/src/specs/Response.nitro.ts +37 -0
  73. package/src/specs/WebSocket.nitro.ts +62 -0
@@ -0,0 +1,70 @@
1
+ ///
2
+ /// HybridWebSocketSpec.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ public import NitroModules
9
+
10
+ /// See ``HybridWebSocketSpec``
11
+ public protocol HybridWebSocketSpec_protocol: HybridWebSocketSpec_base, HybridObject {
12
+ // Constructor
13
+ init(url: String) throws
14
+
15
+ // Properties
16
+
17
+
18
+ // Methods
19
+ func send(data: Variant_ArrayBuffer_String) throws -> any Promise<Void>
20
+ func close() throws -> Void
21
+ func addOnOpenedListener(listener: any Callback<(), Void>) throws -> ListenerSubscription
22
+ func addOnMessageReceivedListener(listener: any Callback<(/* data */ Variant_ArrayBuffer_String), Void>) throws -> ListenerSubscription
23
+ func addOnClosedListener(listener: any Callback<(), Void>) throws -> ListenerSubscription
24
+ func addOnErrorListener(listener: any Callback<(/* error */ any Error), Void>) throws -> ListenerSubscription
25
+
26
+ // Static Properties
27
+
28
+
29
+ // Static Methods
30
+
31
+ }
32
+
33
+ public extension HybridWebSocketSpec_protocol {
34
+ /// Default implementation of ``HybridObject.toString``
35
+ func toString() -> String {
36
+ return "[HybridObject WebSocket]"
37
+ }
38
+ }
39
+
40
+ /// See ``HybridWebSocketSpec``
41
+ open class HybridWebSocketSpec_base {
42
+ private weak var cxxWrapper: HybridWebSocketSpec_cxx? = nil
43
+ public init() throws {
44
+ }
45
+ public final func getCxxWrapper() -> HybridWebSocketSpec_cxx {
46
+ #if DEBUG
47
+ guard self is any HybridWebSocketSpec else {
48
+ fatalError("`self` is not a `HybridWebSocketSpec`! Did you accidentally inherit from `HybridWebSocketSpec_base` instead of `HybridWebSocketSpec`?")
49
+ }
50
+ #endif
51
+ if let cxxWrapper = self.cxxWrapper {
52
+ return cxxWrapper
53
+ } else {
54
+ let cxxWrapper = HybridWebSocketSpec_cxx(self as! any HybridWebSocketSpec)
55
+ self.cxxWrapper = cxxWrapper
56
+ return cxxWrapper
57
+ }
58
+ }
59
+ }
60
+
61
+ /**
62
+ * A Swift base-protocol representing the WebSocket HybridObject.
63
+ * Implement this protocol to create Swift-based instances of WebSocket.
64
+ * ```swift
65
+ * class HybridWebSocket : HybridWebSocketSpec {
66
+ * // ...
67
+ * }
68
+ * ```
69
+ */
70
+ public typealias HybridWebSocketSpec = HybridWebSocketSpec_protocol & HybridWebSocketSpec_base
@@ -0,0 +1,201 @@
1
+ ///
2
+ /// HybridWebSocketSpec_cxx.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+ internal import NitroModules
8
+ internal import CxxStdlib
9
+ internal import ReactNitroNetworkingAppleCxx
10
+
11
+ /**
12
+ * A class implementation that bridges HybridWebSocketSpec over to C++.
13
+ * In C++, we cannot use Swift protocols - so we need to wrap it in a class to make it strongly defined.
14
+ */
15
+ @_expose(Cxx)
16
+ public final class HybridWebSocketSpec_cxx {
17
+ /**
18
+ * The Swift <> C++ bridge's namespace (`margelo::nitro::networking::swift_bridge`)
19
+ * from `ReactNitroNetworkingAppleCxx/ReactNitroNetworkingAppleCxx.h`.
20
+ * This contains specialized C++ templates, and C++ helper functions that can be accessed from Swift.
21
+ */
22
+ public typealias bridge = margelo.nitro.networking.swift_bridge
23
+
24
+ /**
25
+ * Holds the Swift implementation of `HybridWebSocketSpec`.
26
+ */
27
+ private let __implementation: HybridWebSocket
28
+
29
+ /**
30
+ * Holds a weak pointer to the C++ class that wraps the Swift class.
31
+ */
32
+ private var __cxxPart: bridge.std__weak_ptr_margelo__nitro__networking__HybridWebSocketSpec_ = .init()
33
+
34
+ /**
35
+ * Create a new `HybridWebSocketSpec_cxx` that wraps the given `HybridWebSocketSpec`.
36
+ */
37
+ public init(_ implementation: any HybridWebSocketSpec) {
38
+ guard let implementation = implementation as? HybridWebSocket else {
39
+ preconditionFailure("WebSocket selects HybridWebSocket as its Swift implementation. Every instance must inherit HybridWebSocket.")
40
+ }
41
+ self.__implementation = implementation
42
+
43
+ }
44
+
45
+ /**
46
+ * Get the actual `HybridWebSocketSpec` instance this class wraps.
47
+ */
48
+ @inline(__always)
49
+ public func getHybridWebSocketSpec() -> any HybridWebSocketSpec {
50
+ return __implementation
51
+ }
52
+
53
+ /**
54
+ * Casts this instance to a retained unsafe raw pointer.
55
+ * This acquires one additional strong reference on the object!
56
+ */
57
+ public func toUnsafe() -> UnsafeMutableRawPointer {
58
+ return Unmanaged.passRetained(self).toOpaque()
59
+ }
60
+
61
+ /**
62
+ * Casts an unsafe pointer to a `HybridWebSocketSpec_cxx`.
63
+ * The pointer has to be a retained opaque `Unmanaged<HybridWebSocketSpec_cxx>`.
64
+ * This removes one strong reference from the object!
65
+ */
66
+ public class func fromUnsafe(pointer: UnsafeMutableRawPointer) -> HybridWebSocketSpec_cxx {
67
+ return Unmanaged<HybridWebSocketSpec_cxx>.fromOpaque(pointer).takeRetainedValue()
68
+ }
69
+
70
+ /**
71
+ * Gets (or creates) the C++ part of this Hybrid Object.
72
+ * This handle keeps the original native object alive.
73
+ */
74
+ public func getCxxPart() -> bridge.std__shared_ptr_margelo__nitro__networking__HybridWebSocketSpec_ {
75
+ let cached = __cxxPart.lock()
76
+ if cached.use_count() > 0 {
77
+ return cached
78
+ }
79
+ let value = bridge.create_std__shared_ptr_margelo__nitro__networking__HybridWebSocketSpec_(self.toUnsafe())
80
+ __cxxPart = bridge.weakify_std__shared_ptr_margelo__nitro__networking__HybridWebSocketSpec_(value)
81
+ return value
82
+ }
83
+
84
+
85
+
86
+ // A static borrowing accessor lets C++ pass a const reference without copying it.
87
+ // TODO: Remove this adapter and call the instance method directly once
88
+ // https://github.com/swiftlang/swift/pull/92862 is merged and supported by our Swift toolchain.
89
+ @_spi(NitroCxx)
90
+ public static func getCxxPart(_ value: borrowing HybridWebSocketSpec_cxx) -> bridge.std__shared_ptr_margelo__nitro__networking__HybridWebSocketSpec_ {
91
+ return value.getCxxPart()
92
+ }
93
+
94
+ /**
95
+ * Get the memory size of the Swift class (plus size of any other allocations)
96
+ * so the JS VM can properly track it and garbage-collect the JS object if needed.
97
+ */
98
+ @inline(__always)
99
+ public var memorySize: Int {
100
+ return MemoryHelper.getSizeOf(__implementation) + __implementation.memorySize
101
+ }
102
+
103
+ /**
104
+ * Compares this object with the given [other] object for reference equality.
105
+ */
106
+ @inline(__always)
107
+ public func equals(other: HybridWebSocketSpec_cxx) -> Bool {
108
+ return __implementation === other.__implementation
109
+ }
110
+
111
+ /**
112
+ * Call dispose() on the Swift class.
113
+ * This _may_ be called manually from JS.
114
+ */
115
+ @inline(__always)
116
+ public func dispose() {
117
+ __implementation.dispose()
118
+ }
119
+
120
+ /**
121
+ * Call toString() on the Swift class.
122
+ */
123
+ @inline(__always)
124
+ public func toString() -> String {
125
+ return __implementation.toString()
126
+ }
127
+
128
+ // Properties
129
+
130
+ // Methods
131
+
132
+ public final func send(data: Variant_ArrayBuffer_String_cxx, __outResult: UnsafeMutableRawPointer) -> bridge.Result_void {
133
+ do {
134
+ let value = try __implementation.send(data: data.value)
135
+ __outResult.initializeMemory(as: margelo.nitro.networking.swift_bridge.Promise_void.self, repeating: value.toCpp(), count: 1)
136
+ return bridge.Result_void.withValue()
137
+ } catch {
138
+ return bridge.Result_void.withError(error.toCpp())
139
+ }
140
+ }
141
+
142
+ public final func close() -> bridge.Result_void {
143
+ do {
144
+ try __implementation.close()
145
+ return bridge.Result_void.withValue()
146
+ } catch {
147
+ return bridge.Result_void.withError(error.toCpp())
148
+ }
149
+ }
150
+
151
+ public final func addOnOpenedListener(listener: UnsafeRawPointer, __outResult: UnsafeMutableRawPointer) -> bridge.Result_void {
152
+ do {
153
+ let value = try __implementation.addOnOpenedListener(listener: listener.load(as: margelo.nitro.networking.swift_bridge.Callback_void.self))
154
+ __outResult.assumingMemoryBound(to: ListenerSubscription.self).initialize(to: value)
155
+ return bridge.Result_void.withValue()
156
+ } catch {
157
+ return bridge.Result_void.withError(error.toCpp())
158
+ }
159
+ }
160
+
161
+ public final func addOnMessageReceivedListener(listener: UnsafeRawPointer, __outResult: UnsafeMutableRawPointer) -> bridge.Result_void {
162
+ do {
163
+ let value = try __implementation.addOnMessageReceivedListener(listener: listener.load(as: margelo.nitro.networking.swift_bridge.Callback_void___ReactNitroNetworking__Variant_ArrayBuffer_String_cxx.self))
164
+ __outResult.assumingMemoryBound(to: ListenerSubscription.self).initialize(to: value)
165
+ return bridge.Result_void.withValue()
166
+ } catch {
167
+ return bridge.Result_void.withError(error.toCpp())
168
+ }
169
+ }
170
+
171
+ public final func addOnClosedListener(listener: UnsafeRawPointer, __outResult: UnsafeMutableRawPointer) -> bridge.Result_void {
172
+ do {
173
+ let value = try __implementation.addOnClosedListener(listener: listener.load(as: margelo.nitro.networking.swift_bridge.Callback_void.self))
174
+ __outResult.assumingMemoryBound(to: ListenerSubscription.self).initialize(to: value)
175
+ return bridge.Result_void.withValue()
176
+ } catch {
177
+ return bridge.Result_void.withError(error.toCpp())
178
+ }
179
+ }
180
+
181
+ public final func addOnErrorListener(listener: UnsafeRawPointer, __outResult: UnsafeMutableRawPointer) -> bridge.Result_void {
182
+ do {
183
+ let value = try __implementation.addOnErrorListener(listener: listener.load(as: margelo.nitro.networking.swift_bridge.Callback_void_std__exception_ptr.self))
184
+ __outResult.assumingMemoryBound(to: ListenerSubscription.self).initialize(to: value)
185
+ return bridge.Result_void.withValue()
186
+ } catch {
187
+ return bridge.Result_void.withError(error.toCpp())
188
+ }
189
+ }
190
+
191
+ // Constructor
192
+
193
+ public class func constructor(url: String) -> bridge.Result_void_ {
194
+ do {
195
+ let value = try HybridWebSocket(url: url)
196
+ return bridge.Result_void_.withValue(value.getCxxWrapper().toUnsafe())
197
+ } catch {
198
+ return bridge.Result_void_.withError(error.toCpp())
199
+ }
200
+ }
201
+ }
@@ -0,0 +1,29 @@
1
+ ///
2
+ /// ListenerSubscription.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ public import NitroModules
9
+ internal import ReactNitroNetworkingAppleCxx
10
+ internal import CxxStdlib
11
+
12
+ @_expose(Cxx)
13
+ public struct ListenerSubscription: Sendable {
14
+ public let remove: any Callback<(), Void>
15
+
16
+ public init(remove: any Callback<(), Void>) {
17
+ self.remove = remove
18
+ }
19
+
20
+ @_spi(NitroCxx)
21
+ public static func init_cxx(_ remove: UnsafeRawPointer) -> Self {
22
+ return Self(remove: remove.load(as: margelo.nitro.networking.swift_bridge.Callback_void.self))
23
+ }
24
+
25
+ @_spi(NitroCxx)
26
+ public borrowing func getRemove_cxx(_ __outResult: UnsafeMutableRawPointer) -> Void {
27
+ __outResult.initializeMemory(as: margelo.nitro.networking.swift_bridge.Callback_void.self, repeating: self.remove.toCpp(), count: 1)
28
+ }
29
+ }
@@ -0,0 +1,100 @@
1
+ ///
2
+ /// Promise_ArrayBuffer.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ public import NitroModules
9
+ internal import CxxStdlib
10
+ public import Dispatch
11
+ internal import ReactNitroNetworkingAppleCxx
12
+
13
+ public typealias Promise_ArrayBuffer = margelo.nitro.networking.swift_bridge.Promise_ArrayBuffer
14
+
15
+ extension Promise_ArrayBuffer {
16
+ public typealias T = ArrayBuffer
17
+ private typealias bridge = margelo.nitro.networking.swift_bridge
18
+
19
+ public func __nitroResolve(result: ArrayBuffer) {
20
+ resolve(consuming: result)
21
+ }
22
+ public func __nitroReject(error: any Error) {
23
+ reject(consuming: error.toCpp())
24
+ }
25
+
26
+ public func __nitroAddOnResolvedListener(_ listener: @escaping @Sendable (ArrayBuffer) -> Void) {
27
+ addOnResolvedListener(.init { (value: ArrayBuffer) -> Void in
28
+ listener(value)
29
+ })
30
+ }
31
+ public func __nitroAddOnRejectedListener(_ listener: @escaping @Sendable (any Error) -> Void) {
32
+ addOnRejectedListener(.init { (exceptionPtr: std.exception_ptr) -> Void in
33
+ listener(RuntimeError.from(cppError: exceptionPtr))
34
+ })
35
+ }
36
+ }
37
+
38
+ extension Promise<ArrayBuffer> where Self == Promise_ArrayBuffer {
39
+ public static func pending() -> Self {
40
+ return Promise_ArrayBuffer.__pending()
41
+ }
42
+
43
+ public static func resolved(with result: ArrayBuffer) -> Self {
44
+ let promise = Promise_ArrayBuffer.pending()
45
+ promise.resolve(result: result)
46
+ return promise
47
+ }
48
+ public static func rejected(with error: any Error) -> Self {
49
+ let promise = Promise_ArrayBuffer.pending()
50
+ promise.reject(error: error)
51
+ return promise
52
+ }
53
+
54
+ public static func `async`(
55
+ _ priority: TaskPriority? = nil,
56
+ _ run: sending @escaping @isolated(any) () async throws -> sending ArrayBuffer
57
+ ) -> Self {
58
+ let promise = Promise_ArrayBuffer.pending()
59
+ Task(priority: priority) { () async -> Void in
60
+ do {
61
+ promise.resolve(result: try await run())
62
+ } catch {
63
+ promise.reject(error: error)
64
+ }
65
+ }
66
+ return promise
67
+ }
68
+
69
+ public static func parallel(
70
+ _ queue: DispatchQueue = .global(),
71
+ _ run: @escaping @Sendable () throws -> ArrayBuffer
72
+ ) -> Self {
73
+ let promise = Promise_ArrayBuffer.pending()
74
+ queue.async { () -> Void in
75
+ do {
76
+ promise.resolve(result: try run())
77
+ } catch {
78
+ promise.reject(error: error)
79
+ }
80
+ }
81
+ return promise
82
+ }
83
+ }
84
+
85
+ extension Promise<ArrayBuffer> {
86
+ func toCpp() -> Promise_ArrayBuffer {
87
+ if let self = self as? Promise_ArrayBuffer {
88
+ return self
89
+ } else {
90
+ let promise = Promise_ArrayBuffer.pending()
91
+ self.addOnResolvedListener { (result: ArrayBuffer) -> Void in
92
+ promise.resolve(result: result)
93
+ }
94
+ self.addOnRejectedListener { (error: any Error) -> Void in
95
+ promise.reject(error: error)
96
+ }
97
+ return promise
98
+ }
99
+ }
100
+ }
@@ -0,0 +1,102 @@
1
+ ///
2
+ /// Promise_NitroModules__AnyJSON.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ public import NitroModules
9
+ internal import CxxStdlib
10
+ public import Dispatch
11
+ internal import ReactNitroNetworkingAppleCxx
12
+
13
+ public typealias Promise_NitroModules__AnyJSON = margelo.nitro.networking.swift_bridge.Promise_NitroModules__AnyJSON
14
+
15
+ extension Promise_NitroModules__AnyJSON {
16
+ public typealias T = AnyJSON
17
+ private typealias bridge = margelo.nitro.networking.swift_bridge
18
+
19
+ public func __nitroResolve(result: AnyJSON) {
20
+ withUnsafePointer(to: result) { (pointer: UnsafePointer<AnyJSON>) -> Void in
21
+ bridge.resolve_Promise_NitroModules__AnyJSON(self, pointer)
22
+ }
23
+ }
24
+ public func __nitroReject(error: any Error) {
25
+ bridge.reject_Promise_NitroModules__AnyJSON(self, error.toCpp())
26
+ }
27
+
28
+ public func __nitroAddOnResolvedListener(_ listener: @escaping @Sendable (AnyJSON) -> Void) {
29
+ bridge.listen_Promise_NitroModules__AnyJSON(self, .init { (value: UnsafeRawPointer!) -> Void in
30
+ listener(value.load(as: AnyJSON.self))
31
+ })
32
+ }
33
+ public func __nitroAddOnRejectedListener(_ listener: @escaping @Sendable (any Error) -> Void) {
34
+ bridge.listenRejected_Promise_NitroModules__AnyJSON(self, .init { (exceptionPtr: std.exception_ptr) -> Void in
35
+ listener(RuntimeError.from(cppError: exceptionPtr))
36
+ })
37
+ }
38
+ }
39
+
40
+ extension Promise<AnyJSON> where Self == Promise_NitroModules__AnyJSON {
41
+ public static func pending() -> Self {
42
+ return margelo.nitro.networking.swift_bridge.create_Promise_NitroModules__AnyJSON()
43
+ }
44
+
45
+ public static func resolved(with result: AnyJSON) -> Self {
46
+ let promise = Promise_NitroModules__AnyJSON.pending()
47
+ promise.resolve(result: result)
48
+ return promise
49
+ }
50
+ public static func rejected(with error: any Error) -> Self {
51
+ let promise = Promise_NitroModules__AnyJSON.pending()
52
+ promise.reject(error: error)
53
+ return promise
54
+ }
55
+
56
+ public static func `async`(
57
+ _ priority: TaskPriority? = nil,
58
+ _ run: sending @escaping @isolated(any) () async throws -> sending AnyJSON
59
+ ) -> Self {
60
+ let promise = Promise_NitroModules__AnyJSON.pending()
61
+ Task(priority: priority) { () async -> Void in
62
+ do {
63
+ promise.resolve(result: try await run())
64
+ } catch {
65
+ promise.reject(error: error)
66
+ }
67
+ }
68
+ return promise
69
+ }
70
+
71
+ public static func parallel(
72
+ _ queue: DispatchQueue = .global(),
73
+ _ run: @escaping @Sendable () throws -> AnyJSON
74
+ ) -> Self {
75
+ let promise = Promise_NitroModules__AnyJSON.pending()
76
+ queue.async { () -> Void in
77
+ do {
78
+ promise.resolve(result: try run())
79
+ } catch {
80
+ promise.reject(error: error)
81
+ }
82
+ }
83
+ return promise
84
+ }
85
+ }
86
+
87
+ extension Promise<AnyJSON> {
88
+ func toCpp() -> Promise_NitroModules__AnyJSON {
89
+ if let self = self as? Promise_NitroModules__AnyJSON {
90
+ return self
91
+ } else {
92
+ let promise = Promise_NitroModules__AnyJSON.pending()
93
+ self.addOnResolvedListener { (result: AnyJSON) -> Void in
94
+ promise.resolve(result: result)
95
+ }
96
+ self.addOnRejectedListener { (error: any Error) -> Void in
97
+ promise.reject(error: error)
98
+ }
99
+ return promise
100
+ }
101
+ }
102
+ }
@@ -0,0 +1,102 @@
1
+ ///
2
+ /// Promise___ReactNitroNetworking__HybridResponseSpec_cxx.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/margelo/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ public import NitroModules
9
+ internal import CxxStdlib
10
+ public import Dispatch
11
+ internal import ReactNitroNetworkingAppleCxx
12
+
13
+ public typealias Promise___ReactNitroNetworking__HybridResponseSpec_cxx = margelo.nitro.networking.swift_bridge.Promise___ReactNitroNetworking__HybridResponseSpec_cxx
14
+
15
+ extension Promise___ReactNitroNetworking__HybridResponseSpec_cxx {
16
+ public typealias T = (any HybridResponseSpec)
17
+ private typealias bridge = margelo.nitro.networking.swift_bridge
18
+
19
+ public func __nitroResolve(result: (any HybridResponseSpec)) {
20
+ withUnsafePointer(to: result.getCxxWrapper()) { (pointer: UnsafePointer<HybridResponseSpec_cxx>) -> Void in
21
+ bridge.resolve_Promise___ReactNitroNetworking__HybridResponseSpec_cxx(self, pointer)
22
+ }
23
+ }
24
+ public func __nitroReject(error: any Error) {
25
+ bridge.reject_Promise___ReactNitroNetworking__HybridResponseSpec_cxx(self, error.toCpp())
26
+ }
27
+
28
+ public func __nitroAddOnResolvedListener(_ listener: @escaping @Sendable ((any HybridResponseSpec)) -> Void) {
29
+ bridge.listen_Promise___ReactNitroNetworking__HybridResponseSpec_cxx(self, .init { (value: UnsafeRawPointer!) -> Void in
30
+ listener(value.load(as: HybridResponseSpec_cxx.self).getHybridResponseSpec())
31
+ })
32
+ }
33
+ public func __nitroAddOnRejectedListener(_ listener: @escaping @Sendable (any Error) -> Void) {
34
+ bridge.listenRejected_Promise___ReactNitroNetworking__HybridResponseSpec_cxx(self, .init { (exceptionPtr: std.exception_ptr) -> Void in
35
+ listener(RuntimeError.from(cppError: exceptionPtr))
36
+ })
37
+ }
38
+ }
39
+
40
+ extension Promise<(any HybridResponseSpec)> where Self == Promise___ReactNitroNetworking__HybridResponseSpec_cxx {
41
+ public static func pending() -> Self {
42
+ return margelo.nitro.networking.swift_bridge.create_Promise___ReactNitroNetworking__HybridResponseSpec_cxx()
43
+ }
44
+
45
+ public static func resolved(with result: (any HybridResponseSpec)) -> Self {
46
+ let promise = Promise___ReactNitroNetworking__HybridResponseSpec_cxx.pending()
47
+ promise.resolve(result: result)
48
+ return promise
49
+ }
50
+ public static func rejected(with error: any Error) -> Self {
51
+ let promise = Promise___ReactNitroNetworking__HybridResponseSpec_cxx.pending()
52
+ promise.reject(error: error)
53
+ return promise
54
+ }
55
+
56
+ public static func `async`(
57
+ _ priority: TaskPriority? = nil,
58
+ _ run: sending @escaping @isolated(any) () async throws -> sending (any HybridResponseSpec)
59
+ ) -> Self {
60
+ let promise = Promise___ReactNitroNetworking__HybridResponseSpec_cxx.pending()
61
+ Task(priority: priority) { () async -> Void in
62
+ do {
63
+ promise.resolve(result: try await run())
64
+ } catch {
65
+ promise.reject(error: error)
66
+ }
67
+ }
68
+ return promise
69
+ }
70
+
71
+ public static func parallel(
72
+ _ queue: DispatchQueue = .global(),
73
+ _ run: @escaping @Sendable () throws -> (any HybridResponseSpec)
74
+ ) -> Self {
75
+ let promise = Promise___ReactNitroNetworking__HybridResponseSpec_cxx.pending()
76
+ queue.async { () -> Void in
77
+ do {
78
+ promise.resolve(result: try run())
79
+ } catch {
80
+ promise.reject(error: error)
81
+ }
82
+ }
83
+ return promise
84
+ }
85
+ }
86
+
87
+ extension Promise<(any HybridResponseSpec)> {
88
+ func toCpp() -> Promise___ReactNitroNetworking__HybridResponseSpec_cxx {
89
+ if let self = self as? Promise___ReactNitroNetworking__HybridResponseSpec_cxx {
90
+ return self
91
+ } else {
92
+ let promise = Promise___ReactNitroNetworking__HybridResponseSpec_cxx.pending()
93
+ self.addOnResolvedListener { (result: (any HybridResponseSpec)) -> Void in
94
+ promise.resolve(result: result)
95
+ }
96
+ self.addOnRejectedListener { (error: any Error) -> Void in
97
+ promise.reject(error: error)
98
+ }
99
+ return promise
100
+ }
101
+ }
102
+ }