12 Commits

Author SHA1 Message Date
3b1ee6460f 1.0.8 2019-04-09 12:35:28 +02:00
1f86bb0eb4 fix(core): update 2019-04-09 12:35:27 +02:00
463b4db091 1.0.7 2019-04-09 12:34:16 +02:00
66f463549d fix(core): update 2019-04-09 12:34:15 +02:00
ea47e1afc0 1.0.6 2019-04-09 12:33:46 +02:00
68132b996b fix(core): update 2019-04-09 12:33:46 +02:00
909a4e11ef 1.0.5 2019-04-09 12:30:13 +02:00
fecda5e668 fix(core): update 2019-04-09 12:30:12 +02:00
cea7ea469c 1.0.4 2019-04-08 19:56:22 +02:00
712270ba62 fix(core): update 2019-04-08 19:56:21 +02:00
9a177dc10b 1.0.3 2019-04-08 19:42:24 +02:00
c28b25883e fix(core): update 2019-04-08 19:42:23 +02:00
7 changed files with 444 additions and 77 deletions

View File

@ -14,4 +14,4 @@
"npmGlobalTools": [], "npmGlobalTools": [],
"npmAccessLevel": "public" "npmAccessLevel": "public"
} }
} }

325
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/smartipc", "name": "@pushrocks/smartipc",
"version": "1.0.2", "version": "1.0.8",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -26,53 +26,86 @@
"@pushrocks/smartpath": "^4.0.1", "@pushrocks/smartpath": "^4.0.1",
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^2.0.5",
"typescript": "^3.2.2" "typescript": "^3.2.2"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==",
"dev": true
}
} }
}, },
"@gitzone/tsrun": { "@gitzone/tsrun": {
"version": "1.2.1", "version": "1.2.5",
"resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.2.1.tgz", "resolved": "https://verdaccio.lossless.one/@gitzone%2ftsrun/-/tsrun-1.2.5.tgz",
"integrity": "sha512-0cGgwFBCu+OutqqsNHWrZyhN4Yh8fC0/P5beK+wdsWG9s0guc2ydNivpmCLMC9IZHIfihjQvdVQYbD3qiG9yjg==", "integrity": "sha512-yUE4ndfIak90IOF8CdQ+COD4dCarA+WPdmjFNG/o5R1KhXFnLKJ9kXtdvshFn2cF5HbpSfDNS6RVVuuBgjpFvg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@gitzone/tsbuild": "^2.1.8", "@gitzone/tsbuild": "^2.1.8",
"@pushrocks/smartfile": "^7.0.0", "@pushrocks/smartfile": "^7.0.2",
"ts-node": "^8.0.2", "ts-node": "^8.0.3",
"typescript": "^3.3.3333" "typescript": "^3.4.2"
}, },
"dependencies": { "dependencies": {
"@pushrocks/smartfile": { "@pushrocks/smartfile": {
"version": "7.0.0", "version": "7.0.2",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.0.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.2.tgz",
"integrity": "sha512-9agUyfv5FNqZC0QNcLxuhgjrJFh9fZQm+KFwlLlkAvkziGwbamlj2i64T79a4pZCgE7cFpwaSeiK2O+yQpNPPA==", "integrity": "sha512-38l9DRalp1McEBFG+qKzBqefVQZZLPNk+uo7Ff1guy8BDxA+tATlZ6O6FuXW7M3wjFDBi245VJs+KWVKcCxBRA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@pushrocks/smartpath": "^4.0.1", "@pushrocks/smartpath": "^4.0.1",
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^3.0.2",
"@pushrocks/smartrequest": "^1.1.14", "@pushrocks/smartrequest": "^1.1.14",
"@types/fs-extra": "^5.0.5", "@types/fs-extra": "^5.0.5",
"@types/vinyl": "^2.0.2", "@types/vinyl": "^2.0.2",
"fs-extra": "^7.0.1", "fs-extra": "^7.0.1",
"glob": "^7.1.3", "glob": "^7.1.3",
"js-yaml": "^3.12.1", "js-yaml": "^3.13.1",
"vinyl-file": "^3.0.0" "vinyl-file": "^3.0.0"
} }
},
"typescript": {
"version": "3.4.2",
"resolved": "https://verdaccio.lossless.one/typescript/-/typescript-3.4.2.tgz",
"integrity": "sha512-Og2Vn6Mk7JAuWA1hQdDQN/Ekm/SchX80VzLhjKN9ETYrIepBFAd8PkOdOTK2nKt0FCkmMZKBJvQ1dV1gIxPu/A==",
"dev": true
} }
} }
}, },
"@gitzone/tstest": { "@gitzone/tstest": {
"version": "1.0.18", "version": "1.0.19",
"resolved": "https://verdaccio.lossless.one/@gitzone%2ftstest/-/tstest-1.0.18.tgz", "resolved": "https://verdaccio.lossless.one/@gitzone%2ftstest/-/tstest-1.0.19.tgz",
"integrity": "sha512-/owFKFsiFWh6miL+G/DYxBr+B6mgy9WzthLTqNyC7xriYoymvBgnmm5Wo3bo1NQN+1GY83zKeSpY7JB4r2LuEQ==", "integrity": "sha512-dtuesc+u9D2wgMVqDLFSdFava9g3iVydpZPVanw46AJ3iwDmV3hm/hQGwlDiUPRPOQno1JMlYtdqKASw/FRkpQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@gitzone/tsrun": "^1.1.17", "@gitzone/tsrun": "^1.2.5",
"@pushrocks/consolecolor": "^2.0.1", "@pushrocks/consolecolor": "^2.0.1",
"@pushrocks/smartfile": "^6.0.11", "@pushrocks/smartfile": "^7.0.2",
"@pushrocks/smartlog": "^2.0.9", "@pushrocks/smartlog": "^2.0.19",
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^3.0.2",
"@pushrocks/smartshell": "^2.0.11", "@pushrocks/smartshell": "^2.0.13",
"@types/figures": "^2.0.0", "@types/figures": "^2.0.0",
"figures": "^2.0.0" "figures": "^2.0.0"
},
"dependencies": {
"@pushrocks/smartfile": {
"version": "7.0.2",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.2.tgz",
"integrity": "sha512-38l9DRalp1McEBFG+qKzBqefVQZZLPNk+uo7Ff1guy8BDxA+tATlZ6O6FuXW7M3wjFDBi245VJs+KWVKcCxBRA==",
"dev": true,
"requires": {
"@pushrocks/smartpath": "^4.0.1",
"@pushrocks/smartpromise": "^3.0.2",
"@pushrocks/smartrequest": "^1.1.14",
"@types/fs-extra": "^5.0.5",
"@types/vinyl": "^2.0.2",
"fs-extra": "^7.0.1",
"glob": "^7.1.3",
"js-yaml": "^3.13.1",
"vinyl-file": "^3.0.0"
}
}
} }
}, },
"@pushrocks/consolecolor": { "@pushrocks/consolecolor": {
@ -92,13 +125,20 @@
"requires": { "requires": {
"@pushrocks/consolecolor": "^2.0.1", "@pushrocks/consolecolor": "^2.0.1",
"@pushrocks/smartpromise": "^2.0.5" "@pushrocks/smartpromise": "^2.0.5"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==",
"dev": true
}
} }
}, },
"@pushrocks/lik": { "@pushrocks/lik": {
"version": "3.0.5", "version": "3.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-3.0.5.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-3.0.5.tgz",
"integrity": "sha512-pc5Nq0WUysS34qPpyiZXiX254kL3vyRVbt3D36Q5QU+eHhxAThHofSzgOdyVHUZU2WFoaMlKowIVsyUFzIkfdw==", "integrity": "sha512-pc5Nq0WUysS34qPpyiZXiX254kL3vyRVbt3D36Q5QU+eHhxAThHofSzgOdyVHUZU2WFoaMlKowIVsyUFzIkfdw==",
"dev": true,
"requires": { "requires": {
"@pushrocks/smartdelay": "^2.0.2", "@pushrocks/smartdelay": "^2.0.2",
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^2.0.5",
@ -107,6 +147,13 @@
"@types/minimatch": "^3.0.3", "@types/minimatch": "^3.0.3",
"minimatch": "^3.0.4", "minimatch": "^3.0.4",
"symbol-tree": "^3.2.2" "symbol-tree": "^3.2.2"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g=="
}
} }
}, },
"@pushrocks/smartcli": { "@pushrocks/smartcli": {
@ -122,32 +169,37 @@
"@types/yargs": "^12.0.1", "@types/yargs": "^12.0.1",
"rxjs": "^6.3.3", "rxjs": "^6.3.3",
"yargs": "^12.0.5" "yargs": "^12.0.5"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==",
"dev": true
}
} }
}, },
"@pushrocks/smartdelay": { "@pushrocks/smartdelay": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartdelay/-/smartdelay-2.0.3.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartdelay/-/smartdelay-2.0.3.tgz",
"integrity": "sha512-TXKDDqsc7sBTLl+oiYNaF6IdNk1n70i8ur8QfwcUU6tegTnrEkvMWy9h5Zdty/fq1ioCNpKLvuXoA+fgYVwKGQ==", "integrity": "sha512-TXKDDqsc7sBTLl+oiYNaF6IdNk1n70i8ur8QfwcUU6tegTnrEkvMWy9h5Zdty/fq1ioCNpKLvuXoA+fgYVwKGQ==",
"dev": true,
"requires": { "requires": {
"@pushrocks/smartpromise": "^3.0.2" "@pushrocks/smartpromise": "^3.0.2"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "3.0.2",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.0.2.tgz",
"integrity": "sha512-jmrJMUEmBCWChWK8CIcx4Vw3wv/8OgVNmkaxJrbs+WMaoRUfJtpWWJfrAwwHWt9ZXJbarJ+CwfwfYiiZXymndQ==",
"dev": true
}
} }
}, },
"@pushrocks/smartevent": { "@pushrocks/smartevent": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartevent/-/smartevent-2.0.3.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartevent/-/smartevent-2.0.3.tgz",
"integrity": "sha512-x4B1mzzE6LrMATXsRLNuZpMTlB2JodL44MA4bF4FucU3SBBiWhFv3CFJRlO9B23SKZ1fwdJQrk2lT7YTUHXXJQ==", "integrity": "sha512-x4B1mzzE6LrMATXsRLNuZpMTlB2JodL44MA4bF4FucU3SBBiWhFv3CFJRlO9B23SKZ1fwdJQrk2lT7YTUHXXJQ==",
"dev": true,
"requires": { "requires": {
"@pushrocks/smartpromise": "^2.0.5" "@pushrocks/smartpromise": "^2.0.5"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g=="
}
} }
}, },
"@pushrocks/smartfile": { "@pushrocks/smartfile": {
@ -165,6 +217,14 @@
"glob": "^7.1.3", "glob": "^7.1.3",
"js-yaml": "^3.12.1", "js-yaml": "^3.12.1",
"vinyl-file": "^3.0.0" "vinyl-file": "^3.0.0"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==",
"dev": true
}
} }
}, },
"@pushrocks/smartlog": { "@pushrocks/smartlog": {
@ -191,6 +251,14 @@
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^2.0.5",
"is-promise": "^2.1.0", "is-promise": "^2.1.0",
"minimatch": "^3.0.4" "minimatch": "^3.0.4"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==",
"dev": true
}
} }
}, },
"@pushrocks/smartpath": { "@pushrocks/smartpath": {
@ -200,10 +268,9 @@
"dev": true "dev": true
}, },
"@pushrocks/smartpromise": { "@pushrocks/smartpromise": {
"version": "2.0.5", "version": "3.0.2",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-3.0.2.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==", "integrity": "sha512-jmrJMUEmBCWChWK8CIcx4Vw3wv/8OgVNmkaxJrbs+WMaoRUfJtpWWJfrAwwHWt9ZXJbarJ+CwfwfYiiZXymndQ=="
"dev": true
}, },
"@pushrocks/smartrequest": { "@pushrocks/smartrequest": {
"version": "1.1.14", "version": "1.1.14",
@ -214,18 +281,32 @@
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^2.0.5",
"@types/form-data": "^2.2.1", "@types/form-data": "^2.2.1",
"form-data": "^2.3.2" "form-data": "^2.3.2"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==",
"dev": true
}
} }
}, },
"@pushrocks/smartrx": { "@pushrocks/smartrx": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.3.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.3.tgz",
"integrity": "sha512-OWxagu+CBdPaq76AIg91hJyrNhDTlEpesj01ooWCeVIaLY3G7yvFkqHsEKNOwPUG1LzCWmjq1l1dHQx9p2vJ9A==", "integrity": "sha512-OWxagu+CBdPaq76AIg91hJyrNhDTlEpesj01ooWCeVIaLY3G7yvFkqHsEKNOwPUG1LzCWmjq1l1dHQx9p2vJ9A==",
"dev": true,
"requires": { "requires": {
"@pushrocks/lik": "^3.0.2", "@pushrocks/lik": "^3.0.2",
"@pushrocks/smartevent": "^2.0.3", "@pushrocks/smartevent": "^2.0.3",
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^2.0.5",
"rxjs": "^6.3.3" "rxjs": "^6.3.3"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g=="
}
} }
}, },
"@pushrocks/smartshell": { "@pushrocks/smartshell": {
@ -237,17 +318,42 @@
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^2.0.5",
"@types/which": "^1.3.1", "@types/which": "^1.3.1",
"which": "^1.3.1" "which": "^1.3.1"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==",
"dev": true
}
}
},
"@pushrocks/smartspawn": {
"version": "2.0.4",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartspawn/-/smartspawn-2.0.4.tgz",
"integrity": "sha512-9OaS1ySEpO1xAmy4Hrezt31SUSt5BrGlE6ECfFtGsqZ4039IzsQFnINkz13VqzEVwuqM3SD54s6uMNSQS50jng==",
"dev": true,
"requires": {
"@pushrocks/smartpromise": "^3.0.2",
"spawn-wrap": "^1.4.2",
"threads": "^0.12.1"
} }
}, },
"@pushrocks/smarttime": { "@pushrocks/smarttime": {
"version": "3.0.5", "version": "3.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.5.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.5.tgz",
"integrity": "sha512-nHjJ8xRZ87OE8tBBIAOgjHJmJrc3MaPZtEZ5JDY2U9gjaED6JdRcdQ+vhSaLJT+U2u8YzXOuA6LfNN+X4jZm6A==", "integrity": "sha512-nHjJ8xRZ87OE8tBBIAOgjHJmJrc3MaPZtEZ5JDY2U9gjaED6JdRcdQ+vhSaLJT+U2u8YzXOuA6LfNN+X4jZm6A==",
"dev": true,
"requires": { "requires": {
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^2.0.5",
"@types/luxon": "^1.4.1", "@types/luxon": "^1.4.1",
"luxon": "^1.8.0" "luxon": "^1.8.0"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g=="
}
} }
}, },
"@pushrocks/tapbundle": { "@pushrocks/tapbundle": {
@ -261,6 +367,14 @@
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^2.0.5",
"leakage": "^0.4.0", "leakage": "^0.4.0",
"smartchai": "^2.0.1" "smartchai": "^2.0.1"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g==",
"dev": true
}
} }
}, },
"@types/chai": { "@types/chai": {
@ -314,19 +428,17 @@
"@types/luxon": { "@types/luxon": {
"version": "1.12.0", "version": "1.12.0",
"resolved": "https://verdaccio.lossless.one/@types%2fluxon/-/luxon-1.12.0.tgz", "resolved": "https://verdaccio.lossless.one/@types%2fluxon/-/luxon-1.12.0.tgz",
"integrity": "sha512-+UzPmwHSEEyv7aGlNkVpuFxp/BirXgl8NnPGCtmyx2KXIzAapoW3IqSVk87/Z3PUk8vEL8Pe1HXEMJbNBOQgtg==", "integrity": "sha512-+UzPmwHSEEyv7aGlNkVpuFxp/BirXgl8NnPGCtmyx2KXIzAapoW3IqSVk87/Z3PUk8vEL8Pe1HXEMJbNBOQgtg=="
"dev": true
}, },
"@types/minimatch": { "@types/minimatch": {
"version": "3.0.3", "version": "3.0.3",
"resolved": "https://verdaccio.lossless.one/@types%2fminimatch/-/minimatch-3.0.3.tgz", "resolved": "https://verdaccio.lossless.one/@types%2fminimatch/-/minimatch-3.0.3.tgz",
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
"dev": true
}, },
"@types/node": { "@types/node": {
"version": "10.14.4", "version": "11.13.0",
"resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-10.14.4.tgz", "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-11.13.0.tgz",
"integrity": "sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg==" "integrity": "sha512-rx29MMkRdVmzunmiA4lzBYJNnXsW/PhG4kMBy2ATsYaDjGGR75dCFEVVROKpNwlVdcUX3xxlghKQOeDPBJobng=="
}, },
"@types/node-ipc": { "@types/node-ipc": {
"version": "9.1.1", "version": "9.1.1",
@ -446,8 +558,7 @@
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://verdaccio.lossless.one/balanced-match/-/balanced-match-1.0.0.tgz", "resolved": "https://verdaccio.lossless.one/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
"dev": true
}, },
"bindings": { "bindings": {
"version": "1.5.0", "version": "1.5.0",
@ -462,7 +573,6 @@
"version": "1.1.11", "version": "1.1.11",
"resolved": "https://verdaccio.lossless.one/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://verdaccio.lossless.one/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
@ -631,8 +741,7 @@
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://verdaccio.lossless.one/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://verdaccio.lossless.one/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
"dev": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
@ -723,6 +832,12 @@
"resolved": "https://verdaccio.lossless.one/event-pubsub/-/event-pubsub-4.3.0.tgz", "resolved": "https://verdaccio.lossless.one/event-pubsub/-/event-pubsub-4.3.0.tgz",
"integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==" "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ=="
}, },
"eventemitter3": {
"version": "2.0.3",
"resolved": "https://verdaccio.lossless.one/eventemitter3/-/eventemitter3-2.0.3.tgz",
"integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=",
"dev": true
},
"execa": { "execa": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://verdaccio.lossless.one/execa/-/execa-1.0.0.tgz", "resolved": "https://verdaccio.lossless.one/execa/-/execa-1.0.0.tgz",
@ -771,6 +886,28 @@
"readable-stream": "^2.0.2" "readable-stream": "^2.0.2"
} }
}, },
"foreground-child": {
"version": "1.5.6",
"resolved": "https://verdaccio.lossless.one/foreground-child/-/foreground-child-1.5.6.tgz",
"integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=",
"dev": true,
"requires": {
"cross-spawn": "^4",
"signal-exit": "^3.0.0"
},
"dependencies": {
"cross-spawn": {
"version": "4.0.2",
"resolved": "https://verdaccio.lossless.one/cross-spawn/-/cross-spawn-4.0.2.tgz",
"integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
"dev": true,
"requires": {
"lru-cache": "^4.0.1",
"which": "^1.2.9"
}
}
}
},
"form-data": { "form-data": {
"version": "2.3.3", "version": "2.3.3",
"resolved": "https://verdaccio.lossless.one/form-data/-/form-data-2.3.3.tgz", "resolved": "https://verdaccio.lossless.one/form-data/-/form-data-2.3.3.tgz",
@ -997,11 +1134,20 @@
"path-exists": "^3.0.0" "path-exists": "^3.0.0"
} }
}, },
"lru-cache": {
"version": "4.1.5",
"resolved": "https://verdaccio.lossless.one/lru-cache/-/lru-cache-4.1.5.tgz",
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
"dev": true,
"requires": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
}
},
"luxon": { "luxon": {
"version": "1.12.0", "version": "1.12.0",
"resolved": "https://verdaccio.lossless.one/luxon/-/luxon-1.12.0.tgz", "resolved": "https://verdaccio.lossless.one/luxon/-/luxon-1.12.0.tgz",
"integrity": "sha512-enPnPIHd5ZnZT0vpj9Xv8aq4j0yueAkhnh4xUKUHpqlgSm1r/8s6xTMjfyp2ugOWP7zivqJqgVTkW+rpHed61w==", "integrity": "sha512-enPnPIHd5ZnZT0vpj9Xv8aq4j0yueAkhnh4xUKUHpqlgSm1r/8s6xTMjfyp2ugOWP7zivqJqgVTkW+rpHed61w=="
"dev": true
}, },
"make-error": { "make-error": {
"version": "1.3.5", "version": "1.3.5",
@ -1054,7 +1200,6 @@
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://verdaccio.lossless.one/minimatch/-/minimatch-3.0.4.tgz", "resolved": "https://verdaccio.lossless.one/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": { "requires": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
} }
@ -1088,6 +1233,12 @@
"integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==",
"dev": true "dev": true
}, },
"native-promise-only": {
"version": "0.8.1",
"resolved": "https://verdaccio.lossless.one/native-promise-only/-/native-promise-only-0.8.1.tgz",
"integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=",
"dev": true
},
"nice-try": { "nice-try": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://verdaccio.lossless.one/nice-try/-/nice-try-1.0.5.tgz", "resolved": "https://verdaccio.lossless.one/nice-try/-/nice-try-1.0.5.tgz",
@ -1128,6 +1279,12 @@
"wrappy": "1" "wrappy": "1"
} }
}, },
"os-homedir": {
"version": "1.0.2",
"resolved": "https://verdaccio.lossless.one/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
"os-locale": { "os-locale": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://verdaccio.lossless.one/os-locale/-/os-locale-3.1.0.tgz", "resolved": "https://verdaccio.lossless.one/os-locale/-/os-locale-3.1.0.tgz",
@ -1229,6 +1386,12 @@
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"dev": true "dev": true
}, },
"pseudomap": {
"version": "1.0.2",
"resolved": "https://verdaccio.lossless.one/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
"pump": { "pump": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://verdaccio.lossless.one/pump/-/pump-3.0.0.tgz", "resolved": "https://verdaccio.lossless.one/pump/-/pump-3.0.0.tgz",
@ -1287,11 +1450,19 @@
"path-parse": "^1.0.6" "path-parse": "^1.0.6"
} }
}, },
"rimraf": {
"version": "2.6.3",
"resolved": "https://verdaccio.lossless.one/rimraf/-/rimraf-2.6.3.tgz",
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
"dev": true,
"requires": {
"glob": "^7.1.3"
}
},
"rxjs": { "rxjs": {
"version": "6.4.0", "version": "6.4.0",
"resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.4.0.tgz", "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.4.0.tgz",
"integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
"dev": true,
"requires": { "requires": {
"tslib": "^1.9.0" "tslib": "^1.9.0"
} }
@ -1356,15 +1527,29 @@
"dev": true "dev": true
}, },
"source-map-support": { "source-map-support": {
"version": "0.5.11", "version": "0.5.12",
"resolved": "https://verdaccio.lossless.one/source-map-support/-/source-map-support-0.5.11.tgz", "resolved": "https://verdaccio.lossless.one/source-map-support/-/source-map-support-0.5.12.tgz",
"integrity": "sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ==", "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"buffer-from": "^1.0.0", "buffer-from": "^1.0.0",
"source-map": "^0.6.0" "source-map": "^0.6.0"
} }
}, },
"spawn-wrap": {
"version": "1.4.2",
"resolved": "https://verdaccio.lossless.one/spawn-wrap/-/spawn-wrap-1.4.2.tgz",
"integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==",
"dev": true,
"requires": {
"foreground-child": "^1.5.6",
"mkdirp": "^0.5.0",
"os-homedir": "^1.0.1",
"rimraf": "^2.6.2",
"signal-exit": "^3.0.2",
"which": "^1.3.0"
}
},
"sprintf-js": { "sprintf-js": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://verdaccio.lossless.one/sprintf-js/-/sprintf-js-1.0.3.tgz", "resolved": "https://verdaccio.lossless.one/sprintf-js/-/sprintf-js-1.0.3.tgz",
@ -1442,8 +1627,17 @@
"symbol-tree": { "symbol-tree": {
"version": "3.2.2", "version": "3.2.2",
"resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.2.tgz", "resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.2.tgz",
"integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY="
"dev": true },
"threads": {
"version": "0.12.1",
"resolved": "https://verdaccio.lossless.one/threads/-/threads-0.12.1.tgz",
"integrity": "sha512-2USeV2FDNZtVP1xt3TW86solU7W6WYjaTMd+gvAHJat+dEMFh7of2DR9MEFLkhMerxc1t5b1DMJiVx1meRzk0w==",
"dev": true,
"requires": {
"eventemitter3": "^2.0.2",
"native-promise-only": "^0.8.1"
}
}, },
"ts-node": { "ts-node": {
"version": "8.0.3", "version": "8.0.3",
@ -1461,8 +1655,7 @@
"tslib": { "tslib": {
"version": "1.9.3", "version": "1.9.3",
"resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.9.3.tgz", "resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.9.3.tgz",
"integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ=="
"dev": true
}, },
"tslint": { "tslint": {
"version": "5.15.0", "version": "5.15.0",
@ -1625,6 +1818,12 @@
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
"dev": true "dev": true
}, },
"yallist": {
"version": "2.1.2",
"resolved": "https://verdaccio.lossless.one/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
"yargs": { "yargs": {
"version": "12.0.5", "version": "12.0.5",
"resolved": "https://verdaccio.lossless.one/yargs/-/yargs-12.0.5.tgz", "resolved": "https://verdaccio.lossless.one/yargs/-/yargs-12.0.5.tgz",
@ -1656,9 +1855,9 @@
} }
}, },
"yn": { "yn": {
"version": "3.0.0", "version": "3.1.0",
"resolved": "https://verdaccio.lossless.one/yn/-/yn-3.0.0.tgz", "resolved": "https://verdaccio.lossless.one/yn/-/yn-3.1.0.tgz",
"integrity": "sha512-+Wo/p5VRfxUgBUGy2j/6KX2mj9AYJWOHuhMjMcbBFc3y54o9/4buK1ksBvuiK01C3kby8DH9lSmJdSxw+4G/2Q==", "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==",
"dev": true "dev": true
} }
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/smartipc", "name": "@pushrocks/smartipc",
"version": "1.0.2", "version": "1.0.8",
"private": false, "private": false,
"description": "node inter process communication", "description": "node inter process communication",
"main": "dist/index.js", "main": "dist/index.js",
@ -14,13 +14,17 @@
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.0.22", "@gitzone/tsbuild": "^2.0.22",
"@gitzone/tstest": "^1.0.15", "@gitzone/tstest": "^1.0.19",
"@pushrocks/smartspawn": "^2.0.4",
"@pushrocks/tapbundle": "^3.0.7", "@pushrocks/tapbundle": "^3.0.7",
"@types/node": "^10.11.7", "@types/node": "^11.13.0",
"tslint": "^5.11.0", "tslint": "^5.11.0",
"tslint-config-prettier": "^1.15.0" "tslint-config-prettier": "^1.15.0"
}, },
"dependencies": { "dependencies": {
"@pushrocks/smartdelay": "^2.0.3",
"@pushrocks/smartpromise": "^3.0.2",
"@pushrocks/smartrx": "^2.0.3",
"@types/node-ipc": "^9.1.1", "@types/node-ipc": "^9.1.1",
"node-ipc": "^9.1.1" "node-ipc": "^9.1.1"
} }

