Skip to content
This repository was archived by the owner on Jan 6, 2025. It is now read-only.

Commit f11371a

Browse files
authored
🔨 Remove core namespace fix #26 (#34)
* 🚚 Move Consts at top level * 🚚 Move using into util namespace * 🚚 Move set, unset and update into object namespace * 🔥 Remove core namespace
1 parent 79800bb commit f11371a

40 files changed

+393
-439
lines changed

.gitignore

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
/node_modules/
22
yarn-error.log
3-
/*.js
4-
/array/
5-
/collection/
6-
/core/
7-
/lang/
8-
/math/
9-
/seq/
3+
**/*.js
4+
!.*.js
5+
!/src/**/*.js

.npmignore

+1
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44
circle.yml
55
jsdoc.json
66
yarn.lock
7+
.*.js

.test.setup.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { should } from 'chai'
2+
3+
should()

package.json

+7-6
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,22 @@
2323
"devDependencies": {
2424
"babel-cli": "^6.24.1",
2525
"babel-eslint": "^7.2.3",
26-
"babel-preset-env": "^1.4.0",
26+
"babel-preset-env": "^1.5.2",
2727
"babel-preset-stage-0": "^6.24.1",
28-
"chai": "^3.5.0",
29-
"eslint": "^3.19.0",
28+
"chai": "^4.0.2",
29+
"eslint": "^4.0.0",
3030
"hotdoc": "^0.7.2",
3131
"jsdoc": "^3.4.3",
32-
"mocha": "^3.2.0"
32+
"mocha": "^3.4.2"
3333
},
3434
"peerDependencies": {
3535
"lodash": "^4.17.4"
3636
},
3737
"scripts": {
3838
"build": "babel src -d .",
3939
"lint": "eslint src",
40-
"test": "mocha --compilers js:babel-register src/**/*.spec.js",
41-
"docs": "jsdoc -c jsdoc.json"
40+
"test": "mocha --compilers js:babel-register --require .test.setup.js src/**/*.spec.js",
41+
"docs": "jsdoc -c jsdoc.json",
42+
"docs:private": "jsdoc -c jsdoc.json -p"
4243
}
4344
}

src/array/push.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import toArray from 'lodash/toArray'
2-
import update from '../core/update'
2+
import update from '../object/update'
33

