From db0767097768b4b4ce99c5f8798b382bb3362d1f Mon Sep 17 00:00:00 2001 From: cherif BOUCHELAGHEM Date: Mon, 2 Jul 2018 22:30:35 +0100 Subject: [PATCH 1/3] get rid of can-util --- can-list.js | 19 +++++++++---------- package.json | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/can-list.js b/can-list.js index 9218050..100859b 100644 --- a/can-list.js +++ b/can-list.js @@ -8,14 +8,13 @@ var canEvent = require('can-event-queue/map/map'); var ObservationRecorder = require('can-observation-recorder'); var CID = require('can-cid'); -var isPromise = require('can-util/js/is-promise/is-promise'); -var makeArray = require('can-util/js/make-array/make-array'); -var assign = require('can-util/js/assign/assign'); -var types = require('can-types'); -var each = require('can-util/js/each/each'); var canReflect = require('can-reflect'); +var isPromise = canReflect.isPromise; +var makeArray = canReflect.toArray; +var assign = require('can-assign'); +var types = require('can-types'); var canSymbol = require('can-symbol'); -var CIDMap = require("can-util/js/cid-map/cid-map"); +var CIDMap = require("can-cid/map/map"); // Helpers for `observable` lists. @@ -228,7 +227,7 @@ var List = Map.extend( makeArray(args); }; // Create `push`, `pop`, `shift`, and `unshift` -each({ +canReflect.eachKey({ /** * @function can-list.prototype.push push * @parent can-list.prototype @@ -347,7 +346,7 @@ each({ }; }); -each({ +canReflect.eachKey({ /** * @function can-list.prototype.pop pop * @parent can-list.prototype @@ -604,12 +603,12 @@ assign(List.prototype, { MapType = this.constructor.Map; // Go through each of the passed `arguments` and // see if it is list-like, an array, or something else - each(arguments, function(arg) { + canReflect.each(arguments, function(arg) { if((canReflect.isObservableLike(arg) && canReflect.isListLike(arg)) || Array.isArray(arg)) { // If it is list-like we want convert to a JS array then // pass each item of the array to serializeNonTypes var arr = (canReflect.isObservableLike(arg) && canReflect.isListLike(arg)) ? makeArray(arg) : arg; - each(arr, function(innerArg) { + canReflect.each(arr, function(innerArg) { serializeNonTypes(MapType, innerArg, args); }); } diff --git a/package.json b/package.json index 0127add..22c665d 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "npmAlgorithm": "flat" }, "dependencies": { + "can-assign": "^1.1.1", "can-cid": "^1.1.2", "can-construct": "^3.2.1", "can-event-queue": "<2.0.0", @@ -44,7 +45,6 @@ "can-stache-key": "^1.0.0", "can-symbol": "^1.4.1", "can-types": "^1.1.0", - "can-util": "^3.10.12", "can-compute": "^4.0.0", "can-queues": "<2.0.0", "can-map": "^4.0.0" From b9de47133410189a1821b9a2106c6f7cc01fceb1 Mon Sep 17 00:00:00 2001 From: cherif BOUCHELAGHEM Date: Tue, 3 Jul 2018 00:13:50 +0100 Subject: [PATCH 2/3] fix can-reflect use --- can-list.js | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/can-list.js b/can-list.js index 100859b..09b3675 100644 --- a/can-list.js +++ b/can-list.js @@ -9,8 +9,6 @@ var ObservationRecorder = require('can-observation-recorder'); var CID = require('can-cid'); var canReflect = require('can-reflect'); -var isPromise = canReflect.isPromise; -var makeArray = canReflect.toArray; var assign = require('can-assign'); var types = require('can-types'); var canSymbol = require('can-symbol'); @@ -53,11 +51,11 @@ var List = Map.extend( instances = instances || []; var teardownMapping; - if (isPromise(instances)) { + if (canReflect.isPromise(instances)) { this.replace(instances); } else { teardownMapping = instances.length && mapHelpers.addToMap(instances, this); - this.push.apply(this, makeArray(instances || [])); + this.push.apply(this, canReflect.toArray(instances || [])); } if (teardownMapping) { @@ -166,7 +164,7 @@ var List = Map.extend( return canReflect.serialize(this, CIDMap); }, splice: function (index, howMany) { - var args = makeArray(arguments), + var args = canReflect.toArray(arguments), added =[], i, len, listIndex, allSame = args.length > 2; @@ -224,7 +222,7 @@ var List = Map.extend( getArgs = function (args) { return args[0] && Array.isArray(args[0]) ? args[0] : - makeArray(args); + canReflect.toArray(args); }; // Create `push`, `pop`, `shift`, and `unshift` canReflect.eachKey({ @@ -532,7 +530,7 @@ assign(List.prototype, { * ``` */ reverse: function() { - var list = [].reverse.call(makeArray(this)); + var list = [].reverse.call(canReflect.toArray(this)); return this.replace(list); }, @@ -607,7 +605,7 @@ assign(List.prototype, { if((canReflect.isObservableLike(arg) && canReflect.isListLike(arg)) || Array.isArray(arg)) { // If it is list-like we want convert to a JS array then // pass each item of the array to serializeNonTypes - var arr = (canReflect.isObservableLike(arg) && canReflect.isListLike(arg)) ? makeArray(arg) : arg; + var arr = (canReflect.isObservableLike(arg) && canReflect.isListLike(arg)) ? canReflect.toArray(arg) : arg; canReflect.each(arr, function(innerArg) { serializeNonTypes(MapType, innerArg, args); }); @@ -623,7 +621,7 @@ assign(List.prototype, { // as well (We know it should be list-like), then // concat with our passed in args, then pass it to // list constructor to make it back into a list - return new this.constructor(Array.prototype.concat.apply(makeArray(this), args)); + return new this.constructor(Array.prototype.concat.apply(canReflect.toArray(this), args)); }, /** @@ -723,7 +721,7 @@ assign(List.prototype, { * ``` */ replace: function (newList) { - if (isPromise(newList)) { + if (canReflect.isPromise(newList)) { if(this._promise) { this._promise.__isCurrentPromise = false; } @@ -736,7 +734,7 @@ assign(List.prototype, { } }); } else { - this.splice.apply(this, [0, this.length].concat(makeArray(newList || []))); + this.splice.apply(this, [0, this.length].concat(canReflect.toArray(newList || []))); } return this; From f8b67e86b7f1e2bf0467b2e1ea689d8c68bde645 Mon Sep 17 00:00:00 2001 From: cherif BOUCHELAGHEM Date: Tue, 3 Jul 2018 20:54:18 +0100 Subject: [PATCH 3/3] fix can-reflect.toArray usage --- can-list.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/can-list.js b/can-list.js index 09b3675..362aeca 100644 --- a/can-list.js +++ b/can-list.js @@ -48,14 +48,14 @@ var List = Map.extend( this.length = 0; CID(this, ".map"); this._setupComputedProperties(); - instances = instances || []; + instances = instances === undefined ? [] : canReflect.toArray(instances); var teardownMapping; if (canReflect.isPromise(instances)) { this.replace(instances); } else { teardownMapping = instances.length && mapHelpers.addToMap(instances, this); - this.push.apply(this, canReflect.toArray(instances || [])); + this.push.apply(this, instances); } if (teardownMapping) { @@ -734,7 +734,8 @@ assign(List.prototype, { } }); } else { - this.splice.apply(this, [0, this.length].concat(canReflect.toArray(newList || []))); + newList = newList === undefined ? [] : canReflect.toArray(newList); + this.splice.apply(this, [0, this.length].concat(newList)); } return this;