nets-service-sdk 1.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.
package/README.md ADDED
@@ -0,0 +1,102 @@
1
+ # NETS Service SDK
2
+
3
+ A utility library for integrating with NETS payment terminals and handling related operations. This SDK provides tools for serial communication, message parsing, configuration management, and common utility functions.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install nets-service-sdk
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ### Importing the SDK
14
+
15
+ ```javascript
16
+ const netsSdk = require('nets-service-sdk');
17
+ // OR destructure specific modules
18
+ const { communication, manageConfig, logger } = require('nets-service-sdk');
19
+ ```
20
+
21
+ ### Configuration Management
22
+
23
+ Manage your application configuration using `manageConfig`. It reads/writes to a `config.json` file in your project root.
24
+
25
+ ```javascript
26
+ const { manageConfig } = require('nets-service-sdk');
27
+
28
+ // Get entire configuration
29
+ const config = manageConfig.getConfig();
30
+
31
+ // Get specific config value
32
+ const port = manageConfig.getConfigByKey('com');
33
+
34
+ // Update configuration
35
+ manageConfig.updateConfig({ com: '/dev/ttyUSB0' });
36
+ ```
37
+
38
+ ### Serial Communication (Payment Terminal)
39
+
40
+ Handle communication with the NETS terminal.
41
+
42
+ ```javascript
43
+ const { communication } = require('nets-service-sdk');
44
+
45
+ // Initialize the serial connection
46
+ // Ensure your config.json has 'com' (port) and 'terminal' settings
47
+ communication.initialize();
48
+
49
+ // Send a request to the terminal
50
+ // Types: 'STATUS_CHECK', 'LOGON', 'PAYMENT', 'CREDIT_PAYMENT'
51
+ communication.sentToTerminal('STATUS_CHECK', {});
52
+
53
+ // For Payment
54
+ communication.sentToTerminal('PAYMENT', {
55
+ amount: 1000, // Amount in cents
56
+ reference: 'ORDER123'
57
+ });
58
+ ```
59
+
60
+ ### Utility Functions
61
+
62
+ The SDK exports various utility functions directly.
63
+
64
+ ```javascript
65
+ const { padWithLeadingZeros, xorCalculation, generateServiceKey } = require('nets-service-sdk');
66
+
67
+ // Pad numbers
68
+ console.log(padWithLeadingZeros(5, 3)); // Output: "005"
69
+
70
+ // XOR Calculation for checksums
71
+ const checksum = xorCalculation("02313030");
72
+
73
+ // Generate Service Key
74
+ const key = generateServiceKey({ some: "payload" });
75
+ ```
76
+
77
+ ### Logging
78
+
79
+ Use the built-in Winston logger.
80
+
81
+ ```javascript
82
+ const { logger } = require('nets-service-sdk');
83
+ const myLogger = logger(module);
84
+
85
+ myLogger.info('This is an info message');
86
+ myLogger.error('This is an error message');
87
+ ```
88
+
89
+ ## Modules
90
+
91
+ - **communication**: Handles serial port communication with the terminal.
92
+ - **manageConfig**: Reads and writes configuration to `config.json`.
93
+ - **utilsHelper**: General utility functions (padding, XOR, hex conversion, etc.).
94
+ - **logger**: Winston logger configuration.
95
+ - **queue**: Queue management (if applicable).
96
+ - **sendMessage**: Helper for sending messages (e.g., to socket rooms).
97
+ - **hexRequest**: Generates HEX requests for the terminal.
98
+ - **parser**: Parses responses from the terminal.
99
+
100
+ ## License
101
+
102
+ ISC
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ function e(){return e=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},e.apply(null,arguments)}var r=require("./src/utils.helper"),n=require("./src/winston"),s=require("./src/manageConfig"),u=require("./src/queue"),a=require("./src/sendMessage"),t=require("./src/payment/communication"),i=require("./src/payment/hexRequest"),c=require("./src/payment/httpRequest"),o=require("./src/payment/parser"),p=require("./src/payment/responseHandler");module.exports=e({},r,{logger:n,manageConfig:s,queue:u,sendMessage:a,communication:t,hexRequest:i,httpRequest:c,parser:o,responseHandler:p});
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../index.js"],"sourcesContent":["const utilsHelper = require('./src/utils.helper');\nconst winston = require('./src/winston');\nconst manageConfig = require('./src/manageConfig');\nconst queue = require('./src/queue');\nconst sendMessage = require('./src/sendMessage');\nconst communication = require('./src/payment/communication');\nconst hexRequest = require('./src/payment/hexRequest');\nconst httpRequest = require('./src/payment/httpRequest');\nconst parser = require('./src/payment/parser');\nconst responseHandler = require('./src/payment/responseHandler');\n\nmodule.exports = {\n ...utilsHelper,\n logger: winston,\n manageConfig,\n queue,\n sendMessage,\n communication,\n hexRequest,\n httpRequest,\n parser,\n responseHandler\n};\n"],"names":["utilsHelper","require","winston","manageConfig","queue","sendMessage","communication","hexRequest","httpRequest","parser","responseHandler","module","exports","_extends","logger"],"mappings":"wNAAA,IAAMA,EAAcC,QAAQ,sBACtBC,EAAUD,QAAQ,iBAClBE,EAAeF,QAAQ,sBACvBG,EAAQH,QAAQ,eAChBI,EAAcJ,QAAQ,qBACtBK,EAAgBL,QAAQ,+BACxBM,EAAaN,QAAQ,4BACrBO,EAAcP,QAAQ,6BACtBQ,EAASR,QAAQ,wBACjBS,EAAkBT,QAAQ,iCAEhCU,OAAOC,QAAOC,EAAA,CAAA,EACPb,EAAW,CACdc,OAAQZ,EACRC,aAAAA,EACAC,MAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,WAAAA,EACAC,YAAAA,EACAC,OAAAA,EACAC,gBAAAA"}
@@ -0,0 +1,2 @@
1
+ function e(){return e=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},e.apply(null,arguments)}const r=require("./src/utils.helper"),n=require("./src/winston"),s=require("./src/manageConfig"),t=require("./src/queue"),u=require("./src/sendMessage"),a=require("./src/payment/communication"),i=require("./src/payment/hexRequest"),c=require("./src/payment/httpRequest"),o=require("./src/payment/parser"),p=require("./src/payment/responseHandler");module.exports=e({},r,{logger:n,manageConfig:s,queue:t,sendMessage:u,communication:a,hexRequest:i,httpRequest:c,parser:o,responseHandler:p});
2
+ //# sourceMappingURL=index.modern.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.modern.mjs","sources":["../index.js"],"sourcesContent":["const utilsHelper = require('./src/utils.helper');\nconst winston = require('./src/winston');\nconst manageConfig = require('./src/manageConfig');\nconst queue = require('./src/queue');\nconst sendMessage = require('./src/sendMessage');\nconst communication = require('./src/payment/communication');\nconst hexRequest = require('./src/payment/hexRequest');\nconst httpRequest = require('./src/payment/httpRequest');\nconst parser = require('./src/payment/parser');\nconst responseHandler = require('./src/payment/responseHandler');\n\nmodule.exports = {\n ...utilsHelper,\n logger: winston,\n manageConfig,\n queue,\n sendMessage,\n communication,\n hexRequest,\n httpRequest,\n parser,\n responseHandler\n};\n"],"names":["utilsHelper","require","winston","manageConfig","queue","sendMessage","communication","hexRequest","httpRequest","parser","responseHandler","module","exports","_extends","logger"],"mappings":"wNAAA,MAAMA,EAAcC,QAAQ,sBACtBC,EAAUD,QAAQ,iBAClBE,EAAeF,QAAQ,sBACvBG,EAAQH,QAAQ,eAChBI,EAAcJ,QAAQ,qBACtBK,EAAgBL,QAAQ,+BACxBM,EAAaN,QAAQ,4BACrBO,EAAcP,QAAQ,6BACtBQ,EAASR,QAAQ,wBACjBS,EAAkBT,QAAQ,iCAEhCU,OAAOC,QAAOC,EAAA,CAAA,EACPb,EAAW,CACdc,OAAQZ,EACRC,eACAC,QACAC,cACAC,gBACAC,aACAC,cACAC,SACAC"}
@@ -0,0 +1,2 @@
1
+ function e(){return e=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},e.apply(null,arguments)}var r=require("./src/utils.helper"),n=require("./src/winston"),s=require("./src/manageConfig"),u=require("./src/queue"),a=require("./src/sendMessage"),t=require("./src/payment/communication"),i=require("./src/payment/hexRequest"),c=require("./src/payment/httpRequest"),o=require("./src/payment/parser"),p=require("./src/payment/responseHandler");module.exports=e({},r,{logger:n,manageConfig:s,queue:u,sendMessage:a,communication:t,hexRequest:i,httpRequest:c,parser:o,responseHandler:p});
2
+ //# sourceMappingURL=index.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.module.js","sources":["../index.js"],"sourcesContent":["const utilsHelper = require('./src/utils.helper');\nconst winston = require('./src/winston');\nconst manageConfig = require('./src/manageConfig');\nconst queue = require('./src/queue');\nconst sendMessage = require('./src/sendMessage');\nconst communication = require('./src/payment/communication');\nconst hexRequest = require('./src/payment/hexRequest');\nconst httpRequest = require('./src/payment/httpRequest');\nconst parser = require('./src/payment/parser');\nconst responseHandler = require('./src/payment/responseHandler');\n\nmodule.exports = {\n ...utilsHelper,\n logger: winston,\n manageConfig,\n queue,\n sendMessage,\n communication,\n hexRequest,\n httpRequest,\n parser,\n responseHandler\n};\n"],"names":["utilsHelper","require","winston","manageConfig","queue","sendMessage","communication","hexRequest","httpRequest","parser","responseHandler","module","exports","_extends","logger"],"mappings":"wNAAA,IAAMA,EAAcC,QAAQ,sBACtBC,EAAUD,QAAQ,iBAClBE,EAAeF,QAAQ,sBACvBG,EAAQH,QAAQ,eAChBI,EAAcJ,QAAQ,qBACtBK,EAAgBL,QAAQ,+BACxBM,EAAaN,QAAQ,4BACrBO,EAAcP,QAAQ,6BACtBQ,EAASR,QAAQ,wBACjBS,EAAkBT,QAAQ,iCAEhCU,OAAOC,QAAOC,EAAA,CAAA,EACPb,EAAW,CACdc,OAAQZ,EACRC,aAAAA,EACAC,MAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,WAAAA,EACAC,YAAAA,EACAC,OAAAA,EACAC,gBAAAA"}
@@ -0,0 +1,2 @@
1
+ !function(e){"function"==typeof define&&define.amd?define(e):e()}(function(){function e(){return e=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var s in n)({}).hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},e.apply(null,arguments)}var r=require("./src/utils.helper"),n=require("./src/winston"),s=require("./src/manageConfig"),i=require("./src/queue"),t=require("./src/sendMessage"),u=require("./src/payment/communication"),a=require("./src/payment/hexRequest"),c=require("./src/payment/httpRequest"),o=require("./src/payment/parser"),p=require("./src/payment/responseHandler");module.exports=e({},r,{logger:n,manageConfig:s,queue:i,sendMessage:t,communication:u,hexRequest:a,httpRequest:c,parser:o,responseHandler:p})});
2
+ //# sourceMappingURL=index.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.umd.js","sources":["../index.js"],"sourcesContent":["const utilsHelper = require('./src/utils.helper');\nconst winston = require('./src/winston');\nconst manageConfig = require('./src/manageConfig');\nconst queue = require('./src/queue');\nconst sendMessage = require('./src/sendMessage');\nconst communication = require('./src/payment/communication');\nconst hexRequest = require('./src/payment/hexRequest');\nconst httpRequest = require('./src/payment/httpRequest');\nconst parser = require('./src/payment/parser');\nconst responseHandler = require('./src/payment/responseHandler');\n\nmodule.exports = {\n ...utilsHelper,\n logger: winston,\n manageConfig,\n queue,\n sendMessage,\n communication,\n hexRequest,\n httpRequest,\n parser,\n responseHandler\n};\n"],"names":["utilsHelper","require","winston","manageConfig","queue","sendMessage","communication","hexRequest","httpRequest","parser","responseHandler","module","exports","_extends","logger"],"mappings":"qSAAA,IAAMA,EAAcC,QAAQ,sBACtBC,EAAUD,QAAQ,iBAClBE,EAAeF,QAAQ,sBACvBG,EAAQH,QAAQ,eAChBI,EAAcJ,QAAQ,qBACtBK,EAAgBL,QAAQ,+BACxBM,EAAaN,QAAQ,4BACrBO,EAAcP,QAAQ,6BACtBQ,EAASR,QAAQ,wBACjBS,EAAkBT,QAAQ,iCAEhCU,OAAOC,QAAOC,EAAA,CAAA,EACPb,EAAW,CACdc,OAAQZ,EACRC,aAAAA,EACAC,MAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,WAAAA,EACAC,YAAAA,EACAC,OAAAA,EACAC,gBAAAA"}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "nets-service-sdk",
3
+ "version": "1.0.0",
4
+ "description": "Utility functions for OM Service",
5
+ "source": "index.js",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.module.js",
8
+ "unpkg": "dist/index.umd.js",
9
+ "scripts": {
10
+ "build": "microbundle",
11
+ "watch": "microbundle watch",
12
+ "test": "echo \"Error: no test specified\" && exit 1"
13
+ },
14
+ "keywords": [],
15
+ "author": "dineshhv",
16
+ "license": "ISC",
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "dependencies": {
21
+ "dollars-to-cents": "^1.0.3",
22
+ "lodash": "^4.17.21",
23
+ "moment": "^2.29.4",
24
+ "request": "^2.88.2",
25
+ "serialport": "^10.5.0",
26
+ "socket.io-client": "^4.7.2",
27
+ "winston": "^3.8.2"
28
+ },
29
+ "devDependencies": {
30
+ "microbundle": "^0.15.1"
31
+ }
32
+ }