Skip to content
This repository has been archived by the owner on Dec 10, 2021. It is now read-only.

Commit

Permalink
feat: add legacy function
Browse files Browse the repository at this point in the history
  • Loading branch information
kristw committed Mar 28, 2020
1 parent d316b79 commit e3ff424
Show file tree
Hide file tree
Showing 7 changed files with 72 additions and 0 deletions.
2 changes: 2 additions & 0 deletions packages/superset-ui-validator/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
export { default as legacyValidateInteger } from './legacyValidateInteger';
export { default as legacyValidateNumber } from './legacyValidateNumber';
export { default as validateInteger } from './validateInteger';
export { default as validateNumber } from './validateNumber';
export { default as validateNonEmpty } from './validateNonEmpty';
12 changes: 12 additions & 0 deletions packages/superset-ui-validator/src/legacyValidateInteger.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { t } from '@superset-ui/translation';

/**
* formerly called integer()
* @param v
*/
export default function legacyValidateInteger(v: unknown) {
if (v && (isNaN(v as number) || parseInt(v as string, 10) !== Number(v))) {
return t('is expected to be an integer');
}
return false;
}
12 changes: 12 additions & 0 deletions packages/superset-ui-validator/src/legacyValidateNumber.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { t } from '@superset-ui/translation';

/**
* formerly called numeric()
* @param v
*/
export default function numeric(v: unknown) {
if (v && isNaN(v as number)) {
return t('is expected to be a number');
}
return false;
}
20 changes: 20 additions & 0 deletions packages/superset-ui-validator/test/legacyValidateInteger.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { legacyValidateInteger } from '../src';

describe('legacyValidateInteger()', () => {
it('returns the warning message if invalid', () => {
expect(legacyValidateInteger(10.1)).toBeTruthy();
expect(legacyValidateInteger('abc')).toBeTruthy();
expect(legacyValidateInteger(Infinity)).toBeTruthy();
});
it('returns false if the input is valid', () => {
// superset seems to operate on this incorrect behavior at the moment
expect(legacyValidateInteger(NaN)).toBeFalsy();
expect(legacyValidateInteger(undefined)).toBeFalsy();
expect(legacyValidateInteger(null)).toBeFalsy();
expect(legacyValidateInteger('')).toBeFalsy();

expect(legacyValidateInteger(0)).toBeFalsy();
expect(legacyValidateInteger(10)).toBeFalsy();
expect(legacyValidateInteger('10')).toBeFalsy();
});
});
20 changes: 20 additions & 0 deletions packages/superset-ui-validator/test/legacyValidateNumber.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { legacyValidateNumber } from '../src';

describe('legacyValidateNumber()', () => {
it('returns the warning message if invalid', () => {
expect(legacyValidateNumber('abc')).toBeTruthy();
});
it('returns false if the input is valid', () => {
// superset seems to operate on this incorrect behavior at the moment
expect(legacyValidateNumber(NaN)).toBeFalsy();
expect(legacyValidateNumber(Infinity)).toBeFalsy();
expect(legacyValidateNumber(undefined)).toBeFalsy();
expect(legacyValidateNumber(null)).toBeFalsy();
expect(legacyValidateNumber('')).toBeFalsy();

expect(legacyValidateNumber(0)).toBeFalsy();
expect(legacyValidateNumber(10.1)).toBeFalsy();
expect(legacyValidateNumber(10)).toBeFalsy();
expect(legacyValidateNumber('10')).toBeFalsy();
});
});
3 changes: 3 additions & 0 deletions packages/superset-ui-validator/test/validateInteger.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@ import { validateInteger } from '../src';
describe('validateInteger()', () => {
it('returns the warning message if invalid', () => {
expect(validateInteger(10.1)).toBeTruthy();
expect(validateInteger(NaN)).toBeTruthy();
expect(validateInteger(Infinity)).toBeTruthy();
expect(validateInteger(undefined)).toBeTruthy();
expect(validateInteger(null)).toBeTruthy();
expect(validateInteger('abc')).toBeTruthy();
expect(validateInteger('')).toBeTruthy();
});
it('returns false if the input is valid', () => {
Expand Down
3 changes: 3 additions & 0 deletions packages/superset-ui-validator/test/validateNumber.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@ import { validateNumber } from '../src';

describe('validateNumber()', () => {
it('returns the warning message if invalid', () => {
expect(validateNumber(NaN)).toBeTruthy();
expect(validateNumber(Infinity)).toBeTruthy();
expect(validateNumber(undefined)).toBeTruthy();
expect(validateNumber(null)).toBeTruthy();
expect(validateNumber('abc')).toBeTruthy();
expect(validateNumber('')).toBeTruthy();
});
it('returns false if the input is valid', () => {
Expand Down

0 comments on commit e3ff424

Please sign in to comment.