Skip to content

Commit e3684a4

Browse files
authored
🔀 Merge pull request #64 from codermarcos/fix/issue-61
🆕 fix export problems
2 parents 76f71fa + 017b2db commit e3684a4

File tree

3 files changed

+38
-24
lines changed

3 files changed

+38
-24
lines changed

package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -17,37 +17,37 @@
1717
"lib"
1818
],
1919
"exports": {
20-
"/": {
20+
".": {
2121
"types": "./lib/simple-mask-money.d.ts",
2222
"node": "./lib/simple-mask-money.cjs.js",
2323
"import": "./lib/simple-mask-money.esm.js",
2424
"default": "./lib/simple-mask-money.umd.js"
2525
},
26-
"/set-mask": {
26+
"./set-mask": {
2727
"types": "./lib/set-mask.d.ts",
2828
"node": "./lib/set-mask.cjs.js",
2929
"import": "./lib/set-mask.esm.js",
3030
"default": "./lib/set-mask.umd.js"
3131
},
32-
"/remove-mask": {
32+
"./remove-mask": {
3333
"types": "./lib/remove-mask.d.ts",
3434
"node": "./lib/remove-mask.cjs.js",
3535
"import": "./lib/remove-mask.esm.js",
3636
"default": "./lib/remove-mask.umd.js"
3737
},
38-
"/format-to-number": {
38+
"./format-to-number": {
3939
"types": "./lib/format-to-number.d.ts",
4040
"node": "./lib/format-to-number.cjs.js",
4141
"import": "./lib/format-to-number.esm.js",
4242
"default": "./lib/format-to-number.umd.js"
4343
},
44-
"/create-instance-of": {
44+
"./create-instance-of": {
4545
"types": "./lib/create-instance-of.d.ts",
4646
"node": "./lib/create-instance-of.cjs.js",
4747
"import": "./lib/create-instance-of.esm.js",
4848
"default": "./lib/create-instance-of.umd.js"
4949
},
50-
"/format-to-currency": {
50+
"./format-to-currency": {
5151
"types": "./lib/format-to-currency.d.ts",
5252
"node": "./lib/format-to-currency.cjs.js",
5353
"import": "./lib/format-to-currency.esm.js",

src/simple-mask-money.ts

+19-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,19 @@
1-
export type { SimpleMaskMoneyConfiguration } from './types';
2-
export { default as setMask, SetMaskFunction } from 'src/set-mask';
3-
export { default as removeMask, RemoveMaskFunction } from 'src/remove-mask';
4-
export { default as formatToNumber, FormatToNumberFunction } from 'src/format-to-number';
5-
export { default as createInstanceOf, CreateInstanceOfFunction } from 'src/create-instance-of';
6-
export { default as formatToCurrency, FormatToCurrencyFunction } from 'src/format-to-currency';
1+
export type { SimpleMaskMoneyConfiguration } from 'src/types';
2+
3+
export type { SetMaskFunction } from 'src/set-mask';
4+
export type { RemoveMaskFunction } from 'src/remove-mask';
5+
export type { FormatToNumberFunction } from 'src/format-to-number';
6+
export type { CreateInstanceOfFunction } from 'src/create-instance-of';
7+
export type { FormatToCurrencyFunction } from 'src/format-to-currency';
8+
9+
import setMask from 'src/set-mask';
10+
import removeMask from 'src/remove-mask';
11+
import formatToNumber from 'src/format-to-number';
12+
import createInstanceOf from 'src/create-instance-of';
13+
import formatToCurrency from 'src/format-to-currency';
14+
15+
const SimpleMaskMoney = { setMask, removeMask, formatToNumber, createInstanceOf, formatToCurrency };
16+
17+
export default SimpleMaskMoney;
18+
19+
export { setMask, removeMask, formatToNumber, createInstanceOf, formatToCurrency };

tests/simple-mask-money.test.ts

+13-12
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,24 @@ describe(
88
it(
99
'should export correct elements',
1010
() => {
11+
const keysDefaultExported = Object.keys(SimpleMaskMoney.default);
1112
const keys = Object.keys(SimpleMaskMoney);
12-
expect(keys.length).toEqual(5);
13-
expect(keys).toContain('setMask');
14-
expect(keys).toContain('removeMask');
15-
expect(keys).toContain('formatToNumber');
16-
expect(keys).toContain('formatToCurrency');
17-
expect(keys).toContain('createInstanceOf');
13+
expect(keysDefaultExported.length).toEqual(5);
14+
expect(keys.length).toEqual(6);
15+
expect(keys).toContain('default');
1816
},
1917
);
2018

21-
it.each(Object.keys(SimpleMaskMoney))(
22-
'should export correct elements with correct functions',
23-
(functionName) => {
24-
expect(SimpleMaskMoney).toHaveProperty(functionName);
25-
expect(typeof SimpleMaskMoney[functionName as keyof typeof SimpleMaskMoney])
19+
it.each(['setMask', 'removeMask', 'formatToNumber', 'createInstanceOf', 'formatToCurrency'])(
20+
'should have all keys to default and to named export',
21+
(propertyName) => {
22+
expect(SimpleMaskMoney.default).toHaveProperty(propertyName);
23+
expect(SimpleMaskMoney).toHaveProperty(propertyName);
24+
expect(typeof SimpleMaskMoney[propertyName as keyof typeof SimpleMaskMoney])
2625
.toBe('function');
27-
},
26+
expect(typeof SimpleMaskMoney.default[propertyName as keyof typeof SimpleMaskMoney.default])
27+
.toBe('function');
28+
}
2829
);
2930
}
3031
);

0 commit comments

Comments
 (0)