@padosoft/react-native-ecr17 0.0.0 → 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 (80) hide show
  1. package/Ecr17.podspec +39 -39
  2. package/README.md +348 -348
  3. package/android/CMakeLists.txt +41 -41
  4. package/android/build.gradle +148 -148
  5. package/android/fix-prefab.gradle +50 -50
  6. package/android/gradle.properties +5 -5
  7. package/android/src/main/AndroidManifest.xml +2 -2
  8. package/android/src/main/cpp/cpp-adapter.cpp +8 -8
  9. package/android/src/main/java/com/margelo/nitro/ecr17/HybridEcr17Transport.kt +233 -233
  10. package/android/src/main/java/com/padosoft/ecr17/Ecr17Package.kt +30 -30
  11. package/cpp/Ecr17.hpp +1 -1
  12. package/cpp/Ecr17Client/HybridEcr17Client.cpp +598 -598
  13. package/cpp/Ecr17Client/HybridEcr17Client.hpp +85 -85
  14. package/cpp/Ecr17Protocol/Ecr17Protocol.cpp +277 -277
  15. package/cpp/Ecr17Protocol/Ecr17Protocol.hpp +103 -103
  16. package/cpp/Ecr17Response/Ecr17Response.cpp +155 -155
  17. package/cpp/Ecr17Response/Ecr17Response.hpp +113 -113
  18. package/cpp/Lcr/Lcr.cpp +42 -42
  19. package/cpp/Lcr/Lcr.hpp +21 -21
  20. package/cpp/PacketCodec/PacketCodec.cpp +145 -145
  21. package/cpp/PacketCodec/PacketCodec.hpp +47 -47
  22. package/cpp/Session/Ecr17Session.cpp +260 -260
  23. package/cpp/Session/Ecr17Session.hpp +97 -97
  24. package/cpp/Session/RetryPolicy.hpp +23 -23
  25. package/cpp/Transport/FakeTransport.hpp +95 -95
  26. package/cpp/Transport/NativeTransportAdapter.cpp +42 -42
  27. package/cpp/Transport/NativeTransportAdapter.hpp +32 -32
  28. package/cpp/Transport/Transport.hpp +30 -30
  29. package/cpp/tests/CMakeLists.txt +55 -55
  30. package/cpp/tests/PosixTcpTransport.hpp +105 -105
  31. package/cpp/tests/stubs/LrcMode.hpp +25 -25
  32. package/cpp/tests/test_flows.cpp +148 -148
  33. package/cpp/tests/test_integration_terminal.cpp +72 -72
  34. package/cpp/tests/test_lrc.cpp +66 -66
  35. package/cpp/tests/test_packet_codec.cpp +164 -164
  36. package/cpp/tests/test_protocol.cpp +102 -102
  37. package/cpp/tests/test_protocol_commands.cpp +190 -190
  38. package/cpp/tests/test_response.cpp +164 -164
  39. package/cpp/tests/test_retry_policy.cpp +28 -28
  40. package/cpp/tests/test_session.cpp +262 -262
  41. package/ios/HybridEcr17Transport.swift +103 -103
  42. package/lib/commonjs/index.js +50 -0
  43. package/lib/commonjs/index.js.map +1 -0
  44. package/lib/commonjs/package.json +1 -0
  45. package/lib/commonjs/specs/client.nitro.js +17 -0
  46. package/lib/commonjs/specs/client.nitro.js.map +1 -0
  47. package/lib/commonjs/specs/transport.nitro.js +6 -0
  48. package/lib/commonjs/specs/transport.nitro.js.map +1 -0
  49. package/lib/commonjs/types/client.js +2 -0
  50. package/lib/commonjs/types/client.js.map +1 -0
  51. package/lib/commonjs/utils/client.js +13 -0
  52. package/lib/commonjs/utils/client.js.map +1 -0
  53. package/lib/module/index.js +7 -0
  54. package/lib/module/index.js.map +1 -0
  55. package/lib/module/specs/client.nitro.js +13 -0
  56. package/lib/module/specs/client.nitro.js.map +1 -0
  57. package/lib/module/specs/transport.nitro.js +4 -0
  58. package/lib/module/specs/transport.nitro.js.map +1 -0
  59. package/lib/module/types/client.js +2 -0
  60. package/lib/module/types/client.js.map +1 -0
  61. package/lib/module/utils/client.js +9 -0
  62. package/lib/module/utils/client.js.map +1 -0
  63. package/lib/typescript/src/index.d.ts +5 -0
  64. package/lib/typescript/src/index.d.ts.map +1 -0
  65. package/lib/typescript/src/specs/client.nitro.d.ts +63 -0
  66. package/lib/typescript/src/specs/client.nitro.d.ts.map +1 -0
  67. package/lib/typescript/src/specs/transport.nitro.d.ts +13 -0
  68. package/lib/typescript/src/specs/transport.nitro.d.ts.map +1 -0
  69. package/lib/typescript/src/types/client.d.ts +138 -0
  70. package/lib/typescript/src/types/client.d.ts.map +1 -0
  71. package/lib/typescript/src/utils/client.d.ts +3 -0
  72. package/lib/typescript/src/utils/client.d.ts.map +1 -0
  73. package/nitro.json +30 -30
  74. package/package.json +4 -4
  75. package/react-native.config.js +18 -18
  76. package/src/index.ts +4 -4
  77. package/src/specs/client.nitro.ts +102 -102
  78. package/src/specs/transport.nitro.ts +25 -25
  79. package/src/types/client.ts +196 -196
  80. package/src/utils/client.ts +10 -10
