just-binary 3.0.1 → 3.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.
Files changed (37) hide show
  1. package/README.md +1 -1
  2. package/dist/AGENTS.md +1 -1
  3. package/dist/bin/chunks/chunk-H7TGYILF.js +3 -0
  4. package/dist/bin/chunks/chunk-XSBNCA43.js +7 -0
  5. package/dist/bin/chunks/flag-coverage-O3TGZMW3.js +2 -0
  6. package/dist/bin/{shell/chunks/seq-6C6VEGIG.js → chunks/seq-IDAAUGIL.js} +1 -1
  7. package/dist/bin/chunks/yes-A2LPETVU.js +2 -0
  8. package/dist/bin/just-bash.js +229 -229
  9. package/dist/bin/shell/chunks/chunk-H7TGYILF.js +3 -0
  10. package/dist/bin/shell/chunks/chunk-XSBNCA43.js +7 -0
  11. package/dist/bin/shell/chunks/flag-coverage-O3TGZMW3.js +2 -0
  12. package/dist/bin/{chunks/seq-6C6VEGIG.js → shell/chunks/seq-IDAAUGIL.js} +1 -1
  13. package/dist/bin/shell/chunks/yes-A2LPETVU.js +2 -0
  14. package/dist/bin/shell/shell.js +288 -288
  15. package/dist/bundle/browser.js +564 -563
  16. package/dist/bundle/chunks/chunk-6RAG3BOS.js +2 -0
  17. package/dist/bundle/chunks/chunk-R7SSLDTN.js +6 -0
  18. package/dist/bundle/chunks/flag-coverage-33IDWH3V.js +1 -0
  19. package/dist/bundle/chunks/{seq-UCWX6HDA.js → seq-SXS6YKWX.js} +1 -1
  20. package/dist/bundle/chunks/yes-2J55KNKF.js +1 -0
  21. package/dist/bundle/index.js +173 -173
  22. package/dist/commands/registry.d.ts +1 -1
  23. package/dist/commands/seq/seq.d.ts +5 -0
  24. package/dist/commands/yes/yes.d.ts +14 -0
  25. package/dist/fs/in-memory-fs/in-memory-fs.d.ts +1 -0
  26. package/dist/fs/interface.d.ts +11 -0
  27. package/dist/fs/mountable-fs/mountable-fs.d.ts +1 -0
  28. package/dist/fs/overlay-fs/overlay-fs.d.ts +7 -0
  29. package/dist/fs/range.d.ts +10 -0
  30. package/dist/fs/read-write-fs/read-write-fs.d.ts +1 -0
  31. package/package.json +1 -1
  32. package/dist/bin/chunks/chunk-HT4IVOYZ.js +0 -7
  33. package/dist/bin/chunks/flag-coverage-JBJRZ3PO.js +0 -2
  34. package/dist/bin/shell/chunks/chunk-HT4IVOYZ.js +0 -7
  35. package/dist/bin/shell/chunks/flag-coverage-JBJRZ3PO.js +0 -2
  36. package/dist/bundle/chunks/chunk-OYIATQ5V.js +0 -6
  37. package/dist/bundle/chunks/flag-coverage-FK7Z2EY4.js +0 -1
@@ -1,6 +1,6 @@
1
1
  import type { Command } from "../types.js";
2
2
  /** All available built-in command names (excludes network commands) */
3
- export type CommandName = "echo" | "cat" | "printf" | "ls" | "mkdir" | "rmdir" | "touch" | "rm" | "cp" | "mv" | "ln" | "chmod" | "pwd" | "readlink" | "head" | "tail" | "wc" | "stat" | "grep" | "fgrep" | "egrep" | "rg" | "sed" | "awk" | "sort" | "uniq" | "comm" | "cut" | "paste" | "tr" | "rev" | "nl" | "fold" | "expand" | "unexpand" | "strings" | "split" | "column" | "join" | "tee" | "find" | "basename" | "dirname" | "tree" | "du" | "env" | "printenv" | "alias" | "unalias" | "history" | "xargs" | "true" | "false" | "clear" | "bash" | "sh" | "jq" | "base64" | "diff" | "date" | "sleep" | "timeout" | "seq" | "expr" | "md5sum" | "sha1sum" | "sha256sum" | "file" | "html-to-markdown" | "help" | "which" | "tac" | "hostname" | "od" | "gzip" | "gunzip" | "zcat" | "tar" | "yq" | "xan" | "sqlite3" | "time" | "whoami";
3
+ export type CommandName = "echo" | "cat" | "printf" | "ls" | "mkdir" | "rmdir" | "touch" | "rm" | "cp" | "mv" | "ln" | "chmod" | "pwd" | "readlink" | "head" | "tail" | "wc" | "stat" | "grep" | "fgrep" | "egrep" | "rg" | "sed" | "awk" | "sort" | "uniq" | "comm" | "cut" | "paste" | "tr" | "rev" | "nl" | "fold" | "expand" | "unexpand" | "strings" | "split" | "column" | "join" | "tee" | "find" | "basename" | "dirname" | "tree" | "du" | "env" | "printenv" | "alias" | "unalias" | "history" | "xargs" | "true" | "false" | "clear" | "yes" | "bash" | "sh" | "jq" | "base64" | "diff" | "date" | "sleep" | "timeout" | "seq" | "expr" | "md5sum" | "sha1sum" | "sha256sum" | "file" | "html-to-markdown" | "help" | "which" | "tac" | "hostname" | "od" | "gzip" | "gunzip" | "zcat" | "tar" | "yq" | "xan" | "sqlite3" | "time" | "whoami";
4
4
  /** Network command names (only available when network is configured) */
