Skip to content

Commit

Permalink
fix: clarify the definition of isDefined (#815)
Browse files Browse the repository at this point in the history
  • Loading branch information
TCL735 authored Sep 28, 2022
1 parent bbf891e commit 1654eda
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 3 deletions.
2 changes: 1 addition & 1 deletion giraffe/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@influxdata/giraffe",
"version": "2.36.0",
"version": "2.36.1",
"main": "dist/index.js",
"module": "dist/index.js",
"license": "MIT",
Expand Down
49 changes: 49 additions & 0 deletions giraffe/src/utils/isDefined.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import {isDefined, isDefinedOrNaN} from './isDefined'

describe('utils/isDefined', () => {
describe('isDefined', () => {
it('handles falsy input', () => {
expect(isDefined()).toEqual(false)
expect(isDefined(null)).toEqual(false)
expect(isDefined(undefined)).toEqual(false)
expect(isDefined(NaN)).toEqual(false)

expect(isDefined(false)).toEqual(true)
expect(isDefined('')).toEqual(true)
expect(isDefined(0)).toEqual(true)
})

it('handles other input', () => {
expect(isDefined(true)).toEqual(true)
expect(isDefined('string')).toEqual(true)
expect(isDefined(1)).toEqual(true)
expect(isDefined({})).toEqual(true)
expect(isDefined([])).toEqual(true)
expect(isDefined(() => {})).toEqual(true)
expect(isDefined(Symbol())).toEqual(true)
})
})

describe('isDefinedOrNaN', () => {
it('handles falsy input', () => {
expect(isDefinedOrNaN()).toEqual(false)
expect(isDefinedOrNaN(null)).toEqual(false)
expect(isDefinedOrNaN(undefined)).toEqual(false)

expect(isDefinedOrNaN(NaN)).toEqual(true)
expect(isDefinedOrNaN(false)).toEqual(true)
expect(isDefinedOrNaN('')).toEqual(true)
expect(isDefinedOrNaN(0)).toEqual(true)
})

it('handles other input', () => {
expect(isDefinedOrNaN(true)).toEqual(true)
expect(isDefinedOrNaN('string')).toEqual(true)
expect(isDefinedOrNaN(1)).toEqual(true)
expect(isDefinedOrNaN({})).toEqual(true)
expect(isDefinedOrNaN([])).toEqual(true)
expect(isDefinedOrNaN(() => {})).toEqual(true)
expect(isDefinedOrNaN(Symbol())).toEqual(true)
})
})
})
5 changes: 4 additions & 1 deletion giraffe/src/utils/isDefined.ts
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
export const isDefined = (x: any) => x !== null && x !== undefined && !isNaN(x)
export const isDefined = (x?: any) =>
x !== null && x !== undefined && !Number.isNaN(x)

export const isDefinedOrNaN = (x?: any) => x !== null && x !== undefined
2 changes: 1 addition & 1 deletion stories/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@influxdata/giraffe-stories",
"version": "2.36.0",
"version": "2.36.1",
"license": "MIT",
"repository": {
"type": "git",
Expand Down

0 comments on commit 1654eda

Please sign in to comment.