summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAxetroy <axetroy.dev@gmail.com>2019-12-23 17:36:25 +0800
committerRy Dahl <ry@tinyclouds.org>2019-12-23 04:36:25 -0500
commite88c801e76c16d4c0a92702e248cf811038ed4ab (patch)
treeab3ad00386f3c341e04bed64e8157c78fc9fe7cd
parentf07ffe89806392698fb8052691b2826f82f15bbe (diff)
std: remove wildcard export in uuid module (#3540)
-rw-r--r--std/uuid/README.md6
-rw-r--r--std/uuid/mod.ts16
-rwxr-xr-xstd/uuid/test.ts1
-rw-r--r--std/uuid/tests/generate.ts32
-rw-r--r--std/uuid/tests/v4/generate.ts2
-rw-r--r--std/uuid/tests/v4/validate.ts2
-rw-r--r--std/uuid/v4.ts2
7 files changed, 15 insertions, 46 deletions
diff --git a/std/uuid/README.md b/std/uuid/README.md
index 513a6ed53..fc2a10e90 100644
--- a/std/uuid/README.md
+++ b/std/uuid/README.md
@@ -5,11 +5,11 @@ Support for version 1, 3, 4, and 5 UUIDs.
## Usage
```ts
-import uuid, { validate } from "https://deno.land/std/uuid/mod.ts";
+import { v4 } from "https://deno.land/std/uuid/mod.ts";
// Generate a v4 uuid
-const myUUID = uuid();
+const myUUID = v4.generate();
// Validate a v4 uuid
-const isValid = validate(aString);
+const isValid = v4.validate(aString);
```
diff --git a/std/uuid/mod.ts b/std/uuid/mod.ts
index 64ca45385..1838133f5 100644
--- a/std/uuid/mod.ts
+++ b/std/uuid/mod.ts
@@ -1,5 +1,6 @@
// Based on https://github.com/kelektiv/node-uuid
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
+import * as v4 from "./v4.ts";
export const NIL_UUID = "00000000-0000-0000-0000-000000000000";
@@ -7,8 +8,13 @@ export function isNil(val: string): boolean {
return val === NIL_UUID;
}
-const NOT_IMPLEMENTED = (): void => {
- throw new Error("Not implemented");
+const NOT_IMPLEMENTED = {
+ generate(): never {
+ throw new Error("Not implemented");
+ },
+ validate(): never {
+ throw new Error("Not implemented");
+ }
};
// TODO Implement
@@ -16,11 +22,7 @@ export const v1 = NOT_IMPLEMENTED;
// TODO Implement
export const v3 = NOT_IMPLEMENTED;
-import _v4 from "./v4.ts";
-export const v4 = _v4;
+export { v4 };
// TODO Implement
export const v5 = NOT_IMPLEMENTED;
-
-export default v4;
-export * from "./v4.ts";
diff --git a/std/uuid/test.ts b/std/uuid/test.ts
index 257e07caf..610a46582 100755
--- a/std/uuid/test.ts
+++ b/std/uuid/test.ts
@@ -4,7 +4,6 @@ import { runIfMain } from "../testing/mod.ts";
// Generic Tests
import "./tests/isNil.ts";
-import "./tests/generate.ts";
// V4 Tests
import "./tests/v4/validate.ts";
diff --git a/std/uuid/tests/generate.ts b/std/uuid/tests/generate.ts
deleted file mode 100644
index 723740641..000000000
--- a/std/uuid/tests/generate.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
-import { assert, assertEquals } from "../../testing/asserts.ts";
-import { test } from "../../testing/mod.ts";
-import mod, { validate, v4 } from "../mod.ts";
-import { validate as validate4 } from "../v4.ts";
-
-test({
- name: "[UUID] uuid_v4",
- fn(): void {
- const u = mod();
- assertEquals(typeof u, "string", "returns a string");
- assert(u !== "", "return string is not empty");
- }
-});
-
-test({
- name: "[UUID] uuid_v4_format",
- fn(): void {
- for (let i = 0; i < 10000; i++) {
- const u = mod() as string;
- assert(validate(u), `${u} is not a valid uuid v4`);
- }
- }
-});
-
-test({
- name: "[UUID] default_is_v4",
- fn(): void {
- assertEquals(mod, v4, "default is v4");
- assertEquals(validate, validate4, "validate is v4");
- }
-});
diff --git a/std/uuid/tests/v4/generate.ts b/std/uuid/tests/v4/generate.ts
index 829183d97..bc03970d8 100644
--- a/std/uuid/tests/v4/generate.ts
+++ b/std/uuid/tests/v4/generate.ts
@@ -1,7 +1,7 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import { assert, assertEquals } from "../../../testing/asserts.ts";
import { test } from "../../../testing/mod.ts";
-import generate, { validate } from "../../v4.ts";
+import { generate, validate } from "../../v4.ts";
test({
name: "[UUID] test_uuid_v4",
diff --git a/std/uuid/tests/v4/validate.ts b/std/uuid/tests/v4/validate.ts
index fdec8383a..8358be66a 100644
--- a/std/uuid/tests/v4/validate.ts
+++ b/std/uuid/tests/v4/validate.ts
@@ -1,7 +1,7 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
import { assert } from "../../../testing/asserts.ts";
import { test } from "../../../testing/mod.ts";
-import generate, { validate } from "../../v4.ts";
+import { generate, validate } from "../../v4.ts";
test({
name: "[UUID] is_valid_uuid_v4",
diff --git a/std/uuid/v4.ts b/std/uuid/v4.ts
index 511933439..c6ca20615 100644
--- a/std/uuid/v4.ts
+++ b/std/uuid/v4.ts
@@ -9,7 +9,7 @@ export function validate(id: string): boolean {
return UUID_RE.test(id);
}
-export default function generate(): string {
+export function generate(): string {
const rnds = crypto.getRandomValues(new Uint8Array(16));
rnds[6] = (rnds[6] & 0x0f) | 0x40; // Version 4