Skip to content

Commit e8fb41f

Browse files
committed
feat: add global parseFlags method
1 parent 8177dd4 commit e8fb41f

File tree

5 files changed

+35
-3
lines changed

5 files changed

+35
-3
lines changed

deps.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,8 @@ export { join } from "https://deno.land/[email protected]/path/mod.ts";
22
export { colors } from "https://deno.land/x/[email protected]/ansi/colors.ts";
33
export { iter, readAll } from "https://deno.land/[email protected]/io/util.ts";
44
export { default as escapeStr } from "https://esm.sh/[email protected]";
5+
export { parse as parseFlags } from "https://deno.land/[email protected]/flags/mod.ts";
6+
export type {
7+
ArgParsingOptions,
8+
Args,
9+
} from "https://deno.land/[email protected]/flags/mod.ts";

dzx.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
/// <reference path="./types.d.ts" />
22

33
import { join, readAll } from "./deps.ts";
4-
import { $, cd, quote } from "./mod.ts";
4+
import { $, cd, parseFlags, quote } from "./mod.ts";
55
import { error } from "./src/_utils.ts";
66

77
window.$ = $;
88
window.cd = cd;
99
window.quote = quote;
10+
window.parseFlags = parseFlags;
1011

1112
const script: string | undefined = Deno.args[0];
1213

mod.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { colors, escapeStr } from "./deps.ts";
22
import { cd } from "./src/cd.ts";
33
import { exec } from "./src/exec.ts";
44
import { quote } from "./src/quote.ts";
5+
import { parseFlags } from "./src/parse_flags.ts";
56

67
export type $ = typeof exec & typeof colors & {
78
verbose: boolean;
@@ -22,4 +23,4 @@ $.cwd = Deno.cwd();
2223
$.quote = escapeStr;
2324
$.throwErors = false;
2425

25-
export { cd, quote };
26+
export { cd, parseFlags, quote };

src/parse_flags.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { ArgParsingOptions, Args, parseFlags as _parseFlags } from "../deps.ts";
2+
3+
export function parseFlags(
4+
args: Array<string>,
5+
options?: ArgParsingOptions,
6+
): Args {
7+
if ($.verbose) {
8+
console.log($.brightMagenta(">_ %s"), args.join(" "));
9+
}
10+
return _parseFlags(args, options);
11+
}

types.d.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
1-
import type { $, cd as _cd, quote as _quote } from "./mod.ts";
1+
import type {
2+
$,
3+
cd as _cd,
4+
parseFlags as _parseFlags,
5+
quote as _quote,
6+
} from "./mod.ts";
7+
import type {
8+
ArgParsingOptions as _ArgParsingOptions,
9+
Args as _Args,
10+
} from "./deps.ts";
211

312
declare global {
413
const $: $;
514
const cd: typeof _cd;
615
const quote: typeof _quote;
16+
const parseFlags: typeof _parseFlags;
17+
18+
type ArgParsingOptions = _ArgParsingOptions;
19+
type Args = _Args;
720

821
interface Window {
922
$: $;
1023
cd: typeof _cd;
1124
quote: typeof _quote;
25+
parseFlags: typeof _parseFlags;
1226
}
1327
}

0 commit comments

Comments
 (0)