@effectionx/watch 0.1.2

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 (46) hide show
  1. package/README.md +46 -0
  2. package/esm/child-process.d.ts +13 -0
  3. package/esm/child-process.d.ts.map +1 -0
  4. package/esm/child-process.js +58 -0
  5. package/esm/deno.d.ts +29 -0
  6. package/esm/deno.d.ts.map +1 -0
  7. package/esm/deno.js +27 -0
  8. package/esm/deps/jsr.io/@gordonb/pipe/0.1.0/pipe.d.ts +113 -0
  9. package/esm/deps/jsr.io/@gordonb/pipe/0.1.0/pipe.d.ts.map +1 -0
  10. package/esm/deps/jsr.io/@gordonb/pipe/0.1.0/pipe.js +18 -0
  11. package/esm/main.d.ts +2 -0
  12. package/esm/main.d.ts.map +1 -0
  13. package/esm/main.js +70 -0
  14. package/esm/mod.d.ts +5 -0
  15. package/esm/mod.d.ts.map +1 -0
  16. package/esm/mod.js +4 -0
  17. package/esm/package.json +3 -0
  18. package/esm/stream-helpers.d.ts +4 -0
  19. package/esm/stream-helpers.d.ts.map +1 -0
  20. package/esm/stream-helpers.js +38 -0
  21. package/esm/watch.d.ts +72 -0
  22. package/esm/watch.d.ts.map +1 -0
  23. package/esm/watch.js +118 -0
  24. package/package.json +33 -0
  25. package/script/child-process.d.ts +13 -0
  26. package/script/child-process.d.ts.map +1 -0
  27. package/script/child-process.js +61 -0
  28. package/script/deno.d.ts +29 -0
  29. package/script/deno.d.ts.map +1 -0
  30. package/script/deno.js +29 -0
  31. package/script/deps/jsr.io/@gordonb/pipe/0.1.0/pipe.d.ts +113 -0
  32. package/script/deps/jsr.io/@gordonb/pipe/0.1.0/pipe.d.ts.map +1 -0
  33. package/script/deps/jsr.io/@gordonb/pipe/0.1.0/pipe.js +24 -0
  34. package/script/main.d.ts +2 -0
  35. package/script/main.d.ts.map +1 -0
  36. package/script/main.js +75 -0
  37. package/script/mod.d.ts +5 -0
  38. package/script/mod.d.ts.map +1 -0
  39. package/script/mod.js +20 -0
  40. package/script/package.json +3 -0
  41. package/script/stream-helpers.d.ts +4 -0
  42. package/script/stream-helpers.d.ts.map +1 -0
  43. package/script/stream-helpers.js +42 -0
  44. package/script/watch.d.ts +72 -0
  45. package/script/watch.d.ts.map +1 -0
  46. package/script/watch.js +124 -0
