{"_id":"@appliedminds/tcp","_rev":"10-2cbd1c601ba6c0cf385b4e90994b927e","name":"@appliedminds/tcp","dist-tags":{"latest":"4.1.1"},"versions":{"2.5.0":{"name":"@appliedminds/tcp","version":"2.5.0","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"license":"MIT","_id":"@appliedminds/tcp@2.5.0","maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"contributors":[],"homepage":"https://github.com/appliedminds/tcp","bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"dist":{"shasum":"254f54e519d69070b91c567ac4bbdaf457f9391a","tarball":"https://registry.npmjs.org/@appliedminds/tcp/-/tcp-2.5.0.tgz","fileCount":9,"integrity":"sha512-KZfkOO0nlVcpusXxhMyEoAG1hUmYmWsTqK33VlAxvmSIcdLLxyWGeBy/SPbe+K2VDj5WolzzxYwa8uhD+yyayg==","signatures":[{"sig":"MEQCIHbQORMl8O/X6IFIHl0uJDWcdwlDKBuhtoX24fN2EzKtAiBQjgJ3N7PhdHoG07Ts+mE9eB/zAHDrx9BjtRnYaksIBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhp+ljCRA9TVsSAnZWagAA7xcP+wcylE2WPvTuC3wWWkcM\ncGjgoLymtF/jhzC9djJcotBkDO97KQiwaACcSjDzFsB8bTej1oADjzc8juMh\nD7ENA/cv0D4u/WreXqF1LcHW7EphTJaKLuaMok6iNVkIC8246MW4L3fNKEuK\nxAAS+Jk1RATSlDdKAWuOWg+cy3zzsC89tqYGes3gdsbZ5/WrcHF+wjXFFsUS\nIuJk+gjxMLdmKyQP+qpAUyQh9XEsBPxmRAxV3BnjYy1hKZQ6IFmU9pBeFyOa\nlfDiQkmn/fduKMA8DY4H9n5zrjt7/AYHvMaqcMz+DEFkpEkjWv3y7NlNjuEG\nQf7+tXPB9z8jG0+3YbFPhXAYtTDQIvpl5QAHwFJk4eIJN8q7C9dPJaRH8y7G\nMg5Aur+gSMpVh2hg9ZYeVs6bharW/WlNe/EBN9QBSmc9WnltB5hOTKoQ9ZjT\nB2F2wXbIV1c49vqDMwCcpCjh2a0dop4Fqb0IMctRKTCraAamGWboJsELWLlN\n9OfwRDX+a0tKK8EB4LjSfIYVdUszkmbg8bGQSlVs+BV7OPOO5zrVMYRl7rvx\nynqYeNu8QuBDJtSalY3VS1uOy8mjx1esA0RN37yb7/QRWN20Dz0RzWt+J23O\nEKyli/DijreJd3oAAS2lu8iOfFAzfE6d3a+YBM+ACM/u8OGN1GocPAQeKO7W\nP5rT\r\n=8dfZ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testRunner":"jest-circus/runner","collectCoverage":true,"coverageReporters":["text"]},"main":"index.js","module":"index.js","engines":{"node":">=12.20"},"gitHead":"0056d3682f21fba138820bce477d3470fa998fab","scripts":{"lint":"eslint *.js","test":"jest --runInBand"},"_npmUser":{"name":"ivojanssen","email":"ivo@appliedminds.com"},"repository":{"url":"git+https://github.com/appliedminds/tcp.git","type":"git"},"_npmVersion":"8.1.0","description":"Service wrapper to easily integrate TCP services","directories":{},"_nodeVersion":"17.0.1","eslintConfig":{"extends":["@appliedminds","plugin:jest/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","eslint":"^8.3.0","babel-jest":"^27.4.2","@babel/core":"^7.16.0","jest-circus":"^27.4.2","@babel/preset-env":"^7.16.4","eslint-plugin-jest":"^25.3.0","@appliedminds/eslint-config":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.5.0_1638394211143_0.7573562709573716","host":"s3://npm-registry-packages"}},"2.5.1":{"name":"@appliedminds/tcp","version":"2.5.1","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"license":"MIT","_id":"@appliedminds/tcp@2.5.1","maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"contributors":[],"homepage":"https://github.com/appliedminds/tcp","bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"dist":{"shasum":"5fbac60e34cb81f4d04b108a38aa1d6ff819afbb","tarball":"https://registry.npmjs.org/@appliedminds/tcp/-/tcp-2.5.1.tgz","fileCount":4,"integrity":"sha512-3x+A5OoPxSjqa8YvD7KD5EadT20J0tUur2d98Bj9BFndEgI03TkOobjJxSEe1Y436uretKzVr+tw8bFvINShuw==","signatures":[{"sig":"MEQCIARq+P1BqStcbCisrnGtn+J7TxFpshujBYJCLHqqciInAiBZ15Tsabm8kvR4/oq5GW/zNISjyEqT9bG+Un7Fa3y/NA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10793,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBHd+CRA9TVsSAnZWagAACSoP/iBkoSC5S/LuVX0F1yiN\nbqkDu8V8pinaTwSLASM6iBB5gzcN9Mjr5fU+Y9cHtFq/Aqgsi8E5GUict6Qm\neb99mXjIOcXV8sSfSysiyutiC2wyKlv19EivOPk3J11Ew2sw+7B+05Lyhh/r\nW8LRqOGkJNuqKj3+39ekuA2MH7cA2SB/R8EsUX46XZV4V10vatnxGxC1rRvj\nGBl3zzuNfv9PA40G48V7ozl1/Lhkf4SjNaIYquOHeacI+f5QcFklsKV56wS2\nk/99jk5uZV7XAQsF5yT+T6NJC4uQnNbxsqXYssrNb5aXDu+ANifpxoL9r9A6\nZ5XxWhVbli/ZNbN/nMrjil4I4FQDG8bnvLqQTbrot+67a88yR0AhrNQhpdtM\n6rnjcszYENuiCQoM9Qqv/9phGhFnvqOUDD25jwZsAPRa8bz42RLkndKnglNn\nWw5wCaUX7vWeDodHhQsdu4zRTkKA2ze5cvucLNUprrJw1zbGppPs7Hs7aoTc\n0GLUAt0BbuA1WTRV1MA1irmCquTrjB8qaA5f7bYivOc38dcMttrS4YeW4HmQ\nLn4VZeDFK8IQeaAHsbnwUzCpYMRxfGM9toFgpySI28k0QZsbI2KFIqvf3M0J\n4F3c0ddwhb3msO43vAg44NQDG+pcLRpo5w38E4NFV+BWL0i04MAeHLMPzrTK\nEhc7\r\n=GC/m\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testRunner":"jest-circus/runner","collectCoverage":true,"coverageReporters":["text"]},"main":"index.js","module":"index.js","engines":{"node":">=12.20"},"gitHead":"82fe610718bfa8e4c7a575f9f6a3e2318e1ec8e1","scripts":{"lint":"eslint *.js","test":"jest --runInBand"},"_npmUser":{"name":"ivojanssen","email":"ivo@appliedminds.com"},"repository":{"url":"git+https://github.com/appliedminds/tcp.git","type":"git"},"_npmVersion":"8.3.1","description":"Service wrapper to easily integrate TCP services","directories":{},"_nodeVersion":"17.4.0","eslintConfig":{"extends":["@appliedminds","plugin:jest/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.4.3","eslint":"^8.3.0","babel-jest":"^27.4.2","@babel/core":"^7.16.0","jest-circus":"^27.4.2","@babel/preset-env":"^7.16.4","eslint-plugin-jest":"^25.3.0","@appliedminds/eslint-config":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.5.1_1644459901879_0.3150074578189488","host":"s3://npm-registry-packages"}},"2.5.2":{"name":"@appliedminds/tcp","version":"2.5.2","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"license":"MIT","_id":"@appliedminds/tcp@2.5.2","maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"contributors":[],"homepage":"https://github.com/appliedminds/tcp","bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"dist":{"shasum":"034ec2392b4a23f6f96056430cb563d23c6437ee","tarball":"https://registry.npmjs.org/@appliedminds/tcp/-/tcp-2.5.2.tgz","fileCount":4,"integrity":"sha512-ymmuf145xGBbWjs3dLyevaw3OTgw5mcQhYtR/d+v6K0P+NuKvCWZ+Een6+GBuLu5rQ/lVrnEjrgxIqBgKEkAvw==","signatures":[{"sig":"MEUCIA8X9sBcNF6YqXjefHRnXnqPz9CJM26lT4qdfkDaOLVXAiEA6aGZSfW7jG1XRCBEMxCt506nrm26VVp7jXRUrlr+sZQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPz+oACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpvag//ZGHvuEssbpD6CXizv1V221qT5XzrziGBgicjw93pJxLIPA8n\r\nxnAjT0NRbVLg8WaGYHJDNhk9S0MEIhvI+9XtZTWPZoXjR3Xe2weqk3GRUWcS\r\ndBy22VneXnvQnC3ICVMR4R5DO50cqXd13afEzk65xlVmcs3F44y5sE+WRBJv\r\nGMHqZ64/uH55TUmm3ZFU7I0Hi3ERLvufCGY74dLLWqzmJCrV6UJ8WJoWMYMA\r\n4tNlr4QD8+cnyqcaopiGItZWD6L/vSisVy0Sp+nqhiD/Gsw/FkmWpxed4Pws\r\nt0jfqO3kvKbXlbUV4B4ZtBJV7lCKW+SqCo1fAl4sjZ/iaUdGibPgXDDYV8DH\r\nL8ZsWbdCn/oDEDBCgbJnK8x03B9u2hWp4EQMOAgmogpOKwfiP9VvLlc5JlA8\r\nCEGqBdzC7cx3JUwUkMEjWXe6vRRX2fsCaTTMmE8QkkrHntKPfA8Akj6NmdKK\r\njQBPEQaRqyZcpH9t7pSsTO8tH4YAprRyAnZ/5PXSrEN1QuIeLsov1xCbPM9O\r\niS0xI1dQmqwGNi9+HCki12Xmt06W5mr+YHXodG872j/EWpE18SjD9YlTXMaY\r\n5wHmt/TONItlDQSR3eGzpZzt/zQW326c8U4Pmxuz+2G+n0F/vXHw1NP/OmGo\r\nviK8LfNjVtM8+USBW6ddh9ue5J5oXyVjkqA=\r\n=I3KS\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testRunner":"jest-circus/runner","collectCoverage":true,"coverageReporters":["text"]},"main":"index.js","module":"index.js","engines":{"node":">=12.20"},"gitHead":"ead22be770187582a784d3cebca5572d0a4edbf0","scripts":{"lint":"eslint .","test":"jest --runInBand"},"_npmUser":{"name":"ivojanssen","email":"ivo@appliedminds.com"},"repository":{"url":"git+https://github.com/appliedminds/tcp.git","type":"git"},"_npmVersion":"8.5.2","description":"Service wrapper to easily integrate TCP services","directories":{},"_nodeVersion":"17.7.2","eslintConfig":{"extends":["@appliedminds","plugin:jest/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","eslint":"^8.11.0","babel-jest":"^27.5.1","@babel/core":"^7.17.5","jest-circus":"^27.5.1","@babel/preset-env":"^7.16.11","eslint-plugin-jest":"^26.1.1","@appliedminds/eslint-config":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/tcp_2.5.2_1648312231954_0.5199039658741242","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@appliedminds/tcp","version":"3.0.0","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"license":"MIT","_id":"@appliedminds/tcp@3.0.0","maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"contributors":[],"homepage":"https://github.com/appliedminds/tcp","bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"dist":{"shasum":"2a2ee4c9dc75bd8b3eddcf84ed7947dca9b27462","tarball":"https://registry.npmjs.org/@appliedminds/tcp/-/tcp-3.0.0.tgz","fileCount":4,"integrity":"sha512-Gc7rKqt+c8MsOcKtFurWyYvbQyJuE9jJX5zlq6P3uV7CzNr6/pkkcfqKzJtH7rCtBZetxaqHl/Ture1utFPSjg==","signatures":[{"sig":"MEYCIQCC6AUyVudkwr8imKosmqbgcAhz+9egR26fGPuuDvSNYwIhALcq/T5jJTeNxZG4l1xuz65KMMGXXbNThPQR1KGnqpQ8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNI3vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqv8w//VM0I5IFep+yRiU1/d3CBEe7QxmJ3i99T0x4JCHYYZbIUs11I\r\ncgOWR6Jibz+OgPRIDF0DwTteHUvKs7ulT4OPXESoL47E/h19rrNNqclUpjZk\r\nPHuxH3zhOHDrB0R5W362/FgY/1bvCACIEtAl3KGOwaadgsWwax+Np5KRwElX\r\niZq0KkXTYYrQlcoS91pR1snMooyvabfaF147NFHI2sTSJBZ7ELKHQYJtlKdN\r\n1WrqpR/rxyCChbhzvV6jDiit32kauht/zhQ0HaIso3DxObMv+7Tl6v1xK61l\r\ndW7t6s8ofhKKh8gLjk8cPpA/7yGMV189s3IPRhOZrQkY9EE/dVDC50sfmhTb\r\nfT/b8w0fV18j9djavqNBYquO9CqsogymvzrnmYdkZfSDQ65n7vGNSbfIVCxV\r\ngDmUzIqpUcIrFg7sU6Y1CiB8BUh6zt1g9fVw+pERR5BraE2izMcH2kkPIWqf\r\nXooK4fh7kZy6iQqFnnXfIdmxq5sypLja/L9bY1rVKNZCa0L0i+fz01PUV85y\r\nvge7yIgeheAHttVnqq9jLNOCTwuleR0iTJbQhj3lNyd4DcBgvAgdMzZxNw1s\r\n2I5oJYO3X8ZO3186CwmypKWx/TeUbkgzxo8+m5pVyaDBavP9Lp9mGmfYjsBD\r\nuQ5LcuSon0CR5ZdbzwjZxAfTnpwqLRti0uU=\r\n=mqZI\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testRunner":"jest-circus/runner","collectCoverage":true,"coverageReporters":["text"]},"main":"index.js","module":"index.js","engines":{"node":">=12.20"},"gitHead":"d3daf2001e029d5866e6615fa0ccddb903be3118","scripts":{"lint":"eslint .","test":"jest --runInBand"},"_npmUser":{"name":"ivojanssen","email":"ivo@appliedminds.com"},"repository":{"url":"git+https://github.com/appliedminds/tcp.git","type":"git"},"_npmVersion":"8.19.1","description":"Service wrapper to easily integrate TCP services","directories":{},"_nodeVersion":"18.9.1","eslintConfig":{"extends":["@appliedminds","plugin:jest/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.1.1","eslint":"^8.24.0","babel-jest":"^29.1.0","@babel/core":"^7.19.3","jest-circus":"^29.1.1","@babel/preset-env":"^7.19.3","eslint-plugin-jest":"^27.0.4","@appliedminds/eslint-config":"^1.3.0"},"_npmOperationalInternal":{"tmp":"tmp/tcp_3.0.0_1664388591315_0.6396480692062403","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@appliedminds/tcp","version":"3.0.1","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"license":"MIT","_id":"@appliedminds/tcp@3.0.1","maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"contributors":[],"homepage":"https://github.com/appliedminds/tcp","bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"dist":{"shasum":"0edf73522b381f584445c8ba9b8653e9323daf7c","tarball":"https://registry.npmjs.org/@appliedminds/tcp/-/tcp-3.0.1.tgz","fileCount":4,"integrity":"sha512-B/taqOK825npQznjtwf93HfdOOjGzP8v0+MA53n68o0QRtVhMUvcM4m6Uv/MWoj9lh6u7KvX2JrofwJsXTlbdA==","signatures":[{"sig":"MEUCIFSCbvP/+cLCqU33WCaCHT4fqyeUdFArZwuITmZMVoezAiEAmfMEyO1JsipYKipW/HRljExOOrb1lEFfUhX4iW1KP4g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjcrikACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqteA//XsT7RVAalEAoibQzmhfTjdawbx0zAMDn2O0hxJeTBoLIaAy+\r\nAmvCHsXHKIWImIzvhJhYKXph/ve/UCeihR/BRgA8p4UKc1ADLRVvUWB6bo1x\r\nbJQ2pmnYPF7ZE3p11Yggupei8KG3qnxRXpu5iqGn9qqoQ5S1eG5EOLxgc07l\r\nv9fz/F5A4iBLXL7iHRaLgD+0QTwNEyVi5rWOgpVuxCcMsDTzQtbCwyx1AE5F\r\nNyMqbB8EN+W4n1sKnPTYe9YxEbX8h4BYYDb/7aUTNnc4mLwhWBuCADmYhMAU\r\nPhCefuwGqZEsXcP/bUTdo21LLJ5NCBFLdU1JK2m5E2yL6roppPZN6z9yUCDD\r\nxXI+Y2g/AxFB2AjXX/iSaAaFXrIzZv2x12JQ0vy2qereh2ajQVxY5JPMykDk\r\n00ASv9Z79J7mhQhXsRuAhUG3HL+/+2NU/WCpFhQns2zlOXrwRw1xZmXzJzTb\r\nz14tTdPQRdw4y/+T8jq1Si4GDvOtfbPPD4/tWZXWSnUuFldBTrEVWQ2VhEcd\r\nh72Is4dljNsRwdwch/ByS88c0dfESXc/eogDxJNx9reuiZQvv8CV0GVVJn7q\r\nN99I9Jk4jwa2kcsnM6vf7mFdeTq3bKqF1fXL8UPxMsmKrylRLiEen90VdyZS\r\nlZA8j/WxGG5kg4RAExgRXJ+bF7q3jzndmvQ=\r\n=cu9d\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testRunner":"jest-circus/runner","collectCoverage":true,"coverageReporters":["text"]},"main":"index.js","module":"index.js","engines":{"node":">=12.20"},"gitHead":"5bebe293a69e63d3f3d74eb6b85f56fc619d6bd0","scripts":{"lint":"eslint .","test":"jest --runInBand"},"_npmUser":{"name":"ivojanssen","email":"ivo@appliedminds.com"},"repository":{"url":"git+https://github.com/appliedminds/tcp.git","type":"git"},"_npmVersion":"8.19.2","description":"Service wrapper to easily integrate TCP services","directories":{},"_nodeVersion":"19.0.1","eslintConfig":{"extends":["@appliedminds","plugin:jest/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","eslint":"^8.27.0","babel-jest":"^29.3.1","@babel/core":"^7.20.2","jest-circus":"^29.3.1","@babel/preset-env":"^7.20.2","eslint-plugin-jest":"^27.1.5","@appliedminds/eslint-config":"^1.3.0"},"_npmOperationalInternal":{"tmp":"tmp/tcp_3.0.1_1668462755926_0.5987706645379871","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"@appliedminds/tcp","version":"4.0.1","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"license":"MIT","_id":"@appliedminds/tcp@4.0.1","maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"contributors":[],"homepage":"https://github.com/appliedminds/tcp","bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"dist":{"shasum":"007e2e2002f2cd2c19b97361cdeb84eb5b9fbd92","tarball":"https://registry.npmjs.org/@appliedminds/tcp/-/tcp-4.0.1.tgz","fileCount":4,"integrity":"sha512-4WmFsp1PYCGevVIGthwgVyZq9bGYkXvvUwinyJhIlLwqPH+0gsK+EGpkakge0JVXfroGnVcjZzsVFsNScp1pfA==","signatures":[{"sig":"MEUCIQCE4NYvEN7YQALfmwgCTqxkDZqwd5XGhP5TkeFPgmoh0QIgBwPA2scwX9vxrWQo4NMMiX2epYAKeO0qeTaK8yRi3eY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtKC/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDhw/+OVT0kMdg2E6432WUytYy2ggYmcQbCUBx19JEMZPVylu/oEuG\r\nZQkW4qsMSxCxqGClI3ZDzWqcZkcgp+LF28oFffTE3tSafJxEBMaw7nks/Be4\r\nLwQzVRrxVYNM5g3Ur8dsrlQfbyOHXBcuVjWwiy63AVVyWlss8qDgOaMTAsq6\r\nnBKKO8fSWCQH+6NZf4JyPUnbMqE4dnUW1dISeHW2Yu6rXb7MglXGr86dLZqv\r\neAmpZMjrWkvC/FZJW7wTWn+mzDkNGge1BBrqD3jhpm50EqkX8pe2vaSSU/RP\r\n7jx3aYN3vlxkWzJoXzyGbgjljcqg9X2Z1M++mBVnl2NkviJ6+9uxBHwqnut3\r\nxX+O4XgwxWQUL8pVZ6Cy9dp2U4IkUn9u1FF1QGtd/KGwpgbyPgUkT8r/jRuE\r\neA5aT9XL/XeWOpoKsOgOJ+10vdNnywJiSekCrNcuYXmo00Cx5WmJjYViwD/A\r\nOju0MI8PI6Xqxw6fbmBcI7A9A60stqlinLlLu4XZBBT0ssW0B5S6olMU++y9\r\nz1WlgiLTH27uY4BUvXhi9kXUUShEa/C8qLJ5fMyTC7APlhBj+49nDQuVDcqC\r\n+PcXFn9XOt6lV0hh/4QhFDltQvgHyD4xksXE15gkuPkTrclPNGjca1MbfGFE\r\ntSJJxXqNMaf+atkXxf6rXbTpDY8DG3v3xcQ=\r\n=Rwnv\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"verbose":true,"testRunner":"jest-circus/runner","collectCoverage":true,"coverageReporters":["text"]},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=14"},"gitHead":"c12e04f5f9b0553ab050e1538bef2c8a946453d4","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest --runInBand"},"_npmUser":{"name":"ivojanssen","email":"ivo@appliedminds.com"},"repository":{"url":"git+https://github.com/appliedminds/tcp.git","type":"git"},"_npmVersion":"9.2.0","description":"Service wrapper to easily integrate TCP services","directories":{},"_nodeVersion":"19.3.0","eslintConfig":{"extends":["@appliedminds","plugin:jest/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","eslint":"^8.31.0","jest-circus":"^29.3.1","eslint-plugin-jest":"^27.2.0","@appliedminds/eslint-config":"^1.3.0"},"_npmOperationalInternal":{"tmp":"tmp/tcp_4.0.1_1672782015590_0.8965065003771318","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"@appliedminds/tcp","version":"4.0.2","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"license":"MIT","_id":"@appliedminds/tcp@4.0.2","maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"contributors":[],"homepage":"https://github.com/appliedminds/tcp","bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"dist":{"shasum":"2f605c2db52c7ff15b52fc7f0d2578f16a071476","tarball":"https://registry.npmjs.org/@appliedminds/tcp/-/tcp-4.0.2.tgz","fileCount":4,"integrity":"sha512-J6tRElW2xUDhLpwmU2myF8ZRcg1FCOv1zUNL9oxfw/ZoEM7leD6vbexVig4VpUX+r8iybmtRtZtt5iHzVO113w==","signatures":[{"sig":"MEUCIGX80o6abcYIgqn5PZTR+sipWfvPSJn4YUzEoXz79KsfAiEA0iFUd5oWu5nlwG+GtnJlSfjE6khdGN/sur8zNFByNps=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10815},"jest":{"verbose":true,"testRunner":"jest-circus/runner","collectCoverage":true,"coverageReporters":["text"]},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=14"},"gitHead":"16ced97282f6a3728194cab8dcfc60cb1001bde0","scripts":{"lint":"eslint .","test":"node --experimental-vm-modules node_modules/jest/bin/jest --runInBand"},"_npmUser":{"name":"ivojanssen","email":"ivo@appliedminds.com"},"repository":{"url":"git+https://github.com/appliedminds/tcp.git","type":"git"},"_npmVersion":"9.6.6","description":"Service wrapper to easily integrate TCP services","directories":{},"_nodeVersion":"20.2.0","eslintConfig":{"extends":["@appliedminds","plugin:jest/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","eslint":"^8.41.0","jest-circus":"^29.5.0","eslint-plugin-jest":"^27.2.1","@appliedminds/eslint-config":"^1.5.0"},"_npmOperationalInternal":{"tmp":"tmp/tcp_4.0.2_1685056305432_0.30451976201442177","host":"s3://npm-registry-packages"}},"4.0.4":{"name":"@appliedminds/tcp","version":"4.0.4","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"license":"MIT","_id":"@appliedminds/tcp@4.0.4","maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"contributors":[],"homepage":"https://github.com/appliedminds/tcp","bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"dist":{"shasum":"feaf1d0db7bfce8962ff2e94711e0c699b7e70c0","tarball":"https://registry.npmjs.org/@appliedminds/tcp/-/tcp-4.0.4.tgz","fileCount":4,"integrity":"sha512-RRu/Dv4G95e/PK5A976DDNMHo6bbE/W1xF2ad5QV9OmrumbXnMk4thMGSbxPVh64JeuXBVsRq9PSgdJpO57ZKQ==","signatures":[{"sig":"MEUCIQDZPaDSJm/173eNMw2pw1G9I5j0+4W/HW+x7HDRX5QE9QIgJAKZMXTx4l6whjz6+iAhjega1/Fm1pYbM8B3TiG7rXA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10453},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=14"},"gitHead":"7d606703cb0ad63186c0994cfb1ffe278186d223","scripts":{"lint":"eslint","test":"node --test --experimental-test-coverage test/*.test.js"},"_npmUser":{"name":"ami-software","email":"software@appliedminds.com"},"repository":{"url":"git+https://github.com/appliedminds/tcp.git","type":"git"},"_npmVersion":"10.9.0","description":"Service wrapper to easily integrate TCP services","directories":{},"_nodeVersion":"22.10.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.13.0","@appliedminds/eslint-config":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/tcp_4.0.4_1730176264643_0.38774960725960206","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"@appliedminds/tcp","version":"4.1.0","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"license":"MIT","_id":"@appliedminds/tcp@4.1.0","maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"contributors":[],"homepage":"https://github.com/appliedminds/tcp","bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"dist":{"shasum":"9a8317a50b7b01253e2224cad65fe6f9c097292b","tarball":"https://registry.npmjs.org/@appliedminds/tcp/-/tcp-4.1.0.tgz","fileCount":4,"integrity":"sha512-T2Ii2sa970+2nUHbG/chkOB3eGZxkAnXbmaM19nDryuIoE5qBtBoS0mm56Dv/8m7oBYtbxCkCTZH11pP/PKJFg==","signatures":[{"sig":"MEUCIQDYU0BH2zxatZEpiK+sRqzve0dgkHVK7/arRfOmspswJgIgeyUeDobuL3FbdqQ2CTnHpaVriASA4N3gccgbmnHU1Gs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":10637},"main":"index.js","type":"module","module":"index.js","engines":{"node":">=14"},"gitHead":"7255138c29f32073f0292e9f97a21a213a547770","scripts":{"lint":"eslint","test":"node --test --experimental-test-coverage test/*.test.js"},"_npmUser":{"name":"ami-software","email":"software@appliedminds.com"},"repository":{"url":"git+https://github.com/appliedminds/tcp.git","type":"git"},"_npmVersion":"10.9.0","description":"Service wrapper to easily integrate TCP services","directories":{},"_nodeVersion":"23.2.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.13.0","@appliedminds/eslint-config":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/tcp_4.1.0_1732065123671_0.5988252149413855","host":"s3://npm-registry-packages"}},"4.1.1":{"name":"@appliedminds/tcp","version":"4.1.1","description":"Service wrapper to easily integrate TCP services","main":"index.js","type":"module","module":"index.js","engines":{"node":">=14"},"scripts":{"lint":"eslint","test":"node --test --experimental-test-coverage test/*.test.js"},"repository":{"type":"git","url":"git+https://github.com/appliedminds/tcp.git"},"bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"homepage":"https://github.com/appliedminds/tcp","devDependencies":{"@appliedminds/eslint-config":"^2.0.2","eslint":"^9.13.0"},"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"contributors":[],"license":"MIT","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"_id":"@appliedminds/tcp@4.1.1","gitHead":"6a214bb47de699f50b66b75c26be7923c2b23afd","_nodeVersion":"23.2.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-ttFFCtIva0Ncwgr8iLnMAdv26qGgRT3cV8gxOApCBHPAbirbIsV7h3lXQZeszNhSausYn9/lmWnkKXmPFntT7w==","shasum":"aa36b9d0b36b0590f45617cf5b29a831e7915fbc","tarball":"https://registry.npmjs.org/@appliedminds/tcp/-/tcp-4.1.1.tgz","fileCount":4,"unpackedSize":10631,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCWRm2Ke/oclBXsHSHFyXKl3qd6FhOisEWQQmlWTgWtyAIgBXhA/Zmh7D3rfszf+PUCPEJIK8XQS1u9eTZX9nb7vxw="}]},"_npmUser":{"name":"ami-software","email":"software@appliedminds.com"},"directories":{},"maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tcp_4.1.1_1732065323107_0.09385779872161648"},"_hasShrinkwrap":false}},"time":{"created":"2021-12-01T21:30:11.094Z","modified":"2024-11-20T01:15:23.561Z","2.5.0":"2021-12-01T21:30:11.311Z","2.5.1":"2022-02-10T02:25:02.125Z","2.5.2":"2022-03-26T16:30:32.209Z","3.0.0":"2022-09-28T18:09:51.508Z","3.0.1":"2022-11-14T21:52:36.114Z","4.0.1":"2023-01-03T21:40:15.752Z","4.0.2":"2023-05-25T23:11:45.659Z","4.0.4":"2024-10-29T04:31:04.805Z","4.1.0":"2024-11-20T01:12:03.873Z","4.1.1":"2024-11-20T01:15:23.304Z"},"bugs":{"url":"https://github.com/appliedminds/tcp/issues"},"author":{"name":"Ivo Janssen","email":"ivo@appliedminds.com"},"license":"MIT","homepage":"https://github.com/appliedminds/tcp","keywords":["tcp","networking","client","net","iot","socket","ami","appliedminds"],"repository":{"type":"git","url":"git+https://github.com/appliedminds/tcp.git"},"description":"Service wrapper to easily integrate TCP services","contributors":[],"maintainers":[{"name":"ami-software","email":"software@appliedminds.com"},{"name":"ivojanssen","email":"ivo@appliedminds.com"}],"readme":"TCP\n===\n\n![tests](https://github.com/appliedminds/tcp/actions/workflows/main.yml/badge.svg)\n\nEasily integrate with TCP-based services and devices using Node.js.\n\nFeatures:\n\n * Easy event management\n * Automatic connection healing\n * Asynchronous send methods\n * RegEx-based request/response handling\n\n##### Contents\n\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Examples](#usage--examples)\n- [API Docs](#api-docs)\n- [License](#license)\n\nRequirements\n------------\n\n * Node 14+\n\nInstallation\n------------\n\n```shell\nnpm install @appliedminds/tcp\n```\n\nUsage / Examples\n----------------\n\nCreate a new `Device` for any TCP-based service.\n\nFor example, imagine a device that uses a single byte `0x01`, `0x02` or `0x03` to send forward, back or stop commands, respectively:\n\n```javascript\nimport { Device as TCPDevice } from '@appliedminds/tcp'\n\nclass Motor {\n    constructor(host) {\n        this.device = new TCPDevice({ host, port: 28836 })\n        this.device.on('data', this.onReceive.bind(this))\n        this.device.connect()\n        this.state = 'stopped'\n    }\n    backward() {\n        this.device.send(Buffer.from([0x02]))\n    }\n    forward() {\n        this.device.send(Buffer.from([0x01]))\n    }\n    onReceive(data) {\n        // Cache state when the device relays its state\n        this.state = data\n    }\n    stop() {\n        this.device.send(Buffer.from([0x03]))\n    }\n}\n```\n\nAPI Docs\n--------\n\n### `new Device({ host : String, port : Number, parser : Transform, reconnectInterval? : Number, responseTimeout? : Number, idleTimeout? : Number })`\n\nCreate a new TCP client.\n\n  * `host`: Hostname or IP address of device/service\n  * `port`: TCP port of device/service\n  * `parser`: A data parser that extends [Stream.Transform](https://nodejs.org/api/stream.html#stream_class_stream_transform) (default: no parsing)\n  * `reconnectInterval`: Seconds until reconnect attempt after disconnect or error, use `0` for no reconnects (default: `3`)\n  * `idleTimeout`: Seconds until a connection is closed for inactivity (default: `0`)\n  * `responseTimeout`: Seconds until a call to `request()` will automatically time out (default: `3`)\n\n### Event: `'close'`\n\nEmitted when the device has been closed (either expected or unexpected)\n\n### Event: `'connect'`\n\nEmitted when a successful connection has been made.\n\n### Event: `'data'`\n\nEmitted with a `Buffer` when data is received from the device.\n\n### Event: `'error'`\n\nEmitted when an error is encountered.\n\n### Event: `'timeout'`\n\nEmitted when a connection or message times out (also emits `error`, but allows for separate behavior)\n\n### Event: `'reconnect'`\n\nEmitted when a reconnection is attempted.\n\n### `device.close()` : `<Promise>`\n\nManually close connection. Resolves once the connection has been closed.\n  \n### `device.connect()` : `<Promise>`\n\nOpen connection to TCP service/device. Resolves when connection has been made.\n\n### `device.request(command : Buffer/String, expectedResponse : String/Regex, errorResponse? : String/Regex)` : `<Promise>`\n\nMake a request and wait for a response.\n\n * `command`: String or buffer to send\n * `expectedResponse`: Regex or string indicating a successful response\n * `errorResponse`: Regex or string indicating an error response\n\nThe returned Promise will resolve to a list of regex tokens matching subpatterns in `expectedResponse` or `errorResponse` (or a list of length 1 if a string was supplied)\n\n### `device.send(data : Buffer/String)` : `<Promise>`\n\nSend data to service/device.\n\n  * `data`: Outgoing buffer or string\n\nResolves when data has been sent.\n\nContributing & Tests\n-------------------\n\n1. Install development dependencies: `npm install`\n2. Run tests: `npm test`\n\nLicense\n-------\n\nMIT\n","readmeFilename":"README.md"}