Skip to content

Commit 3426c99

Browse files
committed
feat(negative_number): add validator for negative number
1 parent 2811d11 commit 3426c99

4 files changed

Lines changed: 23 additions & 0 deletions

File tree

_tools/meta.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ export const makeOptions = (version: string): BuildOptions => ({
7272
version: "1.3.1",
7373
subPath: "number/is_positive_number.js",
7474
},
75+
"https://deno.land/x/isx@1.3.1/number/is_negative_number.ts": {
76+
name: "@miyauci/isx",
77+
version: "1.3.1",
78+
subPath: "number/is_negative_number.js",
79+
},
7580
"https://deno.land/x/isx@1.3.1/date/is_valid_date.ts": {
7681
name: "@miyauci/isx",
7782
version: "1.3.1",

combinator.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { OptionalValidator } from "./validators/object/optional.ts";
1212
import { NullishValidator } from "./validators/nullish.ts";
1313
import { IntegerValidator } from "./validators/number/integer.ts";
1414
import { PositiveNumberValidator } from "./validators/number/positive_number.ts";
15+
import { NegativeNumberValidator } from "./validators/number/negative_number.ts";
1516
import { PatternValidator } from "./validators/string/pattern.ts";
1617
import { CountValidator } from "./validators/iterable/count.ts";
1718
import { EmptyValidator } from "./validators/iterable/empty.ts";
@@ -127,6 +128,9 @@ export const unique = /* @__PURE__ */ new UniqueValidator().expect(({ item }) =>
127128

128129
// number
129130
export const int = /* @__PURE__ */ new IntegerValidator().expect(shouldBeBut);
131+
export const negative = /* @__PURE__ */ new NegativeNumberValidator().expect(
132+
shouldBeBut,
133+
);
130134
export const positive = /* @__PURE__ */ new PositiveNumberValidator()
131135
.expect(shouldBeBut);
132136

deps.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export { isSingle } from "https://deno.land/x/isx@1.3.1/iterable/is_single.ts";
77
export { isNonNullable } from "https://deno.land/x/isx@1.3.1/is_non_nullable.ts";
88
export { isString } from "https://deno.land/x/isx@1.3.1/is_string.ts";
99
export { isPositiveNumber } from "https://deno.land/x/isx@1.3.1/number/is_positive_number.ts";
10+
export { isNegativeNumber } from "https://deno.land/x/isx@1.3.1/number/is_negative_number.ts";
1011
export { isValidDate } from "https://deno.land/x/isx@1.3.1/date/is_valid_date.ts";
1112
export { filterKeys } from "https://deno.land/std@0.187.0/collections/filter_keys.ts";
1213
export { default as escapeStringRegex } from "https://esm.sh/escape-string-regexp@5.0.0?pin=v122";
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Copyright 2023-latest Tomoki Miyauchi. All rights reserved. MIT license.
2+
// This module is browser compatible.
3+
4+
import { ScalarValidator } from "../../utils.ts";
5+
import { isNegativeNumber, ToPredicate } from "../../deps.ts";
6+
7+
export class NegativeNumberValidator extends ScalarValidator<number> {
8+
is = isNegativeNumber as ToPredicate<typeof isNegativeNumber>;
9+
10+
override toString() {
11+
return "negative number";
12+
}
13+
}

0 commit comments

Comments
 (0)