44
/**
55
* Replaces by a new array containing the elements of the former array and one or more elements added to the end.
@@ -15,7 +15,7 @@ import update from '../core/update'
1515
* push({ nested: { prop: [1, 2] } }, 'nested.prop', 3, 4) // => { nested: { prop: [1, 2, 3, 4] } }
1616
* @see {@link https://lodash.com/docs#toArray|lodash.toArray} for more information.
1717
* @see {@link https://mdn.io/Array.prototype.push|Array.prototype.push} for more information.
18-
* @see {@link core.update|update} for more information.
18+
* @see {@link object.update|update} for more information.
1919
* @since 0.1.7
2020
*/
2121
export default update((value, ...values) => {

src/array/push.spec.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
/* eslint-env node, mocha */
2-
import { expect } from 'chai'
32
import push from './push'
43

54
describe('Push', () => {
@@ -9,15 +8,15 @@ describe('Push', () => {
98

109
const final = push(original, 'nested.prop', 3)
1110

12-
expect(final).to.be.deep.equal({ nested: { prop: [1, 2, 3] } })
13-
expect(original).to.be.deep.equal({ nested: { prop: [1, 2] } })
11+
final.should.deep.equal({ nested: { prop: [1, 2, 3] } })
12+
original.should.deep.equal({ nested: { prop: [1, 2] } })
1413
})
1514

1615
it('should add several elements', () => {
17-
expect(push({ nested: { prop: [1, 2] } }, 'nested.prop', 3, 4)).to.be.deep.equal({ nested: { prop: [1, 2, 3, 4] } })
16+
push({ nested: { prop: [1, 2] } }, 'nested.prop', 3, 4).should.deep.equal({ nested: { prop: [1, 2, 3, 4] } })
1817
})
1918

2019
it('should replace deep undefined with array', () => {
21-
expect(push(undefined, 'nested.prop', 1)).to.be.deep.equal({ nested: { prop: [1] } })
20+
push(undefined, 'nested.prop', 1).should.deep.equal({ nested: { prop: [1] } })
2221
})
2322
})

src/array/xor.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import update from '../core/update'
1+
import update from '../object/update'
22
import xor from 'lodash/xor'
33

44
/**
@@ -11,7 +11,7 @@ import xor from 'lodash/xor'
1111
* @return {Array} Returns the new array of filtered values.
1212
* @example xor({ nested: { prop: [1, 2] } }, 'nested.prop', [2, 3]) // => { nested: { prop: [1, 3] } }
1313
* @see {@link https://lodash.com/docs#xor|lodash.xor} for more information.
14-
* @see {@link core.update|update} for more information.
14+
* @see {@link object.update|update} for more information.
1515
* @since 0.1.6
1616
*/
1717
export default update(xor)

src/array/xor.spec.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
/* eslint-env node, mocha */
2-
import { expect } from 'chai'
32
import xor from './xor'
43

54
describe('Xor', () => {
@@ -11,12 +10,12 @@ describe('Xor', () => {
1110
const withTwoAndThree = { nested: { prop: twoAndThree } }
1211

1312
it('should xor arrays', () => {
14-
expect(xor(withOneAndTwo, 'nested.prop', twoAndThree)).to.be.deep.equal(withOneAndThree)
15-
expect(xor(withOneAndTwo, 'nested.prop', oneAndThree)).to.be.deep.equal(withTwoAndThree)
13+
xor(withOneAndTwo, 'nested.prop', twoAndThree).should.deep.equal(withOneAndThree)
14+
xor(withOneAndTwo, 'nested.prop', oneAndThree).should.deep.equal(withTwoAndThree)
1615
})
1716

1817
it('should xor deep undefined to array', () => {
19-
expect(xor({}, 'nested.prop', oneAndThree)).to.be.deep.equal(withOneAndThree)
20-
expect(xor(undefined, 'nested.prop', oneAndThree)).to.be.deep.equal(withOneAndThree)
18+
xor({}, 'nested.prop', oneAndThree).should.deep.equal(withOneAndThree)
19+
xor(undefined, 'nested.prop', oneAndThree).should.deep.equal(withOneAndThree)
2120
})
2221
})

src/collection/map.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import map from 'lodash/map'
2-
import update from '../core/update'
2+
import update from '../object/update'
33

44
/**
55
* Replaces by an array of values by running each element in the former collection thru iteratee.
@@ -12,7 +12,7 @@ import update from '../core/update'
1212
* @return {Object} Returns the updated object.
1313
* @see {@link https://lodash.com/docs#map|lodash.map} for more information.
1414
* @see {@link https://lodash.com/docs#identity|lodash.identity} for more information.
15-
* @see {@link core.update|update} for more information.
15+
* @see {@link object.update|update} for more information.
1616
* @since 0.1.8
1717
*/
1818
export default update(map)

src/collection/map.spec.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
/* eslint-env node, mocha */
2-
import { expect } from 'chai'
3-
42
import map from './map'
53

64
describe('Map', () => {
75

86
it('should map an array', () => {
9-
expect(map({ nested: { prop: [1, 2] } }, 'nested.prop', v => v * 2)).to.be.deep.equal({ nested: { prop: [2, 4] } })
7+
map({ nested: { prop: [1, 2] } }, 'nested.prop', v => v * 2).should.deep.equal({ nested: { prop: [2, 4] } })
108
})
119

1210
it('should replace deep undefined with empty array', () => {
13-
expect(map(undefined, 'nested.prop')).to.be.deep.equal({ nested: { prop: [] } })
11+
map(undefined, 'nested.prop').should.deep.equal({ nested: { prop: [] } })
1412
})
1513
})

src/consts/index.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**
2+
* Lodash FP conversion options.
3+
* @constant {Object}
4+
* @since 0.1.5
5+
* @private
6+
*/
7+
export const lodashFpConvertOptions = {
8+
rearg: false,
9+
curry: false,
10+
}

src/core/consts.js

-4
This file was deleted.

src/core/index.js

-16
This file was deleted.

src/core/set.spec.js

-21
This file was deleted.

src/core/update.spec.js

-30
This file was deleted.

src/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export * from './array'
22
export * from './collection'
3-
export * from './core'
43
export * from './lang'
54
export * from './math'
65
export * from './object'
76
export * from './seq'
7+
export * from './util'

src/lang/toggle.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import update from '../core/update'
1+
import update from '../object/update'
22

33
/**
44
* Applies <code>!</code> to the property.
@@ -8,7 +8,7 @@ import update from '../core/update'
88
* @param {Array|string} path The path of the property to set.
99
* @return {Object} Returns the updated object.
1010
* @example toggle({ nested: { prop: true } }, 'nested.prop') // { nested: { prop: false } }
11-
* @see {@link core.update|update} for more information.
11+
* @see {@link object.update|update} for more information.
1212
* @since 0.1.5
1313
*/
1414
export default update(v => !v)

src/lang/toggle.spec.js

+12-13
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
/* eslint-env node, mocha */
2-
import { expect } from 'chai'
32
import toggle from './toggle'
43

54
describe('Toggle', () => {
@@ -8,29 +7,29 @@ describe('Toggle', () => {
87
const withFalse = { nested: { prop: false } }
98

109
it('should toggle false to true', () => {
11-
expect(toggle(withFalse, 'nested.prop')).to.be.deep.equal(withTrue)
10+
toggle(withFalse, 'nested.prop').should.deep.equal(withTrue)
1211
})
1312

1413
it('should toggle falsy to true', () => {
15-
expect(toggle({ nested: {} }, 'nested.prop')).to.be.deep.equal(withTrue)
16-
expect(toggle({ nested: { prop: null } }, 'nested.prop')).to.be.deep.equal(withTrue)
17-
expect(toggle({ nested: { prop: '' } }, 'nested.prop')).to.be.deep.equal(withTrue)
18-
expect(toggle({ nested: { prop: 0 } }, 'nested.prop')).to.be.deep.equal(withTrue)
14+
toggle({ nested: {} }, 'nested.prop').should.deep.equal(withTrue)
15+
toggle({ nested: { prop: null } }, 'nested.prop').should.deep.equal(withTrue)
16+
toggle({ nested: { prop: '' } }, 'nested.prop').should.deep.equal(withTrue)
17+
toggle({ nested: { prop: 0 } }, 'nested.prop').should.deep.equal(withTrue)
1918
})
2019

2120
it('should toggle deep undefined to true', () => {
22-
expect(toggle({}, 'nested.prop')).to.be.deep.equal(withTrue)
23-
expect(toggle(undefined, 'nested.prop')).to.be.deep.equal(withTrue)
21+
toggle({}, 'nested.prop').should.deep.equal(withTrue)
22+
toggle(undefined, 'nested.prop').should.deep.equal(withTrue)
2423
})
2524

2625
it('should toggle true to false', () => {
27-
expect(toggle(withTrue, 'nested.prop')).to.be.deep.equal(withFalse)
26+
toggle(withTrue, 'nested.prop').should.deep.equal(withFalse)
2827
})
2928

3029
it('should toggle truthy to false', () => {
31-
expect(toggle({ nested: { prop: 'a' } }, 'nested.prop')).to.be.deep.equal(withFalse)
32-
expect(toggle({ nested: { prop: {} } }, 'nested.prop')).to.be.deep.equal(withFalse)
33-
expect(toggle({ nested: { prop: [] } }, 'nested.prop')).to.be.deep.equal(withFalse)
34-
expect(toggle({ nested: { prop: 1 } }, 'nested.prop')).to.be.deep.equal(withFalse)
30+
toggle({ nested: { prop: 'a' } }, 'nested.prop').should.deep.equal(withFalse)
31+
toggle({ nested: { prop: {} } }, 'nested.prop').should.deep.equal(withFalse)
32+
toggle({ nested: { prop: [] } }, 'nested.prop').should.deep.equal(withFalse)
33+
toggle({ nested: { prop: 1 } }, 'nested.prop').should.deep.equal(withFalse)
3534
})
3635
})

src/math/add.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import add from 'lodash/add'
2-
import update from '../core/update'
2+
import update from '../object/update'
33

44
/**
55
* Replaces by the addition of the former number and the given number.
@@ -11,7 +11,7 @@ import update from '../core/update'
1111
* @return {Object} Returns the updated object.
1212
* @example add({ nested: { prop: 2 } }, 'nested.prop', 4) // => { nested: { prop: 6 } }
1313
* @see {@link https://lodash.com/docs#add|lodash.add} for more information.
14-
* @see {@link core.update|update} for more information.
14+
* @see {@link object.update|update} for more information.
1515
* @since 0.1.7
1616
*/
1717
export default update(add)

src/math/add.spec.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
/* eslint-env node, mocha */
22
import add from './add'
3-
import { expect } from 'chai'
43

54
describe('Add', () => {
65

76
it('should add two numbers', () => {
8-
expect(add({ nested: { prop: 2 } }, 'nested.prop', 4)).to.be.deep.equal({ nested: { prop: 6 } })
7+
add({ nested: { prop: 2 } }, 'nested.prop', 4).should.deep.equal({ nested: { prop: 6 } })
98
})
109
})

src/object/assign.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import assign from 'lodash/fp/assign'
2-
import { lodashFpConvertOptions } from '../core/consts'
3-
import update from '../core/update'
2+
import { lodashFpConvertOptions } from '../consts'
3+
import update from '../object/update'
44

55
const rawAssign = assign.convert(lodashFpConvertOptions)
66

@@ -15,7 +15,7 @@ const rawAssign = assign.convert(lodashFpConvertOptions)
1515
* @param {...Object} [sources] The source objects.
1616
* @return {Object} Returns the updated object.
1717
* @example assign({ nested: { a: 1, b: 2 } }, 'nested', { b: 3, c: 4 }) // => { nested: { a:1, b: 3, c: 4 } }
18-
* @see {@link core.update|update} for more information.
18+
* @see {@link object.update|update} for more information.
1919
* @see {@link https://lodash.com/docs#assign|lodash.assign} for more information.
2020
* @since 0.1.12
2121
*/

src/object/assign.spec.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
/* eslint-env node, mocha */
22
import assign from './assign'
3-
import { expect } from 'chai'
43

54
describe('Assign', () => {
65

@@ -23,6 +22,6 @@ describe('Assign', () => {
2322
}
2423

2524
it('should assign objects', () => {
26-
expect(assign(objectOne, 'nested', objectTwo)).to.be.deep.equal(output)
25+
assign(objectOne, 'nested', objectTwo).should.deep.equal(output)
2726
})
2827
})

0 commit comments

Comments
 (0)