Skip to content

Commit 7072c8b

Browse files
authored
Rename D3Formatter to D3NumberFormatter (apache-superset#36)
BREAKING CHANGE: rename D3Formatter to D3NumberFormatter
1 parent cf4f821 commit 7072c8b

File tree

3 files changed

+18
-16
lines changed

3 files changed

+18
-16
lines changed

packages/superset-ui-number-format/src/NumberFormatterRegistry.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { RegistryWithDefaultKey } from '@superset-ui/core';
2-
import D3Formatter from './formatters/D3Formatter';
2+
import D3NumberFormatter from './formatters/D3NumberFormatter';
33
import { SI_3_DIGIT } from './NumberFormats';
44

55
const DEFAULT_FORMAT = SI_3_DIGIT;
@@ -20,7 +20,7 @@ export default class NumberFormatterRegistry extends RegistryWithDefaultKey {
2020
}
2121

2222
// Create new formatter if does not exist
23-
const formatter = new D3Formatter(targetFormat);
23+
const formatter = new D3NumberFormatter(targetFormat);
2424
this.registerValue(targetFormat, formatter);
2525

2626
return formatter;

packages/superset-ui-number-format/src/formatters/D3Formatter.js renamed to packages/superset-ui-number-format/src/formatters/D3NumberFormatter.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ import { format as d3Format } from 'd3-format';
33
import { isRequired } from '@superset-ui/core';
44
import NumberFormatter from '../NumberFormatter';
55

6-
export default class D3Formatter extends NumberFormatter {
6+
export default class D3NumberFormatter extends NumberFormatter {
77
/**
88
* Pass only the D3 format string to constructor
99
*
10-
* new D3Formatter('.2f');
10+
* new D3NumberFormatter('.2f');
1111
*
1212
* or accompany it with human-readable label and description
1313
*
14-
* new D3Formatter({
14+
* new D3NumberFormatter({
1515
* id: '.2f',
1616
* label: 'Float with 2 decimal points',
1717
* description: 'lorem ipsum dolor sit amet',
@@ -27,14 +27,16 @@ export default class D3Formatter extends NumberFormatter {
2727
let formatFunc;
2828
let isInvalid = false;
2929

30+
const { id, label, description } = config;
31+
3032
try {
31-
formatFunc = d3Format(config.id);
33+
formatFunc = d3Format(id);
3234
} catch (e) {
33-
formatFunc = () => `Invalid format: ${config.id}`;
35+
formatFunc = () => `Invalid format: ${id}`;
3436
isInvalid = true;
3537
}
3638

37-
super({ ...config, formatFunc });
39+
super({ description, formatFunc, id, label });
3840
this.isInvalid = isInvalid;
3941
}
4042
}

packages/superset-ui-number-format/test/formatters/D3Formatter.test.js renamed to packages/superset-ui-number-format/test/formatters/D3NumberFormatter.test.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
1-
import D3Formatter from '../../src/formatters/D3Formatter';
1+
import D3NumberFormatter from '../../src/formatters/D3NumberFormatter';
22

3-
describe('D3Formatter', () => {
4-
describe('new D3Formatter(config)', () => {
3+
describe('D3NumberFormatter', () => {
4+
describe('new D3NumberFormatter(config)', () => {
55
it('requires configOrFormatString', () => {
6-
expect(() => new D3Formatter()).toThrow();
6+
expect(() => new D3NumberFormatter()).toThrow();
77
});
88
describe('if configOrFormatString is string', () => {
99
it('uses the input as d3.format string', () => {
10-
const formatter = new D3Formatter('.2f');
10+
const formatter = new D3NumberFormatter('.2f');
1111
expect(formatter.format(100)).toEqual('100.00');
1212
});
1313
});
1414
describe('if configOrFormatString is not string', () => {
1515
it('requires field config.id', () => {
16-
expect(() => new D3Formatter({})).toThrow();
16+
expect(() => new D3NumberFormatter({})).toThrow();
1717
});
1818
it('uses d3.format(config.id) as format function', () => {
19-
const formatter = new D3Formatter({ id: ',.4f' });
19+
const formatter = new D3NumberFormatter({ id: ',.4f' });
2020
expect(formatter.format(12345.67)).toEqual('12,345.6700');
2121
});
2222
it('if it is an invalid d3 format, the format function displays error message', () => {
23-
const formatter = new D3Formatter({ id: 'i-am-groot' });
23+
const formatter = new D3NumberFormatter({ id: 'i-am-groot' });
2424
expect(formatter.format(12345.67)).toEqual('Invalid format: i-am-groot');
2525
});
2626
});

0 commit comments

Comments
 (0)