summaryrefslogtreecommitdiff
path: root/std/examples/gist.ts
diff options
context:
space:
mode:
Diffstat (limited to 'std/examples/gist.ts')
-rwxr-xr-xstd/examples/gist.ts96
1 files changed, 45 insertions, 51 deletions
diff --git a/std/examples/gist.ts b/std/examples/gist.ts
index 890d85099..d0e369c66 100755
--- a/std/examples/gist.ts
+++ b/std/examples/gist.ts
@@ -1,7 +1,5 @@
#!/usr/bin/env -S deno --allow-net --allow-env
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
-
-const { args, env, exit, readFile } = Deno;
import { parse } from "https://deno.land/std/flags/mod.ts";
function pathBase(p: string): string {
@@ -9,57 +7,53 @@ function pathBase(p: string): string {
return parts[parts.length - 1];
}
-async function main(): Promise<void> {
- const token = env()["GIST_TOKEN"];
- if (!token) {
- console.error("GIST_TOKEN environmental variable not set.");
- console.error("Get a token here: https://github.com/settings/tokens");
- exit(1);
- }
-
- const parsedArgs = parse(args.slice(1));
-
- if (parsedArgs._.length === 0) {
- console.error(
- "Usage: gist.ts --allow-env --allow-net [-t|--title Example] some_file " +
- "[next_file]"
- );
- exit(1);
- }
-
- const files = {};
- for (const filename of parsedArgs._) {
- const base = pathBase(filename);
- const content = await readFile(filename);
- const contentStr = new TextDecoder().decode(content);
- files[base] = { content: contentStr };
- }
+const token = Deno.env()["GIST_TOKEN"];
+if (!token) {
+ console.error("GIST_TOKEN environmental variable not set.");
+ console.error("Get a token here: https://github.com/settings/tokens");
+ Deno.exit(1);
+}
- const content = {
- description: parsedArgs.title || parsedArgs.t || "Example",
- public: false,
- files: files
- };
- const body = JSON.stringify(content);
+const parsedArgs = parse(Deno.args.slice(1));
- const res = await fetch("https://api.github.com/gists", {
- method: "POST",
- headers: [
- ["Content-Type", "application/json"],
- ["User-Agent", "Deno-Gist"],
- ["Authorization", `token ${token}`]
- ],
- body
- });
+if (parsedArgs._.length === 0) {
+ console.error(
+ "Usage: gist.ts --allow-env --allow-net [-t|--title Example] some_file " +
+ "[next_file]"
+ );
+ Deno.exit(1);
+}
- if (res.ok) {
- const resObj = await res.json();
- console.log("Success");
- console.log(resObj["html_url"]);
- } else {
- const err = await res.text();
- console.error("Failure to POST", err);
- }
+const files = {};
+for (const filename of parsedArgs._) {
+ const base = pathBase(filename);
+ const content = await Deno.readFile(filename);
+ const contentStr = new TextDecoder().decode(content);
+ files[base] = { content: contentStr };
}
-main();
+const content = {
+ description: parsedArgs.title || parsedArgs.t || "Example",
+ public: false,
+ files: files
+};
+const body = JSON.stringify(content);
+
+const res = await fetch("https://api.github.com/gists", {
+ method: "POST",
+ headers: [
+ ["Content-Type", "application/json"],
+ ["User-Agent", "Deno-Gist"],
+ ["Authorization", `token ${token}`]
+ ],
+ body
+});
+
+if (res.ok) {
+ const resObj = await res.json();
+ console.log("Success");
+ console.log(resObj["html_url"]);
+} else {
+ const err = await res.text();
+ console.error("Failure to POST", err);
+}