Skip to content

Commit

Permalink
fix: negative numbers like -4.1 not highlighted with the right colo…
Browse files Browse the repository at this point in the history
…r in tree mode
  • Loading branch information
josdejong committed Nov 10, 2022
1 parent 460ede7 commit 071c3f9
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
5 changes: 5 additions & 0 deletions src/lib/utils/typeUtils.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ describe('typeUtils', () => {

it('valueType', () => {
strictEqual(valueType(2, JSON), 'number')
strictEqual(valueType(-2, JSON), 'number')
strictEqual(valueType(2.4e3, JSON), 'number')
strictEqual(valueType('some text', JSON), 'string')
strictEqual(valueType(true, JSON), 'boolean')
strictEqual(valueType(false, JSON), 'boolean')
Expand All @@ -96,12 +98,15 @@ describe('typeUtils', () => {
strictEqual(valueType(123n, JSON), 'number')
strictEqual(valueType(new Date(), JSON), 'unknown')
strictEqual(valueType(new LosslessNumber('123'), LosslessJSONParser as JSON), 'number')
strictEqual(valueType(new LosslessNumber('2.4e3'), LosslessJSONParser as JSON), 'number')
strictEqual(valueType(new LosslessNumber('-4.0'), LosslessJSONParser as JSON), 'number')
})

it('isStringContainingPrimitiveValue', () => {
strictEqual(isStringContainingPrimitiveValue(22, JSON), false)
strictEqual(isStringContainingPrimitiveValue('text', JSON), false)
strictEqual(isStringContainingPrimitiveValue('2.4', JSON), true)
strictEqual(isStringContainingPrimitiveValue('-2.4', JSON), true)
strictEqual(isStringContainingPrimitiveValue('2e3', JSON), true)
strictEqual(isStringContainingPrimitiveValue('true', JSON), true)
strictEqual(isStringContainingPrimitiveValue('false', JSON), true)
Expand Down
6 changes: 3 additions & 3 deletions src/lib/utils/typeUtils.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// TODO: unit test typeUtils.js

import { isDigit, isNumber } from './numberUtils.js'
import { isNumber } from './numberUtils.js'
import type { JSONParser } from '../types.js'

/**
Expand Down Expand Up @@ -118,9 +118,9 @@ export function valueType(value: unknown, parser: JSONParser): string {
return 'object'
}

// unknown type. Try out what stringfying results in
// unknown type (like a LosslessNumber). Try out what stringfying results in
const valueStr = parser.stringify(value)
if (valueStr && isDigit(valueStr[0])) {
if (valueStr && isNumber(valueStr)) {
return 'number'
}
if (valueStr === 'true' || valueStr === 'false') {
Expand Down

0 comments on commit 071c3f9

Please sign in to comment.