26
readme.md Normal file
View File

@ -0,0 +1,26 @@
# @pushrocks/smartipc
node inter process communication
## Availabililty and Links
* [npmjs.org (npm package)](https://www.npmjs.com/package/@pushrocks/smartipc)
* [gitlab.com (source)](https://gitlab.com/pushrocks/smartipc)
* [github.com (source mirror)](https://github.com/pushrocks/smartipc)
* [docs (typedoc)](https://pushrocks.gitlab.io/smartipc/)
## Status for master
[![build status](https://gitlab.com/pushrocks/smartipc/badges/master/build.svg)](https://gitlab.com/pushrocks/smartipc/commits/master)
[![coverage report](https://gitlab.com/pushrocks/smartipc/badges/master/coverage.svg)](https://gitlab.com/pushrocks/smartipc/commits/master)
[![npm downloads per month](https://img.shields.io/npm/dm/@pushrocks/smartipc.svg)](https://www.npmjs.com/package/@pushrocks/smartipc)
[![Known Vulnerabilities](https://snyk.io/test/npm/@pushrocks/smartipc/badge.svg)](https://snyk.io/test/npm/@pushrocks/smartipc)
[![TypeScript](https://img.shields.io/badge/TypeScript->=%203.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
[![node](https://img.shields.io/badge/node->=%2010.x.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)](https://prettier.io/)
## Usage
For further information read the linked docs at the top of this readme.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://maintainedby.lossless.com)

View File

@ -1,8 +1,41 @@
import { expect, tap } from '@pushrocks/tapbundle'; import { expect, tap } from '@pushrocks/tapbundle';
import * as smartipc from '../ts/index' import * as smartipc from '../ts/index';
tap.test('first test', async () => { import * as smartspawn from '@pushrocks/smartspawn';
console.log(smartipc.standardExport) import * as smartpromise from '@pushrocks/smartpromise';
})
tap.start() let serverIpc: smartipc.SmartIpc;
let clientIpc: smartipc.SmartIpc;
tap.test('should instantiate a valid instance', async () => {
serverIpc = new smartipc.SmartIpc({
ipcSpace: 'testSmartIpc',
type: 'server'
});
serverIpc.registerHandler({
keyword: 'hi',
handlerFunc: data => {
console.log(data);
}
});
await serverIpc.start();
});
tap.test('should create a client', async tools => {
clientIpc = new smartipc.SmartIpc({
ipcSpace: 'testSmartIpc',
type: 'client'
});
await clientIpc.start();
clientIpc.sendMessage('hi', { awesome: 'yes' });
});
tap.test('should terminate the smartipc process', async tools => {
await clientIpc.stop();
await serverIpc.stop();
tools.delayFor(2000).then(() => {
process.exit(0);
});
});
tap.start();

View File

@ -1,3 +1,101 @@
import * as plugins from './smartipc.plugins'; import * as plugins from './smartipc.plugins';
import { EventEmitter } from 'events';
export let standardExport = 'Hi there! :) This is an exported string'; export interface ISmartIpcConstructorOptions {
type: 'server' | 'client';
/**
* the name of the message string
*/
ipcSpace: string;
}
export interface ISmartIpcHandlerPackage {
keyword: string;
handlerFunc: (dataArg: string) => void;
}
export class SmartIpc {
public ipc = new plugins.nodeIpc.IPC();
public handlers: ISmartIpcHandlerPackage[] = [];
public options: ISmartIpcConstructorOptions;
constructor(optionsArg: ISmartIpcConstructorOptions) {
this.options = optionsArg;
}
/**
* connect to the channel
*/
public async start() {
const done = plugins.smartpromise.defer();
let ipcEventEmitter;
switch (this.options.type) {
case 'server':
this.ipc.config.id = this.options.ipcSpace;
this.ipc.serve(() => {
ipcEventEmitter = this.ipc.server;
done.resolve();
});
this.ipc.server.start();
await plugins.smartdelay.delayFor(1000);
await done.promise;
break;
case 'client':
this.ipc.connectTo(this.options.ipcSpace, () => {
ipcEventEmitter = this.ipc.of[this.options.ipcSpace];
done.resolve();
});
await done.promise;
break;
default:
throw new Error('type of ipc is not valid. Must be "server" or "client"');
}
for (const handler of this.handlers) {
ipcEventEmitter.on(handler.keyword, dataArg => {
handler.handlerFunc(dataArg);
});
}
}
/**
* should stop the server
*/
public async stop() {
switch (this.options.type) {
case 'server':
this.ipc.server.stop();
break;
case 'client':
break;
}
}
/**
* regsiters a handler
*/
public registerHandler(handlerPackage: ISmartIpcHandlerPackage) {
this.handlers.push(handlerPackage);
}
/**
* sends a message
* @param payloadArg
*/
public sendMessage(messageIdentifierArg: string, payloadArg: string | any) {
let payload: string = null;
if (typeof payloadArg === 'string') {
payload = payloadArg;
} else {
payload = JSON.stringify(payloadArg);
}
switch (this.options.type) {
case 'server':
this.ipc.server.emit(messageIdentifierArg, payload);
break;
case 'client':
this.ipc.of[this.options.ipcSpace].emit(messageIdentifierArg, payload);
}
}
}

View File

@ -1,4 +1,11 @@
const removeme = {}; // pushrocks scope
export { import * as smartdelay from '@pushrocks/smartdelay';
removeme import * as smartpromise from '@pushrocks/smartpromise';
} import * as smartrx from '@pushrocks/smartrx';
export { smartdelay, smartpromise, smartrx };
// third party scope
import * as nodeIpc from 'node-ipc';
export { nodeIpc };