| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- (function(factory) {
- if (typeof define === "function" && define.amd) {
- define(["zepto", "zepto_data", "zepto_event"], factory);
- } else if (typeof exports === "object") {
- module.exports = factory(require("zepto"), require("zepto_data"), require("zepto_event"));
- } else {
- factory(Zepto); //requires a zepto build with data & event
- }
- }
- (function($) {
- $.extend = function() {
- var options, name, src, copy, copyIsArray, clone,
- target = arguments[0] || {},
- i = 1,
- length = arguments.length,
- deep = false;
- // Handle a deep copy situation
- if (typeof target === "boolean") {
- deep = target;
- // Skip the boolean and the target
- target = arguments[i] || {};
- i++;
- }
- // Handle case when target is a string or something (possible in deep copy)
- if (typeof target !== "object" && !$.isFunction(target)) {
- target = {};
- }
- // Extend jQuery itself if only one argument is passed
- if (i === length) {
- target = this;
- i--;
- }
- for (; i < length; i++) {
- // Only deal with non-null/undefined values
- if ((options = arguments[i]) != null) {
- // Extend the base object
- for (name in options) {
- src = target[name];
- copy = options[name];
- // Prevent never-ending loop
- if (target === copy) {
- continue;
- }
- // Recurse if we're merging plain objects or arrays
- if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) {
- if (copyIsArray) {
- copyIsArray = false;
- clone = src && $.isArray(src) ? src : [];
- } else {
- clone = src && $.isPlainObject(src) ? src : {};
- }
- // Never move original objects, clone them
- target[name] = $.extend(deep, clone, copy);
- // Don't bring in undefined values
- } else if (copy !== undefined) {
- target[name] = copy;
- }
- }
- }
- }
- // Return the modified object
- return target;
- };
- $.data = function(elem, name, data) {
- return $(elem).data(name, data);
- };
- window.dependencyLib = $;
- return $;
- }));
|