Skip to content

Commit 1654eda

Browse files
authored
fix: clarify the definition of isDefined (#815)
1 parent bbf891e commit 1654eda

File tree

4 files changed

+55
-3
lines changed

4 files changed

+55
-3
lines changed

giraffe/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@influxdata/giraffe",
3-
"version": "2.36.0",
3+
"version": "2.36.1",
44
"main": "dist/index.js",
55
"module": "dist/index.js",
66
"license": "MIT",

giraffe/src/utils/isDefined.test.ts

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import {isDefined, isDefinedOrNaN} from './isDefined'
2+
3+
describe('utils/isDefined', () => {
4+
describe('isDefined', () => {
5+
it('handles falsy input', () => {
6+
expect(isDefined()).toEqual(false)
7+
expect(isDefined(null)).toEqual(false)
8+
expect(isDefined(undefined)).toEqual(false)
9+
expect(isDefined(NaN)).toEqual(false)
10+
11+
expect(isDefined(false)).toEqual(true)
12+
expect(isDefined('')).toEqual(true)
13+
expect(isDefined(0)).toEqual(true)
14+
})
15+
16+
it('handles other input', () => {
17+
expect(isDefined(true)).toEqual(true)
18+
expect(isDefined('string')).toEqual(true)
19+
expect(isDefined(1)).toEqual(true)
20+
expect(isDefined({})).toEqual(true)
21+
expect(isDefined([])).toEqual(true)
22+
expect(isDefined(() => {})).toEqual(true)
23+
expect(isDefined(Symbol())).toEqual(true)
24+
})
25+
})
26+
27+
describe('isDefinedOrNaN', () => {
28+
it('handles falsy input', () => {
29+
expect(isDefinedOrNaN()).toEqual(false)
30+
expect(isDefinedOrNaN(null)).toEqual(false)
31+
expect(isDefinedOrNaN(undefined)).toEqual(false)
32+
33+
expect(isDefinedOrNaN(NaN)).toEqual(true)
34+
expect(isDefinedOrNaN(false)).toEqual(true)
35+
expect(isDefinedOrNaN('')).toEqual(true)
36+
expect(isDefinedOrNaN(0)).toEqual(true)
37+
})
38+
39+
it('handles other input', () => {
40+
expect(isDefinedOrNaN(true)).toEqual(true)
41+
expect(isDefinedOrNaN('string')).toEqual(true)
42+
expect(isDefinedOrNaN(1)).toEqual(true)
43+
expect(isDefinedOrNaN({})).toEqual(true)
44+
expect(isDefinedOrNaN([])).toEqual(true)
45+
expect(isDefinedOrNaN(() => {})).toEqual(true)
46+
expect(isDefinedOrNaN(Symbol())).toEqual(true)
47+
})
48+
})
49+
})

giraffe/src/utils/isDefined.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
export const isDefined = (x: any) => x !== null && x !== undefined && !isNaN(x)
1+
export const isDefined = (x?: any) =>
2+
x !== null && x !== undefined && !Number.isNaN(x)
3+
4+
export const isDefinedOrNaN = (x?: any) => x !== null && x !== undefined

stories/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@influxdata/giraffe-stories",
3-
"version": "2.36.0",
3+
"version": "2.36.1",
44
"license": "MIT",
55
"repository": {
66
"type": "git",

0 commit comments

Comments
 (0)