aboutsummaryrefslogtreecommitdiffstats
path: root/lib/strfry.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/strfry.ts')
-rw-r--r--lib/strfry.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/strfry.ts b/lib/strfry.ts
new file mode 100644
index 00000000..ebc14ed3
--- /dev/null
+++ b/lib/strfry.ts
@@ -0,0 +1,30 @@
+import { connect } from "net";
+
+export default (cmd) =>
+ new Promise((r, j) => {
+ let results = [];
+ let c = `/app/strfry ${cmd} 2>/dev/null\n`;
+ let client = connect("/sockets/ctrl", () => client.write(c));
+
+ let s = "";
+ client.on("data", (data) => {
+ s += data.toString();
+ // console.log("S", s);
+
+ try {
+ let parts = s.split("}");
+
+ for (let i = 0; i < parts.length - 1; i++) {
+ let completeJson = parts[i] + "}";
+ results.push(JSON.parse(completeJson));
+ }
+
+ s = parts[parts.length - 1];
+ } catch (err) {
+ console.error("Error parsing JSON:", err.message);
+ }
+ });
+
+ client.on("error", (e) => j(e.message));
+ client.on("close", () => r(results));
+ });