🎉 initiate project *astro_rewrite*
This commit is contained in:
		
							parent
							
								
									ffd4d5e86c
								
							
						
					
					
						commit
						2ba37bfbe3
					
				
					 8658 changed files with 2268794 additions and 2538 deletions
				
			
		
							
								
								
									
										4
									
								
								node_modules/clone/.npmignore
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								node_modules/clone/.npmignore
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | |||
| /node_modules/ | ||||
| /test.js | ||||
| /*.html | ||||
| /.travis.yml | ||||
							
								
								
									
										18
									
								
								node_modules/clone/LICENSE
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								node_modules/clone/LICENSE
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | |||
| Copyright © 2011-2015 Paul Vorbach <paul@vorba.ch> | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy of | ||||
| this software and associated documentation files (the “Software”), to deal in | ||||
| the Software without restriction, including without limitation the rights to | ||||
| use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | ||||
| the Software, and to permit persons to whom the Software is furnished to do so, | ||||
| subject to the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | ||||
| FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||||
| COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||||
| IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, OUT OF OR IN CONNECTION WITH THE | ||||
| SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
							
								
								
									
										126
									
								
								node_modules/clone/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										126
									
								
								node_modules/clone/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,126 @@ | |||
| # clone | ||||
| 
 | ||||
| [](http://travis-ci.org/pvorb/node-clone) | ||||
| 
 | ||||
| [](http://npm-stat.com/charts.html?package=clone) | ||||
| 
 | ||||
| offers foolproof _deep cloning_ of objects, arrays, numbers, strings etc. in JavaScript. | ||||
| 
 | ||||
| 
 | ||||
| ## Installation | ||||
| 
 | ||||
|     npm install clone | ||||
| 
 | ||||
| (It also works with browserify, ender or standalone.) | ||||
| 
 | ||||
| 
 | ||||
| ## Example | ||||
| 
 | ||||
| ~~~ javascript | ||||
| var clone = require('clone'); | ||||
| 
 | ||||
| var a, b; | ||||
| 
 | ||||
| a = { foo: { bar: 'baz' } };  // initial value of a | ||||
| 
 | ||||
| b = clone(a);                 // clone a -> b | ||||
| a.foo.bar = 'foo';            // change a | ||||
| 
 | ||||
| console.log(a);               // show a | ||||
| console.log(b);               // show b | ||||
| ~~~ | ||||
| 
 | ||||
| This will print: | ||||
| 
 | ||||
| ~~~ javascript | ||||
| { foo: { bar: 'foo' } } | ||||
| { foo: { bar: 'baz' } } | ||||
| ~~~ | ||||
| 
 | ||||
| **clone** masters cloning simple objects (even with custom prototype), arrays, | ||||
| Date objects, and RegExp objects. Everything is cloned recursively, so that you | ||||
| can clone dates in arrays in objects, for example. | ||||
| 
 | ||||
| 
 | ||||
| ## API | ||||
| 
 | ||||
| `clone(val, circular, depth)` | ||||
| 
 | ||||
|   * `val` -- the value that you want to clone, any type allowed | ||||
|   * `circular` -- boolean | ||||
| 
 | ||||
|     Call `clone` with `circular` set to `false` if you are certain that `obj` | ||||
|     contains no circular references. This will give better performance if needed. | ||||
|     There is no error if `undefined` or `null` is passed as `obj`. | ||||
|   * `depth` -- depth to which the object is to be cloned (optional, | ||||
|     defaults to infinity) | ||||
| 
 | ||||
| `clone.clonePrototype(obj)` | ||||
| 
 | ||||
|   * `obj` -- the object that you want to clone | ||||
| 
 | ||||
| Does a prototype clone as | ||||
| [described by Oran Looney](http://oranlooney.com/functional-javascript/). | ||||
| 
 | ||||
| 
 | ||||
| ## Circular References | ||||
| 
 | ||||
| ~~~ javascript | ||||
| var a, b; | ||||
| 
 | ||||
| a = { hello: 'world' }; | ||||
| 
 | ||||
| a.myself = a; | ||||
| b = clone(a); | ||||
| 
 | ||||
| console.log(b); | ||||
| ~~~ | ||||
| 
 | ||||
| This will print: | ||||
| 
 | ||||
| ~~~ javascript | ||||
| { hello: "world", myself: [Circular] } | ||||
| ~~~ | ||||
| 
 | ||||
| So, `b.myself` points to `b`, not `a`. Neat! | ||||
| 
 | ||||
| 
 | ||||
| ## Test | ||||
| 
 | ||||
|     npm test | ||||
| 
 | ||||
| 
 | ||||
| ## Caveat | ||||
| 
 | ||||
| Some special objects like a socket or `process.stdout`/`stderr` are known to not | ||||
| be cloneable. If you find other objects that cannot be cloned, please [open an | ||||
| issue](https://github.com/pvorb/node-clone/issues/new). | ||||
| 
 | ||||
| 
 | ||||
| ## Bugs and Issues | ||||
| 
 | ||||
| If you encounter any bugs or issues, feel free to [open an issue at | ||||
| github](https://github.com/pvorb/node-clone/issues) or send me an email to | ||||
| <paul@vorba.ch>. I also always like to hear from you, if you’re using my code. | ||||
| 
 | ||||
| ## License | ||||
| 
 | ||||
| Copyright © 2011-2015 [Paul Vorbach](http://paul.vorba.ch/) and | ||||
| [contributors](https://github.com/pvorb/node-clone/graphs/contributors). | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy of | ||||
| this software and associated documentation files (the “Software”), to deal in | ||||
| the Software without restriction, including without limitation the rights to | ||||
| use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of | ||||
| the Software, and to permit persons to whom the Software is furnished to do so, | ||||
| subject to the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS | ||||
| FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR | ||||
| COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||||
| IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, OUT OF OR IN CONNECTION WITH THE | ||||
| SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||||
							
								
								
									
										10
									
								
								node_modules/clone/clone.iml
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								node_modules/clone/clone.iml
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <module type="WEB_MODULE" version="4"> | ||||
|   <component name="NewModuleRootManager" inherit-compiler-output="true"> | ||||
|     <exclude-output /> | ||||
|     <content url="file://$MODULE_DIR$" /> | ||||
|     <orderEntry type="inheritedJdk" /> | ||||
|     <orderEntry type="sourceFolder" forTests="false" /> | ||||
|     <orderEntry type="library" name="clone node_modules" level="project" /> | ||||
|   </component> | ||||
| </module> | ||||
							
								
								
									
										166
									
								
								node_modules/clone/clone.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										166
									
								
								node_modules/clone/clone.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,166 @@ | |||
| var clone = (function() { | ||||
| 'use strict'; | ||||
| 
 | ||||
| /** | ||||
|  * Clones (copies) an Object using deep copying. | ||||
|  * | ||||
|  * This function supports circular references by default, but if you are certain | ||||
|  * there are no circular references in your object, you can save some CPU time | ||||
|  * by calling clone(obj, false). | ||||
|  * | ||||
|  * Caution: if `circular` is false and `parent` contains circular references, | ||||
|  * your program may enter an infinite loop and crash. | ||||
|  * | ||||
|  * @param `parent` - the object to be cloned | ||||
|  * @param `circular` - set to true if the object to be cloned may contain | ||||
|  *    circular references. (optional - true by default) | ||||
|  * @param `depth` - set to a number if the object is only to be cloned to | ||||
|  *    a particular depth. (optional - defaults to Infinity) | ||||
|  * @param `prototype` - sets the prototype to be used when cloning an object. | ||||
|  *    (optional - defaults to parent prototype). | ||||
| */ | ||||
| function clone(parent, circular, depth, prototype) { | ||||
|   var filter; | ||||
|   if (typeof circular === 'object') { | ||||
|     depth = circular.depth; | ||||
|     prototype = circular.prototype; | ||||
|     filter = circular.filter; | ||||
|     circular = circular.circular | ||||
|   } | ||||
|   // maintain two arrays for circular references, where corresponding parents
 | ||||
|   // and children have the same index
 | ||||
|   var allParents = []; | ||||
|   var allChildren = []; | ||||
| 
 | ||||
|   var useBuffer = typeof Buffer != 'undefined'; | ||||
| 
 | ||||
|   if (typeof circular == 'undefined') | ||||
|     circular = true; | ||||
| 
 | ||||
|   if (typeof depth == 'undefined') | ||||
|     depth = Infinity; | ||||
| 
 | ||||
|   // recurse this function so we don't reset allParents and allChildren
 | ||||
|   function _clone(parent, depth) { | ||||
|     // cloning null always returns null
 | ||||
|     if (parent === null) | ||||
|       return null; | ||||
| 
 | ||||
|     if (depth == 0) | ||||
|       return parent; | ||||
| 
 | ||||
|     var child; | ||||
|     var proto; | ||||
|     if (typeof parent != 'object') { | ||||
|       return parent; | ||||
|     } | ||||
| 
 | ||||
|     if (clone.__isArray(parent)) { | ||||
|       child = []; | ||||
|     } else if (clone.__isRegExp(parent)) { | ||||
|       child = new RegExp(parent.source, __getRegExpFlags(parent)); | ||||
|       if (parent.lastIndex) child.lastIndex = parent.lastIndex; | ||||
|     } else if (clone.__isDate(parent)) { | ||||
|       child = new Date(parent.getTime()); | ||||
|     } else if (useBuffer && Buffer.isBuffer(parent)) { | ||||
|       if (Buffer.allocUnsafe) { | ||||
|         // Node.js >= 4.5.0
 | ||||
|         child = Buffer.allocUnsafe(parent.length); | ||||
|       } else { | ||||
|         // Older Node.js versions
 | ||||
|         child = new Buffer(parent.length); | ||||
|       } | ||||
|       parent.copy(child); | ||||
|       return child; | ||||
|     } else { | ||||
|       if (typeof prototype == 'undefined') { | ||||
|         proto = Object.getPrototypeOf(parent); | ||||
|         child = Object.create(proto); | ||||
|       } | ||||
|       else { | ||||
|         child = Object.create(prototype); | ||||
|         proto = prototype; | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|     if (circular) { | ||||
|       var index = allParents.indexOf(parent); | ||||
| 
 | ||||
|       if (index != -1) { | ||||
|         return allChildren[index]; | ||||
|       } | ||||
|       allParents.push(parent); | ||||
|       allChildren.push(child); | ||||
|     } | ||||
| 
 | ||||
|     for (var i in parent) { | ||||
|       var attrs; | ||||
|       if (proto) { | ||||
|         attrs = Object.getOwnPropertyDescriptor(proto, i); | ||||
|       } | ||||
| 
 | ||||
|       if (attrs && attrs.set == null) { | ||||
|         continue; | ||||
|       } | ||||
|       child[i] = _clone(parent[i], depth - 1); | ||||
|     } | ||||
| 
 | ||||
|     return child; | ||||
|   } | ||||
| 
 | ||||
|   return _clone(parent, depth); | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Simple flat clone using prototype, accepts only objects, usefull for property | ||||
|  * override on FLAT configuration object (no nested props). | ||||
|  * | ||||
|  * USE WITH CAUTION! This may not behave as you wish if you do not know how this | ||||
|  * works. | ||||
|  */ | ||||
| clone.clonePrototype = function clonePrototype(parent) { | ||||
|   if (parent === null) | ||||
|     return null; | ||||
| 
 | ||||
|   var c = function () {}; | ||||
|   c.prototype = parent; | ||||
|   return new c(); | ||||
| }; | ||||
| 
 | ||||
| // private utility functions
 | ||||
| 
 | ||||
| function __objToStr(o) { | ||||
|   return Object.prototype.toString.call(o); | ||||
| }; | ||||
| clone.__objToStr = __objToStr; | ||||
| 
 | ||||
| function __isDate(o) { | ||||
|   return typeof o === 'object' && __objToStr(o) === '[object Date]'; | ||||
| }; | ||||
| clone.__isDate = __isDate; | ||||
| 
 | ||||
| function __isArray(o) { | ||||
|   return typeof o === 'object' && __objToStr(o) === '[object Array]'; | ||||
| }; | ||||
| clone.__isArray = __isArray; | ||||
| 
 | ||||
| function __isRegExp(o) { | ||||
|   return typeof o === 'object' && __objToStr(o) === '[object RegExp]'; | ||||
| }; | ||||
| clone.__isRegExp = __isRegExp; | ||||
| 
 | ||||
| function __getRegExpFlags(re) { | ||||
|   var flags = ''; | ||||
|   if (re.global) flags += 'g'; | ||||
|   if (re.ignoreCase) flags += 'i'; | ||||
|   if (re.multiline) flags += 'm'; | ||||
|   return flags; | ||||
| }; | ||||
| clone.__getRegExpFlags = __getRegExpFlags; | ||||
| 
 | ||||
| return clone; | ||||
| })(); | ||||
| 
 | ||||
| if (typeof module === 'object' && module.exports) { | ||||
|   module.exports = clone; | ||||
| } | ||||
							
								
								
									
										51
									
								
								node_modules/clone/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								node_modules/clone/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,51 @@ | |||
| { | ||||
|   "name": "clone", | ||||
|   "description": "deep cloning of objects and arrays", | ||||
|   "tags": [ | ||||
|     "clone", | ||||
|     "object", | ||||
|     "array", | ||||
|     "function", | ||||
|     "date" | ||||
|   ], | ||||
|   "version": "1.0.4", | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git://github.com/pvorb/node-clone.git" | ||||
|   }, | ||||
|   "bugs": { | ||||
|     "url": "https://github.com/pvorb/node-clone/issues" | ||||
|   }, | ||||
|   "main": "clone.js", | ||||
|   "author": "Paul Vorbach <paul@vorba.ch> (http://paul.vorba.ch/)", | ||||
|   "contributors": [ | ||||
|     "Blake Miner <miner.blake@gmail.com> (http://www.blakeminer.com/)", | ||||
|     "Tian You <axqd001@gmail.com> (http://blog.axqd.net/)", | ||||
|     "George Stagas <gstagas@gmail.com> (http://stagas.com/)", | ||||
|     "Tobiasz Cudnik <tobiasz.cudnik@gmail.com> (https://github.com/TobiaszCudnik)", | ||||
|     "Pavel Lang <langpavel@phpskelet.org> (https://github.com/langpavel)", | ||||
|     "Dan MacTough (http://yabfog.com/)", | ||||
|     "w1nk (https://github.com/w1nk)", | ||||
|     "Hugh Kennedy (http://twitter.com/hughskennedy)", | ||||
|     "Dustin Diaz (http://dustindiaz.com)", | ||||
|     "Ilya Shaisultanov (https://github.com/diversario)", | ||||
|     "Nathan MacInnes <nathan@macinn.es> (http://macinn.es/)", | ||||
|     "Benjamin E. Coe <ben@npmjs.com> (https://twitter.com/benjamincoe)", | ||||
|     "Nathan Zadoks (https://github.com/nathan7)", | ||||
|     "Róbert Oroszi <robert+gh@oroszi.net> (https://github.com/oroce)", | ||||
|     "Aurélio A. Heckert (http://softwarelivre.org/aurium)", | ||||
|     "Guy Ellis (http://www.guyellisrocks.com/)" | ||||
|   ], | ||||
|   "license": "MIT", | ||||
|   "engines": { | ||||
|     "node": ">=0.8" | ||||
|   }, | ||||
|   "dependencies": {}, | ||||
|   "devDependencies": { | ||||
|     "nodeunit": "~0.9.0" | ||||
|   }, | ||||
|   "optionalDependencies": {}, | ||||
|   "scripts": { | ||||
|     "test": "nodeunit test.js" | ||||
|   } | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 sindrekjelsrud
						sindrekjelsrud