| Index: third_party/polymer/v0_8/components-chromium/polymer/src/lib/array-observe-extracted.js
|
| diff --git a/third_party/polymer/v0_8/components-chromium/polymer/src/lib/array-observe-extracted.js b/third_party/polymer/v0_8/components-chromium/polymer/src/lib/array-observe-extracted.js
|
| deleted file mode 100644
|
| index e89ce32024c6ed130772ff778ad7fbded337b26c..0000000000000000000000000000000000000000
|
| --- a/third_party/polymer/v0_8/components-chromium/polymer/src/lib/array-observe-extracted.js
|
| +++ /dev/null
|
| @@ -1,106 +0,0 @@
|
| -
|
| -
|
| -(function() {
|
| -
|
| - var callbacks = new WeakMap();
|
| -
|
| - function observe(array, cb) {
|
| - if (Array.observe) {
|
| - var ncb = function(changes) {
|
| - changes = changes.filter(function(o) { return o.type == 'splice'; });
|
| - if (changes.length) {
|
| - cb(changes);
|
| - }
|
| - };
|
| - callbacks.set(cb, ncb);
|
| - Array.observe(array, ncb);
|
| - } else {
|
| - if (!array.__polymerObservable) {
|
| - makeObservable(array);
|
| - }
|
| - callbacks.get(array).push(cb);
|
| - }
|
| - }
|
| -
|
| - function unobserve(array, cb) {
|
| - if (Array.observe) {
|
| - var ncb = callbacks.get(cb);
|
| - callbacks.delete(cb);
|
| - Array.unobserve(array, ncb);
|
| - } else {
|
| - var cbs = callbacks.get(array);
|
| - var idx = cbs.indexOf(cb);
|
| - if (idx >= 0) {
|
| - cbs.splice(idx, 1);
|
| - }
|
| - }
|
| - }
|
| -
|
| - function makeObservable(array) {
|
| - var splices = [];
|
| - var debounce;
|
| - var orig = {
|
| - push: array.push,
|
| - pop: array.pop,
|
| - splice: array.splice,
|
| - shift: array.shift,
|
| - unshift: array.unshift,
|
| - sort: array.sort
|
| - };
|
| - var addSplice = function(index, added, removed) {
|
| - splices.push({
|
| - index: index,
|
| - addedCount: added,
|
| - removed: removed,
|
| - object: array,
|
| - type: 'splice'
|
| - });
|
| - };
|
| - callbacks.set(array, []);
|
| - array.push = function() {
|
| - debounce = Polymer.Debounce(debounce, fin);
|
| - addSplice(array.length, 1, []);
|
| - return orig.push.apply(this, arguments);
|
| - };
|
| - array.pop = function() {
|
| - debounce = Polymer.Debounce(debounce, fin);
|
| - addSplice(array.length - 1, 0, array.slice(-1));
|
| - return orig.pop.apply(this, arguments);
|
| - };
|
| - array.splice = function(start, deleteCount) {
|
| - debounce = Polymer.Debounce(debounce, fin);
|
| - addSplice(start, arguments.length - 2, array.slice(start, start + deleteCount));
|
| - return orig.splice.apply(this, arguments);
|
| - };
|
| - array.shift = function() {
|
| - debounce = Polymer.Debounce(debounce, fin);
|
| - addSplice(0, 0, [array[0]]);
|
| - return orig.shift.apply(this, arguments);
|
| - };
|
| - array.unshift = function() {
|
| - debounce = Polymer.Debounce(debounce, fin);
|
| - addSplice(0, 1, []);
|
| - return orig.unshift.apply(this, arguments);
|
| - };
|
| - array.sort = function() {
|
| - debounce = Polymer.Debounce(debounce, fin);
|
| - console.warn('[ArrayObserve]: sort not observable');
|
| - return orig.sort.apply(this, arguments);
|
| - };
|
| - var fin = function() {
|
| - var cbs = callbacks.get(array);
|
| - for (var i=0; i<cbs.length; i++) {
|
| - cbs[i](splices);
|
| - }
|
| - splices = [];
|
| - };
|
| - array.__polymerObservable = true;
|
| - }
|
| -
|
| - Polymer.ArrayObserve = {
|
| - observe: observe,
|
| - unobserve: unobserve
|
| - };
|
| -
|
| -})();
|
| -
|
|
|