mirror of
				https://github.com/1disk/edp445.git
				synced 2024-08-14 22:47:02 +00:00 
			
		
		
		
	Changed alot of things.
This commit is contained in:
		
							parent
							
								
									a5a0523e5a
								
							
						
					
					
						commit
						3513d5390c
					
				
					 2016 changed files with 336930 additions and 9 deletions
				
			
		
							
								
								
									
										15
									
								
								node_modules/once/LICENSE
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								node_modules/once/LICENSE
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,15 @@ | |||
| The ISC License | ||||
| 
 | ||||
| Copyright (c) Isaac Z. Schlueter and Contributors | ||||
| 
 | ||||
| Permission to use, copy, modify, and/or distribute this software for any | ||||
| purpose with or without fee is hereby granted, provided that the above | ||||
| copyright notice and this permission notice appear in all copies. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||
| WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||
| MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||
| ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||
| WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||
| ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR | ||||
| IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||
							
								
								
									
										79
									
								
								node_modules/once/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								node_modules/once/README.md
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,79 @@ | |||
| # once | ||||
| 
 | ||||
| Only call a function once. | ||||
| 
 | ||||
| ## usage | ||||
| 
 | ||||
| ```javascript | ||||
| var once = require('once') | ||||
| 
 | ||||
| function load (file, cb) { | ||||
|   cb = once(cb) | ||||
|   loader.load('file') | ||||
|   loader.once('load', cb) | ||||
|   loader.once('error', cb) | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| Or add to the Function.prototype in a responsible way: | ||||
| 
 | ||||
| ```javascript | ||||
| // only has to be done once | ||||
| require('once').proto() | ||||
| 
 | ||||
| function load (file, cb) { | ||||
|   cb = cb.once() | ||||
|   loader.load('file') | ||||
|   loader.once('load', cb) | ||||
|   loader.once('error', cb) | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| Ironically, the prototype feature makes this module twice as | ||||
| complicated as necessary. | ||||
| 
 | ||||
| To check whether you function has been called, use `fn.called`. Once the | ||||
| function is called for the first time the return value of the original | ||||
| function is saved in `fn.value` and subsequent calls will continue to | ||||
| return this value. | ||||
| 
 | ||||
| ```javascript | ||||
| var once = require('once') | ||||
| 
 | ||||
| function load (cb) { | ||||
|   cb = once(cb) | ||||
|   var stream = createStream() | ||||
|   stream.once('data', cb) | ||||
|   stream.once('end', function () { | ||||
|     if (!cb.called) cb(new Error('not found')) | ||||
|   }) | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| ## `once.strict(func)` | ||||
| 
 | ||||
| Throw an error if the function is called twice. | ||||
| 
 | ||||
| Some functions are expected to be called only once. Using `once` for them would | ||||
| potentially hide logical errors. | ||||
| 
 | ||||
| In the example below, the `greet` function has to call the callback only once: | ||||
| 
 | ||||
| ```javascript | ||||
| function greet (name, cb) { | ||||
|   // return is missing from the if statement | ||||
|   // when no name is passed, the callback is called twice | ||||
|   if (!name) cb('Hello anonymous') | ||||
|   cb('Hello ' + name) | ||||
| } | ||||
| 
 | ||||
| function log (msg) { | ||||
|   console.log(msg) | ||||
| } | ||||
| 
 | ||||
| // this will print 'Hello anonymous' but the logical error will be missed | ||||
| greet(null, once(msg)) | ||||
| 
 | ||||
| // once.strict will print 'Hello anonymous' and throw an error when the callback will be called the second time | ||||
| greet(null, once.strict(msg)) | ||||
| ``` | ||||
							
								
								
									
										42
									
								
								node_modules/once/once.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								node_modules/once/once.js
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,42 @@ | |||
| var wrappy = require('wrappy') | ||||
| module.exports = wrappy(once) | ||||
| module.exports.strict = wrappy(onceStrict) | ||||
| 
 | ||||
| once.proto = once(function () { | ||||
|   Object.defineProperty(Function.prototype, 'once', { | ||||
|     value: function () { | ||||
|       return once(this) | ||||
|     }, | ||||
|     configurable: true | ||||
|   }) | ||||
| 
 | ||||
|   Object.defineProperty(Function.prototype, 'onceStrict', { | ||||
|     value: function () { | ||||
|       return onceStrict(this) | ||||
|     }, | ||||
|     configurable: true | ||||
|   }) | ||||
| }) | ||||
| 
 | ||||
| function once (fn) { | ||||
|   var f = function () { | ||||
|     if (f.called) return f.value | ||||
|     f.called = true | ||||
|     return f.value = fn.apply(this, arguments) | ||||
|   } | ||||
|   f.called = false | ||||
|   return f | ||||
| } | ||||
| 
 | ||||
| function onceStrict (fn) { | ||||
|   var f = function () { | ||||
|     if (f.called) | ||||
|       throw new Error(f.onceError) | ||||
|     f.called = true | ||||
|     return f.value = fn.apply(this, arguments) | ||||
|   } | ||||
|   var name = fn.name || 'Function wrapped with `once`' | ||||
|   f.onceError = name + " shouldn't be called more than once" | ||||
|   f.called = false | ||||
|   return f | ||||
| } | ||||
							
								
								
									
										33
									
								
								node_modules/once/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								node_modules/once/package.json
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | |||
| { | ||||
|   "name": "once", | ||||
|   "version": "1.4.0", | ||||
|   "description": "Run a function exactly one time", | ||||
|   "main": "once.js", | ||||
|   "directories": { | ||||
|     "test": "test" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "wrappy": "1" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "tap": "^7.0.1" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "test": "tap test/*.js" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "once.js" | ||||
|   ], | ||||
|   "repository": { | ||||
|     "type": "git", | ||||
|     "url": "git://github.com/isaacs/once" | ||||
|   }, | ||||
|   "keywords": [ | ||||
|     "once", | ||||
|     "function", | ||||
|     "one", | ||||
|     "single" | ||||
|   ], | ||||
|   "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)", | ||||
|   "license": "ISC" | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue