From e30e75e5ed88ff011cf90e97e449a5058e32f86b Mon Sep 17 00:00:00 2001 From: Damien Clarke Date: Wed, 15 Jan 2020 17:12:32 +1100 Subject: [PATCH 1/3] refactor: make pop and push identify children by key, not index --- packages/dataparcels/.size-limit.json | 14 +- packages/dataparcels/package.json | 2 +- .../src/change/ChangeRequestReducer.js | 4 - .../__test__/ChangeRequestReducer-test.js | 10 - .../ChangeRequestReducerIndexed-test.js | 220 +----------------- packages/dataparcels/src/parcel/Parcel.js | 28 +-- .../__test__/IndexedParcelMethods-test.js | 54 ++++- packages/dataparcels/src/parcelData/get.js | 16 +- .../src/parcelData/keyOrIndexToKey.js | 2 +- packages/dataparcels/src/parcelData/pop.js | 14 -- packages/dataparcels/src/parcelData/shift.js | 14 -- packages/dataparcels/src/parcelData/update.js | 16 +- packages/dataparcels/yarn.lock | 46 +--- packages/react-dataparcels-drag/package.json | 2 +- packages/react-dataparcels-drag/yarn.lock | 66 +----- packages/react-dataparcels/.size-limit.json | 14 +- packages/react-dataparcels/package.json | 2 +- packages/react-dataparcels/yarn.lock | 60 +---- 18 files changed, 111 insertions(+), 473 deletions(-) delete mode 100644 packages/dataparcels/src/parcelData/pop.js delete mode 100644 packages/dataparcels/src/parcelData/shift.js diff --git a/packages/dataparcels/.size-limit.json b/packages/dataparcels/.size-limit.json index b7961596..2ed8a1be 100644 --- a/packages/dataparcels/.size-limit.json +++ b/packages/dataparcels/.size-limit.json @@ -1,6 +1,6 @@ [ { - "limit": "10.5 KB", + "limit": "10.4 KB", "path": "lib/index.js" }, { @@ -12,7 +12,7 @@ "path": "cancel.js" }, { - "limit": "7.5 KB", + "limit": "7.4 KB", "path": "ChangeRequest.js" }, { @@ -20,15 +20,15 @@ "path": "deleted.js" }, { - "limit": "5.9 KB", + "limit": "5.8 KB", "path": "ParcelNode.js" }, { - "limit": "6 KB", + "limit": "6.2 KB", "path": "asNode.js" }, { - "limit": "6 KB", + "limit": "6.2 KB", "path": "asChildNodes.js" }, { @@ -36,11 +36,11 @@ "path": "asRaw.js" }, { - "limit": "6.1 KB", + "limit": "6.3 KB", "path": "translate.js" }, { - "limit": "5.2 KB", + "limit": "5.4 KB", "path": "validation.js" } ] diff --git a/packages/dataparcels/package.json b/packages/dataparcels/package.json index 2d0a3a48..cbf6804d 100644 --- a/packages/dataparcels/package.json +++ b/packages/dataparcels/package.json @@ -39,7 +39,7 @@ }, "dependencies": { "@babel/runtime": "^7.1.5", - "unmutable": "^0.46.1" + "unmutable": "^0.47.1" }, "devDependencies": { "@babel/cli": "^7.1.2", diff --git a/packages/dataparcels/src/change/ChangeRequestReducer.js b/packages/dataparcels/src/change/ChangeRequestReducer.js index 94535b5a..591d0fe9 100644 --- a/packages/dataparcels/src/change/ChangeRequestReducer.js +++ b/packages/dataparcels/src/change/ChangeRequestReducer.js @@ -14,11 +14,9 @@ import deleteSelfWithMarker from '../parcelData/deleteSelfWithMarker'; import insertAfter from '../parcelData/insertAfter'; import insertBefore from '../parcelData/insertBefore'; import map from '../parcelData/map'; -import pop from '../parcelData/pop'; import push from '../parcelData/push'; import setMeta from '../parcelData/setMeta'; import setSelf from '../parcelData/setSelf'; -import shift from '../parcelData/shift'; import swap from '../parcelData/swap'; import swapNext from '../parcelData/swapNext'; import swapPrev from '../parcelData/swapPrev'; @@ -30,12 +28,10 @@ const actionMap = { insertAfter, //: (lastKey, value) => insertAfter(lastKey, value), insertBefore, //: (lastKey, value) => insertBefore(lastKey, value), map: (lastKey, updater) => map(updater), - pop, //: () => pop(), push: (lastKey, values) => push(...values), setData: (lastKey, parcelData) => () => parcelData, setMeta: (lastKey, meta) => setMeta(meta), set: (lastKey, value) => setSelf(value), - shift, //: () => shift(), swap, //: (lastKey, swapKey) => swap(lastKey, swapKey), swapNext, //: (lastKey) => swapNext(lastKey), swapPrev, //: (lastKey) => swapPrev(lastKey), diff --git a/packages/dataparcels/src/change/__test__/ChangeRequestReducer-test.js b/packages/dataparcels/src/change/__test__/ChangeRequestReducer-test.js index 73873205..12c83ed4 100644 --- a/packages/dataparcels/src/change/__test__/ChangeRequestReducer-test.js +++ b/packages/dataparcels/src/change/__test__/ChangeRequestReducer-test.js @@ -37,11 +37,6 @@ const ActionCreators = { payload: values }); }, - pop: (): Action => { - return new Action({ - type: "pop" - }); - }, setData: (parcelData): Action => { return new Action({ type: "setData", @@ -60,11 +55,6 @@ const ActionCreators = { payload: value }); }, - shift: (): Action => { - return new Action({ - type: "shift" - }); - }, swap: (keyA, keyB): Action => { return new Action({ type: "swap", diff --git a/packages/dataparcels/src/change/__test__/ChangeRequestReducerIndexed-test.js b/packages/dataparcels/src/change/__test__/ChangeRequestReducerIndexed-test.js index 0b796316..93862b0f 100644 --- a/packages/dataparcels/src/change/__test__/ChangeRequestReducerIndexed-test.js +++ b/packages/dataparcels/src/change/__test__/ChangeRequestReducerIndexed-test.js @@ -77,17 +77,6 @@ const TestIndex = (arr) => arr.map(({action, expectedData}) => { }); TestIndex([ - { - action: { - type: "delete", - keyPath: [0] - }, - expectedData: { - value: [1,2], - child: [{key: "#b"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } - }, { action: { type: "delete", @@ -98,45 +87,10 @@ TestIndex([ child: [{key: "#b"}, {key: "#c"}], ...EXPECTED_KEY_AND_META } - }, - { - action: { - type: "delete", - keyPath: [-3] - }, - expectedData: { - value: [1,2], - child: [{key: "#b"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } } ]); TestIndex([ - { - action: { - type: "insertAfter", - payload: 3, - keyPath: [0] - }, - expectedData: { - value: [0,3,1,2], - child: [{key: "#a"},{key: "#d"},{key: "#b"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } - }, - { - action: { - type: "insertAfter", - payload: 3, - keyPath: [2] - }, - expectedData: { - value: [0,1,2,3], - child: [{key: "#a"},{key: "#b"}, {key: "#c"},{key: "#d"}], - ...EXPECTED_KEY_AND_META - } - }, { action: { type: "insertAfter", @@ -148,46 +102,10 @@ TestIndex([ child: [{key: "#a"},{key: "#d"},{key: "#b"}, {key: "#c"}], ...EXPECTED_KEY_AND_META } - }, - { - action: { - type: "insertAfter", - payload: 3, - keyPath: [-3] - }, - expectedData: { - value: [0,3,1,2], - child: [{key: "#a"},{key: "#d"},{key: "#b"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } } ]); TestIndex([ - { - action: { - type: "insertBefore", - payload: 3, - keyPath: [0] - }, - expectedData: { - value: [3,0,1,2], - child: [{key: "#d"},{key: "#a"},{key: "#b"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } - }, - { - action: { - type: "insertBefore", - payload: 3, - keyPath: [2] - }, - expectedData: { - value: [0,1,3,2], - child: [{key: "#a"},{key: "#b"},{key: "#d"},{key: "#c"}], - ...EXPECTED_KEY_AND_META - } - }, { action: { type: "insertBefore", @@ -199,32 +117,6 @@ TestIndex([ child: [{key: "#d"},{key: "#a"},{key: "#b"}, {key: "#c"}], ...EXPECTED_KEY_AND_META } - }, - { - action: { - type: "insertBefore", - payload: 3, - keyPath: [-3] - }, - expectedData: { - value: [3,0,1,2], - child: [{key: "#d"},{key: "#a"},{key: "#b"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } - } -]); - -TestIndex([ - { - action: { - type: "pop", - keyPath: [] - }, - expectedData: { - value: [0,1], - child: [{key: "#a"}, {key: "#b"}], - ...EXPECTED_KEY_AND_META - } } ]); @@ -244,18 +136,6 @@ TestIndex([ ]); TestIndex([ - { - action: { - type: "set", - payload: 3, - keyPath: [0] - }, - expectedData: { - value: [3,1,2], - child: [{key: "#a"},{key: "#b"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } - }, { action: { type: "set", @@ -267,60 +147,10 @@ TestIndex([ child: [{key: "#a"},{key: "#b"}, {key: "#c"}], ...EXPECTED_KEY_AND_META } - }, - { - action: { - type: "set", - payload: 3, - keyPath: [-3] - }, - expectedData: { - value: [3,1,2], - child: [{key: "#a"},{key: "#b"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } - }, - { - action: { - type: "set", - payload: 3, - keyPath: [3] - }, - expectedData: { - value: [0,1,2,3], - child: [{key: "#a"},{key: "#b"}, {key: "#c"}, {key: "#d"}], - ...EXPECTED_KEY_AND_META - } - }, -]); - -TestIndex([ - { - action: { - type: "shift", - keyPath: [] - }, - expectedData: { - value: [1,2], - child: [{key: "#b"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } } ]); TestIndex([ - { - action: { - type: "swap", - payload: 2, - keyPath: [0] - }, - expectedData: { - value: [2,1,0], - child: [{key: "#c"},{key: "#b"}, {key: "#a"}], - ...EXPECTED_KEY_AND_META - } - }, { action: { type: "swap", @@ -332,33 +162,10 @@ TestIndex([ child: [{key: "#c"},{key: "#b"}, {key: "#a"}], ...EXPECTED_KEY_AND_META } - }, - { - action: { - type: "swap", - payload: -1, - keyPath: [-3] - }, - expectedData: { - value: [2,1,0], - child: [{key: "#c"},{key: "#b"}, {key: "#a"}], - ...EXPECTED_KEY_AND_META - } } ]); TestIndex([ - { - action: { - type: "swapNext", - keyPath: [0] - }, - expectedData: { - value: [1,0,2], - child: [{key: "#b"},{key: "#a"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } - }, { action: { type: "swapNext", @@ -369,31 +176,6 @@ TestIndex([ child: [{key: "#b"},{key: "#a"}, {key: "#c"}], ...EXPECTED_KEY_AND_META } - }, - { - action: { - type: "swapNext", - keyPath: [-3] - }, - expectedData: { - value: [1,0,2], - child: [{key: "#b"},{key: "#a"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } - }, -]); - -TestIndex([ - { - action: { - type: "unshift", - keyPath: [], - payload: [3,4] - }, - expectedData: { - value: [3,4,0,1,2], - child: [{key: "#d"},{key: "#e"},{key: "#a"},{key: "#b"}, {key: "#c"}], - ...EXPECTED_KEY_AND_META - } } ]); + diff --git a/packages/dataparcels/src/parcel/Parcel.js b/packages/dataparcels/src/parcel/Parcel.js index fe80a925..9158219d 100644 --- a/packages/dataparcels/src/parcel/Parcel.js +++ b/packages/dataparcels/src/parcel/Parcel.js @@ -357,9 +357,9 @@ export default class Parcel { this.push = (...values: Array) => fireActionOnlyType(Indexed, 'push', values); - this.pop = () => fireActionOnlyType(Indexed, 'pop'); + this.pop = onlyType(Indexed, 'pop', () => this.get(-1).delete()); - this.shift = () => fireActionOnlyType(Indexed, 'shift'); + this.shift = onlyType(Indexed, 'shift', () => this.get(0).delete()); this.swap = (keyA: Key|Index, keyB: Key|Index) => { fireActionOnlyType(Indexed, 'swap', keyB, [keyA]); @@ -562,21 +562,18 @@ export default class Parcel { _get = (key: Key|Index, notFoundValue: any): Parcel => { //Types(`get()`, `key`, `keyIndex`)(key); - let stringKey: Key = keyOrIndexToKey(key)(this._parcelData); - let cachedChildParcel: ?Parcel = this._childParcelCache[stringKey]; - if(cachedChildParcel) { - return cachedChildParcel; + let stringKey: ?Key = keyOrIndexToKey(key)(this._parcelData); + + if(stringKey) { + let cachedChildParcel: ?Parcel = this._childParcelCache[stringKey]; + if(cachedChildParcel) { + return cachedChildParcel; + } } this._prepareChildKeys(); let childParcelData = parcelGet(key, notFoundValue)(this._parcelData); - - // this shouldn't happen in reality, but I cant prove that to flow right now - // and it rightly should be an error - if(childParcelData.key === undefined) { - throw new Error(); - } - + // $FlowFixMe - childParcelData will always have a key, but internal types arent good enough to tell flow let childKey: Key = childParcelData.key; let childOnDispatch = (changeRequest) => changeRequest._addStep({ @@ -605,7 +602,10 @@ export default class Parcel { } }); - this._childParcelCache[stringKey] = childParcel; + if(stringKey) { + this._childParcelCache[stringKey] = childParcel; + } + return childParcel; }; diff --git a/packages/dataparcels/src/parcel/__test__/IndexedParcelMethods-test.js b/packages/dataparcels/src/parcel/__test__/IndexedParcelMethods-test.js index f7337dda..f4f615c0 100644 --- a/packages/dataparcels/src/parcel/__test__/IndexedParcelMethods-test.js +++ b/packages/dataparcels/src/parcel/__test__/IndexedParcelMethods-test.js @@ -127,8 +127,8 @@ test('IndexedParcel.pop() should pop', () => { }; var expectedAction = { - type: "pop", - keyPath: [], + type: "delete", + keyPath: ["#c"], payload: undefined }; @@ -141,6 +141,29 @@ test('IndexedParcel.pop() should pop', () => { }).pop(); }); +test('IndexedParcel.pop() should do nothing if there are no items', () => { + expect.assertions(1); + + var data = { + value: [], + child: [] + }; + + var expectedData = { + meta: {}, + value: [], + key: '^', + child: [] + }; + + new Parcel({ + ...data, + handleChange: (parcel, changeRequest) => { + expect(expectedData).toEqual(parcel.data); + } + }).pop(); +}); + test('IndexedParcel.shift() should shift', () => { expect.assertions(2); @@ -164,8 +187,8 @@ test('IndexedParcel.shift() should shift', () => { }; var expectedAction = { - type: "shift", - keyPath: [], + type: "delete", + keyPath: ["#a"], payload: undefined }; @@ -178,6 +201,29 @@ test('IndexedParcel.shift() should shift', () => { }).shift(); }); +test('IndexedParcel.shift() should do nothing if there are no items', () => { + expect.assertions(1); + + var data = { + value: [], + child: [] + }; + + var expectedData = { + meta: {}, + value: [], + key: '^', + child: [] + }; + + new Parcel({ + ...data, + handleChange: (parcel, changeRequest) => { + expect(expectedData).toEqual(parcel.data); + } + }).shift(); +}); + test('IndexedParcel.swap() should swap', () => { expect.assertions(2); diff --git a/packages/dataparcels/src/parcelData/get.js b/packages/dataparcels/src/parcelData/get.js index 8a74a113..55547f8b 100644 --- a/packages/dataparcels/src/parcelData/get.js +++ b/packages/dataparcels/src/parcelData/get.js @@ -6,19 +6,21 @@ import type {Property} from '../types/Types'; import keyOrIndexToProperty from './keyOrIndexToProperty'; import keyOrIndexToKey from './keyOrIndexToKey'; +import setSelf from './setSelf'; +import update from './update'; import getIn from 'unmutable/lib/getIn'; -import pipeWith from 'unmutable/lib/util/pipeWith'; -export default (key: Key|Index, notFoundValue: ?*) => (parcelData: ParcelData): ParcelData => { +export default (key: Key|Index, notFoundValue: any) => (parcelData: ParcelData): ParcelData => { let property: ?Property = keyOrIndexToProperty(key)(parcelData); - let stringKey: Key = keyOrIndexToKey(key)(parcelData); + let stringKey: ?Key = keyOrIndexToKey(key)(parcelData); + + if(stringKey === undefined) { + parcelData = update(key, setSelf(notFoundValue))(parcelData); + } return { value: getIn(['value', property], notFoundValue)(parcelData), - ...pipeWith( - parcelData, - getIn(['child', property], {key: stringKey}) - ) + ...getIn(['child', property], {key: stringKey})(parcelData) }; }; diff --git a/packages/dataparcels/src/parcelData/keyOrIndexToKey.js b/packages/dataparcels/src/parcelData/keyOrIndexToKey.js index 80096aaa..4ca6568e 100644 --- a/packages/dataparcels/src/parcelData/keyOrIndexToKey.js +++ b/packages/dataparcels/src/parcelData/keyOrIndexToKey.js @@ -10,7 +10,7 @@ import prepareChildKeys from './prepareChildKeys'; import getIn from 'unmutable/lib/getIn'; import pipeWith from 'unmutable/lib/util/pipeWith'; -export default (key: Key|Index) => (parcelData: ParcelData): Key => { +export default (key: Key|Index) => (parcelData: ParcelData): ?Key => { if(typeof key === "string") { return key; } diff --git a/packages/dataparcels/src/parcelData/pop.js b/packages/dataparcels/src/parcelData/pop.js deleted file mode 100644 index 2974c870..00000000 --- a/packages/dataparcels/src/parcelData/pop.js +++ /dev/null @@ -1,14 +0,0 @@ -// @flow -import type {ParcelData} from '../types/Types'; -import prepareChildKeys from './prepareChildKeys'; - -import pop from 'unmutable/lib/pop'; - -export default () => (parcelData: ParcelData): ParcelData => { - let {value, child, ...rest} = prepareChildKeys()(parcelData); - return { - ...rest, - value: pop()(value), - child: pop()(child) - }; -}; diff --git a/packages/dataparcels/src/parcelData/shift.js b/packages/dataparcels/src/parcelData/shift.js deleted file mode 100644 index 2d3c1e84..00000000 --- a/packages/dataparcels/src/parcelData/shift.js +++ /dev/null @@ -1,14 +0,0 @@ -// @flow -import type {ParcelData} from '../types/Types'; -import prepareChildKeys from './prepareChildKeys'; - -import shift from 'unmutable/lib/shift'; - -export default () => (parcelData: ParcelData): ParcelData => { - let {value, child, ...rest} = prepareChildKeys()(parcelData); - return { - ...rest, - value: shift()(value), - child: shift()(child) - }; -}; diff --git a/packages/dataparcels/src/parcelData/update.js b/packages/dataparcels/src/parcelData/update.js index a81d731e..f08bcc9f 100644 --- a/packages/dataparcels/src/parcelData/update.js +++ b/packages/dataparcels/src/parcelData/update.js @@ -4,6 +4,7 @@ import type {Key} from '../types/Types'; import type {Property} from '../types/Types'; import type {ParcelData} from '../types/Types'; +import has from './has'; import get from './get'; import isParentValue from './isParentValue'; import prepareChildKeys from './prepareChildKeys'; @@ -16,18 +17,21 @@ import update from 'unmutable/lib/update'; import pipeWith from 'unmutable/lib/util/pipeWith'; export default (key: Key|Index, updater: Function) => (parcelData: ParcelData): ParcelData => { + let parcelDataWithChildKeys = prepareChildKeys()(parcelData); let property: ?Property = keyOrIndexToProperty(key)(parcelDataWithChildKeys); - if(typeof property === "undefined") { + if(property === undefined) { return parcelDataWithChildKeys; } - let updatedData = pipeWith( - parcelDataWithChildKeys, - get(key), - updater - ); + let updatedData = has(key)(parcelDataWithChildKeys) + ? pipeWith( + parcelDataWithChildKeys, + get(key), + updater + ) + : updater({value: undefined}); let { value: updatedValue, diff --git a/packages/dataparcels/yarn.lock b/packages/dataparcels/yarn.lock index 2274e453..6ddb5a1a 100644 --- a/packages/dataparcels/yarn.lock +++ b/packages/dataparcels/yarn.lock @@ -845,12 +845,10 @@ "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" - integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== "@types/glob@^7.1.1": version "7.1.1" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" - integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== dependencies: "@types/events" "*" "@types/minimatch" "*" @@ -863,7 +861,6 @@ "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": version "11.13.6" @@ -872,7 +869,6 @@ "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== "@types/q@^1.5.1": version "1.5.2" @@ -1073,7 +1069,6 @@ acorn@^6.0.1, acorn@^6.0.7: acorn@^6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51" - integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q== airbnb-prop-types@^2.12.0: version "2.13.2" @@ -1768,7 +1763,6 @@ bytes@3.0.0: bytes@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== cacache@^11.0.2, cacache@^11.2.0: version "11.3.2" @@ -1844,7 +1838,6 @@ camelcase@^4.1.0: camelcase@^5.0.0, camelcase@^5.2.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-api@^3.0.0: version "3.0.0" @@ -2009,7 +2002,6 @@ cliui@^4.0.0: cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== dependencies: string-width "^3.1.0" strip-ansi "^5.2.0" @@ -2093,7 +2085,6 @@ commander@^2.11.0, commander@^2.18.0, commander@^2.19.0, commander@^2.8.1: commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commondir@^1.0.1: version "1.0.1" @@ -2106,7 +2097,6 @@ component-emitter@^1.2.1: compression-webpack-plugin@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-2.0.0.tgz#46476350c1eb27f783dccc79ac2f709baa2cffbc" - integrity sha512-bDgd7oTUZC8EkRx8j0sjyCfeiO+e5sFcfgaFcjVhfQf5lLya7oY2BczxcJ7IUuVjz5m6fy8IECFmVFew3xLk8Q== dependencies: cacache "^11.2.0" find-cache-dir "^2.0.0" @@ -2220,7 +2210,6 @@ cosmiconfig@^5.0.0: cosmiconfig@^5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" @@ -2303,7 +2292,6 @@ css-declaration-sorter@^4.0.1: css-loader@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" - integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== dependencies: camelcase "^5.2.0" icss-utils "^4.1.0" @@ -2596,7 +2584,6 @@ diffie-hellman@^5.0.0: dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== dependencies: path-type "^3.0.0" @@ -3266,7 +3253,6 @@ fast-deep-equal@^2.0.1: fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== dependencies: "@mrmlnc/readdir-enhanced" "^2.2.1" "@nodelib/fs.stat" "^1.1.2" @@ -3327,7 +3313,6 @@ file-entry-cache@^5.0.1: file-loader@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" - integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw== dependencies: loader-utils "^1.0.2" schema-utils "^1.0.0" @@ -3599,7 +3584,6 @@ get-caller-file@^1.0.1: get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-stream@^3.0.0: version "3.0.0" @@ -3694,7 +3678,6 @@ globals@^9.18.0: globby@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== dependencies: "@types/glob" "^7.1.1" array-union "^1.0.2" @@ -3723,7 +3706,6 @@ gzip-size@^5.0.0: handlebars@^4.0.3: version "4.5.3" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482" - integrity sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA== dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -3915,12 +3897,10 @@ iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, ic icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= icss-utils@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== dependencies: postcss "^7.0.14" @@ -5001,7 +4981,6 @@ levn@^0.3.0, levn@~0.3.0: lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= load-json-file@^1.0.0: version "1.1.0" @@ -5213,7 +5192,6 @@ mem@^1.1.0: memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= dependencies: errno "^0.1.3" readable-stream "^2.0.1" @@ -5326,7 +5304,6 @@ minimist@^1.1.1, minimist@^1.2.0: minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= minipass@^2.2.1, minipass@^2.3.4: version "2.3.5" @@ -5445,7 +5422,6 @@ negotiator@0.6.1: neo-async@^2.5.0, neo-async@^2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== nice-try@^1.0.4: version "1.0.5" @@ -5710,7 +5686,6 @@ opener@^1.5.1: optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= dependencies: minimist "~0.0.1" wordwrap "~0.0.2" @@ -5858,7 +5833,6 @@ parse-json@^4.0.0: parse-json@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" @@ -6126,7 +6100,6 @@ postcss-modules-extract-imports@^2.0.0: postcss-modules-local-by-default@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" - integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA== dependencies: postcss "^7.0.6" postcss-selector-parser "^6.0.0" @@ -6142,7 +6115,6 @@ postcss-modules-scope@^2.1.0: postcss-modules-values@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" - integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w== dependencies: icss-replace-symbols "^1.1.0" postcss "^7.0.6" @@ -6586,7 +6558,6 @@ read-pkg-up@^4.0.0: read-pkg-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-5.0.0.tgz#b6a6741cb144ed3610554f40162aa07a6db621b8" - integrity sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg== dependencies: find-up "^3.0.0" read-pkg "^5.0.0" @@ -6618,7 +6589,6 @@ read-pkg@^3.0.0: read-pkg@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" normalize-package-data "^2.5.0" @@ -7104,7 +7074,6 @@ sisteransi@^0.1.1: size-limit@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/size-limit/-/size-limit-1.0.1.tgz#42c6ef9fe68adcab3627191396852e37f1df8593" - integrity sha512-E5pzKguJesgTTp5pen2W1TDFC95AoovRQNJ1CB4LVF3SBcyvCYUk4pQN67xUO3cItfphNrrXXgCBmzrbArZaHg== dependencies: bytes "^3.1.0" chalk "^2.4.2" @@ -7693,7 +7662,6 @@ type-check@~0.3.2: type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-is@~1.6.16: version "1.6.16" @@ -7713,7 +7681,6 @@ ua-parser-js@^0.7.18: uglify-js@^3.1.4: version "3.7.3" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.3.tgz#f918fce9182f466d5140f24bb0ff35c2d32dcc6a" - integrity sha512-7tINm46/3puUA4hCkKYo4Xdts+JDaVC9ZPRcG8Xw9R4nhO/gZgUM3TENq8IF4Vatk8qCig4MzP/c8G4u2BkVQg== dependencies: commander "~2.20.3" source-map "~0.6.1" @@ -7778,10 +7745,9 @@ universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" -unmutable@^0.46.1: - version "0.46.1" - resolved "https://registry.yarnpkg.com/unmutable/-/unmutable-0.46.1.tgz#af1e4c5bec4905bd8d288be45bd215f7e4d5ccb1" - integrity sha512-rd1q64OKPXUWkJOt2N619zHwu7FdRNgtmyNdi3mzH/TmT52/QmoJShjvU+7X3CwIfElmlOEVl2dapxMHhJ49dw== +unmutable@^0.47.1: + version "0.47.1" + resolved "https://registry.yarnpkg.com/unmutable/-/unmutable-0.47.1.tgz#56b7feebb9eb6da254c8d8bfba28bb221bdad741" dependencies: "@babel/runtime" "^7.1.5" fast-deep-equal "^1.0.0" @@ -7922,7 +7888,6 @@ webidl-conversions@^4.0.2: webpack-bundle-analyzer@^3.2.0: version "3.3.2" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.3.2.tgz#3da733a900f515914e729fcebcd4c40dde71fc6f" - integrity sha512-7qvJLPKB4rRWZGjVp5U1KEjwutbDHSKboAl0IfafnrdXMrgC0tOtZbQD6Rw0u4cmpgRN4O02Fc0t8eAT+FgGzA== dependencies: acorn "^6.0.7" acorn-walk "^6.1.1" @@ -7948,7 +7913,6 @@ webpack-sources@^1.0.1, webpack-sources@^1.1.0, webpack-sources@^1.3.0: webpack@^4.29.6: version "4.37.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.37.0.tgz#3508ef10f7996612c2be6026076d89760f776f54" - integrity sha512-iJPPvL7XpbcbwOthbzpa2BSPlmGp8lGDokAj/LdWtK80rsPoPOdANSbDBf2GAVLKZD3GhCuQ/gGkgN9HWs0Keg== dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5" @@ -8027,7 +7991,6 @@ wide-align@^1.1.0: wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= wordwrap@~1.0.0: version "1.0.0" @@ -8049,7 +8012,6 @@ wrap-ansi@^2.0.0: wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== dependencies: ansi-styles "^3.2.0" string-width "^3.0.0" @@ -8126,7 +8088,6 @@ yallist@^3.0.0, yallist@^3.0.2: yargs-parser@^13.1.1: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -8181,7 +8142,6 @@ yargs@^11.0.0: yargs@^13.2.2: version "13.3.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== dependencies: cliui "^5.0.0" find-up "^3.0.0" diff --git a/packages/react-dataparcels-drag/package.json b/packages/react-dataparcels-drag/package.json index b639d70f..f6d7344f 100644 --- a/packages/react-dataparcels-drag/package.json +++ b/packages/react-dataparcels-drag/package.json @@ -30,7 +30,7 @@ "dependencies": { "@babel/runtime": "^7.1.5", "react-sortable-hoc": "1.4.0", - "unmutable": "^0.46.1" + "unmutable": "^0.47.1" }, "devDependencies": { "@babel/cli": "^7.1.2", diff --git a/packages/react-dataparcels-drag/yarn.lock b/packages/react-dataparcels-drag/yarn.lock index c8feaf30..ae4f1897 100644 --- a/packages/react-dataparcels-drag/yarn.lock +++ b/packages/react-dataparcels-drag/yarn.lock @@ -845,12 +845,10 @@ "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" - integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== "@types/glob@^7.1.1": version "7.1.1" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" - integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== dependencies: "@types/events" "*" "@types/minimatch" "*" @@ -863,7 +861,6 @@ "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": version "11.13.6" @@ -872,7 +869,6 @@ "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== "@types/q@^1.5.1": version "1.5.2" @@ -1073,7 +1069,6 @@ acorn@^6.0.1, acorn@^6.0.7: acorn@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51" - integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q== airbnb-prop-types@^2.12.0: version "2.13.2" @@ -1105,7 +1100,6 @@ ajv-keywords@^3.1.0: ajv-keywords@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== ajv@^5.2.3, ajv@^5.3.0: version "5.5.2" @@ -1128,7 +1122,6 @@ ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1: ajv@^6.10.2: version "6.10.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -1242,7 +1235,6 @@ array-includes@^3.0.3: array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: array-uniq "^1.0.1" @@ -1597,7 +1589,6 @@ bluebird@^3.5.1, bluebird@^3.5.3: bluebird@^3.5.5: version "3.5.5" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== blueflag-test@^0.22.0: version "0.22.0" @@ -1789,7 +1780,6 @@ bytes@3.0.0: bytes@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== cacache@^11.2.0: version "11.3.2" @@ -1813,7 +1803,6 @@ cacache@^11.2.0: cacache@^12.0.2: version "12.0.2" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c" - integrity sha512-ifKgxH2CKhJEg6tNdAwziu6Q33EvuG26tYcda6PT3WKisZcYDXsnEdnRv67Po3yCzFfaSoMjGZzJyD2c3DT1dg== dependencies: bluebird "^3.5.5" chownr "^1.1.1" @@ -1982,7 +1971,6 @@ chownr@^1.1.1: chrome-trace-event@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== dependencies: tslib "^1.9.0" @@ -2051,7 +2039,6 @@ cliui@^4.0.0: cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== dependencies: string-width "^3.1.0" strip-ansi "^5.2.0" @@ -2135,7 +2122,6 @@ commander@^2.11.0, commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, comm commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commondir@^1.0.1: version "1.0.1" @@ -2261,7 +2247,6 @@ cosmiconfig@^5.0.0: cosmiconfig@^5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" @@ -2344,7 +2329,6 @@ css-declaration-sorter@^4.0.1: css-loader@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" - integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== dependencies: camelcase "^5.2.0" icss-utils "^4.1.0" @@ -2510,14 +2494,6 @@ data-urls@^1.0.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -dataparcels@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/dataparcels/-/dataparcels-1.0.2.tgz#49f78792c4b251f048c8ac89ab99e750c5d7e1b1" - integrity sha512-mG4kj7qv3qA5WGrQcEp1nQghWFew33470hZq0JyTI/DWoEtKNwm6KHZXLHsLIDkzswMMLW9mIuViJpIQst0QPw== - dependencies: - "@babel/runtime" "^7.1.5" - unmutable "^0.46.1" - date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -2645,7 +2621,6 @@ diffie-hellman@^5.0.0: dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== dependencies: path-type "^3.0.0" @@ -3315,7 +3290,6 @@ fast-deep-equal@^2.0.1: fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== dependencies: "@mrmlnc/readdir-enhanced" "^2.2.1" "@nodelib/fs.stat" "^1.1.2" @@ -3647,7 +3621,6 @@ get-caller-file@^1.0.1: get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-stream@^3.0.0: version "3.0.0" @@ -3718,7 +3691,6 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: glob@^7.1.4: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -3754,7 +3726,6 @@ globals@^9.18.0: globby@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== dependencies: "@types/glob" "^7.1.1" array-union "^1.0.2" @@ -3783,7 +3754,6 @@ gzip-size@^5.0.0: handlebars@^4.0.3: version "4.5.3" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482" - integrity sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA== dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -4036,7 +4006,6 @@ indexes-of@^1.0.1: infer-owner@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== inflight@^1.0.4: version "1.0.6" @@ -5056,7 +5025,6 @@ levn@^0.3.0, levn@~0.3.0: lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= load-json-file@^1.0.0: version "1.1.0" @@ -5095,7 +5063,6 @@ load-pkg@^3.0.1: loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: version "1.2.3" @@ -5181,7 +5148,6 @@ lodash.memoize@^4.1.2: lodash.range@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.range/-/lodash.range-3.2.0.tgz#f461e588f66683f7eadeade513e38a69a565a15d" - integrity sha1-9GHliPZmg/fq3q3lE+OKaaVloV0= lodash.sortby@^4.7.0: version "4.7.0" @@ -5198,7 +5164,6 @@ lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5 lodash@^4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" @@ -5387,7 +5352,6 @@ minimist@^1.1.1, minimist@^1.2.0: minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= minipass@^2.2.1, minipass@^2.3.4: version "2.3.5" @@ -5506,7 +5470,6 @@ negotiator@0.6.1: neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== nice-try@^1.0.4: version "1.0.5" @@ -5526,7 +5489,6 @@ node-int64@^0.4.0: node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== dependencies: assert "^1.1.1" browserify-zlib "^0.2.0" @@ -5772,7 +5734,6 @@ opener@^1.5.1: optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= dependencies: minimist "~0.0.1" wordwrap "~0.0.2" @@ -5920,7 +5881,6 @@ parse-json@^4.0.0: parse-json@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" @@ -5952,7 +5912,6 @@ pascalcase@^0.1.1: path-browserify@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== path-dirname@^1.0.0: version "1.0.2" @@ -6655,7 +6614,6 @@ read-pkg-up@^4.0.0: read-pkg-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-5.0.0.tgz#b6a6741cb144ed3610554f40162aa07a6db621b8" - integrity sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg== dependencies: find-up "^3.0.0" read-pkg "^5.0.0" @@ -6687,7 +6645,6 @@ read-pkg@^3.0.0: read-pkg@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" normalize-package-data "^2.5.0" @@ -7173,7 +7130,6 @@ sisteransi@^0.1.1: size-limit@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/size-limit/-/size-limit-1.0.1.tgz#42c6ef9fe68adcab3627191396852e37f1df8593" - integrity sha512-E5pzKguJesgTTp5pen2W1TDFC95AoovRQNJ1CB4LVF3SBcyvCYUk4pQN67xUO3cItfphNrrXXgCBmzrbArZaHg== dependencies: bytes "^3.1.0" chalk "^2.4.2" @@ -7272,7 +7228,6 @@ source-map-support@^0.5.6, source-map-support@^0.5.9: source-map-support@~0.5.12: version "0.5.13" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -7605,7 +7560,6 @@ terminal-table@0.0.12: terser-webpack-plugin@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" - integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== dependencies: cacache "^12.0.2" find-cache-dir "^2.1.0" @@ -7620,7 +7574,6 @@ terser-webpack-plugin@^1.4.1: terser@^4.1.2: version "4.1.4" resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.4.tgz#4478b6a08bb096a61e793fea1a4434408bab936c" - integrity sha512-+ZwXJvdSwbd60jG0Illav0F06GDJF0R4ydZ21Q3wGAFKoBGyJGo34F63vzJHgvYxc1ukOtIjvwEvl9MkjzM6Pg== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -7773,7 +7726,6 @@ type-check@~0.3.2: type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-is@~1.6.16: version "1.6.16" @@ -7793,7 +7745,6 @@ ua-parser-js@^0.7.18: uglify-js@^3.1.4: version "3.7.3" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.3.tgz#f918fce9182f466d5140f24bb0ff35c2d32dcc6a" - integrity sha512-7tINm46/3puUA4hCkKYo4Xdts+JDaVC9ZPRcG8Xw9R4nhO/gZgUM3TENq8IF4Vatk8qCig4MzP/c8G4u2BkVQg== dependencies: commander "~2.20.3" source-map "~0.6.1" @@ -7858,10 +7809,9 @@ universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" -unmutable@^0.46.1: - version "0.46.1" - resolved "https://registry.yarnpkg.com/unmutable/-/unmutable-0.46.1.tgz#af1e4c5bec4905bd8d288be45bd215f7e4d5ccb1" - integrity sha512-rd1q64OKPXUWkJOt2N619zHwu7FdRNgtmyNdi3mzH/TmT52/QmoJShjvU+7X3CwIfElmlOEVl2dapxMHhJ49dw== +unmutable@^0.47.1: + version "0.47.1" + resolved "https://registry.yarnpkg.com/unmutable/-/unmutable-0.47.1.tgz#56b7feebb9eb6da254c8d8bfba28bb221bdad741" dependencies: "@babel/runtime" "^7.1.5" fast-deep-equal "^1.0.0" @@ -7965,7 +7915,6 @@ verror@1.10.0: vm-browserify@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" - integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== w3c-hr-time@^1.0.1: version "1.0.1" @@ -7989,7 +7938,6 @@ watch@~0.18.0: watchpack@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== dependencies: chokidar "^2.0.2" graceful-fs "^4.1.2" @@ -8002,7 +7950,6 @@ webidl-conversions@^4.0.2: webpack-bundle-analyzer@^3.2.0: version "3.4.1" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.4.1.tgz#430544c7ba1631baccf673475ca8300cb74a3c47" - integrity sha512-Bs8D/1zF+17lhqj2OYmzi7HEVYqEVxu7lCO9Ff8BwajenOU0vAwEoV8e4ICCPNZAcqR1PCR/7o2SkW+cnCmF0A== dependencies: acorn "^6.0.7" acorn-walk "^6.1.1" @@ -8028,7 +7975,6 @@ webpack-sources@^1.0.1, webpack-sources@^1.1.0: webpack-sources@^1.4.0, webpack-sources@^1.4.1: version "1.4.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== dependencies: source-list-map "^2.0.0" source-map "~0.6.1" @@ -8036,7 +7982,6 @@ webpack-sources@^1.4.0, webpack-sources@^1.4.1: webpack@^4.29.6: version "4.39.1" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.39.1.tgz#60ed9fb2b72cd60f26ea526c404d2a4cc97a1bd8" - integrity sha512-/LAb2TJ2z+eVwisldp3dqTEoNhzp/TLCZlmZm3GGGAlnfIWDgOEE758j/9atklNLfRyhKbZTCOIoPqLJXeBLbQ== dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5" @@ -8115,7 +8060,6 @@ wide-align@^1.1.0: wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= wordwrap@~1.0.0: version "1.0.0" @@ -8124,7 +8068,6 @@ wordwrap@~1.0.0: worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== dependencies: errno "~0.1.7" @@ -8138,7 +8081,6 @@ wrap-ansi@^2.0.0: wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== dependencies: ansi-styles "^3.2.0" string-width "^3.0.0" @@ -8215,7 +8157,6 @@ yallist@^3.0.0, yallist@^3.0.2: yargs-parser@^13.1.1: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -8270,7 +8211,6 @@ yargs@^11.0.0: yargs@^13.2.2: version "13.3.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== dependencies: cliui "^5.0.0" find-up "^3.0.0" diff --git a/packages/react-dataparcels/.size-limit.json b/packages/react-dataparcels/.size-limit.json index f6d6f035..b451f7ce 100644 --- a/packages/react-dataparcels/.size-limit.json +++ b/packages/react-dataparcels/.size-limit.json @@ -1,6 +1,6 @@ [ { - "limit": "10.5 KB", + "limit": "10.4 KB", "path": "lib/index.js" }, { @@ -12,7 +12,7 @@ "path": "cancel.js" }, { - "limit": "7.5 KB", + "limit": "7.4 KB", "path": "ChangeRequest.js" }, { @@ -20,15 +20,15 @@ "path": "deleted.js" }, { - "limit": "5.9 KB", + "limit": "5.8 KB", "path": "ParcelNode.js" }, { - "limit": "6 KB", + "limit": "6.2 KB", "path": "asNode.js" }, { - "limit": "6 KB", + "limit": "6.2 KB", "path": "asChildNodes.js" }, { @@ -36,11 +36,11 @@ "path": "asRaw.js" }, { - "limit": "6.1 KB", + "limit": "6.3 KB", "path": "translate.js" }, { - "limit": "5.2 KB", + "limit": "5.4 KB", "path": "validation.js" }, { diff --git a/packages/react-dataparcels/package.json b/packages/react-dataparcels/package.json index 43d8ce01..105e0d4d 100644 --- a/packages/react-dataparcels/package.json +++ b/packages/react-dataparcels/package.json @@ -51,7 +51,7 @@ "@babel/runtime": "^7.1.5", "dataparcels": "^1.0.2", "is-promise": "^2.1.0", - "unmutable": "^0.46.1", + "unmutable": "^0.47.1", "use-debounce": "^1.1.3" }, "devDependencies": { diff --git a/packages/react-dataparcels/yarn.lock b/packages/react-dataparcels/yarn.lock index ab25a8ac..12db366a 100644 --- a/packages/react-dataparcels/yarn.lock +++ b/packages/react-dataparcels/yarn.lock @@ -845,12 +845,10 @@ "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" - integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== "@types/glob@^7.1.1": version "7.1.1" resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" - integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== dependencies: "@types/events" "*" "@types/minimatch" "*" @@ -863,7 +861,6 @@ "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": version "11.13.6" @@ -872,7 +869,6 @@ "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== "@types/q@^1.5.1": version "1.5.2" @@ -1073,7 +1069,6 @@ acorn@^6.0.1, acorn@^6.0.7: acorn@^6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51" - integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q== airbnb-prop-types@^2.12.0: version "2.13.2" @@ -1768,7 +1763,6 @@ bytes@3.0.0: bytes@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== cacache@^11.0.2, cacache@^11.2.0: version "11.3.2" @@ -1844,7 +1838,6 @@ camelcase@^4.1.0: camelcase@^5.0.0, camelcase@^5.2.0: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-api@^3.0.0: version "3.0.0" @@ -2009,7 +2002,6 @@ cliui@^4.0.0: cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== dependencies: string-width "^3.1.0" strip-ansi "^5.2.0" @@ -2093,7 +2085,6 @@ commander@^2.11.0, commander@^2.18.0, commander@^2.19.0, commander@^2.8.1: commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== commondir@^1.0.1: version "1.0.1" @@ -2106,7 +2097,6 @@ component-emitter@^1.2.1: compression-webpack-plugin@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-2.0.0.tgz#46476350c1eb27f783dccc79ac2f709baa2cffbc" - integrity sha512-bDgd7oTUZC8EkRx8j0sjyCfeiO+e5sFcfgaFcjVhfQf5lLya7oY2BczxcJ7IUuVjz5m6fy8IECFmVFew3xLk8Q== dependencies: cacache "^11.2.0" find-cache-dir "^2.0.0" @@ -2220,7 +2210,6 @@ cosmiconfig@^5.0.0: cosmiconfig@^5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== dependencies: import-fresh "^2.0.0" is-directory "^0.3.1" @@ -2303,7 +2292,6 @@ css-declaration-sorter@^4.0.1: css-loader@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" - integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== dependencies: camelcase "^5.2.0" icss-utils "^4.1.0" @@ -2469,14 +2457,6 @@ data-urls@^1.0.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -dataparcels@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dataparcels/-/dataparcels-1.0.1.tgz#e0061772dffaca43c26bf6fd1c63d8341c05eeb7" - integrity sha512-ZFFWb3zGhLZ3nCrfQEszkuDgq8bUTno10q3AQ3AMaNlRUZhVqWWXNLXVDVYfTcJtLz2ToYCkFeRkn+VfZLK8yg== - dependencies: - "@babel/runtime" "^7.1.5" - unmutable "^0.46.1" - date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -2604,7 +2584,6 @@ diffie-hellman@^5.0.0: dir-glob@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== dependencies: path-type "^3.0.0" @@ -3274,7 +3253,6 @@ fast-deep-equal@^2.0.1: fast-glob@^2.2.6: version "2.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== dependencies: "@mrmlnc/readdir-enhanced" "^2.2.1" "@nodelib/fs.stat" "^1.1.2" @@ -3335,7 +3313,6 @@ file-entry-cache@^5.0.1: file-loader@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" - integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw== dependencies: loader-utils "^1.0.2" schema-utils "^1.0.0" @@ -3607,7 +3584,6 @@ get-caller-file@^1.0.1: get-caller-file@^2.0.1: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-stream@^3.0.0: version "3.0.0" @@ -3702,7 +3678,6 @@ globals@^9.18.0: globby@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== dependencies: "@types/glob" "^7.1.1" array-union "^1.0.2" @@ -3731,7 +3706,6 @@ gzip-size@^5.0.0: handlebars@^4.0.3: version "4.5.3" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.5.3.tgz#5cf75bd8714f7605713511a56be7c349becb0482" - integrity sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA== dependencies: neo-async "^2.6.0" optimist "^0.6.1" @@ -3923,12 +3897,10 @@ iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, ic icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= icss-utils@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== dependencies: postcss "^7.0.14" @@ -4273,7 +4245,6 @@ is-primitive@^2.0.0: is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= is-regex@^1.0.4: version "1.0.4" @@ -5010,7 +4981,6 @@ levn@^0.3.0, levn@~0.3.0: lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= load-json-file@^1.0.0: version "1.1.0" @@ -5222,7 +5192,6 @@ mem@^1.1.0: memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= dependencies: errno "^0.1.3" readable-stream "^2.0.1" @@ -5335,7 +5304,6 @@ minimist@^1.1.1, minimist@^1.2.0: minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= minipass@^2.2.1, minipass@^2.3.4: version "2.3.5" @@ -5454,7 +5422,6 @@ negotiator@0.6.1: neo-async@^2.5.0, neo-async@^2.6.0: version "2.6.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== nice-try@^1.0.4: version "1.0.5" @@ -5719,7 +5686,6 @@ opener@^1.5.1: optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= dependencies: minimist "~0.0.1" wordwrap "~0.0.2" @@ -5867,7 +5833,6 @@ parse-json@^4.0.0: parse-json@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" @@ -6135,7 +6100,6 @@ postcss-modules-extract-imports@^2.0.0: postcss-modules-local-by-default@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" - integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA== dependencies: postcss "^7.0.6" postcss-selector-parser "^6.0.0" @@ -6151,7 +6115,6 @@ postcss-modules-scope@^2.1.0: postcss-modules-values@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" - integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w== dependencies: icss-replace-symbols "^1.1.0" postcss "^7.0.6" @@ -6534,7 +6497,6 @@ react-dom@15.5.4: react-dom@^16.9.0-alpha: version "16.9.0-alpha.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0-alpha.0.tgz#9dfaec18ac1a500fa72cab7b70f2ae29d0cd7716" - integrity sha512-BQ5gN42yIPuTnBvE6K9vSjNfDRpSNcYCs2sUx9XR5VaWKwlHTt3G6qIWK6zdXy8TYKb1+IxpsAI0RtbRdXQZ2A== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -6554,12 +6516,10 @@ react-is@^16.8.1, react-is@^16.8.6: react-is@^16.9.0-alpha.0: version "16.9.0-alpha.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0-alpha.0.tgz#af943642da49460f9fe98630182b0a62db3e9e6a" - integrity sha512-psl0ePLTFliYfwcbwvimLgTNN156ZdeWB4zvP7dV/6lTAqWMHFfidg/mSZ2fFgE1LMNN8ZJOLl2DfZ8yg+3ETA== react-test-renderer@16.9.0-alpha.0, react-test-renderer@^16.0.0-0: version "16.9.0-alpha.0" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.9.0-alpha.0.tgz#60f584601dc73543dadbe3bca815e1acc8adcaba" - integrity sha512-eDl0oVFo6PGY1wpYFs0ezBpZhOgVce5TSta9UPLanshTi4z8NhlM6IgO8KBdioQ5H5/pmyGxOVtpUxJOt19NAQ== dependencies: object-assign "^4.1.1" prop-types "^15.6.2" @@ -6578,7 +6538,6 @@ react@15.5.4: react@^16.9.0-alpha: version "16.9.0-alpha.0" resolved "https://registry.yarnpkg.com/react/-/react-16.9.0-alpha.0.tgz#e350f3d8af36e3251079cbc90d304620e2f78ccb" - integrity sha512-y4bu7rJvtnPPsIwOj7sp5Y2SqlOb0jFupfkdjWxxn8ZeqzUARgpR9wJBUVwW1/QosVdOblmApjo/j6iiAXnebA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -6609,7 +6568,6 @@ read-pkg-up@^4.0.0: read-pkg-up@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-5.0.0.tgz#b6a6741cb144ed3610554f40162aa07a6db621b8" - integrity sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg== dependencies: find-up "^3.0.0" read-pkg "^5.0.0" @@ -6641,7 +6599,6 @@ read-pkg@^3.0.0: read-pkg@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== dependencies: "@types/normalize-package-data" "^2.4.0" normalize-package-data "^2.5.0" @@ -7008,7 +6965,6 @@ sax@~0.6.0: scheduler@^0.14.0-alpha.0: version "0.14.0" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.14.0.tgz#b392c23c9c14bfa2933d4740ad5603cc0d59ea5b" - integrity sha512-9CgbS06Kki2f4R9FjLSITjZo5BZxPsryiRNyL3LpvrM9WxcVmhlqAOc9E+KQbeI2nqej4JIIbOsfdL51cNb4Iw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -7128,7 +7084,6 @@ sisteransi@^0.1.1: size-limit@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/size-limit/-/size-limit-1.0.1.tgz#42c6ef9fe68adcab3627191396852e37f1df8593" - integrity sha512-E5pzKguJesgTTp5pen2W1TDFC95AoovRQNJ1CB4LVF3SBcyvCYUk4pQN67xUO3cItfphNrrXXgCBmzrbArZaHg== dependencies: bytes "^3.1.0" chalk "^2.4.2" @@ -7717,7 +7672,6 @@ type-check@~0.3.2: type-fest@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== type-is@~1.6.16: version "1.6.16" @@ -7737,7 +7691,6 @@ ua-parser-js@^0.7.18: uglify-js@^3.1.4: version "3.7.3" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.3.tgz#f918fce9182f466d5140f24bb0ff35c2d32dcc6a" - integrity sha512-7tINm46/3puUA4hCkKYo4Xdts+JDaVC9ZPRcG8Xw9R4nhO/gZgUM3TENq8IF4Vatk8qCig4MzP/c8G4u2BkVQg== dependencies: commander "~2.20.3" source-map "~0.6.1" @@ -7802,10 +7755,9 @@ universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" -unmutable@^0.46.1: - version "0.46.1" - resolved "https://registry.yarnpkg.com/unmutable/-/unmutable-0.46.1.tgz#af1e4c5bec4905bd8d288be45bd215f7e4d5ccb1" - integrity sha512-rd1q64OKPXUWkJOt2N619zHwu7FdRNgtmyNdi3mzH/TmT52/QmoJShjvU+7X3CwIfElmlOEVl2dapxMHhJ49dw== +unmutable@^0.47.1: + version "0.47.1" + resolved "https://registry.yarnpkg.com/unmutable/-/unmutable-0.47.1.tgz#56b7feebb9eb6da254c8d8bfba28bb221bdad741" dependencies: "@babel/runtime" "^7.1.5" fast-deep-equal "^1.0.0" @@ -7950,7 +7902,6 @@ webidl-conversions@^4.0.2: webpack-bundle-analyzer@^3.2.0: version "3.3.2" resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.3.2.tgz#3da733a900f515914e729fcebcd4c40dde71fc6f" - integrity sha512-7qvJLPKB4rRWZGjVp5U1KEjwutbDHSKboAl0IfafnrdXMrgC0tOtZbQD6Rw0u4cmpgRN4O02Fc0t8eAT+FgGzA== dependencies: acorn "^6.0.7" acorn-walk "^6.1.1" @@ -7976,7 +7927,6 @@ webpack-sources@^1.0.1, webpack-sources@^1.1.0, webpack-sources@^1.3.0: webpack@^4.29.6: version "4.37.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.37.0.tgz#3508ef10f7996612c2be6026076d89760f776f54" - integrity sha512-iJPPvL7XpbcbwOthbzpa2BSPlmGp8lGDokAj/LdWtK80rsPoPOdANSbDBf2GAVLKZD3GhCuQ/gGkgN9HWs0Keg== dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5" @@ -8055,7 +8005,6 @@ wide-align@^1.1.0: wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= wordwrap@~1.0.0: version "1.0.0" @@ -8077,7 +8026,6 @@ wrap-ansi@^2.0.0: wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== dependencies: ansi-styles "^3.2.0" string-width "^3.0.0" @@ -8154,7 +8102,6 @@ yallist@^3.0.0, yallist@^3.0.2: yargs-parser@^13.1.1: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -8209,7 +8156,6 @@ yargs@^11.0.0: yargs@^13.2.2: version "13.3.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== dependencies: cliui "^5.0.0" find-up "^3.0.0" From cfd890d7a897fd83fef16b8419e6be7fad200aec Mon Sep 17 00:00:00 2001 From: Damien Clarke Date: Wed, 15 Jan 2020 17:21:10 +1100 Subject: [PATCH 2/3] break: remove parcel.map() --- packages/dataparcels/.size-limit.json | 4 +- .../src/change/ChangeRequestReducer.js | 2 - .../__test__/ChangeRequestReducer-test.js | 6 --- packages/dataparcels/src/parcel/Parcel.js | 5 --- .../__test__/ParentChangeMethods-test.js | 39 ------------------- .../src/parcelData/__test__/map-test.js | 33 ---------------- packages/dataparcels/src/parcelData/map.js | 17 -------- .../dataparcels/src/validation/validation.js | 15 ++++++- packages/react-dataparcels/.size-limit.json | 4 +- 9 files changed, 18 insertions(+), 107 deletions(-) delete mode 100644 packages/dataparcels/src/parcel/__test__/ParentChangeMethods-test.js delete mode 100644 packages/dataparcels/src/parcelData/__test__/map-test.js delete mode 100644 packages/dataparcels/src/parcelData/map.js diff --git a/packages/dataparcels/.size-limit.json b/packages/dataparcels/.size-limit.json index 2ed8a1be..a95b2372 100644 --- a/packages/dataparcels/.size-limit.json +++ b/packages/dataparcels/.size-limit.json @@ -1,6 +1,6 @@ [ { - "limit": "10.4 KB", + "limit": "10.3 KB", "path": "lib/index.js" }, { @@ -12,7 +12,7 @@ "path": "cancel.js" }, { - "limit": "7.4 KB", + "limit": "7.3 KB", "path": "ChangeRequest.js" }, { diff --git a/packages/dataparcels/src/change/ChangeRequestReducer.js b/packages/dataparcels/src/change/ChangeRequestReducer.js index 591d0fe9..8360121e 100644 --- a/packages/dataparcels/src/change/ChangeRequestReducer.js +++ b/packages/dataparcels/src/change/ChangeRequestReducer.js @@ -13,7 +13,6 @@ import del from '../parcelData/delete'; import deleteSelfWithMarker from '../parcelData/deleteSelfWithMarker'; import insertAfter from '../parcelData/insertAfter'; import insertBefore from '../parcelData/insertBefore'; -import map from '../parcelData/map'; import push from '../parcelData/push'; import setMeta from '../parcelData/setMeta'; import setSelf from '../parcelData/setSelf'; @@ -27,7 +26,6 @@ const actionMap = { delete: del, //: (lastKey) => del(lastKey), insertAfter, //: (lastKey, value) => insertAfter(lastKey, value), insertBefore, //: (lastKey, value) => insertBefore(lastKey, value), - map: (lastKey, updater) => map(updater), push: (lastKey, values) => push(...values), setData: (lastKey, parcelData) => () => parcelData, setMeta: (lastKey, meta) => setMeta(meta), diff --git a/packages/dataparcels/src/change/__test__/ChangeRequestReducer-test.js b/packages/dataparcels/src/change/__test__/ChangeRequestReducer-test.js index 12c83ed4..3ba1a6f2 100644 --- a/packages/dataparcels/src/change/__test__/ChangeRequestReducer-test.js +++ b/packages/dataparcels/src/change/__test__/ChangeRequestReducer-test.js @@ -25,12 +25,6 @@ const ActionCreators = { payload: value }); }, - map: (updater): Action => { - return new Action({ - type: "map", - payload: updater - }); - }, push: (...values): Action => { return new Action({ type: "push", diff --git a/packages/dataparcels/src/parcel/Parcel.js b/packages/dataparcels/src/parcel/Parcel.js index 9158219d..459d4fa8 100644 --- a/packages/dataparcels/src/parcel/Parcel.js +++ b/packages/dataparcels/src/parcel/Parcel.js @@ -335,11 +335,6 @@ export default class Parcel { this.delete = () => fireActionOnlyType(Child, 'delete'); - // Types(`map()`, `updater`, `function`)(updater); - this.map = (updater: ParcelValueUpdater) => { - fireActionOnlyType(Parent, 'map', prepUpdater(updater)); - }; - // Advanced change methods // Types(`setMeta()`, `partialMeta`, `object`)(partialMeta); diff --git a/packages/dataparcels/src/parcel/__test__/ParentChangeMethods-test.js b/packages/dataparcels/src/parcel/__test__/ParentChangeMethods-test.js deleted file mode 100644 index e96dbbcf..00000000 --- a/packages/dataparcels/src/parcel/__test__/ParentChangeMethods-test.js +++ /dev/null @@ -1,39 +0,0 @@ -// @flow -import Parcel from '../Parcel'; -import asChildNodes from '../../parcelNode/asChildNodes'; - -test('ParentParcel.map() should call each child Parcels handleChange function with the new parcelData', () => { - let updater = jest.fn(ii => ii + 1); - let handleChange = jest.fn(); - - new Parcel({ - value: { - abc: 123, - def: 456 - }, - handleChange - }).map(updater); - - expect(handleChange.mock.calls[0][0].data.value).toEqual({ - abc: 124, - def: 457 - }); -}); - -test('ParentParcel.map(asChildNodesUpdater) should call each child Parcels handleChange function with the new parcelData', () => { - let updater = jest.fn(item => ({name: item.name.update(name => name + '!')})); - let handleChange = jest.fn(); - - new Parcel({ - value: [ - {name: 'foo'}, - {name: 'bar'} - ], - handleChange - }).map(asChildNodes(updater)); - - expect(handleChange.mock.calls[0][0].data.value).toEqual([ - {name: 'foo!'}, - {name: 'bar!'} - ]); -}); diff --git a/packages/dataparcels/src/parcelData/__test__/map-test.js b/packages/dataparcels/src/parcelData/__test__/map-test.js deleted file mode 100644 index 52597d86..00000000 --- a/packages/dataparcels/src/parcelData/__test__/map-test.js +++ /dev/null @@ -1,33 +0,0 @@ -// @flow -import map from '../map'; - -test('map should work with objects', () => { - let parcelData = { - value: [1,2,3], - child: [ - {key: "#a", meta: {a: 1}}, - {key: "#b", meta: {a: 11}}, - {key: "#c", meta: {a: 111}} - ], - meta: {b: 14} - }; - - let mapped = map((parcelData) => ({ - value: parcelData.value * 2, - meta: { - a: parcelData.meta.a * 2 - } - }))(parcelData); - - let expectedMapped = { - value: [2,4,6], - child: [ - {key: "#a", meta: {a: 2}}, - {key: "#b", meta: {a: 22}}, - {key: "#c", meta: {a: 222}} - ], - meta: {b: 14} - }; - - expect(mapped).toEqual(expectedMapped); -}); diff --git a/packages/dataparcels/src/parcelData/map.js b/packages/dataparcels/src/parcelData/map.js deleted file mode 100644 index e7a43e13..00000000 --- a/packages/dataparcels/src/parcelData/map.js +++ /dev/null @@ -1,17 +0,0 @@ -// @flow -import type {ParcelData} from '../types/Types'; - -import update from './update'; -import keyArray from 'unmutable/keyArray'; -import pipeWith from 'unmutable/pipeWith'; - -export default (mapper: Function) => (parcelData: ParcelData): ParcelData => { - let keys = keyArray()(parcelData.value); - return pipeWith( - parcelData, - ...keys.map((key) => update( - key, - (childParcelData) => mapper(childParcelData, key, parcelData) - )) - ); -}; diff --git a/packages/dataparcels/src/validation/validation.js b/packages/dataparcels/src/validation/validation.js index 5089909c..148744e8 100644 --- a/packages/dataparcels/src/validation/validation.js +++ b/packages/dataparcels/src/validation/validation.js @@ -1,16 +1,29 @@ // @flow +import type {ParcelData} from '../types/Types'; import type {ParcelDataEvaluator} from '../types/Types'; import type {ParcelValueUpdater} from '../types/Types'; import asRaw from '../parcelData/asRaw'; -import parcelDataMap from '../parcelData/map'; import parcelDataSetMeta from '../parcelData/setMeta'; import parcelDataUpdate from '../parcelData/update'; import map from 'unmutable/map'; import pipeWith from 'unmutable/pipeWith'; import toArray from 'unmutable/toArray'; +import keyArray from 'unmutable/keyArray'; + +// temporary, as validation will be superseded soon +const parcelDataMap = (mapper: Function) => (parcelData: ParcelData): ParcelData => { + let keys = keyArray()(parcelData.value); + return pipeWith( + parcelData, + ...keys.map((key) => parcelDataUpdate( + key, // lets indexes in + (childParcelData) => mapper(childParcelData, key, parcelData) + )) + ); +}; type ValidationRuleMeta = { keyPath: Array, diff --git a/packages/react-dataparcels/.size-limit.json b/packages/react-dataparcels/.size-limit.json index b451f7ce..0a91b08d 100644 --- a/packages/react-dataparcels/.size-limit.json +++ b/packages/react-dataparcels/.size-limit.json @@ -1,6 +1,6 @@ [ { - "limit": "10.4 KB", + "limit": "10.3 KB", "path": "lib/index.js" }, { @@ -12,7 +12,7 @@ "path": "cancel.js" }, { - "limit": "7.4 KB", + "limit": "7.3 KB", "path": "ChangeRequest.js" }, { From 92a87ef1960b2e36180c1075871a506f0dcd292a Mon Sep 17 00:00:00 2001 From: Damien Clarke Date: Wed, 15 Jan 2020 17:38:23 +1100 Subject: [PATCH 3/3] refactor: parcel.swap to use keys instead of indexed in actions --- packages/dataparcels/src/change/Action.js | 9 ++++----- packages/dataparcels/src/parcel/Parcel.js | 10 +++++++--- .../src/parcel/__test__/IndexedParcelMethods-test.js | 4 ++-- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/dataparcels/src/change/Action.js b/packages/dataparcels/src/change/Action.js index d0603ae7..cd309fe7 100644 --- a/packages/dataparcels/src/change/Action.js +++ b/packages/dataparcels/src/change/Action.js @@ -1,20 +1,19 @@ // @flow import type {ActionStep} from '../types/Types'; -import type {Index} from '../types/Types'; import type {Key} from '../types/Types'; type ActionData = { type?: string, payload?: any, - keyPath?: Array, - steps?: Array + keyPath?: Key[], + steps?: ActionStep[] }; export default class Action { type: string = ""; payload: any; - keyPath: Array = []; - steps: Array = []; + keyPath: Key[] = []; + steps: ActionStep[] = []; constructor({type, payload = this.payload, keyPath, steps}: ActionData = {}) { this.type = type || this.type; diff --git a/packages/dataparcels/src/parcel/Parcel.js b/packages/dataparcels/src/parcel/Parcel.js index 459d4fa8..40c4c3ef 100644 --- a/packages/dataparcels/src/parcel/Parcel.js +++ b/packages/dataparcels/src/parcel/Parcel.js @@ -356,9 +356,13 @@ export default class Parcel { this.shift = onlyType(Indexed, 'shift', () => this.get(0).delete()); - this.swap = (keyA: Key|Index, keyB: Key|Index) => { - fireActionOnlyType(Indexed, 'swap', keyB, [keyA]); - }; + this.swap = onlyType(Indexed, 'swap', (keyOrIndexA: Key|Index, keyOrIndexB: Key|Index) => { + let keyA: ?Key = keyOrIndexToKey(keyOrIndexA)(this._parcelData); + let keyB: ?Key = keyOrIndexToKey(keyOrIndexB)(this._parcelData); + if(keyA !== undefined && keyB !== undefined) { + fireAction('swap', keyB, [keyA]); + } + }); this.swapNext = () => fireActionOnlyType(Element, 'swapNext'); diff --git a/packages/dataparcels/src/parcel/__test__/IndexedParcelMethods-test.js b/packages/dataparcels/src/parcel/__test__/IndexedParcelMethods-test.js index f4f615c0..e8bf32c1 100644 --- a/packages/dataparcels/src/parcel/__test__/IndexedParcelMethods-test.js +++ b/packages/dataparcels/src/parcel/__test__/IndexedParcelMethods-test.js @@ -249,8 +249,8 @@ test('IndexedParcel.swap() should swap', () => { var expectedAction = { type: "swap", - keyPath: [0], - payload: 2 + keyPath: ['#a'], + payload: '#c' }; new Parcel({