Skip to content

Commit 5d2107e

Browse files
committed
object.create, smaller
1 parent 7853d02 commit 5d2107e

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

index.js

+6-12
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,21 @@ function id(_) {
33
}
44

55
const DEFAULTS = {
6-
types: {},
6+
types: Object.create(null),
77
objDelimiter: '.',
88
mapDelimiter: ':',
99
preFilters: [],
1010
postFilters: []
1111
}
1212

13-
const compose = (...fns) => (res, ...args) =>
14-
fns.reduceRight((accum, next) => next(accum, ...args), res)
13+
const compose = (...fns) => (i, ...args) =>
14+
fns.reduceRight((a, n) => n(a, ...args), i)
1515

1616
const createRootObj = n =>
1717
isNaN(n) ? Object.create(null) : new Array(Number(n))
1818

19-
const normalizeField = delimiter => m => {
20-
if (m.indexOf(delimiter) > -1) {
21-
return m.split(delimiter)
22-
}
23-
24-
return [m, m]
25-
}
19+
const normalizeField = delimiter => m =>
20+
m.indexOf(delimiter) > -1 ? m.split(delimiter) : [m, m]
2621

2722
const getMapSpec = delimiter => {
2823
const normalizer = normalizeField(delimiter)
@@ -54,7 +49,6 @@ const get = (key, delimiter = DEFAULTS.objDelimiter) => {
5449
if (key == null) return id
5550

5651
const spec = key.split(delimiter)
57-
5852
return obj => spec.reduce((a, k) => (a ? a[k] : undefined), obj)
5953
}
6054

@@ -74,7 +68,7 @@ const assign = (key, delimiter = DEFAULTS.objDelimiter) => {
7468

7569
class Mapper {
7670
constructor(options) {
77-
this.config = Object.assign({}, DEFAULTS, options)
71+
this.config = Object.assign(Object.create(null), DEFAULTS, options)
7872
this.getMapSpec = getMapSpec(this.config.mapDelimiter)
7973

8074
this.mapFn = compose(

0 commit comments

Comments
 (0)