package/README.md ADDED
@@ -0,0 +1,46 @@
1
+ # Watch
2
+
3
+ Watch is a very simple tool that does one thing: run a command, and every time
4
+ source files change in a directory, shutdown the current invocation _gracefully_
5
+ and restart it.
6
+
7
+ ```
8
+ deno -A jsr:@effectionx/watch npm start
9
+ ```
10
+
11
+ ## Graceful Shutdown
12
+
13
+ Watch will send SIGINT and SIGTERM to your command, and then wait until its
14
+ `stdout` stream is closed, indicating that it has no further output. It will not
15
+ attempt to start your command again until that has happened. This is important,
16
+ because your process might be holding onto any number of resources that have to
17
+ be safely released before exiting.
18
+
19
+ ## Git aware
20
+
21
+ If you are running this command inside a git repository, it will only perform
22
+ restarts on files that are under source control, or could be candidates for
23
+ source control (not ignored).
24
+
25
+ ## Use it as an Effection library
26
+
27
+ Most of the time, you will use this an executable. However, if you want to
28
+ create your own watch from within a library, you can But if you want to write
29
+ your own
30
+
31
+ ```ts
32
+ import { each, main } from "effection";
33
+ import { watch } from "@effectionx/watch";
34
+
35
+ await main(function* () {
36
+ const changes = watch({
37
+ path: "./src",
38
+ cmd: "npm test",
39
+ });
40
+
41
+ for (let start of yield* each(changes)) {
42
+ console.log(start);
43
+ yield* each.next();
44
+ }
45
+ });
46
+ ```
@@ -0,0 +1,13 @@
1
+ import type { Signals } from "@types/node";
2
+ import type { Operation, Stream } from "effection";
3
+ export interface ProcessResult {
4
+ code: number;
5
+ signal?: Signals;
6
+ }
7
+ export interface Process extends Operation<ProcessResult> {
8
+ stdout: Stream<string, void>;
9
+ stderr: Stream<string, void>;
10
+ send(signal: Signals): void;
11
+ }
12
+ export declare function useProcess(command: string): Operation<Process>;
13
+ //# sourceMappingURL=child-process.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"child-process.d.ts","sourceRoot":"","sources":["../src/child-process.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AASnD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAQ,SAAQ,SAAS,CAAC,aAAa,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CA6D9D"}
@@ -0,0 +1,58 @@
1
+ import { spawn as nodeSpawn } from "node:child_process";
2
+ import { action, createSignal, resource, spawn, withResolvers, } from "effection";
3
+ export function useProcess(command) {
4
+ return resource(function* (provide) {
5
+ let closed = withResolvers();
6
+ let stdout = createSignal();
7
+ let stderr = createSignal();
8
+ let nodeproc = nodeSpawn(command, {
9
+ shell: true,
10
+ stdio: "pipe",
11
+ });
12
+ // fail on an "error" event, but only until the process is successfully spawned.
13
+ yield* spawn(function* () {
14
+ yield* spawn(() => action((_, reject) => {
15
+ nodeproc.on("error", reject);
16
+ return () => nodeproc.off("error", reject);
17
+ }));
18
+ yield* action((resolve) => {
19
+ nodeproc.on("spawn", resolve);
20
+ return () => nodeproc.off("spawn", resolve);
21
+ });
22
+ });
23
+ let onstdout = (chunk) => {
24
+ stdout.send(String(chunk));
25
+ };
26
+ let onstderr = (chunk) => {
27
+ stderr.send(String(chunk));
28
+ };
29
+ let onclose = (code, signal) => {
30
+ stdout.close();
31
+ stderr.close();
32
+ closed.resolve({ code, signal });
33
+ };
34
+ try {
35
+ nodeproc.stdout.on("data", onstdout);
36
+ nodeproc.stderr.on("data", onstderr);
37
+ nodeproc.on("close", onclose);
38
+ yield* provide({
39
+ [Symbol.iterator]: closed.operation[Symbol.iterator],
40
+ stdout,
41
+ stderr,
42
+ *send(signal) {
43
+ nodeproc.kill(signal);
44
+ },
45
+ });
46
+ }
47
+ finally {
48
+ nodeproc.kill("SIGINT");
49
+ nodeproc.kill("SIGTERM");
50
+ yield* closed.operation;
51
+ stdout.close();
52
+ stderr.close();
53
+ nodeproc.stdout.off("data", onstdout);
54
+ nodeproc.stderr.off("data", onstderr);
55
+ nodeproc.off("close", onclose);
56
+ }
57
+ });
58
+ }
package/esm/deno.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ declare namespace _default {
2
+ let name: string;
3
+ let version: string;
4
+ let license: string;
5
+ let exports: {
6
+ ".": string;
7
+ "./lib": string;
8
+ };
9
+ let imports: {
10
+ effection: string;
11
+ ignore: string;
12
+ "@std/fs": string;
13
+ "@std/path": string;
14
+ chokidar: string;
15
+ zod: string;
16
+ "zod-opts": string;
17
+ };
18
+ namespace lint {
19
+ namespace rules {
20
+ let exclude: string[];
21
+ }
22
+ }
23
+ namespace tasks {
24
+ let compile: string;
25
+ let dev: string;
26
+ }
27
+ }
28
+ export default _default;
29
+ //# sourceMappingURL=deno.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deno.d.ts","sourceRoot":"","sources":["../src/deno.js"],"names":[],"mappings":""}
package/esm/deno.js ADDED
@@ -0,0 +1,27 @@
1
+ export default {
2
+ "name": "@effectionx/watch",
3
+ "version": "0.1.2",
4
+ "license": "MIT",
5
+ "exports": {
6
+ ".": "./main.ts",
7
+ "./lib": "./mod.ts"
8
+ },
9
+ "imports": {
10
+ "effection": "npm:effection@^4.0.0-alpha.6",
11
+ "ignore": "npm:ignore@^7.0.3",
12
+ "@std/fs": "jsr:@std/fs@^1.0.11",
13
+ "@std/path": "jsr:@std/path@^1.0.8",
14
+ "chokidar": "npm:chokidar@^4.0.3",
15
+ "zod": "npm:zod@^3.20.2",
16
+ "zod-opts": "npm:zod-opts@0.1.8"
17
+ },
18
+ "lint": {
19
+ "rules": {
20
+ "exclude": ["prefer-const", "require-yield"]
21
+ }
22
+ },
23
+ "tasks": {
24
+ "compile": "deno compile --allow-env --allow-read --allow-run main.ts",
25
+ "dev": "deno --allow-env --allow-read --allow-run main.ts deno task compile"
26
+ }
27
+ };
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Applies functions over value from left to right.
3
+ * @param value - The initial value to pipe
4
+ * @param fns - The functions to pipe the value through
5
+ * @returns The final value after all functions have been applied
6
+ */
7
+ export declare function pipe<A>(value: A): A;
8
+ export declare function pipe<A, B>(value: A, a: (input: A) => B): B;
9
+ export declare function pipe<A, B, C>(value: A, a: (input: A) => B, b: (input: B) => C): C;
10
+ export declare function pipe<A, B, C, D>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D): D;
11
+ export declare function pipe<A, B, C, D, E>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E): E;
12
+ export declare function pipe<A, B, C, D, E, F>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F): F;
13
+ export declare function pipe<A, B, C, D, E, F, G>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G): G;
14
+ export declare function pipe<A, B, C, D, E, F, G, H>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H): H;
15
+ export declare function pipe<A, B, C, D, E, F, G, H, I>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I): I;
16
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J): J;
17
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K): K;
18
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L): L;
19
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M): M;
20
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N): N;
21
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O): O;
22
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P): P;
23
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P, p: (input: P) => Q): Q;
24
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P, p: (input: P) => Q, q: (input: Q) => R): R;
25
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P, p: (input: P) => Q, q: (input: Q) => R, r: (input: R) => S): S;
26
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P, p: (input: P) => Q, q: (input: Q) => R, r: (input: R) => S, s: (input: S) => T): T;
27
+ export declare function pipe<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U>(value: A, a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P, p: (input: P) => Q, q: (input: Q) => R, r: (input: R) => S, s: (input: S) => T, t: (input: T) => U): U;
28
+ export declare function pipe(value: unknown, ...fns: Array<(input: unknown) => unknown>): unknown;
29
+ /**
30
+ * Composes functions from left to right
31
+ * @param fns - The functions to compose
32
+ * @returns A function that applies the composed functions in order
33
+ */
34
+ export declare function flow<A>(a: (input: A) => A): (input: A) => A;
35
+ export declare function flow<A, B>(a: (input: A) => B): (input: A) => B;
36
+ export declare function flow<A, B, C>(a: (input: A) => B, b: (input: B) => C): (input: A) => C;
37
+ export declare function flow<A, B, C, D>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D): (input: A) => D;
38
+ export declare function flow<A, B, C, D, E>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E): (input: A) => E;
39
+ export declare function flow<A, B, C, D, E, F>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F): (input: A) => F;
40
+ export declare function flow<A, B, C, D, E, F, G>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G): (input: A) => G;
41
+ export declare function flow<A, B, C, D, E, F, G, H>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H): (input: A) => H;
42
+ export declare function flow<A, B, C, D, E, F, G, H, I>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I): (input: A) => I;
43
+ export declare function flow<A, B, C, D, E, F, G, H, I, J>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J): (input: A) => J;
44
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K): (input: A) => K;
45
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K, L>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L): (input: A) => L;
46
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K, L, M>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M): (input: A) => M;
47
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K, L, M, N>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N): (input: A) => N;
48
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O): (input: A) => O;
49
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P): (input: A) => P;
50
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P, p: (input: P) => Q): (input: A) => Q;
51
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P, p: (input: P) => Q, q: (input: Q) => R): (input: A) => R;
52
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P, p: (input: P) => Q, q: (input: Q) => R, r: (input: R) => S): (input: A) => S;
53
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P, p: (input: P) => Q, q: (input: Q) => R, r: (input: R) => S, s: (input: S) => T): (input: A) => T;
54
+ export declare function flow<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U>(a: (input: A) => B, b: (input: B) => C, c: (input: C) => D, d: (input: D) => E, e: (input: E) => F, f: (input: F) => G, g: (input: G) => H, h: (input: H) => I, i: (input: I) => J, j: (input: J) => K, k: (input: K) => L, l: (input: L) => M, m: (input: M) => N, n: (input: N) => O, o: (input: O) => P, p: (input: P) => Q, q: (input: Q) => R, r: (input: R) => S, s: (input: S) => T, t: (input: T) => U): (input: A) => U;
55
+ export declare function flow(...fns: Array<(input: unknown) => unknown>): (input: unknown) => unknown;
56
+ /** An awaitable value (a value that is either T or a promise for T) */
57
+ export type Awaitable<T> = T | Promise<T>;
58
+ /**
59
+ * Applies sync or async functions over value from left to right.
60
+ * @param value - The initial value to pipe
61
+ * @param fns - The functions to pipe the value through
62
+ * @returns a promise for final value after all functions have been applied
63
+ */
64
+ export declare function pipeAsync<A>(value: A): Promise<A>;
65
+ export declare function pipeAsync<A, B>(value: A, a: (input: A) => Awaitable<B>): Promise<B>;
66
+ export declare function pipeAsync<A, B, C>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>): Promise<C>;
67
+ export declare function pipeAsync<A, B, C, D>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>): Promise<D>;
68
+ export declare function pipeAsync<A, B, C, D, E>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>): Promise<E>;
69
+ export declare function pipeAsync<A, B, C, D, E, F>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>): Promise<F>;
70
+ export declare function pipeAsync<A, B, C, D, E, F, G>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>): Promise<G>;
71
+ export declare function pipeAsync<A, B, C, D, E, F, G, H>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>): Promise<H>;
72
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>): Promise<I>;
73
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>): Promise<J>;
74
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>): Promise<K>;
75
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K, L>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>): Promise<L>;
76
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K, L, M>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>): Promise<M>;
77
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>): Promise<N>;
78
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>): Promise<O>;
79
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>): Promise<P>;
80
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>, p: (input: P) => Awaitable<Q>): Promise<Q>;
81
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>, p: (input: P) => Awaitable<Q>, q: (input: Q) => Awaitable<R>): Promise<R>;
82
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>, p: (input: P) => Awaitable<Q>, q: (input: Q) => Awaitable<R>, r: (input: R) => Awaitable<S>): Promise<S>;
83
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>, p: (input: P) => Awaitable<Q>, q: (input: Q) => Awaitable<R>, r: (input: R) => Awaitable<S>, s: (input: S) => Awaitable<T>): Promise<T>;
84
+ export declare function pipeAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U>(value: A, a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>, p: (input: P) => Awaitable<Q>, q: (input: Q) => Awaitable<R>, r: (input: R) => Awaitable<S>, s: (input: S) => Awaitable<T>, t: (input: T) => Awaitable<U>): Promise<U>;
85
+ export declare function pipeAsync(value: unknown, ...fns: Array<(input: unknown) => Awaitable<unknown>>): Promise<unknown>;
86
+ /**
87
+ * Composes async or sync functions from left to right
88
+ * @param fns - The functions to compose
89
+ * @returns A function that applies the composed functions in left-to-right order
90
+ */
91
+ export declare function flowAsync<A>(a: (input: A) => Awaitable<A>): (input: A) => Promise<A>;
92
+ export declare function flowAsync<A, B>(a: (input: A) => Awaitable<B>): (input: A) => Promise<B>;
93
+ export declare function flowAsync<A, B, C>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>): (input: A) => Promise<C>;
94
+ export declare function flowAsync<A, B, C, D>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>): (input: A) => Promise<D>;
95
+ export declare function flowAsync<A, B, C, D, E>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>): (input: A) => Promise<E>;
96
+ export declare function flowAsync<A, B, C, D, E, F>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>): (input: A) => Promise<F>;
97
+ export declare function flowAsync<A, B, C, D, E, F, G>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>): (input: A) => Promise<G>;
98
+ export declare function flowAsync<A, B, C, D, E, F, G, H>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>): (input: A) => Promise<H>;
99
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>): (input: A) => Promise<I>;
100
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>): (input: A) => Promise<J>;
101
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>): (input: A) => Promise<K>;
102
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K, L>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>): (input: A) => Promise<L>;
103
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K, L, M>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>): (input: A) => Promise<M>;
104
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>): (input: A) => Promise<N>;
105
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>): (input: A) => Promise<O>;
106
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>): (input: A) => Promise<P>;
107
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>, p: (input: P) => Awaitable<Q>): (input: A) => Promise<Q>;
108
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>, p: (input: P) => Awaitable<Q>, q: (input: Q) => Awaitable<R>): (input: A) => Promise<R>;
109
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>, p: (input: P) => Awaitable<Q>, q: (input: Q) => Awaitable<R>, r: (input: R) => Awaitable<S>): (input: A) => Promise<S>;
110
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>, p: (input: P) => Awaitable<Q>, q: (input: Q) => Awaitable<R>, r: (input: R) => Awaitable<S>, s: (input: S) => Awaitable<T>): (input: A) => Promise<T>;
111
+ export declare function flowAsync<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U>(a: (input: A) => Awaitable<B>, b: (input: B) => Awaitable<C>, c: (input: C) => Awaitable<D>, d: (input: D) => Awaitable<E>, e: (input: E) => Awaitable<F>, f: (input: F) => Awaitable<G>, g: (input: G) => Awaitable<H>, h: (input: H) => Awaitable<I>, i: (input: I) => Awaitable<J>, j: (input: J) => Awaitable<K>, k: (input: K) => Awaitable<L>, l: (input: L) => Awaitable<M>, m: (input: M) => Awaitable<N>, n: (input: N) => Awaitable<O>, o: (input: O) => Awaitable<P>, p: (input: P) => Awaitable<Q>, q: (input: Q) => Awaitable<R>, r: (input: R) => Awaitable<S>, s: (input: S) => Awaitable<T>, t: (input: T) => Awaitable<U>): (input: A) => Promise<U>;
112
+ export declare function flowAsync(...fns: Array<(input: unknown) => Awaitable<unknown>>): (input: unknown) => Promise<unknown>;
113
+ //# sourceMappingURL=pipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipe.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@gordonb/pipe/0.1.0/pipe.ts"],"names":[],"mappings":"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AE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACjB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3D,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACjB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC9D,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACjB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACjE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACjB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACpE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACjB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACvE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACjB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AACnB,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1E,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAClB,CAAC,EAAE,CAAC,KA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EACR,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAC7B,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,S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"}
@@ -0,0 +1,18 @@
1
+ export function pipe(value, ...fns) {
2
+ for (const fn of fns) {
3
+ value = fn(value);
4
+ }
5
+ return value;
6
+ }
7
+ export function flow(...fns) {
8
+ return (value) => pipe(value, ...fns);
9
+ }
10
+ export async function pipeAsync(value, ...fns) {
11
+ for (const fn of fns) {
12
+ value = await fn(value);
13
+ }
14
+ return value;
15
+ }
16
+ export function flowAsync(...fns) {
17
+ return (value) => pipeAsync(value, ...fns);
18
+ }
package/esm/main.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":""}
package/esm/main.js ADDED
@@ -0,0 +1,70 @@
1
+ import { each, exit, main, scoped, spawn } from "effection";
2
+ import { watch } from "./watch.js";
3
+ import { parser } from "zod-opts";
4
+ import { z } from "zod";
5
+ import process from "node:process";
6
+ import denoJson from "./deno.js";
7
+ const builtins = ["-h", "--help", "-V", "--version"];
8
+ main(function* (argv) {
9
+ let { args, rest } = extract(argv);
10
+ parser()
11
+ .name("watch")
12
+ .description("run a command, and restart it every time a source file in a directory changes")
13
+ .args([
14
+ {
15
+ name: "command",
16
+ type: z.array(z.string()).optional(),
17
+ },
18
+ ])
19
+ .version(denoJson.version)
20
+ .parse(args);
21
+ if (rest.length === 0) {
22
+ yield* exit(5, "no command specified to watch");
23
+ }
24
+ let command = rest.join(" ");
25
+ let watcher = watch({
26
+ path: process.cwd(),
27
+ cmd: command,
28
+ });
29
+ for (let start of yield* each(watcher)) {
30
+ process.stdout.write(`${command}\n`);
31
+ yield* scoped(function* () {
32
+ let { result } = start;
33
+ if (result.ok) {
34
+ let proc = result.value;
35
+ yield* spawn(function* () {
36
+ for (let chunk of yield* each(proc.stdout)) {
37
+ process.stdout.write(chunk);
38
+ yield* each.next();
39
+ }
40
+ });
41
+ yield* spawn(function* () {
42
+ for (let chunk of yield* each(proc.stderr)) {
43
+ process.stderr.write(chunk);
44
+ yield* each.next();
45
+ }
46
+ });
47
+ }
48
+ else {
49
+ console.error(`failed to start: ${result.error}`);
50
+ }
51
+ yield* start.restarting;
52
+ process.stdout.write(`--> restarting....\n`);
53
+ yield* each.next();
54
+ });
55
+ }
56
+ });
57
+ function extract(argv) {
58
+ let args = [];
59
+ let rest = argv.slice();
60
+ for (let arg = rest.shift(); arg; arg = rest.shift()) {
61
+ if (builtins.includes(arg)) {
62
+ args.push(arg);
63
+ }
64
+ else {
65
+ rest.unshift(arg);
66
+ break;
67
+ }
68
+ }
69
+ return { args, rest };
70
+ }
package/esm/mod.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Start and restart a process whenever contents of a directory changes
3
+ */
4
+ export * from "./watch.js";
5
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,YAAY,CAAC"}
package/esm/mod.js ADDED
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Start and restart a process whenever contents of a directory changes
3
+ */
4
+ export * from "./watch.js";
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,4 @@
1
+ import { type Stream } from "effection";
2
+ export declare function debounce<T, R>(ms: number): (stream: Stream<T, R>) => Stream<T, R>;
3
+ export declare function filter<T, R>(predicate: (item: T) => boolean): (stream: Stream<T, R>) => Stream<T, R>;
4
+ //# sourceMappingURL=stream-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-helpers.d.ts","sourceRoot":"","sources":["../src/stream-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAErD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAC3B,EAAE,EAAE,MAAM,GACT,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAmBxC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EACzB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAC9B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAexC"}