* Creates a shallow copy of an object, an array or a primitive
(src, dst)
| 927 | * Creates a shallow copy of an object, an array or a primitive |
| 928 | */ |
| 929 | function shallowCopy(src, dst) { |
| 930 | if (isArray(src)) { |
| 931 | dst = dst || []; |
| 932 | |
| 933 | for ( var i = 0; i < src.length; i++) { |
| 934 | dst[i] = src[i]; |
| 935 | } |
| 936 | } else if (isObject(src)) { |
| 937 | dst = dst || {}; |
| 938 | |
| 939 | for (var key in src) { |
| 940 | if (hasOwnProperty.call(src, key) && !(key.charAt(0) === '$' && key.charAt(1) === '$')) { |
| 941 | dst[key] = src[key]; |
| 942 | } |
| 943 | } |
| 944 | } |
| 945 | |
| 946 | return dst || src; |
| 947 | } |
| 948 | |
| 949 | |
| 950 | /** |
no test coverage detected