UNPKG

can

Version:

MIT-licensed, client-side, JavaScript framework that makes building rich web applications easy.

154 lines (150 loc) 4.8 kB
/*! * CanJS - 2.3.34 * http://canjs.com/ * Copyright (c) 2018 Bitovi * Mon, 30 Apr 2018 20:56:51 GMT * Licensed MIT */ /*[global-shim-start]*/ (function (exports, global){ var origDefine = global.define; var get = function(name){ var parts = name.split("."), cur = global, i; for(i = 0 ; i < parts.length; i++){ if(!cur) { break; } cur = cur[parts[i]]; } return cur; }; var modules = (global.define && global.define.modules) || (global._define && global._define.modules) || {}; var ourDefine = global.define = function(moduleName, deps, callback){ var module; if(typeof deps === "function") { callback = deps; deps = []; } var args = [], i; for(i =0; i < deps.length; i++) { args.push( exports[deps[i]] ? get(exports[deps[i]]) : ( modules[deps[i]] || get(deps[i]) ) ); } // CJS has no dependencies but 3 callback arguments if(!deps.length && callback.length) { module = { exports: {} }; var require = function(name) { return exports[name] ? get(exports[name]) : modules[name]; }; args.push(require, module.exports, module); } // Babel uses the exports and module object. else if(!args[0] && deps[0] === "exports") { module = { exports: {} }; args[0] = module.exports; if(deps[1] === "module") { args[1] = module; } } else if(!args[0] && deps[0] === "module") { args[0] = { id: moduleName }; } global.define = origDefine; var result = callback ? callback.apply(null, args) : undefined; global.define = ourDefine; // Favor CJS module.exports over the return value modules[moduleName] = module && module.exports ? module.exports : result; }; global.define.orig = origDefine; global.define.modules = modules; global.define.amd = true; ourDefine("@loader", [], function(){ // shim for @@global-helpers var noop = function(){}; return { get: function(){ return { prepareGlobal: noop, retrieveGlobal: noop }; }, global: global, __exec: function(__load){ eval("(function() { " + __load.source + " \n }).call(global);"); } }; }); })({},window) /*can@2.3.34#map/list/list*/ define('can/map/list/list', [ 'can/util/util', 'can/map/map', 'can/list/list', 'can/compute/compute' ], function (can) { can.extend(can.List.prototype, { filter: function (callback, thisArg) { var filtered = new this.constructor(); var self = this; var generator = function (element, index) { var binder = function (ev, val) { var index = filtered.indexOf(element); if (!val && index !== -1) { filtered.splice(index, 1); } if (val && index === -1) { filtered.push(element); } }; var compute = can.compute(function () { return callback.call(thisArg || self, element, self.indexOf(element), self); }); compute.bind('change', binder); binder(null, compute()); }; this.bind('add', function (ev, data, index) { can.each(data, function (element, i) { generator(element, index + i); }); }); this.bind('remove', function (ev, data, index) { can.each(data, function (element, i) { var index = filtered.indexOf(element); if (index !== -1) { filtered.splice(index, 1); } }); }); this.forEach(generator); return filtered; }, map: function (callback, thisArg) { var mapped = new can.List(); var self = this; var generator = function (element, index) { var compute = can.compute(function () { return callback.call(thisArg || self, element, index, self); }); compute.bind('change', function (ev, val) { mapped.splice(index, 1, val); }); mapped.splice(index, 0, compute()); }; this.forEach(generator); this.bind('add', function (ev, data, index) { can.each(data, function (element, i) { generator(element, index + i); }); }); this.bind('remove', function (ev, data, index) { mapped.splice(index, data.length); }); return mapped; } }); return can.List; }); /*[global-shim-end]*/ (function (){ window._define = window.define; window.define = window.define.orig; })();