@@ -1,103 +1,103 @@
1
- import Foundation
2
- import Network
3
- import NitroModules
4
-
5
- /// iOS (Swift) implementation of the ECR17 LAN transport, using Network.framework.
6
- ///
7
- /// NOTE: there is no iOS CI runner in this project yet, so this file is
8
- /// best-effort and must be verified by an actual iOS build (the ArrayBuffer <->
9
- /// Data bridging in particular). The Android (Kotlin) transport is the
10
- /// CI-verified reference implementation; this mirrors its behaviour.
11
- final class HybridEcr17Transport: HybridEcr17TransportSpec {
12
- private var connection: NWConnection?
13
- private let queue = DispatchQueue(label: "com.ecr17.transport")
14
- private var onData: ((ArrayBuffer) -> Void)?
15
- private var onDisconnect: (() -> Void)?
16
-
17
- func connect(host: String, port: Double, timeoutMs: Double) throws -> Promise<Void> {
18
- let promise = Promise<Void>()
19
- let endpointPort =
20
- NWEndpoint.Port(rawValue: UInt16(port)) ?? NWEndpoint.Port(integerLiteral: 10000)
21
- let conn = NWConnection(host: NWEndpoint.Host(host), port: endpointPort, using: .tcp)
22
- connection = conn
23
-
24
- var settled = false
25
- conn.stateUpdateHandler = { [weak self] state in
26
- switch state {
27
- case .ready:
28
- if !settled {
29
- settled = true
30
- promise.resolve(withResult: ())
31
- }
32
- self?.receiveLoop(conn)
33
- case .failed(let error):
34
- if !settled {
35
- settled = true
36
- promise.reject(withError: error)
37
- }
38
- self?.onDisconnect?()
39
- case .cancelled:
40
- self?.onDisconnect?()
41
- default:
42
- break
43
- }
44
- }
45
- conn.start(queue: queue)
46
- return promise
47
- }
48
-
49
- private func receiveLoop(_ conn: NWConnection) {
50
- conn.receive(minimumIncompleteLength: 1, maximumLength: 4096) {
51
- [weak self] data, _, isComplete, error in
52
- guard let self = self else { return }
53
- if let data = data, !data.isEmpty {
54
- self.onData?(HybridEcr17Transport.toArrayBuffer(data))
55
- }
56
- if error == nil && !isComplete {
57
- self.receiveLoop(conn)
58
- } else {
59
- self.onDisconnect?()
60
- }
61
- }
62
- }
63
-
64
- func disconnect() throws {
65
- connection?.cancel()
66
- connection = nil
67
- }
68
-
69
- func isConnected() throws -> Bool {
70
- // Used by the C++ client as a PRE-SEND liveness check so a command starts on
71
- // a verified-live socket (the Android transport probes the socket here). With
72
- // Network.framework the connection transitions to .failed/.cancelled when the
73
- // peer closes, so `.ready` is the closest equivalent. NOTE: state updates are
74
- // delivered asynchronously on `queue`, so a peer close observed between
75
- // transactions may take a moment to flip the state — a small residual race
76
- // not present on Android. Best-effort (no iOS CI); verify on a real build.
77
- return connection?.state == .ready
78
- }
79
-
80
- func send(bytes: ArrayBuffer) throws {
81
- let data = HybridEcr17Transport.toData(bytes)
82
- connection?.send(content: data, completion: .contentProcessed { _ in })
83
- }
84
-
85
- func setOnData(callback: @escaping (_ bytes: ArrayBuffer) -> Void) throws {
86
- onData = callback
87
- }
88
-
89
- func setOnDisconnect(callback: @escaping () -> Void) throws {
90
- onDisconnect = callback
91
- }
92
-
93
- // MARK: - ArrayBuffer <-> Data (verify on a real iOS build)
94
- private static func toData(_ buffer: ArrayBuffer) -> Data {
95
- return Data(bytes: buffer.data, count: buffer.size)
96
- }
97
-
98
- private static func toArrayBuffer(_ data: Data) -> ArrayBuffer {
99
- let buffer = ArrayBuffer.allocate(size: data.count)
100
- data.copyBytes(to: buffer.data, count: data.count)
101
- return buffer
102
- }
103
- }
1
+ import Foundation
2
+ import Network
3
+ import NitroModules
4
+
5
+ /// iOS (Swift) implementation of the ECR17 LAN transport, using Network.framework.
6
+ ///
7
+ /// NOTE: there is no iOS CI runner in this project yet, so this file is
8
+ /// best-effort and must be verified by an actual iOS build (the ArrayBuffer <->
9
+ /// Data bridging in particular). The Android (Kotlin) transport is the
10
+ /// CI-verified reference implementation; this mirrors its behaviour.
11
+ final class HybridEcr17Transport: HybridEcr17TransportSpec {
12
+ private var connection: NWConnection?
13
+ private let queue = DispatchQueue(label: "com.ecr17.transport")
14
+ private var onData: ((ArrayBuffer) -> Void)?
15
+ private var onDisconnect: (() -> Void)?
16
+
17
+ func connect(host: String, port: Double, timeoutMs: Double) throws -> Promise<Void> {
18
+ let promise = Promise<Void>()
19
+ let endpointPort =
20
+ NWEndpoint.Port(rawValue: UInt16(port)) ?? NWEndpoint.Port(integerLiteral: 10000)
21
+ let conn = NWConnection(host: NWEndpoint.Host(host), port: endpointPort, using: .tcp)
22
+ connection = conn
23
+
24
+ var settled = false
25
+ conn.stateUpdateHandler = { [weak self] state in
26
+ switch state {
27
+ case .ready:
28
+ if !settled {
29
+ settled = true
30
+ promise.resolve(withResult: ())
31
+ }
32
+ self?.receiveLoop(conn)
33
+ case .failed(let error):
34
+ if !settled {
35
+ settled = true
36
+ promise.reject(withError: error)
37
+ }
38
+ self?.onDisconnect?()
39
+ case .cancelled:
40
+ self?.onDisconnect?()
41
+ default:
42
+ break
43
+ }
44
+ }
45
+ conn.start(queue: queue)
46
+ return promise
47
+ }
48
+
49
+ private func receiveLoop(_ conn: NWConnection) {
50
+ conn.receive(minimumIncompleteLength: 1, maximumLength: 4096) {
51
+ [weak self] data, _, isComplete, error in
52
+ guard let self = self else { return }
53
+ if let data = data, !data.isEmpty {
54
+ self.onData?(HybridEcr17Transport.toArrayBuffer(data))
55
+ }
56
+ if error == nil && !isComplete {
57
+ self.receiveLoop(conn)
58
+ } else {
59
+ self.onDisconnect?()
60
+ }
61
+ }
62
+ }
63
+
64
+ func disconnect() throws {
65
+ connection?.cancel()
66
+ connection = nil
67
+ }
68
+
69
+ func isConnected() throws -> Bool {
70
+ // Used by the C++ client as a PRE-SEND liveness check so a command starts on
71
+ // a verified-live socket (the Android transport probes the socket here). With
72
+ // Network.framework the connection transitions to .failed/.cancelled when the
73
+ // peer closes, so `.ready` is the closest equivalent. NOTE: state updates are
74
+ // delivered asynchronously on `queue`, so a peer close observed between
75
+ // transactions may take a moment to flip the state — a small residual race
76
+ // not present on Android. Best-effort (no iOS CI); verify on a real build.
77
+ return connection?.state == .ready
78
+ }
79
+
80
+ func send(bytes: ArrayBuffer) throws {
81
+ let data = HybridEcr17Transport.toData(bytes)
82
+ connection?.send(content: data, completion: .contentProcessed { _ in })
83
+ }
84
+
85
+ func setOnData(callback: @escaping (_ bytes: ArrayBuffer) -> Void) throws {
86
+ onData = callback
87
+ }
88
+
89
+ func setOnDisconnect(callback: @escaping () -> Void) throws {
90
+ onDisconnect = callback
91
+ }
92
+
93
+ // MARK: - ArrayBuffer <-> Data (verify on a real iOS build)
94
+ private static func toData(_ buffer: ArrayBuffer) -> Data {
95
+ return Data(bytes: buffer.data, count: buffer.size)
96
+ }
97
+
98
+ private static func toArrayBuffer(_ data: Data) -> ArrayBuffer {
99
+ let buffer = ArrayBuffer.allocate(size: data.count)
100
+ data.copyBytes(to: buffer.data, count: data.count)
101
+ return buffer
102
+ }
103
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _client = require("./specs/client.nitro");
7
+ Object.keys(_client).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _client[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _client[key];
14
+ }
15
+ });
16
+ });
17
+ var _transport = require("./specs/transport.nitro");
18
+ Object.keys(_transport).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _transport[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _transport[key];
25
+ }
26
+ });
27
+ });
28
+ var _client2 = require("./types/client");
29
+ Object.keys(_client2).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _client2[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _client2[key];
36
+ }
37
+ });
38
+ });
39
+ var _client3 = require("./utils/client");
40
+ Object.keys(_client3).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _client3[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _client3[key];
47
+ }
48
+ });
49
+ });
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_client","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_transport","_client2","_client3"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,QAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,QAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,QAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,QAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,QAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,QAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,QAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,QAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PosTerminalStatusMessage = void 0;
7
+ const PosTerminalStatusMessage = exports.PosTerminalStatusMessage = {
8
+ 0: "Terminal not configured",
9
+ 1: "Terminal configured, no DLL",
10
+ 2: "Terminal operative (after a DLL)",
11
+ 3: "Terminal not aligned (first DLL requested)",
12
+ 4: "KMPB/KPOS key corrupted (first DLL requested)",
13
+ 5: "DLL solicited by GT pending",
14
+ 6: "Remote SW updated request pending",
15
+ [-1]: "Unknown"
16
+ };
17
+ //# sourceMappingURL=client.nitro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PosTerminalStatusMessage","exports"],"sourceRoot":"../../../src","sources":["specs/client.nitro.ts"],"mappings":";;;;;;AA+CO,MAAMA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG;EACvC,CAAC,EAAE,yBAAyB;EAC5B,CAAC,EAAE,6BAA6B;EAChC,CAAC,EAAE,kCAAkC;EACrC,CAAC,EAAE,4CAA4C;EAC/C,CAAC,EAAE,+CAA+C;EAClD,CAAC,EAAE,6BAA6B;EAChC,CAAC,EAAE,mCAAmC;EACtC,CAAC,CAAC,CAAC,GAAG;AACP,CAAU","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=transport.nitro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/transport.nitro.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/client.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createEcr17Client = createEcr17Client;
7
+ var _reactNativeNitroModules = require("react-native-nitro-modules");
8
+ function createEcr17Client(config) {
9
+ const client = _reactNativeNitroModules.NitroModules.createHybridObject("Ecr17Client");
10
+ client.configure(config);
11
+ return client;
12
+ }
13
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeNitroModules","require","createEcr17Client","config","client","NitroModules","createHybridObject","configure"],"sourceRoot":"../../../src","sources":["utils/client.ts"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAGO,SAASC,iBAAiBA,CAACC,MAAmB,EAAe;EACnE,MAAMC,MAAM,GAAGC,qCAAY,CAACC,kBAAkB,CAAc,aAAa,CAAC;EAE1EF,MAAM,CAACG,SAAS,CAACJ,MAAM,CAAC;EAExB,OAAOC,MAAM;AACd","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ export * from "./specs/client.nitro";
4
+ export * from "./specs/transport.nitro";
5
+ export * from "./types/client";
6
+ export * from "./utils/client";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,sBAAsB;AACpC,cAAc,yBAAyB;AACvC,cAAc,gBAAgB;AAC9B,cAAc,gBAAgB","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ export const PosTerminalStatusMessage = {
4
+ 0: "Terminal not configured",
5
+ 1: "Terminal configured, no DLL",
6
+ 2: "Terminal operative (after a DLL)",
7
+ 3: "Terminal not aligned (first DLL requested)",
8
+ 4: "KMPB/KPOS key corrupted (first DLL requested)",
9
+ 5: "DLL solicited by GT pending",
10
+ 6: "Remote SW updated request pending",
11
+ [-1]: "Unknown"
12
+ };
13
+ //# sourceMappingURL=client.nitro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PosTerminalStatusMessage"],"sourceRoot":"../../../src","sources":["specs/client.nitro.ts"],"mappings":";;AA+CA,OAAO,MAAMA,wBAAwB,GAAG;EACvC,CAAC,EAAE,yBAAyB;EAC5B,CAAC,EAAE,6BAA6B;EAChC,CAAC,EAAE,kCAAkC;EACrC,CAAC,EAAE,4CAA4C;EAC/C,CAAC,EAAE,+CAA+C;EAClD,CAAC,EAAE,6BAA6B;EAChC,CAAC,EAAE,mCAAmC;EACtC,CAAC,CAAC,CAAC,GAAG;AACP,CAAU","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=transport.nitro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["specs/transport.nitro.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/client.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ import { NitroModules } from "react-native-nitro-modules";
4
+ export function createEcr17Client(config) {
5
+ const client = NitroModules.createHybridObject("Ecr17Client");
6
+ client.configure(config);
7
+ return client;
8
+ }
9
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NitroModules","createEcr17Client","config","client","createHybridObject","configure"],"sourceRoot":"../../../src","sources":["utils/client.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAGzD,OAAO,SAASC,iBAAiBA,CAACC,MAAmB,EAAe;EACnE,MAAMC,MAAM,GAAGH,YAAY,CAACI,kBAAkB,CAAc,aAAa,CAAC;EAE1ED,MAAM,CAACE,SAAS,CAACH,MAAM,CAAC;EAExB,OAAOC,MAAM;AACd","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export * from "./specs/client.nitro";
2
+ export * from "./specs/transport.nitro";
3
+ export * from "./types/client";
4
+ export * from "./utils/client";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,63 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+ import type { CardVerificationRequest, CardVerificationResult, CloseSessionResult, ConnectionState, IncrementalAuthRequest, LrcMode, PaymentRequest, PaymentResult, PreAuthClosureRequest, PreAuthRequest, PreAuthResult, ProgressEvent, ReceiptLine, ReversalRequest, ReversalResult, TotalsResult, VasResult } from "../types/client";
3
+ export interface Ecr17Config {
4
+ host: string;
5
+ port?: number;
6
+ terminalId: string;
7
+ cashRegisterId: string;
8
+ lrcMode?: LrcMode;
9
+ keepAlive?: boolean;
10
+ autoReconnect?: boolean;
11
+ connectionTimeoutMs?: number;
12
+ responseTimeoutMs?: number;
13
+ ackTimeoutMs?: number;
14
+ receiptDrainMs?: number;
15
+ retryCount?: number;
16
+ retryDelayMs?: number;
17
+ debug?: boolean;
18
+ }
19
+ export declare const PosTerminalStatusMessage: {
20
+ readonly 0: "Terminal not configured";
21
+ readonly 1: "Terminal configured, no DLL";
22
+ readonly 2: "Terminal operative (after a DLL)";
23
+ readonly 3: "Terminal not aligned (first DLL requested)";
24
+ readonly 4: "KMPB/KPOS key corrupted (first DLL requested)";
25
+ readonly 5: "DLL solicited by GT pending";
26
+ readonly 6: "Remote SW updated request pending";
27
+ readonly [-1]: "Unknown";
28
+ };
29
+ export type PosTerminalStatus = keyof typeof PosTerminalStatusMessage;
30
+ export interface PosStatusResponse {
31
+ terminalId: string;
32
+ terminalDateTime: Date;
33
+ status: PosTerminalStatus;
34
+ softwareRelease: string;
35
+ }
36
+ export interface Ecr17Client extends HybridObject<{
37
+ ios: "c++";
38
+ android: "c++";
39
+ }> {
40
+ configure(config: Ecr17Config): void;
41
+ configuration(): Ecr17Config;
42
+ connect(): Promise<void>;
43
+ disconnect(): void;
44
+ isConnected(): boolean;
45
+ status(): Promise<PosStatusResponse>;
46
+ pay(request: PaymentRequest): Promise<PaymentResult>;
47
+ payExtended(request: PaymentRequest): Promise<PaymentResult>;
48
+ reverse(request: ReversalRequest): Promise<ReversalResult>;
49
+ preAuth(request: PreAuthRequest): Promise<PreAuthResult>;
50
+ incrementalAuth(request: IncrementalAuthRequest): Promise<PreAuthResult>;
51
+ preAuthClosure(request: PreAuthClosureRequest): Promise<PaymentResult>;
52
+ verifyCard(request: CardVerificationRequest): Promise<CardVerificationResult>;
53
+ closeSession(): Promise<CloseSessionResult>;
54
+ totals(): Promise<TotalsResult>;
55
+ sendLastResult(): Promise<PaymentResult>;
56
+ enableEcrPrinting(enabled: boolean): Promise<void>;
57
+ reprint(toEcr: boolean): Promise<void>;
58
+ vas(xmlRequest: string): Promise<VasResult>;
59
+ setOnProgress(callback: (event: ProgressEvent) => void): void;
60
+ setOnReceiptLine(callback: (line: ReceiptLine) => void): void;
61
+ setOnConnectionStateChange(callback: (state: ConnectionState) => void): void;
62
+ }
63
+ //# sourceMappingURL=client.nitro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/client.nitro.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
+ export interface Ecr17Transport extends HybridObject<{
3
+ ios: "swift";
4
+ android: "kotlin";
5
+ }> {
6
+ connect(host: string, port: number, timeoutMs: number): Promise<void>;
7
+ disconnect(): void;
8
+ isConnected(): boolean;
9
+ send(bytes: ArrayBuffer): void;
10
+ setOnData(callback: (bytes: ArrayBuffer) => void): void;
11
+ setOnDisconnect(callback: () => void): void;
12
+ }
13
+ //# sourceMappingURL=transport.nitro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/transport.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAW/D,MAAM,WAAW,cAChB,SAAQ,YAAY,CAAC;IACpB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;CAClB,CAAC;IACF,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,UAAU,IAAI,IAAI,CAAC;IACnB,WAAW,IAAI,OAAO,CAAC;IAEvB,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAE/B,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAAC;IACxD,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC5C"}
@@ -0,0 +1,138 @@
1
+ export type LrcMode = "stx" | "std" | "noext" | "stx_noext";
2
+ export type ConnectionState = "disconnected" | "connecting" | "connected";
3
+ export type TransactionOutcome = "ok" | "ko" | "cardNotPresent" | "unknownTag" | "unknown";
4
+ export type CardType = "debit" | "credit" | "other" | "unknown";
5
+ export type TransactionEntryMode = "icc" | "mag" | "manual" | "clessMag" | "clessIcc" | "unknown";
6
+ export type PaymentCardType = "auto" | "debit" | "credit" | "other";
7
+ export type TokenizationService = "recurring" | "unscheduledOrOneClick";
8
+ export interface TokenizationRequest {
9
+ service: TokenizationService;
10
+ contractCode: string;
11
+ }
12
+ export interface PaymentRequest {
13
+ amountCents: number;
14
+ cashRegisterId?: string;
15
+ paymentType?: PaymentCardType;
16
+ cardAlreadyPresent?: boolean;
17
+ receiptText?: string;
18
+ tokenization?: TokenizationRequest;
19
+ }
20
+ export interface ReversalRequest {
21
+ cashRegisterId?: string;
22
+ stan?: string;
23
+ }
24
+ export interface PreAuthRequest {
25
+ amountCents: number;
26
+ cashRegisterId?: string;
27
+ paymentType?: PaymentCardType;
28
+ cardAlreadyPresent?: boolean;
29
+ receiptText?: string;
30
+ tokenization?: TokenizationRequest;
31
+ }
32
+ export interface IncrementalAuthRequest {
33
+ amountCents: number;
34
+ originalPreAuthCode: string;
35
+ cashRegisterId?: string;
36
+ receiptText?: string;
37
+ }
38
+ export interface PreAuthClosureRequest {
39
+ amountCents: number;
40
+ originalPreAuthCode: string;
41
+ cashRegisterId?: string;
42
+ receiptText?: string;
43
+ }
44
+ export interface CardVerificationRequest {
45
+ cashRegisterId?: string;
46
+ paymentType?: PaymentCardType;
47
+ tokenization?: TokenizationRequest;
48
+ }
49
+ export interface CurrencyExchange {
50
+ applied: boolean;
51
+ rate?: number;
52
+ currencyCode?: string;
53
+ amountCents?: number;
54
+ precision?: number;
55
+ }
56
+ export interface PaymentResult {
57
+ outcome: TransactionOutcome;
58
+ resultCode: string;
59
+ pan?: string;
60
+ entryMode?: TransactionEntryMode;
61
+ authCode?: string;
62
+ hostDateTime?: string;
63
+ cardType?: CardType;
64
+ acquirerId?: string;
65
+ stan?: string;
66
+ onlineId?: string;
67
+ errorDescription?: string;
68
+ currencyExchange?: CurrencyExchange;
69
+ }
70
+ export interface ReversalResult {
71
+ outcome: TransactionOutcome;
72
+ resultCode: string;
73
+ pan?: string;
74
+ entryMode?: TransactionEntryMode;
75
+ hostDateTime?: string;
76
+ cardType?: CardType;
77
+ acquirerId?: string;
78
+ stan?: string;
79
+ onlineId?: string;
80
+ actionCode?: string;
81
+ errorDescription?: string;
82
+ }
83
+ export interface PreAuthResult {
84
+ outcome: TransactionOutcome;
85
+ resultCode: string;
86
+ pan?: string;
87
+ entryMode?: TransactionEntryMode;
88
+ authCode?: string;
89
+ preAuthorizedAmountCents?: number;
90
+ preAuthCode?: string;
91
+ actionCode?: string;
92
+ hostDateTime?: string;
93
+ cardType?: CardType;
94
+ acquirerId?: string;
95
+ stan?: string;
96
+ onlineId?: string;
97
+ errorDescription?: string;
98
+ }
99
+ export interface CardVerificationResult {
100
+ outcome: TransactionOutcome;
101
+ resultCode: string;
102
+ pan?: string;
103
+ entryMode?: TransactionEntryMode;
104
+ authCode?: string;
105
+ hostDateTime?: string;
106
+ cardType?: CardType;
107
+ acquirerId?: string;
108
+ stan?: string;
109
+ onlineId?: string;
110
+ actionCode?: string;
111
+ errorDescription?: string;
112
+ }
113
+ export interface TotalsResult {
114
+ outcome: TransactionOutcome;
115
+ resultCode: string;
116
+ posTotalCents: number;
117
+ }
118
+ export interface CloseSessionResult {
119
+ outcome: TransactionOutcome;
120
+ resultCode: string;
121
+ posTotalCents?: number;
122
+ hostTotalCents?: number;
123
+ actionCode?: string;
124
+ errorDescription?: string;
125
+ }
126
+ export interface VasResult {
127
+ responseId: string;
128
+ responseMessage: string;
129
+ orderId?: string;
130
+ rawXml: string;
131
+ }
132
+ export interface ProgressEvent {
133
+ message: string;
134
+ }
135
+ export interface ReceiptLine {
136
+ text: string;
137
+ }
138
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/types/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Ecr17Client, Ecr17Config } from "../specs/client.nitro";
2
+ export declare function createEcr17Client(config: Ecr17Config): Ecr17Client;
3
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/utils/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEtE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAMlE"}