Skip to content

Commit

Permalink
fix(checks): better hex string, export, isNil doc
Browse files Browse the repository at this point in the history
  • Loading branch information
nkint committed Aug 12, 2019
1 parent 90dce20 commit 19b1981
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 19 deletions.
2 changes: 2 additions & 0 deletions packages/checks/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export * from "./is-false";
export * from "./is-file";
export * from "./is-firefox";
export * from "./is-function";
export * from "./is-hex-color";
export * from "./is-ie";
export * from "./is-in-range";
export * from "./is-int32";
Expand All @@ -27,6 +28,7 @@ export * from "./is-map";
export * from "./is-mobile";
export * from "./is-nan";
export * from "./is-negative";
export * from "./is-nil";
export * from "./is-node";
export * from "./is-not-string-iterable";
export * from "./is-null";
Expand Down
4 changes: 0 additions & 4 deletions packages/checks/src/is-hex-color-string.ts

This file was deleted.

5 changes: 5 additions & 0 deletions packages/checks/src/is-hex-color.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { isString } from "util";

const RE = /^#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})$/i;

export const isHexColor = (x: any): x is string => isString(x) && RE.test(x);
4 changes: 4 additions & 0 deletions packages/checks/src/is-nil.ts
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
/**
* Checks if x is null or undefined.
*
*/
export const isNil = (x: any): x is null | undefined => x == null;
35 changes: 20 additions & 15 deletions packages/checks/test/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { isSymbol } from "../src/is-symbol";
import { isTransferable } from "../src/is-transferable";
import { isTypedArray } from "../src/is-typedarray";
import { isNil } from "../src/is-nil";
import { isHexColorString } from "../src/is-hex-color-string";
import { isHexColor } from "../src/is-hex-color";

describe("checks", function() {
it("existsAndNotNull", () => {
Expand Down Expand Up @@ -167,19 +167,24 @@ describe("checks", function() {
assert.ok(!isNil(() => {}), "function");
});

it("isHexColorString", () => {
assert.ok(!isHexColorString(undefined), "undefined");
assert.ok(!isHexColorString(null), "null");
assert.ok(!isHexColorString("foo"), "invalid");
assert.ok(!isHexColorString("123"), "invalid");
assert.ok(!isHexColorString("#12."), "invalid");
assert.ok(!isHexColorString("#j23"), "invalid");
assert.ok(!isHexColorString("#jf3300"), "invalid");
assert.ok(!isHexColorString("#j30f"), "invalid");
assert.ok(!isHexColorString("#jf3300ff"), "invalid");
assert.ok(isHexColorString("#123"), "valid 3 digits rgb");
assert.ok(isHexColorString("#ff3300"), "valid 6 digits rrggbb");
assert.ok(isHexColorString("#f30f"), "valid 4 digits rgba");
assert.ok(isHexColorString("#ff3300ff"), "valid 8 digits rrggbbaa");
it("isHexColor", () => {
assert.ok(isHexColor("#123"), "valid 3 digits rgb");
assert.ok(isHexColor("#ff3300"), "valid 6 digits rrggbb");
assert.ok(isHexColor("#f30f"), "valid 4 digits rgba");
assert.ok(isHexColor("#ff3300ff"), "valid 8 digits rrggbbaa");
assert.ok(!isHexColor(undefined), "undefined");
assert.ok(!isHexColor(null), "null");
assert.ok(!isHexColor(""), "empty string");
assert.ok(!isHexColor("foo"), "invalid: foo");
assert.ok(!isHexColor("123"), "invalid: 123");
assert.ok(!isHexColor("#12."), "invalid: #12.");
assert.ok(!isHexColor("#j23"), "invalid: #j23");
assert.ok(!isHexColor("#jf3300"), "invalid: #jf3300");
assert.ok(!isHexColor("#j30f"), "invalid: #j30f");
assert.ok(!isHexColor("#jf3300ff"), "invalid: #jf3300ff");
assert.ok(!isHexColor("hi #123"), "invalid: hi #123");
assert.ok(!isHexColor("#ff3300 hi"), "invalid: #ff3300 hi");
assert.ok(!isHexColor("hi #ff3300 hi"), "invalid: hi #ff3300 hi");
assert.ok(!isHexColor("#123 #123"), "invalid: #123 #123");
});
});

0 comments on commit 19b1981

Please sign in to comment.