5
5
  export type NetworkCommandName = "curl";
6
6
  /** Python command names (only available when python is explicitly enabled) */
@@ -10,6 +10,11 @@ import type { Command } from "../../types.js";
10
10
  * Options:
11
11
  * -s STRING use STRING to separate numbers (default: newline)
12
12
  * -w equalize width by padding with leading zeros
13
+ *
14
+ * Implementation: pull-based stream. We emit ~16 KiB of output per pull
15
+ * so memory stays O(1) regardless of the sequence length, and a downstream
16
+ * consumer that closes early (e.g. `seq 1 1000000000 | head -c 5`) will
17
+ * cancel us after a single chunk.
13
18
  */
14
19
  export declare const seqCommand: Command;
15
20
  import type { CommandFuzzInfo } from "../fuzz-flags-types.js";
@@ -0,0 +1,14 @@
1
+ import type { Command } from "../../types.js";
2
+ /**
3
+ * yes - output a string repeatedly until killed
4
+ *
5
+ * Usage: yes [STRING]
6
+ *
7
+ * Streams the repeated line via a pull-based ReadableStream so memory stays
8
+ * O(1) regardless of how long the consumer reads for. A downstream consumer
9
+ * that closes early (e.g. `yes | head -c 100`) cancels us after a single
10
+ * pull.
11
+ */
12
+ export declare const yesCommand: Command;
13
+ import type { CommandFuzzInfo } from "../fuzz-flags-types.js";
14
+ export declare const flagsForFuzzing: CommandFuzzInfo;
@@ -20,6 +20,7 @@ export declare class InMemoryFs implements IFileSystem {
20
20
  mtime?: Date;
21
21
  }): void;
22
22
  readFile(path: string): Promise<ByteStream>;
23
+ readRange(path: string, offset: number, length: number): Promise<Uint8Array>;
23
24
  readFileText(path: string, options?: ReadFileOptions | BufferEncoding): Promise<string>;
24
25
  writeFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
25
26
  appendFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
