summaryrefslogtreecommitdiff
path: root/std/examples
diff options
context:
space:
mode:
authorCasper Beyer <caspervonb@pm.me>2021-02-02 19:05:46 +0800
committerGitHub <noreply@github.com>2021-02-02 12:05:46 +0100
commit6abf126c2a7a451cded8c6b5e6ddf1b69c84055d (patch)
treefd94c013a19fcb38954844085821ec1601c20e18 /std/examples
parenta2b5d44f1aa9d64f448a2a3cc2001272e2f60b98 (diff)
chore: remove std directory (#9361)
This removes the std folder from the tree. Various parts of the tests are pretty tightly dependent on std (47 direct imports and 75 indirect imports, not counting the cli tests that use them as fixtures) so I've added std as a submodule for now.
Diffstat (limited to 'std/examples')
-rw-r--r--std/examples/README.md61
-rw-r--r--std/examples/cat.ts7
-rw-r--r--std/examples/cat_test.ts30
-rw-r--r--std/examples/catj.ts109
-rw-r--r--std/examples/catj_test.ts98
-rw-r--r--std/examples/chat/index.html81
-rw-r--r--std/examples/chat/server.ts81
-rw-r--r--std/examples/chat/server_test.ts81
-rw-r--r--std/examples/colors.ts6
-rw-r--r--std/examples/colors_test.ts22
-rw-r--r--std/examples/curl.ts10
-rw-r--r--std/examples/curl_test.ts44
-rw-r--r--std/examples/echo_server.ts8
-rw-r--r--std/examples/echo_server_test.ts47
-rw-r--r--std/examples/flags.ts6
-rwxr-xr-xstd/examples/gist.ts61
-rw-r--r--std/examples/test.ts33
-rw-r--r--std/examples/test_test.ts2
-rw-r--r--std/examples/testdata/cat/hello.txt1
-rw-r--r--std/examples/testdata/cat/world.txt1
-rw-r--r--std/examples/testdata/catj/array.json5
-rw-r--r--std/examples/testdata/catj/object.json6
-rw-r--r--std/examples/testdata/catj/simple-array.json1
-rw-r--r--std/examples/testdata/catj/simple-object.json1
-rw-r--r--std/examples/welcome.ts1
-rw-r--r--std/examples/welcome_test.ts22
-rw-r--r--std/examples/xeval.ts91
-rw-r--r--std/examples/xeval_test.ts72
28 files changed, 0 insertions, 988 deletions
diff --git a/std/examples/README.md b/std/examples/README.md
deleted file mode 100644
index cdc477833..000000000
--- a/std/examples/README.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# Deno example programs
-
-This module contains small scripts that demonstrate use of Deno and its standard
-module.
-
-You can run these examples using just their URL or install the example as an
-executable script which references the URL. (Think of installing as creating a
-bookmark to a program.)
-
-### A TCP echo server
-
-```shell
-deno run --allow-net https://deno.land/std/examples/echo_server.ts
-```
-
-Or
-
-```shell
-deno install --allow-net https://deno.land/std/examples/echo_server.ts
-```
-
-### cat - print file to standard output
-
-```shell
-deno install --allow-read -n deno_cat https://deno.land/std/examples/cat.ts
-deno_cat file.txt
-```
-
-### catj - print flattened JSON to standard output
-
-A very useful command by Soheil Rashidi ported to Deno.
-
-```shell
-deno install --allow-read https://deno.land/std/examples/catj.ts
-catj example.json
-catj file1.json file2.json
-echo example.json | catj -
-```
-
-### curl - print the contents of a url to standard output
-
-```shell
-deno run --allow-net=deno.land https://deno.land/std/examples/curl.ts https://deno.land/
-```
-
-### gist - easily create and upload Gists
-
-```
-export GIST_TOKEN=ABC # Generate at https://github.com/settings/tokens
-deno install --allow-net --allow-env https://deno.land/std/examples/gist.ts
-gist --title "Example gist 1" script.ts
-gist --t "Example gist 2" script2.ts
-```
-
-### chat - WebSocket chat server and browser client
-
-```shell
-deno run --allow-net --allow-read https://deno.land/std/examples/chat/server.ts
-```
-
-Open http://localhost:8080 on the browser.
diff --git a/std/examples/cat.ts b/std/examples/cat.ts
deleted file mode 100644
index 04c40034b..000000000
--- a/std/examples/cat.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-const filenames = Deno.args;
-for (const filename of filenames) {
- const file = await Deno.open(filename);
- await Deno.copy(file, Deno.stdout);
- file.close();
-}
diff --git a/std/examples/cat_test.ts b/std/examples/cat_test.ts
deleted file mode 100644
index 9664ff713..000000000
--- a/std/examples/cat_test.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { assertStrictEquals } from "../testing/asserts.ts";
-import { dirname, fromFileUrl } from "../path/mod.ts";
-
-const moduleDir = dirname(fromFileUrl(import.meta.url));
-
-Deno.test("[examples/cat] print multiple files", async () => {
- const decoder = new TextDecoder();
- const process = Deno.run({
- cmd: [
- Deno.execPath(),
- "run",
- "--quiet",
- "--allow-read",
- "cat.ts",
- "testdata/cat/hello.txt",
- "testdata/cat/world.txt",
- ],
- cwd: moduleDir,
- stdout: "piped",
- });
-
- try {
- const output = await process.output();
- const actual = decoder.decode(output).trim();
- assertStrictEquals(actual, "Hello\nWorld");
- } finally {
- process.close();
- }
-});
diff --git a/std/examples/catj.ts b/std/examples/catj.ts
deleted file mode 100644
index 907f14879..000000000
--- a/std/examples/catj.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/env -S deno run --allow-read
-// Ported from: https://github.com/soheilpro/catj
-// Copyright (c) 2014 Soheil Rashidi
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-
-// Install using `deno install`
-// $ deno install --allow-read https://deno.land/std/examples/catj.ts
-
-import { parse } from "../flags/mod.ts";
-import * as colors from "../fmt/colors.ts";
-
-const decoder = new TextDecoder();
-
-// deno-lint-ignore no-explicit-any
-function isObject(arg: any): arg is Record<string, unknown> {
- return !!arg && arg.constructor === Object;
-}
-
-function isValidIdentifier(value: string): boolean {
- // eslint-disable-next-line max-len
- return /^(?!(?:do|if|in|for|let|new|try|var|case|else|enum|eval|null|this|true|void|with|break|catch|class|const|false|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$)[\x24A-Z\x5Fa-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F0\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC][\x240-9A-Z\x5Fa-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0\u08A2-\u08AC\u08E4-\u08FE\u0900-\u0963\u0966-\u096F\u0971-\u0977\u0979-\u097F\u0981-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C01-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C82\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D02\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F0\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191C\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1D00-\u1DE6\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA697\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7B\uAA80-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE26\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]*$/
- .test(
- value,
- );
-}
-
-function printValue(value: unknown, path: string): void {
- if (typeof value === "string") {
- value = colors.green('"' + value + '"');
- } else if (typeof value === "number") {
- value = value.toString();
- } else if (typeof value === "boolean") {
- value = colors.yellow(value.toString());
- }
-
- console.log(path + " = " + value);
-}
-
-function printObject(obj: Record<string, unknown>, path: string): void {
- for (const key of Object.keys(obj)) {
- const value = obj[key];
- let nodePath = path + colors.cyan(".") + key;
-
- if (!isValidIdentifier(key)) {
- nodePath = (path ? path : colors.cyan(".")) + '["' + key + '"]';
- }
-
- if (Array.isArray(value)) {
- printArray(value, nodePath);
- } else if (isObject(value)) {
- printObject(value, nodePath);
- } else {
- printValue(value, nodePath);
- }
- }
-}
-
-function printArray(array: unknown[], path: string): void {
- for (const index in array) {
- const value = array[index];
- const nodePath = (path ? path : colors.cyan(".")) + "[" +
- colors.cyan(index) + "]";
-
- if (Array.isArray(value)) {
- printArray(value, nodePath);
- } else if (isObject(value)) {
- printObject(value, nodePath);
- } else {
- printValue(value, nodePath);
- }
- }
-}
-
-// deno-lint-ignore no-explicit-any
-function print(data: any[] | Record<string, unknown>): void {
- if (Array.isArray(data)) {
- printArray(data, "");
- } else {
- printObject(data, "");
- }
-}
-
-if (import.meta.main) {
- const parsedArgs = parse(Deno.args);
-
- if (parsedArgs.h || parsedArgs.help || parsedArgs._.length === 0) {
- console.log("Usage: catj [-h|--help] [file...]");
- console.log();
- console.log("Examples:");
- console.log();
- console.log("// print file:\n catj file.json");
- console.log();
- console.log("// print multiple files:\n catj file1.json file2.json");
- console.log();
- console.log("// print from stdin:\n cat file.json | catj -");
- }
-
- if (parsedArgs._[0] === "-") {
- const contents = await Deno.readAll(Deno.stdin);
- const json = JSON.parse(decoder.decode(contents));
- print(json);
- } else {
- for (const fileName of parsedArgs._) {
- const fileContents = await Deno.readFile(fileName.toString());
- const json = JSON.parse(decoder.decode(fileContents));
- print(json);
- }
- }
-}
diff --git a/std/examples/catj_test.ts b/std/examples/catj_test.ts
deleted file mode 100644
index 365b5c0b7..000000000
--- a/std/examples/catj_test.ts
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { assertStrictEquals } from "../testing/asserts.ts";
-import { dirname, fromFileUrl } from "../path/mod.ts";
-
-const moduleDir = dirname(fromFileUrl(import.meta.url));
-
-Deno.test("[examples/catj] print an array", async () => {
- const decoder = new TextDecoder();
- const process = catj("testdata/catj/array.json");
- try {
- const output = await process.output();
- const actual = decoder.decode(output).trim();
- const expected = [
- '.[0] = "string"',
- ".[1] = 100",
- '.[2].key = "value"',
- '.[2].array[0] = "foo"',
- '.[2].array[1] = "bar"',
- ].join("\n");
-
- assertStrictEquals(actual, expected);
- } finally {
- process.stdin.close();
- process.close();
- }
-});
-
-Deno.test("[examples/catj] print an object", async () => {
- const decoder = new TextDecoder();
- const process = catj("testdata/catj/object.json");
- try {
- const output = await process.output();
- const actual = decoder.decode(output).trim();
- const expected = [
- '.string = "foobar"',
- ".number = 123",
- '.array[0].message = "hello"',
- ].join("\n");
-
- assertStrictEquals(actual, expected);
- } finally {
- process.stdin.close();
- process.close();
- }
-});
-
-Deno.test("[examples/catj] print multiple files", async () => {
- const decoder = new TextDecoder();
- const process = catj(
- "testdata/catj/simple-object.json",
- "testdata/catj/simple-array.json",
- );
- try {
- const output = await process.output();
- const actual = decoder.decode(output).trim();
- const expected = ['.message = "hello"', ".[0] = 1", ".[1] = 2"].join("\n");
-
- assertStrictEquals(actual, expected);
- } finally {
- process.stdin.close();
- process.close();
- }
-});
-
-Deno.test("[examples/catj] read from stdin", async () => {
- const decoder = new TextDecoder();
- const process = catj("-");
- const input = `{ "foo": "bar" }`;
- try {
- await process.stdin.write(new TextEncoder().encode(input));
- process.stdin.close();
- const output = await process.output();
- const actual = decoder.decode(output).trim();
-
- assertStrictEquals(actual, '.foo = "bar"');
- } finally {
- process.close();
- }
-});
-
-function catj(
- ...files: string[]
-): Deno.Process<Deno.RunOptions & { stdin: "piped"; stdout: "piped" }> {
- return Deno.run({
- cmd: [
- Deno.execPath(),
- "run",
- "--quiet",
- "--allow-read",
- "catj.ts",
- ...files,
- ],
- cwd: moduleDir,
- stdin: "piped",
- stdout: "piped",
- env: { NO_COLOR: "true" },
- });
-}
diff --git a/std/examples/chat/index.html b/std/examples/chat/index.html
deleted file mode 100644
index 2daf288b3..000000000
--- a/std/examples/chat/index.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <title>ws chat example</title>
- </head>
- <body>
- <div>
- <input type="text" id="input" />
- <button id="sendButton" disabled>send</button>
- <button id="connectButton" disabled>connect</button>
- <button id="closeButton" disabled>close</button>
- </div>
- <div id="status"></div>
- <ul id="timeline"></ul>
- <script>
- let ws;
- function messageDom(msg) {
- const div = document.createElement("li");
- div.className = "message";
- div.innerText = msg;
- return div;
- }
- const timeline = document.getElementById("timeline");
- const sendButton = document.getElementById("sendButton");
- sendButton.onclick = send;
- const closeButton =document.getElementById("closeButton");
- closeButton.onclick=close;
- const connectButton = document.getElementById("connectButton");
- connectButton.onclick=connect;
- const status = document.getElementById("status");
- const input = document.getElementById("input");
- input.addEventListener("keydown", keyDownEvent);
- function send() {
- const msg = input.value;
- ws.send(msg);
- applyState({inputValue: ""});
- }
- function keyDownEvent(e) {
- if (e.keyCode === 13) return send();
- }
- function connect() {
- if (ws) ws.close();
- ws = new WebSocket(`ws://${location.host}/ws`);
- ws.addEventListener("open", () => {
- console.log("open", ws);
- applyState({connected: true});
- });
- ws.addEventListener("message", ({data}) => {
- timeline.appendChild(messageDom(data));
- });
- ws.addEventListener("close", () => {
- applyState({connect: false});
- });
- }
- function close() {
- ws.close();
- applyState({connected: false});
- }
- function applyState({connected, status, inputValue}) {
- if (inputValue != null) {
- input.value = inputValue;
- }
- if(status != null) {
- status.innerText = status;
- }
- if (connected != null) {
- if (connected) {
- sendButton.disabled = false;
- connectButton.disabled = true;
- closeButton.disabled= false;
- } else {
- sendButton.disabled= true;
- connectButton.disabled=false;
- closeButton.disabled=true;
- }
- }
- }
- connect();
- </script>
- </body>
-</html>
diff --git a/std/examples/chat/server.ts b/std/examples/chat/server.ts
deleted file mode 100644
index 39b5ee124..000000000
--- a/std/examples/chat/server.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { listenAndServe } from "../../http/server.ts";
-import {
- acceptable,
- acceptWebSocket,
- isWebSocketCloseEvent,
- WebSocket,
-} from "../../ws/mod.ts";
-import { fromFileUrl } from "../../path/mod.ts";
-
-const clients = new Map<number, WebSocket>();
-let clientId = 0;
-function dispatch(msg: string): void {
- for (const client of clients.values()) {
- client.send(msg);
- }
-}
-async function wsHandler(ws: WebSocket): Promise<void> {
- const id = ++clientId;
- clients.set(id, ws);
- dispatch(`Connected: [${id}]`);
- for await (const msg of ws) {
- console.log(`msg:${id}`, msg);
- if (typeof msg === "string") {
- dispatch(`[${id}]: ${msg}`);
- } else if (isWebSocketCloseEvent(msg)) {
- clients.delete(id);
- dispatch(`Closed: [${id}]`);
- break;
- }
- }
-}
-
-listenAndServe({ port: 8080 }, async (req) => {
- if (req.method === "GET" && req.url === "/") {
- //Serve with hack
- const u = new URL("./index.html", import.meta.url);
- if (u.protocol.startsWith("http")) {
- // server launched by deno run http(s)://.../server.ts,
- fetch(u.href).then(async (resp) => {
- const body = new Uint8Array(await resp.arrayBuffer());
- return req.respond({
- status: resp.status,
- headers: new Headers({
- "content-type": "text/html",
- }),
- body,
- });
- });
- } else {
- // server launched by deno run ./server.ts
- const file = await Deno.open(fromFileUrl(u));
- req.respond({
- status: 200,
- headers: new Headers({
- "content-type": "text/html",
- }),
- body: file,
- });
- }
- }
- if (req.method === "GET" && req.url === "/favicon.ico") {
- req.respond({
- status: 302,
- headers: new Headers({
- location: "https://deno.land/favicon.ico",
- }),
- });
- }
- if (req.method === "GET" && req.url === "/ws") {
- if (acceptable(req)) {
- acceptWebSocket({
- conn: req.conn,
- bufReader: req.r,
- bufWriter: req.w,
- headers: req.headers,
- }).then(wsHandler);
- }
- }
-});
-console.log("chat server starting on :8080....");
diff --git a/std/examples/chat/server_test.ts b/std/examples/chat/server_test.ts
deleted file mode 100644
index 80a66cb2f..000000000
--- a/std/examples/chat/server_test.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { assert, assertEquals } from "../../testing/asserts.ts";
-import { TextProtoReader } from "../../textproto/mod.ts";
-import { BufReader } from "../../io/bufio.ts";
-import { delay } from "../../async/delay.ts";
-import { dirname, fromFileUrl, resolve } from "../../path/mod.ts";
-
-const moduleDir = resolve(dirname(fromFileUrl(import.meta.url)));
-
-async function startServer(): Promise<
- Deno.Process<Deno.RunOptions & { stdout: "piped" }>
-> {
- const server = Deno.run({
- cmd: [
- Deno.execPath(),
- "run",
- "--quiet",
- "--allow-net",
- "--allow-read",
- "server.ts",
- ],
- cwd: moduleDir,
- stdout: "piped",
- });
- try {
- assert(server.stdout != null);
- const r = new TextProtoReader(new BufReader(server.stdout));
- const s = await r.readLine();
- assert(s !== null && s.includes("chat server starting"));
- } catch (err) {
- server.stdout.close();
- server.close();
- }
-
- return server;
-}
-
-Deno.test({
- name: "[examples/chat] GET / should serve html",
- async fn() {
- const server = await startServer();
- try {
- const resp = await fetch("http://127.0.0.1:8080/");
- assertEquals(resp.status, 200);
- assertEquals(resp.headers.get("content-type"), "text/html");
- const html = await resp.text();
- assert(html.includes("ws chat example"), "body is ok");
- } finally {
- server.close();
- server.stdout.close();
- }
- await delay(10);
- },
-});
-
-Deno.test({
- name: "[examples/chat] GET /ws should upgrade conn to ws",
- async fn() {
- const server = await startServer();
- let ws: WebSocket;
- try {
- ws = new WebSocket("ws://127.0.0.1:8080/ws");
- await new Promise<void>((resolve) => {
- ws.onmessage = ((message) => {
- assertEquals(message.data, "Connected: [1]");
- ws.onmessage = ((message) => {
- assertEquals(message.data, "[1]: Hello");
- ws.close();
- resolve();
- });
- ws.send("Hello");
- });
- });
- } catch (err) {
- console.log(err);
- } finally {
- server.close();
- server.stdout.close();
- }
- },
-});
diff --git a/std/examples/colors.ts b/std/examples/colors.ts
deleted file mode 100644
index 4af8d9bfa..000000000
--- a/std/examples/colors.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { bgBlue, bold, italic, red } from "../fmt/colors.ts";
-
-if (import.meta.main) {
- console.log(bgBlue(italic(red(bold("Hello world!")))));
-}
diff --git a/std/examples/colors_test.ts b/std/examples/colors_test.ts
deleted file mode 100644
index 4e009e329..000000000
--- a/std/examples/colors_test.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { assertStrictEquals } from "../testing/asserts.ts";
-import { dirname, fromFileUrl } from "../path/mod.ts";
-
-const moduleDir = dirname(fromFileUrl(import.meta.url));
-
-Deno.test("[examples/colors] print a colored text", async () => {
- const decoder = new TextDecoder();
- const process = Deno.run({
- cmd: [Deno.execPath(), "run", "--quiet", "colors.ts"],
- cwd: moduleDir,
- stdout: "piped",
- });
- try {
- const output = await process.output();
- const actual = decoder.decode(output).trim();
- const expected = "Hello world!";
- assertStrictEquals(actual, expected);
- } finally {
- process.close();
- }
-});
diff --git a/std/examples/curl.ts b/std/examples/curl.ts
deleted file mode 100644
index 2ed194446..000000000
--- a/std/examples/curl.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-const url_ = Deno.args[0];
-const res = await fetch(url_);
-
-// TODO(ry) Re-enable streaming in this example.
-// Originally we did: await Deno.copy(res.body, Deno.stdout);
-// But maybe more JS-y would be: res.pipeTo(Deno.stdout);
-
-const body = new Uint8Array(await res.arrayBuffer());
-await Deno.stdout.write(body);
diff --git a/std/examples/curl_test.ts b/std/examples/curl_test.ts
deleted file mode 100644
index 6612b17cc..000000000
--- a/std/examples/curl_test.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { serve } from "../http/server.ts";
-import { assertStrictEquals } from "../testing/asserts.ts";
-import { dirname, fromFileUrl } from "../path/mod.ts";
-
-const moduleDir = dirname(fromFileUrl(import.meta.url));
-
-Deno.test({
- name: "[examples/curl] send a request to a specified url",
- fn: async () => {
- const server = serve({ port: 8081 });
- const serverPromise = (async (): Promise<void> => {
- for await (const req of server) {
- req.respond({ body: "Hello world" });
- }
- })();
-
- const decoder = new TextDecoder();
- const process = Deno.run({
- cmd: [
- Deno.execPath(),
- "run",
- "--quiet",
- "--allow-net",
- "curl.ts",
- "http://localhost:8081",
- ],
- cwd: moduleDir,
- stdout: "piped",
- });
-
- try {
- const output = await process.output();
- const actual = decoder.decode(output).trim();
- const expected = "Hello world";
-
- assertStrictEquals(actual, expected);
- } finally {
- server.close();
- process.close();
- await serverPromise;
- }
- },
-});
diff --git a/std/examples/echo_server.ts b/std/examples/echo_server.ts
deleted file mode 100644
index 03e0d6070..000000000
--- a/std/examples/echo_server.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-const hostname = "0.0.0.0";
-const port = 8080;
-const listener = Deno.listen({ hostname, port });
-console.log(`Listening on ${hostname}:${port}`);
-for await (const conn of listener) {
- Deno.copy(conn, conn);
-}
diff --git a/std/examples/echo_server_test.ts b/std/examples/echo_server_test.ts
deleted file mode 100644
index 24e0c416b..000000000
--- a/std/examples/echo_server_test.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { assertNotEquals, assertStrictEquals } from "../testing/asserts.ts";
-import { BufReader, ReadLineResult } from "../io/bufio.ts";
-import { dirname, fromFileUrl } from "../path/mod.ts";
-
-const moduleDir = dirname(fromFileUrl(import.meta.url));
-
-Deno.test("[examples/echo_server]", async () => {
- const encoder = new TextEncoder();
- const decoder = new TextDecoder();
- const process = Deno.run({
- cmd: [Deno.execPath(), "run", "--quiet", "--allow-net", "echo_server.ts"],
- cwd: moduleDir,
- stdout: "piped",
- });
-
- let conn: Deno.Conn | undefined;
- try {
- const processReader = new BufReader(process.stdout);
- const message = await processReader.readLine();
-
- assertNotEquals(message, null);
- assertStrictEquals(
- decoder.decode((message as ReadLineResult).line).trim(),
- "Listening on 0.0.0.0:8080",
- );
-
- conn = await Deno.connect({ hostname: "127.0.0.1", port: 8080 });
- const connReader = new BufReader(conn);
-
- await conn.write(encoder.encode("Hello echo_server\n"));
- const result = await connReader.readLine();
-
- assertNotEquals(result, null);
-
- const actualResponse = decoder
- .decode((result as ReadLineResult).line)
- .trim();
- const expectedResponse = "Hello echo_server";
-
- assertStrictEquals(actualResponse, expectedResponse);
- } finally {
- conn?.close();
- process.stdout.close();
- process.close();
- }
-});
diff --git a/std/examples/flags.ts b/std/examples/flags.ts
deleted file mode 100644
index a452494c5..000000000
--- a/std/examples/flags.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { parse } from "../flags/mod.ts";
-
-if (import.meta.main) {
- console.dir(parse(Deno.args));
-}
diff --git a/std/examples/gist.ts b/std/examples/gist.ts
deleted file mode 100755
index 1698ab354..000000000
--- a/std/examples/gist.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/env -S deno run --allow-net --allow-env
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-// A program to post files to gist.github.com. Use the following to install it:
-// deno install -f --allow-env --allow-read --allow-net=api.github.com https://deno.land/std/examples/gist.ts
-import { parse } from "../flags/mod.ts";
-
-function pathBase(p: string): string {
- const parts = p.split("/");
- return parts[parts.length - 1];
-}
-
-const token = Deno.env.get("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 parsedArgs = parse(Deno.args);
-
-if (parsedArgs._.length === 0) {
- console.error(
- "Usage: gist.ts --allow-env --allow-net [-t|--title Example] some_file " +
- "[next_file]",
- );
- Deno.exit(1);
-}
-
-const files: Record<string, { content: string }> = {};
-for (const filename of parsedArgs._) {
- const base = pathBase(filename as string);
- const content = await Deno.readFile(filename as string);
- const contentStr = new TextDecoder().decode(content);
- files[base] = { content: contentStr };
-}
-
-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);
-}
diff --git a/std/examples/test.ts b/std/examples/test.ts
deleted file mode 100644
index 6afeb221f..000000000
--- a/std/examples/test.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { assertEquals } from "../testing/asserts.ts";
-import { dirname, fromFileUrl, relative, resolve } from "../path/mod.ts";
-
-const moduleDir = dirname(fromFileUrl(import.meta.url));
-
-/** Example of how to do basic tests */
-Deno.test("t1", function (): void {
- assertEquals("hello", "hello");
-});
-
-Deno.test("t2", function (): void {
- assertEquals("world", "world");
-});
-
-/** A more complicated test that runs a subprocess. */
-Deno.test("catSmoke", async function (): Promise<void> {
- const p = Deno.run({
- cmd: [
- Deno.execPath(),
- "run",
- "--quiet",
- "--allow-read",
- relative(Deno.cwd(), resolve(moduleDir, "cat.ts")),
- relative(Deno.cwd(), resolve(moduleDir, "..", "README.md")),
- ],
- stdout: "null",
- stderr: "null",
- });
- const s = await p.status();
- assertEquals(s.code, 0);
- p.close();
-});
diff --git a/std/examples/test_test.ts b/std/examples/test_test.ts
deleted file mode 100644
index c8e3c4ac1..000000000
--- a/std/examples/test_test.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import "./test.ts";
diff --git a/std/examples/testdata/cat/hello.txt b/std/examples/testdata/cat/hello.txt
deleted file mode 100644
index e965047ad..000000000
--- a/std/examples/testdata/cat/hello.txt
+++ /dev/null
@@ -1 +0,0 @@
-Hello
diff --git a/std/examples/testdata/cat/world.txt b/std/examples/testdata/cat/world.txt
deleted file mode 100644
index 216e97ce0..000000000
--- a/std/examples/testdata/cat/world.txt
+++ /dev/null
@@ -1 +0,0 @@
-World
diff --git a/std/examples/testdata/catj/array.json b/std/examples/testdata/catj/array.json
deleted file mode 100644
index 6dac876a0..000000000
--- a/std/examples/testdata/catj/array.json
+++ /dev/null
@@ -1,5 +0,0 @@
-[
- "string",
- 100,
- { "key": "value", "array": ["foo", "bar"] }
-]
diff --git a/std/examples/testdata/catj/object.json b/std/examples/testdata/catj/object.json
deleted file mode 100644
index 290c008ff..000000000
--- a/std/examples/testdata/catj/object.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "string": "foobar",
- "number": 123,
- "array": [{ "message": "hello" }]
-}
-
diff --git a/std/examples/testdata/catj/simple-array.json b/std/examples/testdata/catj/simple-array.json
deleted file mode 100644
index 44e2ace7e..000000000
--- a/std/examples/testdata/catj/simple-array.json
+++ /dev/null
@@ -1 +0,0 @@
-[1, 2]
diff --git a/std/examples/testdata/catj/simple-object.json b/std/examples/testdata/catj/simple-object.json
deleted file mode 100644
index 52bb626d8..000000000
--- a/std/examples/testdata/catj/simple-object.json
+++ /dev/null
@@ -1 +0,0 @@
-{ "message": "hello" }
diff --git a/std/examples/welcome.ts b/std/examples/welcome.ts
deleted file mode 100644
index f983ca89b..000000000
--- a/std/examples/welcome.ts
+++ /dev/null
@@ -1 +0,0 @@
-console.log("Welcome to Deno!");
diff --git a/std/examples/welcome_test.ts b/std/examples/welcome_test.ts
deleted file mode 100644
index 2e26aa967..000000000
--- a/std/examples/welcome_test.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { assertStrictEquals } from "../testing/asserts.ts";
-import { dirname, fromFileUrl } from "../path/mod.ts";
-
-const moduleDir = dirname(fromFileUrl(import.meta.url));
-
-Deno.test("[examples/welcome] print a welcome message", async () => {
- const decoder = new TextDecoder();
- const process = Deno.run({
- cmd: [Deno.execPath(), "run", "--quiet", "welcome.ts"],
- cwd: moduleDir,
- stdout: "piped",
- });
- try {
- const output = await process.output();
- const actual = decoder.decode(output).trim();
- const expected = "Welcome to Deno!";
- assertStrictEquals(actual, expected);
- } finally {
- process.close();
- }
-});
diff --git a/std/examples/xeval.ts b/std/examples/xeval.ts
deleted file mode 100644
index cff15edd0..000000000
--- a/std/examples/xeval.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { parse } from "../flags/mod.ts";
-import { readStringDelim } from "../io/bufio.ts";
-
-// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncFunction.
-const AsyncFunction = Object.getPrototypeOf(async function (): Promise<void> {})
- .constructor;
-
-const HELP_MSG = `xeval
-
-Run a script for each new-line or otherwise delimited chunk of standard input.
-
-Print all the usernames in /etc/passwd:
- cat /etc/passwd | deno run -A https://deno.land/std/examples/xeval.ts "a = $.split(':'); if (a) console.log(a[0])"
-
-A complicated way to print the current git branch:
- git branch | deno run -A https://deno.land/std/examples/xeval.ts -I 'line' "if (line.startsWith('*')) console.log(line.slice(2))"
-
-Demonstrates breaking the input up by space delimiter instead of by lines:
- cat LICENSE | deno run -A https://deno.land/std/examples/xeval.ts -d " " "if ($ === 'MIT') console.log('MIT licensed')",
-
-USAGE:
- deno run -A https://deno.land/std/examples/xeval.ts [OPTIONS] <code>
-OPTIONS:
- -d, --delim <delim> Set delimiter, defaults to newline
- -I, --replvar <replvar> Set variable name to be used in eval, defaults to $
-ARGS:
- <code>`;
-
-export type XevalFunc = (v: string) => void;
-
-export interface XevalOptions {
- delimiter?: string;
-}
-
-const DEFAULT_DELIMITER = "\n";
-
-export async function xeval(
- reader: Deno.Reader,
- xevalFunc: XevalFunc,
- { delimiter = DEFAULT_DELIMITER }: XevalOptions = {},
-): Promise<void> {
- for await (const chunk of readStringDelim(reader, delimiter)) {
- // Ignore empty chunks.
- if (chunk.length > 0) {
- await xevalFunc(chunk);
- }
- }
-}
-
-async function main(): Promise<void> {
- const parsedArgs = parse(Deno.args, {
- boolean: ["help"],
- string: ["delim", "replvar"],
- alias: {
- delim: ["d"],
- replvar: ["I"],
- help: ["h"],
- },
- default: {
- delim: DEFAULT_DELIMITER,
- replvar: "$",
- },
- });
- if (parsedArgs._.length != 1) {
- console.error(HELP_MSG);
- console.log(parsedArgs._);
- Deno.exit(1);
- }
- if (parsedArgs.help) {
- return console.log(HELP_MSG);
- }
-
- const delimiter = parsedArgs.delim;
- const replVar = parsedArgs.replvar;
- const code = parsedArgs._[0];
-
- // new AsyncFunction()'s error message for this particular case isn't great.
- if (!replVar.match(/^[_$A-z][_$A-z0-9]*$/)) {
- console.error(`Bad replvar identifier: "${replVar}"`);
- Deno.exit(1);
- }
-
- const xEvalFunc = new AsyncFunction(replVar, code);
-
- await xeval(Deno.stdin, xEvalFunc, { delimiter });
-}
-
-if (import.meta.main) {
- main();
-}
diff --git a/std/examples/xeval_test.ts b/std/examples/xeval_test.ts
deleted file mode 100644
index 4793c6346..000000000
--- a/std/examples/xeval_test.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
-import { xeval } from "./xeval.ts";
-import { StringReader } from "../io/readers.ts";
-import { decode, encode } from "../encoding/utf8.ts";
-import {
- assert,
- assertEquals,
- assertStringIncludes,
-} from "../testing/asserts.ts";
-import { dirname, fromFileUrl } from "../path/mod.ts";
-
-const moduleDir = dirname(fromFileUrl(import.meta.url));
-
-Deno.test("xevalSuccess", async function (): Promise<void> {
- const chunks: string[] = [];
- await xeval(new StringReader("a\nb\nc"), ($): number => chunks.push($));
- assertEquals(chunks, ["a", "b", "c"]);
-});
-
-Deno.test("xevalDelimiter", async function (): Promise<void> {
- const chunks: string[] = [];
- await xeval(
- new StringReader("!MADMADAMADAM!"),
- ($): number => chunks.push($),
- {
- delimiter: "MADAM",
- },
- );
- assertEquals(chunks, ["!MAD", "ADAM!"]);
-});
-
-const xevalPath = "xeval.ts";
-
-Deno.test({
- name: "xevalCliReplvar",
- fn: async function (): Promise<void> {
- const p = Deno.run({
- cmd: [
- Deno.execPath(),
- "run",
- "--quiet",
- xevalPath,
- "--replvar=abc",
- "console.log(abc)",
- ],
- cwd: moduleDir,
- stdin: "piped",
- stdout: "piped",
- stderr: "null",
- });
- assert(p.stdin != null);
- await p.stdin.write(encode("hello"));
- p.stdin.close();
- assertEquals(await p.status(), { code: 0, success: true });
- assertEquals(decode(await p.output()).trimEnd(), "hello");
- p.close();
- },
-});
-
-Deno.test("xevalCliSyntaxError", async function (): Promise<void> {
- const p = Deno.run({
- cmd: [Deno.execPath(), "run", "--quiet", xevalPath, "("],
- cwd: moduleDir,
- stdin: "null",
- stdout: "piped",
- stderr: "piped",
- });
- assertEquals(await p.status(), { code: 1, success: false });
- assertEquals(decode(await p.output()), "");
- assertStringIncludes(decode(await p.stderrOutput()), "SyntaxError");
- p.close();
-});