@vforsh/argus-watcher 0.1.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 +46 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/buffer/LogBuffer.d.ts +45 -0
- package/dist/buffer/LogBuffer.d.ts.map +1 -0
- package/dist/buffer/LogBuffer.js +87 -0
- package/dist/buffer/LogBuffer.js.map +1 -0
- package/dist/cdp/watcher.d.ts +36 -0
- package/dist/cdp/watcher.d.ts.map +1 -0
- package/dist/cdp/watcher.js +291 -0
- package/dist/cdp/watcher.js.map +1 -0
- package/dist/fileLogs/WatcherFileLogger.d.ts +45 -0
- package/dist/fileLogs/WatcherFileLogger.d.ts.map +1 -0
- package/dist/fileLogs/WatcherFileLogger.js +228 -0
- package/dist/fileLogs/WatcherFileLogger.js.map +1 -0
- package/dist/http/server.d.ts +24 -0
- package/dist/http/server.d.ts.map +1 -0
- package/dist/http/server.js +107 -0
- package/dist/http/server.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +96 -0
- package/dist/index.js.map +1 -0
- package/dist/registry/registry.d.ts +12 -0
- package/dist/registry/registry.d.ts.map +1 -0
- package/dist/registry/registry.js +29 -0
- package/dist/registry/registry.js.map +1 -0
- package/package.json +26 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { readRegistry, removeWatcherEntry, setWatcherEntry, writeRegistry } from '@vforsh/argus-core';
|
|
2
|
+
/** Write watcher entry to registry. */
|
|
3
|
+
export const announceWatcher = async (watcher) => {
|
|
4
|
+
const { registry } = await readRegistry();
|
|
5
|
+
const next = setWatcherEntry(registry, watcher);
|
|
6
|
+
await writeRegistry(next);
|
|
7
|
+
};
|
|
8
|
+
/** Refresh watcher entry in registry. */
|
|
9
|
+
export const updateWatcherHeartbeat = async (watcher) => {
|
|
10
|
+
await announceWatcher(watcher);
|
|
11
|
+
};
|
|
12
|
+
/** Remove watcher entry from registry by id. */
|
|
13
|
+
export const removeWatcher = async (id) => {
|
|
14
|
+
const { registry } = await readRegistry();
|
|
15
|
+
const next = removeWatcherEntry(registry, id);
|
|
16
|
+
await writeRegistry(next);
|
|
17
|
+
};
|
|
18
|
+
/** Periodically refresh registry entry until stopped. */
|
|
19
|
+
export const startRegistryHeartbeat = (getWatcher, intervalMs = 15_000) => {
|
|
20
|
+
const timer = setInterval(() => {
|
|
21
|
+
const watcher = getWatcher();
|
|
22
|
+
watcher.updatedAt = Date.now();
|
|
23
|
+
void updateWatcherHeartbeat(watcher);
|
|
24
|
+
}, intervalMs);
|
|
25
|
+
return {
|
|
26
|
+
stop: () => clearInterval(timer),
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/registry/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGrG,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,OAAsB,EAAiB,EAAE;IAC9E,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,EAAE,CAAA;IACzC,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC/C,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,yCAAyC;AACzC,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,OAAsB,EAAiB,EAAE;IACrF,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED,gDAAgD;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,EAAU,EAAiB,EAAE;IAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,YAAY,EAAE,CAAA;IACzC,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC7C,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAA+B,EAAE,UAAU,GAAG,MAAM,EAAwB,EAAE;IACpH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;QAC5B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC9B,KAAK,sBAAsB,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC,EAAE,UAAU,CAAC,CAAA;IAEd,OAAO;QACN,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;KAChC,CAAA;AACF,CAAC,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@vforsh/argus-watcher",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"default": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@vforsh/argus-core": "0.1.0"
|
|
21
|
+
},
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsc -b",
|
|
24
|
+
"typecheck": "tsc -b --pretty false"
|
|
25
|
+
}
|
|
26
|
+
}
|