@telepath-computer/stash 0.1.4 → 0.2.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.
Files changed (48) hide show
  1. package/README.md +102 -0
  2. package/dist/cli-main.d.ts +20 -0
  3. package/dist/cli-main.d.ts.map +1 -0
  4. package/dist/cli-main.js +445 -0
  5. package/dist/cli-main.js.map +1 -0
  6. package/dist/cli.js +1 -158
  7. package/dist/cli.js.map +1 -1
  8. package/dist/daemon.d.ts +42 -0
  9. package/dist/daemon.d.ts.map +1 -0
  10. package/dist/daemon.js +210 -0
  11. package/dist/daemon.js.map +1 -0
  12. package/dist/global-config.d.ts +7 -0
  13. package/dist/global-config.d.ts.map +1 -1
  14. package/dist/global-config.js +62 -2
  15. package/dist/global-config.js.map +1 -1
  16. package/dist/index.d.ts +4 -2
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/providers/github-provider.d.ts.map +1 -1
  21. package/dist/providers/github-provider.js +16 -17
  22. package/dist/providers/github-provider.js.map +1 -1
  23. package/dist/service/controller.d.ts +32 -0
  24. package/dist/service/controller.d.ts.map +1 -0
  25. package/dist/service/controller.js +162 -0
  26. package/dist/service/controller.js.map +1 -0
  27. package/dist/service/index.d.ts +16 -0
  28. package/dist/service/index.d.ts.map +1 -0
  29. package/dist/service/index.js +6 -0
  30. package/dist/service/index.js.map +1 -0
  31. package/dist/stash.d.ts +1 -1
  32. package/dist/stash.d.ts.map +1 -1
  33. package/dist/stash.js +10 -8
  34. package/dist/stash.js.map +1 -1
  35. package/dist/types.d.ts +8 -1
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/ui/format.d.ts.map +1 -1
  38. package/dist/ui/format.js +2 -4
  39. package/dist/ui/format.js.map +1 -1
  40. package/dist/ui/watch-renderer.d.ts +16 -0
  41. package/dist/ui/watch-renderer.d.ts.map +1 -0
  42. package/dist/ui/watch-renderer.js +59 -0
  43. package/dist/ui/watch-renderer.js.map +1 -0
  44. package/dist/watch.d.ts +64 -4
  45. package/dist/watch.d.ts.map +1 -1
  46. package/dist/watch.js +253 -214
  47. package/dist/watch.js.map +1 -1
  48. package/package.json +15 -7
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,OAAO,EAAE,KAAK,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC;IAC9C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;CAChD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,OAAO,EAAE,KAAK,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC;IAC9C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,cAAc,CAAC;IAC1B,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;CAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/ui/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAcnE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAQ3D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CA+B/D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAkBhD;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAaxD"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/ui/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAQnE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAQ3D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CA+B/D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAkBhD;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAaxD"}
package/dist/ui/format.js CHANGED
@@ -1,10 +1,8 @@
1
1
  export function mutationDirection(mutation) {
2
- if (mutation.disk === "skip" &&
3
- (mutation.remote === "write" || mutation.remote === "delete")) {
2
+ if (mutation.disk === "skip" && (mutation.remote === "write" || mutation.remote === "delete")) {
4
3
  return "up";
5
4
  }
6
- if (mutation.remote === "skip" &&
7
- (mutation.disk === "write" || mutation.disk === "delete")) {
5
+ if (mutation.remote === "skip" && (mutation.disk === "write" || mutation.disk === "delete")) {
8
6
  return "down";
9
7
  }
10
8
  return "both";
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/ui/format.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,iBAAiB,CAAC,QAAsB;IACtD,IACE,QAAQ,CAAC,IAAI,KAAK,MAAM;QACxB,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,EAC7D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IACE,QAAQ,CAAC,MAAM,KAAK,MAAM;QAC1B,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,EACzD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAoB;IACjD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAyB;IACrD,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3D,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,EAAE,IAAI,CAAC,CAAC;QACV,CAAC;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9C,IAAI,SAAS,GAAG,KAAK,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;IACrD,IAAI,cAAc,GAAG,EAAE,EAAE,CAAC;QACxB,OAAO,GAAG,cAAc,OAAO,CAAC;IAClC,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IACvD,IAAI,cAAc,GAAG,EAAE,EAAE,CAAC;QACxB,OAAO,GAAG,cAAc,OAAO,CAAC;IAClC,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IACrD,OAAO,GAAG,YAAY,OAAO,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,UAAgB;IAC9C,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;IACzD,IAAI,gBAAgB,GAAG,EAAE,EAAE,CAAC;QAC1B,OAAO,GAAG,gBAAgB,GAAG,CAAC;IAChC,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;IAC3D,OAAO,GAAG,gBAAgB,GAAG,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/ui/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Disposable } from "@rupertsworld/disposable";
2
+ import { Stash } from "../stash.ts";
3
+ import type { WatchStatus } from "../watch.ts";
4
+ import { LiveLine } from "./live-line.ts";
5
+ export declare class WatchRenderer implements Disposable {
6
+ private readonly line;
7
+ private readonly dir;
8
+ private readonly isTTY;
9
+ constructor(line: LiveLine, dir: string, isTTY: boolean);
10
+ startSync(stash: Stash): Disposable;
11
+ onStatus(status: WatchStatus): void;
12
+ printWatching(): void;
13
+ printStopped(): void;
14
+ dispose(): void;
15
+ }
16
+ //# sourceMappingURL=watch-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-renderer.d.ts","sourceRoot":"","sources":["../../src/ui/watch-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,qBAAa,aAAc,YAAW,UAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAU;gBAEpB,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAMvD,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU;IAgBnC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAgCnC,aAAa,IAAI,IAAI;IAIrB,YAAY,IAAI,IAAI;IAIpB,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,59 @@
1
+ import { formatCountdown } from "./format.js";
2
+ import { SyncRenderer } from "./sync-renderer.js";
3
+ export class WatchRenderer {
4
+ line;
5
+ dir;
6
+ isTTY;
7
+ constructor(line, dir, isTTY) {
8
+ this.line = line;
9
+ this.dir = dir;
10
+ this.isTTY = isTTY;
11
+ }
12
+ startSync(stash) {
13
+ const renderer = new SyncRenderer(this.line);
14
+ const subscription = stash.on("mutation", (mutation) => {
15
+ renderer.onMutation(mutation);
16
+ });
17
+ this.line.startSpinner("checking...");
18
+ return {
19
+ dispose: () => {
20
+ subscription.dispose();
21
+ renderer.dispose();
22
+ },
23
+ };
24
+ }
25
+ onStatus(status) {
26
+ const { dim, green, red } = this.line.colors;
27
+ if (!this.isTTY) {
28
+ if (status.kind === "synced") {
29
+ this.line.print(`✓ synced (${status.summary})`);
30
+ return;
31
+ }
32
+ if (status.kind === "checked") {
33
+ this.line.print("✓ up to date");
34
+ return;
35
+ }
36
+ this.line.print(`${red("✗")} sync failed: ${status.error}`);
37
+ return;
38
+ }
39
+ if (status.kind === "synced") {
40
+ this.line.update(`${green("●")} ${status.summary} ${dim("·")} ${dim(`checking in ${formatCountdown(status.nextCheck)}`)}`);
41
+ return;
42
+ }
43
+ if (status.kind === "checked") {
44
+ this.line.update(`${green("●")} ${dim("up to date")} ${dim("·")} ${dim(`checking in ${formatCountdown(status.nextCheck)}`)}`);
45
+ return;
46
+ }
47
+ this.line.update(`${red("✗")} sync failed: ${status.error} ${dim("·")} ${dim(`retrying in ${formatCountdown(status.nextCheck)}`)}`);
48
+ }
49
+ printWatching() {
50
+ this.line.print(this.line.colors.dim(`watching ${this.dir} (. to sync, q to quit)`));
51
+ }
52
+ printStopped() {
53
+ this.line.print(this.line.colors.dim(`stopped watching ${this.dir}`));
54
+ }
55
+ dispose() {
56
+ this.line.dispose();
57
+ }
58
+ }
59
+ //# sourceMappingURL=watch-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watch-renderer.js","sourceRoot":"","sources":["../../src/ui/watch-renderer.ts"],"names":[],"mappings":"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"}
package/dist/watch.d.ts CHANGED
@@ -1,12 +1,72 @@
1
+ import watcher from "@parcel/watcher";
2
+ import type { Disposable } from "@rupertsworld/disposable";
1
3
  import { Stash } from "./stash.ts";
2
4
  export type WatchState = "idle" | "debouncing" | "syncing";
3
- type WatchOptions = {
5
+ type SubscribeFn = typeof watcher.subscribe;
6
+ type Cleanup = Disposable | (() => void) | void;
7
+ export type WatchStatus = {
8
+ kind: "synced";
9
+ summary: string;
10
+ nextCheck: Date;
11
+ lastSync: Date;
12
+ error: null;
13
+ } | {
14
+ kind: "checked";
15
+ nextCheck: Date;
16
+ lastSync: Date;
17
+ error: null;
18
+ } | {
19
+ kind: "error";
20
+ nextCheck: Date;
21
+ lastSync: Date | null;
22
+ error: string;
23
+ };
24
+ export type WatchOptions = {
4
25
  dir?: string;
5
- stdin?: NodeJS.ReadStream;
6
- stdout?: NodeJS.WriteStream;
7
26
  debounceMs?: number;
8
27
  pollMs?: number;
28
+ subscribe?: SubscribeFn;
29
+ onSyncStart?: (stash: Stash) => Cleanup;
30
+ onStatus?: (status: WatchStatus) => void;
31
+ };
32
+ type InteractiveWatchOptions = WatchOptions & {
33
+ stdin?: NodeJS.ReadStream;
34
+ stdout?: NodeJS.WriteStream;
9
35
  };
10
- export declare function watch(stash: Stash, options?: WatchOptions): Promise<void>;
36
+ export declare class Watch {
37
+ private readonly stash;
38
+ private readonly dir;
39
+ private readonly debounceMs;
40
+ private readonly pollMs;
41
+ private readonly subscribeFn;
42
+ private readonly onSyncStart?;
43
+ private readonly onStatus?;
44
+ private doneResolve;
45
+ private readonly donePromise;
46
+ private stateValue;
47
+ private started;
48
+ private stopping;
49
+ private pendingEvents;
50
+ private debounceTimer;
51
+ private pollTimer;
52
+ private subscription;
53
+ private syncPromise;
54
+ private stopPromise;
55
+ private lastSuccessfulSync;
56
+ private nextCheckAt;
57
+ constructor(stash: Stash, options?: WatchOptions);
58
+ get state(): WatchState;
59
+ start(): Promise<void>;
60
+ wait(): Promise<void>;
61
+ triggerSync(): void;
62
+ stop(): Promise<void>;
63
+ private clearDebounceTimer;
64
+ private clearPollTimer;
65
+ private schedulePoll;
66
+ private startDebounce;
67
+ private startSync;
68
+ private queueFilesystemEvent;
69
+ }
70
+ export declare function watch(stash: Stash, options?: InteractiveWatchOptions): Promise<void>;
11
71
  export {};
12
72
  //# sourceMappingURL=watch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAUnC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;AAE3D,KAAK,YAAY,GAAG;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AA8BF,wBAAsB,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0RnF"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}