| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 
							- var _global = (function() { return this; })();
 
- var NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
 
- var websocket_version = require('./version');
 
- /**
 
-  * Expose a W3C WebSocket class with just one or two arguments.
 
-  */
 
- function W3CWebSocket(uri, protocols) {
 
- 	var native_instance;
 
- 	if (protocols) {
 
- 		native_instance = new NativeWebSocket(uri, protocols);
 
- 	}
 
- 	else {
 
- 		native_instance = new NativeWebSocket(uri);
 
- 	}
 
- 	/**
 
- 	 * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket
 
- 	 * class). Since it is an Object it will be returned as it is when creating an
 
- 	 * instance of W3CWebSocket via 'new W3CWebSocket()'.
 
- 	 *
 
- 	 * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2
 
- 	 */
 
- 	return native_instance;
 
- }
 
- if (NativeWebSocket) {
 
- 	['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {
 
- 		Object.defineProperty(W3CWebSocket, prop, {
 
- 			get: function() { return NativeWebSocket[prop]; }
 
- 		});
 
- 	});
 
- }
 
- /**
 
-  * Module exports.
 
-  */
 
- module.exports = {
 
-     'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,
 
-     'version'      : websocket_version
 
- };
 
 
  |