@@ -75,6 +75,17 @@ export interface IFileSystem {
75
75
  * @throws if path does not exist or is a directory
76
76
  */
77
77
  readFile(path: string): Promise<ByteStream>;
78
+ /**
79
+ * Read a byte range from a file. Returns at most `length` bytes starting at
80
+ * `offset`; if the range extends past EOF, returns the truncated tail (may
81
+ * be empty). Designed for random-access workloads (ZIP central directory,
82
+ * PDF xref, file footers) that would otherwise have to drain the whole
83
+ * stream into memory.
84
+ *
85
+ * @throws if path does not exist or is a directory, or if offset/length
86
+ * are negative or non-finite
87
+ */
88
+ readRange(path: string, offset: number, length: number): Promise<Uint8Array>;
78
89
  /**
79
90
  * Read a file fully as decoded text (default encoding: utf8).
80
91
  * Convenience for small/text files.
@@ -85,6 +85,7 @@ export declare class MountableFs implements IFileSystem {
85
85
  */
86
86
  private getChildMountPoints;
87
87
  readFile(path: string): Promise<ByteStream>;
88
+ readRange(path: string, offset: number, length: number): Promise<Uint8Array>;
88
89
  readFileText(path: string, options?: ReadFileOptions | BufferEncoding): Promise<string>;
89
90
  writeFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
90
91
  appendFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
@@ -80,6 +80,13 @@ export declare class OverlayFs implements IFileSystem {
80
80
  */
81
81
  private existsInOverlay;
82
82
  readFile(path: string): Promise<ByteStream>;
83
+ readRange(path: string, offset: number, length: number): Promise<Uint8Array>;
84
+ /**
85
+ * Resolve a path through symlinks for read purposes, returning either the
86
+ * in-memory chunked representation or the underlying real-fs path so the
87
+ * caller can choose between random-access and full reads.
88
+ */
89
+ private resolveForRead;
83
90
  readFileText(path: string, options?: ReadFileOptions | BufferEncoding): Promise<string>;
84
91
  /**
85
92
  * Internal: resolve symlinks and produce raw chunks. Memory hits return
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Shared helpers for readRange implementations across filesystem backends.
3
+ */
4
+ export declare function validateRange(offset: number, length: number): void;
5
+ /**
6
+ * Slice a contiguous byte range out of a chunked file representation. Walks
7
+ * chunks lazily; only the requested bytes are copied into the output. If the
8
+ * requested range extends past `totalSize`, the result is truncated.
9
+ */
10
+ export declare function sliceChunks(chunks: Uint8Array[], totalSize: number, offset: number, length: number): Uint8Array;
@@ -35,6 +35,7 @@ export declare class ReadWriteFs implements IFileSystem {
35
35
  */
36
36
  private normalizePath;
37
37
  readFile(path: string): Promise<ByteStream>;
38
+ readRange(path: string, offset: number, length: number): Promise<Uint8Array>;
38
39
  readFileText(path: string, options?: ReadFileOptions | BufferEncoding): Promise<string>;
39
40
  writeFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
40
41
  appendFile(path: string, content: FileContent, options?: WriteFileOptions | BufferEncoding): Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "just-binary",
3
- "version": "3.0.1",
3
+ "version": "3.1.0",
4
4
  "description": "A simulated bash environment with virtual filesystem",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- import{b as d,e as c}from"./chunk-RAUBS6MJ.js";import{k as b}from"./chunk-463VWH7H.js";var S={name:"seq",async execute(q){let i=b(q),f=`
3
- `,m=!1,s=[],e=0;for(;e<i.length;){let t=i[e];if(t==="-s"&&e+1<i.length){f=i[e+1],e+=2;continue}if(t==="-w"){m=!0,e++;continue}if(t==="--"){e++;break}if(t.startsWith("-")&&t!=="-"){if(t.startsWith("-s")&&t.length>2){f=t.slice(2),e++;continue}if((t==="-ws"||t==="-sw")&&(m=!0,e+1<i.length)){f=i[e+1],e+=2;continue}}s.push(t),e++}for(;e<i.length;)s.push(i[e]),e++;if(s.length===0)return{stdout:d(),stderr:c(`seq: missing operand
4
- `),exitCode:1};let l=1,o=1,a;if(s.length===1?a=parseFloat(s[0]):s.length===2?(l=parseFloat(s[0]),a=parseFloat(s[1])):(l=parseFloat(s[0]),o=parseFloat(s[1]),a=parseFloat(s[2])),Number.isNaN(l)||Number.isNaN(o)||Number.isNaN(a)){let t=s.find(n=>Number.isNaN(parseFloat(n)));return{stdout:d(),stderr:c(`seq: invalid floating point argument: '${t}'
5
- `),exitCode:1}}if(o===0)return{stdout:d(),stderr:c(`seq: invalid Zero increment value: '0'
6
- `),exitCode:1};let r=[],p=t=>{let n=String(t),u=n.indexOf(".");return u===-1?0:n.length-u-1},g=Math.max(p(l),p(o),p(a)),h=1e5,x=0;if(o>0)for(let t=l;t<=a+1e-10&&!(x++>h);t+=o)r.push(g>0?t.toFixed(g):String(Math.round(t)));else for(let t=l;t>=a-1e-10&&!(x++>h);t+=o)r.push(g>0?t.toFixed(g):String(Math.round(t)));if(m&&r.length>0){let t=Math.max(...r.map(n=>n.replace("-","").length));for(let n=0;n<r.length;n++){let u=r[n].startsWith("-"),F=(u?r[n].slice(1):r[n]).padStart(t,"0");r[n]=u?`-${F}`:F}}let N=r.join(f);return{stdout:c(N?`${N}
7
- `:""),stderr:d(),exitCode:0}}},y={name:"seq",flags:[{flag:"-s",type:"value",valueHint:"string"},{flag:"-w",type:"boolean"}],needsArgs:!0};export{S as a,y as b};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import{d as Ir,e as Mr,f as jr}from"./chunk-ASU2EQWZ.js";import{b as yr}from"./chunk-4W52T6KS.js";import{b as Ar}from"./chunk-23CC4423.js";import{b as $r}from"./chunk-7YOACDUK.js";import"./chunk-23EV7RYO.js";import"./chunk-TACNCKUC.js";import{b as Sr}from"./chunk-EHJW6FCX.js";import{b as hr}from"./chunk-SDTTNNEH.js";import{b as wr}from"./chunk-5KQNIOZS.js";import{b as xr}from"./chunk-Z73LISDU.js";import{b as vr}from"./chunk-5IL5CXJC.js";import{b as kr}from"./chunk-V3N6H3L5.js";import{b as qr}from"./chunk-KAWPUEQM.js";import{b as Cr}from"./chunk-PRQYRYWV.js";import{b as br}from"./chunk-YG67AAKF.js";import{b as nr}from"./chunk-HY6WUGWS.js";import{b as tr}from"./chunk-7J7OY2YE.js";import{b as lr}from"./chunk-HEO6EBJ2.js";import{b as ur}from"./chunk-HT4IVOYZ.js";import{b as pr}from"./chunk-WXI44VNZ.js";import{b as er}from"./chunk-NNVWOCET.js";import{b as dr}from"./chunk-YER5PEKD.js";import{b as cr}from"./chunk-GUZJZK5O.js";import"./chunk-I2N72LXH.js";import{b as rr}from"./chunk-3VDZW42W.js";import{c as or,d as ar}from"./chunk-SZM4GZ4H.js";import{b as sr}from"./chunk-VWJBSJYM.js";import{c as ir,d as gr}from"./chunk-RFIBBYTO.js";import{b as mr}from"./chunk-YGAHXCGB.js";import"./chunk-N7P3SUNH.js";import"./chunk-UYBH3FNE.js";import{b as Fr}from"./chunk-D44C6YVE.js";import{b as zr}from"./chunk-RIV3HSPK.js";import{b as fr}from"./chunk-ECBMSCPX.js";import{b as Q}from"./chunk-QXOUI5BS.js";import{b as R}from"./chunk-44ROJVH3.js";import{b as U}from"./chunk-UAZICDKU.js";import{b as V}from"./chunk-AN2KBMAK.js";import{b as W}from"./chunk-444WPTN5.js";import{c as X,d as Y}from"./chunk-67SBKZZD.js";import{c as Z,d as _}from"./chunk-D34QBGQ3.js";import{b as N}from"./chunk-XB426ZI7.js";import{b as E}from"./chunk-2IOUIOWE.js";import{b as G}from"./chunk-U4LP6WPJ.js";import{b as H}from"./chunk-Q2BKN6MV.js";import{b as J}from"./chunk-AZQ66C5R.js";import{b as K}from"./chunk-6U6CK6V4.js";import{b as L}from"./chunk-IAUA3FL7.js";import{b as O}from"./chunk-ZZPPBMHW.js";import{b as P}from"./chunk-SL4D2YES.js";import{b as j}from"./chunk-GIVPKQT5.js";import{b as y}from"./chunk-LVSKOXVG.js";import{b as A}from"./chunk-X7PEK6W7.js";import{b as $}from"./chunk-MPX22C7Y.js";import{b as S}from"./chunk-4VVLCPRH.js";import{b as T}from"./chunk-B4GXMUCA.js";import{b as B}from"./chunk-RUNWFUUE.js";import{b as D}from"./chunk-JU5KTPFP.js";import{b as h}from"./chunk-IQY3I4OH.js";import{b as w}from"./chunk-66PXNTAV.js";import"./chunk-RZ6FAJ25.js";import{b as x}from"./chunk-DMTOGHTU.js";import{b as v}from"./chunk-RX4PT2U7.js";import{d as k,e as q,f as C}from"./chunk-CE2ILL65.js";import"./chunk-GIFF636B.js";import{b}from"./chunk-4Y3GINAY.js";import"./chunk-BXOX2H2G.js";import{b as I}from"./chunk-EXCMJ23H.js";import{b as M}from"./chunk-FVFLR7NF.js";import{b as n}from"./chunk-XRZNW2KP.js";import{b as t}from"./chunk-NSSLXYEG.js";import{b as l}from"./chunk-HZM5PBQF.js";import{b as u}from"./chunk-CD3NCHIB.js";import{b as p}from"./chunk-QKQUVK53.js";import{b as e}from"./chunk-446TXLPR.js";import{b as d}from"./chunk-OH3VVXF7.js";import{b as c}from"./chunk-QFPJQSDK.js";import"./chunk-RUESYAVK.js";import"./chunk-CAXM2HMK.js";import"./chunk-SE4C7FJY.js";import{b as i}from"./chunk-PZ46XEZ4.js";import{b as g}from"./chunk-PKKBPSVJ.js";import"./chunk-Z72PSRMX.js";import{b as m}from"./chunk-L2KFCEBW.js";import"./chunk-K2K4KPOQ.js";import"./chunk-XILOLP4K.js";import{b as F}from"./chunk-RMG637UR.js";import"./chunk-OBH7XN5N.js";import{b as z}from"./chunk-RAL2LVDX.js";import{b as f}from"./chunk-IPWJZ22H.js";import"./chunk-4VDEBYW7.js";import"./chunk-7VWUKGDV.js";import"./chunk-DFAHK2EQ.js";import"./chunk-RAUBS6MJ.js";import"./chunk-463VWH7H.js";var Er=[i,g,m,F,z,f,n,t,l,u,p,e,d,c,h,w,x,v,k,q,C,b,I,M,j,y,A,$,S,T,B,D,E,G,H,J,K,L,O,P,Q,R,U,V,W,X,Y,Z,_,N,rr,or,ar,sr,ir,gr,mr,Fr,zr,fr,nr,tr,lr,ur,pr,er,dr,cr,hr,wr,xr,vr,kr,qr,Cr,br,Ir,Mr,jr,yr,Ar,$r,Sr];function Tr(){return Er}var Br=new Map;for(let r of Tr())Br.set(r.name,new Set(r.flags.map(o=>o.flag)));function Fa(r,o,Dr){let a=Br.get(o);if(!(!a||a.size===0))for(let s of Dr)a.has(s)&&r.hit(`cmd:flag:${o}:${s}`)}export{Fa as emitFlagCoverage};
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- import{b as d,e as c}from"./chunk-RAUBS6MJ.js";import{k as b}from"./chunk-463VWH7H.js";var S={name:"seq",async execute(q){let i=b(q),f=`
3
- `,m=!1,s=[],e=0;for(;e<i.length;){let t=i[e];if(t==="-s"&&e+1<i.length){f=i[e+1],e+=2;continue}if(t==="-w"){m=!0,e++;continue}if(t==="--"){e++;break}if(t.startsWith("-")&&t!=="-"){if(t.startsWith("-s")&&t.length>2){f=t.slice(2),e++;continue}if((t==="-ws"||t==="-sw")&&(m=!0,e+1<i.length)){f=i[e+1],e+=2;continue}}s.push(t),e++}for(;e<i.length;)s.push(i[e]),e++;if(s.length===0)return{stdout:d(),stderr:c(`seq: missing operand
4
- `),exitCode:1};let l=1,o=1,a;if(s.length===1?a=parseFloat(s[0]):s.length===2?(l=parseFloat(s[0]),a=parseFloat(s[1])):(l=parseFloat(s[0]),o=parseFloat(s[1]),a=parseFloat(s[2])),Number.isNaN(l)||Number.isNaN(o)||Number.isNaN(a)){let t=s.find(n=>Number.isNaN(parseFloat(n)));return{stdout:d(),stderr:c(`seq: invalid floating point argument: '${t}'
5
- `),exitCode:1}}if(o===0)return{stdout:d(),stderr:c(`seq: invalid Zero increment value: '0'
6
- `),exitCode:1};let r=[],p=t=>{let n=String(t),u=n.indexOf(".");return u===-1?0:n.length-u-1},g=Math.max(p(l),p(o),p(a)),h=1e5,x=0;if(o>0)for(let t=l;t<=a+1e-10&&!(x++>h);t+=o)r.push(g>0?t.toFixed(g):String(Math.round(t)));else for(let t=l;t>=a-1e-10&&!(x++>h);t+=o)r.push(g>0?t.toFixed(g):String(Math.round(t)));if(m&&r.length>0){let t=Math.max(...r.map(n=>n.replace("-","").length));for(let n=0;n<r.length;n++){let u=r[n].startsWith("-"),F=(u?r[n].slice(1):r[n]).padStart(t,"0");r[n]=u?`-${F}`:F}}let N=r.join(f);return{stdout:c(N?`${N}
7
- `:""),stderr:d(),exitCode:0}}},y={name:"seq",flags:[{flag:"-s",type:"value",valueHint:"string"},{flag:"-w",type:"boolean"}],needsArgs:!0};export{S as a,y as b};
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- import{d as Ir,e as Mr,f as jr}from"./chunk-ASU2EQWZ.js";import{b as yr}from"./chunk-4W52T6KS.js";import{b as Ar}from"./chunk-23CC4423.js";import{b as $r}from"./chunk-7YOACDUK.js";import"./chunk-23EV7RYO.js";import"./chunk-TACNCKUC.js";import{b as Sr}from"./chunk-EHJW6FCX.js";import{b as hr}from"./chunk-SDTTNNEH.js";import{b as wr}from"./chunk-5KQNIOZS.js";import{b as xr}from"./chunk-Z73LISDU.js";import{b as vr}from"./chunk-5IL5CXJC.js";import{b as kr}from"./chunk-V3N6H3L5.js";import{b as qr}from"./chunk-KAWPUEQM.js";import{b as Cr}from"./chunk-PRQYRYWV.js";import{b as br}from"./chunk-YG67AAKF.js";import{b as nr}from"./chunk-HY6WUGWS.js";import{b as tr}from"./chunk-7J7OY2YE.js";import{b as lr}from"./chunk-HEO6EBJ2.js";import{b as ur}from"./chunk-HT4IVOYZ.js";import{b as pr}from"./chunk-WXI44VNZ.js";import{b as er}from"./chunk-NNVWOCET.js";import{b as dr}from"./chunk-YER5PEKD.js";import{b as cr}from"./chunk-GUZJZK5O.js";import"./chunk-I2N72LXH.js";import{b as rr}from"./chunk-3VDZW42W.js";import{c as or,d as ar}from"./chunk-SZM4GZ4H.js";import{b as sr}from"./chunk-VWJBSJYM.js";import{c as ir,d as gr}from"./chunk-RFIBBYTO.js";import{b as mr}from"./chunk-YGAHXCGB.js";import"./chunk-N7P3SUNH.js";import"./chunk-UYBH3FNE.js";import{b as Fr}from"./chunk-D44C6YVE.js";import{b as zr}from"./chunk-RIV3HSPK.js";import{b as fr}from"./chunk-ECBMSCPX.js";import{b as Q}from"./chunk-QXOUI5BS.js";import{b as R}from"./chunk-44ROJVH3.js";import{b as U}from"./chunk-UAZICDKU.js";import{b as V}from"./chunk-AN2KBMAK.js";import{b as W}from"./chunk-444WPTN5.js";import{c as X,d as Y}from"./chunk-67SBKZZD.js";import{c as Z,d as _}from"./chunk-D34QBGQ3.js";import{b as N}from"./chunk-XB426ZI7.js";import{b as E}from"./chunk-2IOUIOWE.js";import{b as G}from"./chunk-U4LP6WPJ.js";import{b as H}from"./chunk-Q2BKN6MV.js";import{b as J}from"./chunk-AZQ66C5R.js";import{b as K}from"./chunk-6U6CK6V4.js";import{b as L}from"./chunk-IAUA3FL7.js";import{b as O}from"./chunk-ZZPPBMHW.js";import{b as P}from"./chunk-SL4D2YES.js";import{b as j}from"./chunk-GIVPKQT5.js";import{b as y}from"./chunk-LVSKOXVG.js";import{b as A}from"./chunk-X7PEK6W7.js";import{b as $}from"./chunk-MPX22C7Y.js";import{b as S}from"./chunk-4VVLCPRH.js";import{b as T}from"./chunk-B4GXMUCA.js";import{b as B}from"./chunk-RUNWFUUE.js";import{b as D}from"./chunk-JU5KTPFP.js";import{b as h}from"./chunk-IQY3I4OH.js";import{b as w}from"./chunk-66PXNTAV.js";import"./chunk-RZ6FAJ25.js";import{b as x}from"./chunk-DMTOGHTU.js";import{b as v}from"./chunk-RX4PT2U7.js";import{d as k,e as q,f as C}from"./chunk-CE2ILL65.js";import"./chunk-GIFF636B.js";import{b}from"./chunk-4Y3GINAY.js";import"./chunk-BXOX2H2G.js";import{b as I}from"./chunk-EXCMJ23H.js";import{b as M}from"./chunk-FVFLR7NF.js";import{b as n}from"./chunk-XRZNW2KP.js";import{b as t}from"./chunk-NSSLXYEG.js";import{b as l}from"./chunk-HZM5PBQF.js";import{b as u}from"./chunk-CD3NCHIB.js";import{b as p}from"./chunk-QKQUVK53.js";import{b as e}from"./chunk-446TXLPR.js";import{b as d}from"./chunk-OH3VVXF7.js";import{b as c}from"./chunk-QFPJQSDK.js";import"./chunk-RUESYAVK.js";import"./chunk-CAXM2HMK.js";import"./chunk-SE4C7FJY.js";import{b as i}from"./chunk-PZ46XEZ4.js";import{b as g}from"./chunk-PKKBPSVJ.js";import"./chunk-Z72PSRMX.js";import{b as m}from"./chunk-L2KFCEBW.js";import"./chunk-K2K4KPOQ.js";import"./chunk-XILOLP4K.js";import{b as F}from"./chunk-RMG637UR.js";import"./chunk-OBH7XN5N.js";import{b as z}from"./chunk-RAL2LVDX.js";import{b as f}from"./chunk-IPWJZ22H.js";import"./chunk-4VDEBYW7.js";import"./chunk-7VWUKGDV.js";import"./chunk-DFAHK2EQ.js";import"./chunk-RAUBS6MJ.js";import"./chunk-463VWH7H.js";var Er=[i,g,m,F,z,f,n,t,l,u,p,e,d,c,h,w,x,v,k,q,C,b,I,M,j,y,A,$,S,T,B,D,E,G,H,J,K,L,O,P,Q,R,U,V,W,X,Y,Z,_,N,rr,or,ar,sr,ir,gr,mr,Fr,zr,fr,nr,tr,lr,ur,pr,er,dr,cr,hr,wr,xr,vr,kr,qr,Cr,br,Ir,Mr,jr,yr,Ar,$r,Sr];function Tr(){return Er}var Br=new Map;for(let r of Tr())Br.set(r.name,new Set(r.flags.map(o=>o.flag)));function Fa(r,o,Dr){let a=Br.get(o);if(!(!a||a.size===0))for(let s of Dr)a.has(s)&&r.hit(`cmd:flag:${o}:${s}`)}export{Fa as emitFlagCoverage};
@@ -1,6 +0,0 @@
1
- import{b as d,e as c}from"./chunk-7USKQKOT.js";import{k as b}from"./chunk-DEQBZDPB.js";var S={name:"seq",async execute(q){let i=b(q),f=`
2
- `,m=!1,s=[],e=0;for(;e<i.length;){let t=i[e];if(t==="-s"&&e+1<i.length){f=i[e+1],e+=2;continue}if(t==="-w"){m=!0,e++;continue}if(t==="--"){e++;break}if(t.startsWith("-")&&t!=="-"){if(t.startsWith("-s")&&t.length>2){f=t.slice(2),e++;continue}if((t==="-ws"||t==="-sw")&&(m=!0,e+1<i.length)){f=i[e+1],e+=2;continue}}s.push(t),e++}for(;e<i.length;)s.push(i[e]),e++;if(s.length===0)return{stdout:d(),stderr:c(`seq: missing operand
3
- `),exitCode:1};let l=1,o=1,a;if(s.length===1?a=parseFloat(s[0]):s.length===2?(l=parseFloat(s[0]),a=parseFloat(s[1])):(l=parseFloat(s[0]),o=parseFloat(s[1]),a=parseFloat(s[2])),Number.isNaN(l)||Number.isNaN(o)||Number.isNaN(a)){let t=s.find(n=>Number.isNaN(parseFloat(n)));return{stdout:d(),stderr:c(`seq: invalid floating point argument: '${t}'
4
- `),exitCode:1}}if(o===0)return{stdout:d(),stderr:c(`seq: invalid Zero increment value: '0'
5
- `),exitCode:1};let r=[],p=t=>{let n=String(t),u=n.indexOf(".");return u===-1?0:n.length-u-1},g=Math.max(p(l),p(o),p(a)),h=1e5,x=0;if(o>0)for(let t=l;t<=a+1e-10&&!(x++>h);t+=o)r.push(g>0?t.toFixed(g):String(Math.round(t)));else for(let t=l;t>=a-1e-10&&!(x++>h);t+=o)r.push(g>0?t.toFixed(g):String(Math.round(t)));if(m&&r.length>0){let t=Math.max(...r.map(n=>n.replace("-","").length));for(let n=0;n<r.length;n++){let u=r[n].startsWith("-"),F=(u?r[n].slice(1):r[n]).padStart(t,"0");r[n]=u?`-${F}`:F}}let N=r.join(f);return{stdout:c(N?`${N}
6
- `:""),stderr:d(),exitCode:0}}},y={name:"seq",flags:[{flag:"-s",type:"value",valueHint:"string"},{flag:"-w",type:"boolean"}],needsArgs:!0};export{S as a,y as b};
@@ -1 +0,0 @@
1
- import{d as Ir,e as Mr,f as jr}from"./chunk-M5Z2PSET.js";import{b as yr}from"./chunk-MOCB6GPI.js";import{b as Ar}from"./chunk-BXVXYDEI.js";import{b as $r}from"./chunk-YZPQ2W3A.js";import"./chunk-53I2XH4A.js";import"./chunk-SPETXYUM.js";import{b as Sr}from"./chunk-W4YQKIRV.js";import{b as hr}from"./chunk-BJQMZYH3.js";import{b as wr}from"./chunk-KRXVUD4L.js";import{b as xr}from"./chunk-2WN53CVO.js";import{b as vr}from"./chunk-ZEHOKNGQ.js";import{b as kr}from"./chunk-WMCZEPWH.js";import{b as qr}from"./chunk-PEPBD26Q.js";import{b as Cr}from"./chunk-C44B5265.js";import{b as br}from"./chunk-VKPVP3LD.js";import{b as nr}from"./chunk-IAFRFK2O.js";import{b as tr}from"./chunk-2AMXQD57.js";import{b as lr}from"./chunk-5PIFIDMP.js";import{b as ur}from"./chunk-OYIATQ5V.js";import{b as pr}from"./chunk-ZILSBZZ6.js";import{b as er}from"./chunk-5BF5Z7CI.js";import{b as dr}from"./chunk-YR4NQYT4.js";import{b as cr}from"./chunk-GNXHG75U.js";import"./chunk-K374E7Q4.js";import{b as rr}from"./chunk-5J57FRET.js";import{c as or,d as ar}from"./chunk-SMOO4IXI.js";import{b as sr}from"./chunk-6V537K6X.js";import{c as ir,d as gr}from"./chunk-INJTM5VR.js";import{b as mr}from"./chunk-PLMPLLOW.js";import"./chunk-3ANOKDIL.js";import"./chunk-7MKBHGLS.js";import{b as Fr}from"./chunk-5PV2QBWC.js";import{b as zr}from"./chunk-LBJIRX7Z.js";import{b as fr}from"./chunk-KM46TYGR.js";import{b as Q}from"./chunk-WVUVOYGQ.js";import{b as R}from"./chunk-72YPFG2Z.js";import{b as U}from"./chunk-QOFUETQV.js";import{b as V}from"./chunk-QPHABKP3.js";import{b as W}from"./chunk-ULK572PS.js";import{c as X,d as Y}from"./chunk-ATPJVO6F.js";import{c as Z,d as _}from"./chunk-D4LWWAJ2.js";import{b as N}from"./chunk-DNPCEBCN.js";import{b as E}from"./chunk-U5Z7TJRO.js";import{b as G}from"./chunk-2OIUNVMP.js";import{b as H}from"./chunk-OZ76IUC5.js";import{b as J}from"./chunk-TOK4OQFP.js";import{b as K}from"./chunk-PES2WOIM.js";import{b as L}from"./chunk-C325X4RB.js";import{b as O}from"./chunk-JJ5E4XJI.js";import{b as P}from"./chunk-SF2462OV.js";import{b as j}from"./chunk-XZZ3XIZH.js";import{b as y}from"./chunk-KBCEHRTU.js";import{b as A}from"./chunk-Z6DABRIE.js";import{b as $}from"./chunk-URMOT4S7.js";import{b as S}from"./chunk-RZ4GSKWY.js";import{b as T}from"./chunk-2V4QPJXQ.js";import{b as B}from"./chunk-SJ7F47VW.js";import{b as D}from"./chunk-GMCBEP44.js";import{b as h}from"./chunk-BTTTDUMD.js";import{b as w}from"./chunk-JMFP263D.js";import"./chunk-YJHMB6QD.js";import{b as x}from"./chunk-SYTEZ2Y4.js";import{b as v}from"./chunk-EHY6GWKP.js";import{d as k,e as q,f as C}from"./chunk-GET3OC3O.js";import"./chunk-IJXFPKNC.js";import{b}from"./chunk-NDPSDM3Q.js";import"./chunk-D3IE6KOV.js";import{b as I}from"./chunk-BQFHZOZH.js";import{b as M}from"./chunk-WTT2UCIA.js";import{b as n}from"./chunk-H5X25CTO.js";import{b as t}from"./chunk-F77E6PCM.js";import{b as l}from"./chunk-XZMBEDQL.js";import{b as u}from"./chunk-26VNLF3H.js";import{b as p}from"./chunk-PUUP54QP.js";import{b as e}from"./chunk-4PFDHMBC.js";import{b as d}from"./chunk-USGCTFXK.js";import{b as c}from"./chunk-K7ZRPFN6.js";import"./chunk-MIFIRXNI.js";import"./chunk-UBLR5ACC.js";import"./chunk-YNYSPYQ5.js";import{b as i}from"./chunk-3P5XOPF6.js";import{b as g}from"./chunk-Q5XZ24VX.js";import"./chunk-J7YL5K5B.js";import{b as m}from"./chunk-XXS34VJC.js";import"./chunk-BMKJMOWP.js";import"./chunk-JSLN56GJ.js";import{b as F}from"./chunk-26DNZXYZ.js";import"./chunk-NUFRM6SI.js";import{b as z}from"./chunk-RTGKIAVM.js";import{b as f}from"./chunk-EHRCEDXN.js";import"./chunk-44UOCSGV.js";import"./chunk-GQSJJXDG.js";import"./chunk-PQPG4QOY.js";import"./chunk-7USKQKOT.js";import"./chunk-DEQBZDPB.js";var Er=[i,g,m,F,z,f,n,t,l,u,p,e,d,c,h,w,x,v,k,q,C,b,I,M,j,y,A,$,S,T,B,D,E,G,H,J,K,L,O,P,Q,R,U,V,W,X,Y,Z,_,N,rr,or,ar,sr,ir,gr,mr,Fr,zr,fr,nr,tr,lr,ur,pr,er,dr,cr,hr,wr,xr,vr,kr,qr,Cr,br,Ir,Mr,jr,yr,Ar,$r,Sr];function Tr(){return Er}var Br=new Map;for(let r of Tr())Br.set(r.name,new Set(r.flags.map(o=>o.flag)));function Fa(r,o,Dr){let a=Br.get(o);if(!(!a||a.size===0))for(let s of Dr)a.has(s)&&r.hit(`cmd:flag:${o}:${s}`)}export{Fa as emitFlagCoverage};