zmdms-utils 0.0.81 → 0.0.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/dist/es/validate.js +168 -1
  2. package/dist/index.d.ts +0 -1
  3. package/dist/index.js +0 -1
  4. package/package.json +2 -6
  5. package/src/index.ts +0 -3
  6. package/src/validate.ts +198 -0
  7. package/dist/es/_virtual/FastBufferList.js +0 -7
  8. package/dist/es/_virtual/_commonjs-dynamic-modules.js +0 -5
  9. package/dist/es/_virtual/browser.js +0 -7
  10. package/dist/es/_virtual/browser2.js +0 -7
  11. package/dist/es/_virtual/debug.js +0 -7
  12. package/dist/es/_virtual/event.js +0 -7
  13. package/dist/es/_virtual/http-parser.js +0 -3
  14. package/dist/es/_virtual/iframe.js +0 -7
  15. package/dist/es/_virtual/index.js +0 -7
  16. package/dist/es/_virtual/index2.js +0 -7
  17. package/dist/es/_virtual/index3.js +0 -7
  18. package/dist/es/_virtual/index4.js +0 -7
  19. package/dist/es/_virtual/index5.js +0 -7
  20. package/dist/es/_virtual/index6.js +0 -7
  21. package/dist/es/_virtual/index7.js +0 -3
  22. package/dist/es/_virtual/index8.js +0 -7
  23. package/dist/es/_virtual/index9.js +0 -7
  24. package/dist/es/_virtual/inherits.js +0 -7
  25. package/dist/es/_virtual/inherits_browser.js +0 -7
  26. package/dist/es/_virtual/json3.js +0 -7
  27. package/dist/es/_virtual/node.js +0 -7
  28. package/dist/es/_virtual/node2.js +0 -7
  29. package/dist/es/_virtual/stomp-node.js +0 -3
  30. package/dist/es/_virtual/stomp.js +0 -3
  31. package/dist/es/_virtual/streams.js +0 -3
  32. package/dist/es/_virtual/utils.js +0 -3
  33. package/dist/es/node_modules/bufferutil/fallback.js +0 -43
  34. package/dist/es/node_modules/bufferutil/index.js +0 -21
  35. package/dist/es/node_modules/debug/src/browser.js +0 -192
  36. package/dist/es/node_modules/debug/src/common.js +0 -259
  37. package/dist/es/node_modules/debug/src/index.js +0 -25
  38. package/dist/es/node_modules/debug/src/node.js +0 -192
  39. package/dist/es/node_modules/eventsource/lib/eventsource.js +0 -493
  40. package/dist/es/node_modules/faye-websocket/lib/faye/eventsource.js +0 -150
  41. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api/event.js +0 -31
  42. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api/event_target.js +0 -41
  43. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/api.js +0 -205
  44. package/dist/es/node_modules/faye-websocket/lib/faye/websocket/client.js +0 -107
  45. package/dist/es/node_modules/faye-websocket/lib/faye/websocket.js +0 -47
  46. package/dist/es/node_modules/has-flag/index.js +0 -17
  47. package/dist/es/node_modules/http-parser-js/http-parser.js +0 -471
  48. package/dist/es/node_modules/inherits/inherits.js +0 -14
  49. package/dist/es/node_modules/inherits/inherits_browser.js +0 -38
  50. package/dist/es/node_modules/is-typedarray/index.js +0 -51
  51. package/dist/es/node_modules/json3/lib/json3.js +0 -937
  52. package/dist/es/node_modules/ms/index.js +0 -172
  53. package/dist/es/node_modules/node-gyp-build/index.js +0 -21
  54. package/dist/es/node_modules/node-gyp-build/node-gyp-build.js +0 -222
  55. package/dist/es/node_modules/querystringify/index.js +0 -120
  56. package/dist/es/node_modules/requires-port/index.js +0 -38
  57. package/dist/es/node_modules/safe-buffer/index.js +0 -71
  58. package/dist/es/node_modules/supports-color/index.js +0 -143
  59. package/dist/es/node_modules/typedarray-to-buffer/index.js +0 -37
  60. package/dist/es/node_modules/url-parse/index.js +0 -594
  61. package/dist/es/node_modules/utf-8-validate/fallback.js +0 -71
  62. package/dist/es/node_modules/utf-8-validate/index.js +0 -21
  63. package/dist/es/node_modules/websocket/index.js +0 -15
  64. package/dist/es/node_modules/websocket/lib/Deprecation.js +0 -42
  65. package/dist/es/node_modules/websocket/lib/W3CWebSocket.js +0 -268
  66. package/dist/es/node_modules/websocket/lib/WebSocketClient.js +0 -380
  67. package/dist/es/node_modules/websocket/lib/WebSocketConnection.js +0 -914
  68. package/dist/es/node_modules/websocket/lib/WebSocketFrame.js +0 -293
  69. package/dist/es/node_modules/websocket/lib/WebSocketRequest.js +0 -543
  70. package/dist/es/node_modules/websocket/lib/WebSocketRouter.js +0 -172
  71. package/dist/es/node_modules/websocket/lib/WebSocketRouterRequest.js +0 -67
  72. package/dist/es/node_modules/websocket/lib/WebSocketServer.js +0 -272
  73. package/dist/es/node_modules/websocket/lib/utils.js +0 -80
  74. package/dist/es/node_modules/websocket/lib/version.js +0 -13
  75. package/dist/es/node_modules/websocket/lib/websocket.js +0 -31
  76. package/dist/es/node_modules/websocket/node_modules/debug/src/browser.js +0 -199
  77. package/dist/es/node_modules/websocket/node_modules/debug/src/debug.js +0 -215
  78. package/dist/es/node_modules/websocket/node_modules/debug/src/index.js +0 -25
  79. package/dist/es/node_modules/websocket/node_modules/debug/src/node.js +0 -266
  80. package/dist/es/node_modules/websocket/node_modules/ms/index.js +0 -162
  81. package/dist/es/node_modules/websocket/package.json.js +0 -77
  82. package/dist/es/node_modules/websocket/vendor/FastBufferList.js +0 -205
  83. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/base.js +0 -202
  84. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/client.js +0 -152
  85. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/draft75.js +0 -128
  86. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/draft76.js +0 -124
  87. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/headers.js +0 -44
  88. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi/frame.js +0 -21
  89. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi/message.js +0 -37
  90. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/hybi.js +0 -492
  91. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/proxy.js +0 -108
  92. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/server.js +0 -119
  93. package/dist/es/node_modules/websocket-driver/lib/websocket/driver/stream_reader.js +0 -72
  94. package/dist/es/node_modules/websocket-driver/lib/websocket/driver.js +0 -47
  95. package/dist/es/node_modules/websocket-driver/lib/websocket/http_parser.js +0 -140
  96. package/dist/es/node_modules/websocket-driver/lib/websocket/streams.js +0 -150
  97. package/dist/es/node_modules/websocket-extensions/lib/parser.js +0 -103
  98. package/dist/es/node_modules/websocket-extensions/lib/pipeline/cell.js +0 -56
  99. package/dist/es/node_modules/websocket-extensions/lib/pipeline/functor.js +0 -74
  100. package/dist/es/node_modules/websocket-extensions/lib/pipeline/index.js +0 -50
  101. package/dist/es/node_modules/websocket-extensions/lib/pipeline/pledge.js +0 -39
  102. package/dist/es/node_modules/websocket-extensions/lib/pipeline/ring_buffer.js +0 -66
  103. package/dist/es/node_modules/websocket-extensions/lib/websocket_extensions.js +0 -165
  104. package/dist/es/node_modules/yaeti/index.js +0 -17
  105. package/dist/es/node_modules/yaeti/lib/Event.js +0 -24
  106. package/dist/es/node_modules/yaeti/lib/EventTarget.js +0 -130
  107. package/dist/es/node_modules/zt-sockjs-client/lib/entry.js +0 -14
  108. package/dist/es/node_modules/zt-sockjs-client/lib/event/close.js +0 -21
  109. package/dist/es/node_modules/zt-sockjs-client/lib/event/event.js +0 -22
  110. package/dist/es/node_modules/zt-sockjs-client/lib/event/eventtarget.js +0 -62
  111. package/dist/es/node_modules/zt-sockjs-client/lib/event/trans-message.js +0 -19
  112. package/dist/es/node_modules/zt-sockjs-client/lib/facade.js +0 -40
  113. package/dist/es/node_modules/zt-sockjs-client/lib/iframe-bootstrap.js +0 -122
  114. package/dist/es/node_modules/zt-sockjs-client/lib/info-ajax.js +0 -57
  115. package/dist/es/node_modules/zt-sockjs-client/lib/info-iframe-receiver.js +0 -50
  116. package/dist/es/node_modules/zt-sockjs-client/lib/info-iframe.js +0 -81
  117. package/dist/es/node_modules/zt-sockjs-client/lib/info-receiver.js +0 -101
  118. package/dist/es/node_modules/zt-sockjs-client/lib/location.js +0 -12
  119. package/dist/es/node_modules/zt-sockjs-client/lib/main.js +0 -413
  120. package/dist/es/node_modules/zt-sockjs-client/lib/shims.js +0 -449
  121. package/dist/es/node_modules/zt-sockjs-client/lib/transport/driver/websocket.js +0 -5
  122. package/dist/es/node_modules/zt-sockjs-client/lib/transport/driver/xhr.js +0 -80
  123. package/dist/es/node_modules/zt-sockjs-client/lib/transport/eventsource.js +0 -34
  124. package/dist/es/node_modules/zt-sockjs-client/lib/transport/htmlfile.js +0 -31
  125. package/dist/es/node_modules/zt-sockjs-client/lib/transport/iframe.js +0 -154
  126. package/dist/es/node_modules/zt-sockjs-client/lib/transport/jsonp-polling.js +0 -41
  127. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/ajax-based.js +0 -55
  128. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/buffered-sender.js +0 -92
  129. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/iframe-wrap.js +0 -39
  130. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/polling.js +0 -65
  131. package/dist/es/node_modules/zt-sockjs-client/lib/transport/lib/sender-receiver.js +0 -52
  132. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/eventsource.js +0 -69
  133. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/htmlfile.js +0 -96
  134. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/jsonp.js +0 -193
  135. package/dist/es/node_modules/zt-sockjs-client/lib/transport/receiver/xhr.js +0 -75
  136. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/jsonp.js +0 -104
  137. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xdr.js +0 -113
  138. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-cors.js +0 -19
  139. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-fake.js +0 -28
  140. package/dist/es/node_modules/zt-sockjs-client/lib/transport/sender/xhr-local.js +0 -21
  141. package/dist/es/node_modules/zt-sockjs-client/lib/transport/websocket.js +0 -108
  142. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xdr-polling.js +0 -30
  143. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xdr-streaming.js +0 -38
  144. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xhr-polling.js +0 -40
  145. package/dist/es/node_modules/zt-sockjs-client/lib/transport/xhr-streaming.js +0 -50
  146. package/dist/es/node_modules/zt-sockjs-client/lib/transport-list.js +0 -28
  147. package/dist/es/node_modules/zt-sockjs-client/lib/utils/browser.js +0 -29
  148. package/dist/es/node_modules/zt-sockjs-client/lib/utils/escape.js +0 -53
  149. package/dist/es/node_modules/zt-sockjs-client/lib/utils/event.js +0 -78
  150. package/dist/es/node_modules/zt-sockjs-client/lib/utils/iframe.js +0 -205
  151. package/dist/es/node_modules/zt-sockjs-client/lib/utils/log.js +0 -20
  152. package/dist/es/node_modules/zt-sockjs-client/lib/utils/object.js +0 -24
  153. package/dist/es/node_modules/zt-sockjs-client/lib/utils/random.js +0 -30
  154. package/dist/es/node_modules/zt-sockjs-client/lib/utils/transport.js +0 -52
  155. package/dist/es/node_modules/zt-sockjs-client/lib/utils/url.js +0 -54
  156. package/dist/es/node_modules/zt-sockjs-client/lib/version.js +0 -11
  157. package/dist/es/node_modules/zt-stompjs/index.js +0 -23
  158. package/dist/es/node_modules/zt-stompjs/lib/stomp-node.js +0 -117
  159. package/dist/es/node_modules/zt-stompjs/lib/stomp.js +0 -536
  160. package/dist/es/stompClient.d.ts +0 -55
  161. package/dist/es/stompClient.js +0 -379
  162. package/src/stompClient.ts +0 -449
@@ -1,162 +0,0 @@
1
- /**
2
- * Helpers.
3
- */
4
-
5
- var ms;
6
- var hasRequiredMs;
7
-
8
- function requireMs () {
9
- if (hasRequiredMs) return ms;
10
- hasRequiredMs = 1;
11
- var s = 1000;
12
- var m = s * 60;
13
- var h = m * 60;
14
- var d = h * 24;
15
- var y = d * 365.25;
16
-
17
- /**
18
- * Parse or format the given `val`.
19
- *
20
- * Options:
21
- *
22
- * - `long` verbose formatting [false]
23
- *
24
- * @param {String|Number} val
25
- * @param {Object} [options]
26
- * @throws {Error} throw an error if val is not a non-empty string or a number
27
- * @return {String|Number}
28
- * @api public
29
- */
30
-
31
- ms = function(val, options) {
32
- options = options || {};
33
- var type = typeof val;
34
- if (type === 'string' && val.length > 0) {
35
- return parse(val);
36
- } else if (type === 'number' && isNaN(val) === false) {
37
- return options.long ? fmtLong(val) : fmtShort(val);
38
- }
39
- throw new Error(
40
- 'val is not a non-empty string or a valid number. val=' +
41
- JSON.stringify(val)
42
- );
43
- };
44
-
45
- /**
46
- * Parse the given `str` and return milliseconds.
47
- *
48
- * @param {String} str
49
- * @return {Number}
50
- * @api private
51
- */
52
-
53
- function parse(str) {
54
- str = String(str);
55
- if (str.length > 100) {
56
- return;
57
- }
58
- var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(
59
- str
60
- );
61
- if (!match) {
62
- return;
63
- }
64
- var n = parseFloat(match[1]);
65
- var type = (match[2] || 'ms').toLowerCase();
66
- switch (type) {
67
- case 'years':
68
- case 'year':
69
- case 'yrs':
70
- case 'yr':
71
- case 'y':
72
- return n * y;
73
- case 'days':
74
- case 'day':
75
- case 'd':
76
- return n * d;
77
- case 'hours':
78
- case 'hour':
79
- case 'hrs':
80
- case 'hr':
81
- case 'h':
82
- return n * h;
83
- case 'minutes':
84
- case 'minute':
85
- case 'mins':
86
- case 'min':
87
- case 'm':
88
- return n * m;
89
- case 'seconds':
90
- case 'second':
91
- case 'secs':
92
- case 'sec':
93
- case 's':
94
- return n * s;
95
- case 'milliseconds':
96
- case 'millisecond':
97
- case 'msecs':
98
- case 'msec':
99
- case 'ms':
100
- return n;
101
- default:
102
- return undefined;
103
- }
104
- }
105
-
106
- /**
107
- * Short format for `ms`.
108
- *
109
- * @param {Number} ms
110
- * @return {String}
111
- * @api private
112
- */
113
-
114
- function fmtShort(ms) {
115
- if (ms >= d) {
116
- return Math.round(ms / d) + 'd';
117
- }
118
- if (ms >= h) {
119
- return Math.round(ms / h) + 'h';
120
- }
121
- if (ms >= m) {
122
- return Math.round(ms / m) + 'm';
123
- }
124
- if (ms >= s) {
125
- return Math.round(ms / s) + 's';
126
- }
127
- return ms + 'ms';
128
- }
129
-
130
- /**
131
- * Long format for `ms`.
132
- *
133
- * @param {Number} ms
134
- * @return {String}
135
- * @api private
136
- */
137
-
138
- function fmtLong(ms) {
139
- return plural(ms, d, 'day') ||
140
- plural(ms, h, 'hour') ||
141
- plural(ms, m, 'minute') ||
142
- plural(ms, s, 'second') ||
143
- ms + ' ms';
144
- }
145
-
146
- /**
147
- * Pluralization helper.
148
- */
149
-
150
- function plural(ms, n, name) {
151
- if (ms < n) {
152
- return;
153
- }
154
- if (ms < n * 1.5) {
155
- return Math.floor(ms / n) + ' ' + name;
156
- }
157
- return Math.ceil(ms / n) + ' ' + name + 's';
158
- }
159
- return ms;
160
- }
161
-
162
- export { requireMs as __require };
@@ -1,77 +0,0 @@
1
- var name = "websocket";
2
- var description = "Websocket Client & Server Library implementing the WebSocket protocol as specified in RFC 6455.";
3
- var keywords = [
4
- "websocket",
5
- "websockets",
6
- "socket",
7
- "networking",
8
- "comet",
9
- "push",
10
- "RFC-6455",
11
- "realtime",
12
- "server",
13
- "client"
14
- ];
15
- var author = "Brian McKelvey <theturtle32@gmail.com> (https://github.com/theturtle32)";
16
- var contributors = [
17
- "Iñaki Baz Castillo <ibc@aliax.net> (http://dev.sipdoc.net)"
18
- ];
19
- var version = "1.0.35";
20
- var repository = {
21
- type: "git",
22
- url: "https://github.com/theturtle32/WebSocket-Node.git"
23
- };
24
- var homepage = "https://github.com/theturtle32/WebSocket-Node";
25
- var engines = {
26
- node: ">=4.0.0"
27
- };
28
- var dependencies = {
29
- bufferutil: "^4.0.1",
30
- debug: "^2.2.0",
31
- "es5-ext": "^0.10.63",
32
- "typedarray-to-buffer": "^3.1.5",
33
- "utf-8-validate": "^5.0.2",
34
- yaeti: "^0.0.6"
35
- };
36
- var devDependencies = {
37
- "buffer-equal": "^1.0.0",
38
- gulp: "^4.0.2",
39
- "gulp-jshint": "^2.0.4",
40
- "jshint-stylish": "^2.2.1",
41
- jshint: "^2.0.0",
42
- tape: "^4.9.1"
43
- };
44
- var config = {
45
- verbose: false
46
- };
47
- var scripts = {
48
- test: "tape test/unit/*.js",
49
- gulp: "gulp"
50
- };
51
- var main = "index";
52
- var directories = {
53
- lib: "./lib"
54
- };
55
- var browser = "lib/browser.js";
56
- var license = "Apache-2.0";
57
- var require$$0 = {
58
- name: name,
59
- description: description,
60
- keywords: keywords,
61
- author: author,
62
- contributors: contributors,
63
- version: version,
64
- repository: repository,
65
- homepage: homepage,
66
- engines: engines,
67
- dependencies: dependencies,
68
- devDependencies: devDependencies,
69
- config: config,
70
- scripts: scripts,
71
- main: main,
72
- directories: directories,
73
- browser: browser,
74
- license: license
75
- };
76
-
77
- export { author, browser, config, contributors, require$$0 as default, dependencies, description, devDependencies, directories, engines, homepage, keywords, license, main, name, repository, scripts, version };
@@ -1,205 +0,0 @@
1
- import { exports as FastBufferListExports, __module as FastBufferList } from '../../../_virtual/FastBufferList.js';
2
- import require$$0 from 'buffer';
3
- import require$$1 from 'events';
4
- import { __require as requireUtils } from '../lib/utils.js';
5
- import require$$1$1 from 'util';
6
-
7
- var hasRequiredFastBufferList;
8
-
9
- function requireFastBufferList () {
10
- if (hasRequiredFastBufferList) return FastBufferListExports;
11
- hasRequiredFastBufferList = 1;
12
- // This file was copied from https://github.com/substack/node-bufferlist
13
- // and modified to be able to copy bytes from the bufferlist directly into
14
- // a pre-existing fixed-size buffer without an additional memory allocation.
15
-
16
- // bufferlist.js
17
- // Treat a linked list of buffers as a single variable-size buffer.
18
- var Buffer = require$$0.Buffer;
19
- var EventEmitter = require$$1.EventEmitter;
20
- var bufferAllocUnsafe = requireUtils().bufferAllocUnsafe;
21
-
22
- FastBufferList.exports = BufferList;
23
- FastBufferListExports.BufferList = BufferList; // backwards compatibility
24
-
25
- function BufferList(opts) {
26
- if (!(this instanceof BufferList)) return new BufferList(opts);
27
- EventEmitter.call(this);
28
- var self = this;
29
-
30
- if (typeof(opts) == 'undefined') opts = {};
31
-
32
- // default encoding to use for take(). Leaving as 'undefined'
33
- // makes take() return a Buffer instead.
34
- self.encoding = opts.encoding;
35
-
36
- var head = { next : null, buffer : null };
37
- var last = { next : null, buffer : null };
38
-
39
- // length can get negative when advanced past the end
40
- // and this is the desired behavior
41
- var length = 0;
42
- self.__defineGetter__('length', function () {
43
- return length;
44
- });
45
-
46
- // keep an offset of the head to decide when to head = head.next
47
- var offset = 0;
48
-
49
- // Write to the bufferlist. Emits 'write'. Always returns true.
50
- self.write = function (buf) {
51
- if (!head.buffer) {
52
- head.buffer = buf;
53
- last = head;
54
- }
55
- else {
56
- last.next = { next : null, buffer : buf };
57
- last = last.next;
58
- }
59
- length += buf.length;
60
- self.emit('write', buf);
61
- return true;
62
- };
63
-
64
- self.end = function (buf) {
65
- if (Buffer.isBuffer(buf)) self.write(buf);
66
- };
67
-
68
- // Push buffers to the end of the linked list. (deprecated)
69
- // Return this (self).
70
- self.push = function () {
71
- var args = [].concat.apply([], arguments);
72
- args.forEach(self.write);
73
- return self;
74
- };
75
-
76
- // For each buffer, perform some action.
77
- // If fn's result is a true value, cut out early.
78
- // Returns this (self).
79
- self.forEach = function (fn) {
80
- if (!head.buffer) return bufferAllocUnsafe(0);
81
-
82
- if (head.buffer.length - offset <= 0) return self;
83
- var firstBuf = head.buffer.slice(offset);
84
-
85
- var b = { buffer : firstBuf, next : head.next };
86
-
87
- while (b && b.buffer) {
88
- var r = fn(b.buffer);
89
- if (r) break;
90
- b = b.next;
91
- }
92
-
93
- return self;
94
- };
95
-
96
- // Create a single Buffer out of all the chunks or some subset specified by
97
- // start and one-past the end (like slice) in bytes.
98
- self.join = function (start, end) {
99
- if (!head.buffer) return bufferAllocUnsafe(0);
100
- if (start == undefined) start = 0;
101
- if (end == undefined) end = self.length;
102
-
103
- var big = bufferAllocUnsafe(end - start);
104
- var ix = 0;
105
- self.forEach(function (buffer) {
106
- if (start < (ix + buffer.length) && ix < end) {
107
- // at least partially contained in the range
108
- buffer.copy(
109
- big,
110
- Math.max(0, ix - start),
111
- Math.max(0, start - ix),
112
- Math.min(buffer.length, end - ix)
113
- );
114
- }
115
- ix += buffer.length;
116
- if (ix > end) return true; // stop processing past end
117
- });
118
-
119
- return big;
120
- };
121
-
122
- self.joinInto = function (targetBuffer, targetStart, sourceStart, sourceEnd) {
123
- if (!head.buffer) return new bufferAllocUnsafe(0);
124
- if (sourceStart == undefined) sourceStart = 0;
125
- if (sourceEnd == undefined) sourceEnd = self.length;
126
-
127
- var big = targetBuffer;
128
- if (big.length - targetStart < sourceEnd - sourceStart) {
129
- throw new Error("Insufficient space available in target Buffer.");
130
- }
131
- var ix = 0;
132
- self.forEach(function (buffer) {
133
- if (sourceStart < (ix + buffer.length) && ix < sourceEnd) {
134
- // at least partially contained in the range
135
- buffer.copy(
136
- big,
137
- Math.max(targetStart, targetStart + ix - sourceStart),
138
- Math.max(0, sourceStart - ix),
139
- Math.min(buffer.length, sourceEnd - ix)
140
- );
141
- }
142
- ix += buffer.length;
143
- if (ix > sourceEnd) return true; // stop processing past end
144
- });
145
-
146
- return big;
147
- };
148
-
149
- // Advance the buffer stream by n bytes.
150
- // If n the aggregate advance offset passes the end of the buffer list,
151
- // operations such as .take() will return empty strings until enough data is
152
- // pushed.
153
- // Returns this (self).
154
- self.advance = function (n) {
155
- offset += n;
156
- length -= n;
157
- while (head.buffer && offset >= head.buffer.length) {
158
- offset -= head.buffer.length;
159
- head = head.next
160
- ? head.next
161
- : { buffer : null, next : null }
162
- ;
163
- }
164
- if (head.buffer === null) last = { next : null, buffer : null };
165
- self.emit('advance', n);
166
- return self;
167
- };
168
-
169
- // Take n bytes from the start of the buffers.
170
- // Returns a string.
171
- // If there are less than n bytes in all the buffers or n is undefined,
172
- // returns the entire concatenated buffer string.
173
- self.take = function (n, encoding) {
174
- if (n == undefined) n = self.length;
175
- else if (typeof n !== 'number') {
176
- encoding = n;
177
- n = self.length;
178
- }
179
- if (!encoding) encoding = self.encoding;
180
- if (encoding) {
181
- var acc = '';
182
- self.forEach(function (buffer) {
183
- if (n <= 0) return true;
184
- acc += buffer.toString(
185
- encoding, 0, Math.min(n,buffer.length)
186
- );
187
- n -= buffer.length;
188
- });
189
- return acc;
190
- } else {
191
- // If no 'encoding' is specified, then return a Buffer.
192
- return self.join(0, n);
193
- }
194
- };
195
-
196
- // The entire concatenated buffer as a string.
197
- self.toString = function () {
198
- return self.take('binary');
199
- };
200
- }
201
- require$$1$1.inherits(BufferList, EventEmitter);
202
- return FastBufferListExports;
203
- }
204
-
205
- export { requireFastBufferList as __require };
@@ -1,202 +0,0 @@
1
- import '../../../../safe-buffer/index.js';
2
- import require$$1 from 'events';
3
- import require$$1$1 from 'util';
4
- import '../streams.js';
5
- import { __require as requireHeaders } from './headers.js';
6
- import stream_reader from './stream_reader.js';
7
- import { exports as safeBufferExports } from '../../../../../_virtual/index9.js';
8
- import { __exports as streams$1 } from '../../../../../_virtual/streams.js';
9
-
10
- var Buffer = safeBufferExports.Buffer,
11
- Emitter = require$$1.EventEmitter,
12
- util = require$$1$1,
13
- streams = streams$1,
14
- Headers = requireHeaders(),
15
- Reader = stream_reader;
16
-
17
- var Base = function(request, url, options) {
18
- Emitter.call(this);
19
- Base.validateOptions(options || {}, ['maxLength', 'masking', 'requireMasking', 'protocols']);
20
-
21
- this._request = request;
22
- this._reader = new Reader();
23
- this._options = options || {};
24
- this._maxLength = this._options.maxLength || this.MAX_LENGTH;
25
- this._headers = new Headers();
26
- this.__queue = [];
27
- this.readyState = 0;
28
- this.url = url;
29
-
30
- this.io = new streams.IO(this);
31
- this.messages = new streams.Messages(this);
32
- this._bindEventListeners();
33
- };
34
- util.inherits(Base, Emitter);
35
-
36
- Base.isWebSocket = function(request) {
37
- var connection = request.headers.connection || '',
38
- upgrade = request.headers.upgrade || '';
39
-
40
- return request.method === 'GET' &&
41
- connection.toLowerCase().split(/ *, */).indexOf('upgrade') >= 0 &&
42
- upgrade.toLowerCase() === 'websocket';
43
- };
44
-
45
- Base.validateOptions = function(options, validKeys) {
46
- for (var key in options) {
47
- if (validKeys.indexOf(key) < 0)
48
- throw new Error('Unrecognized option: ' + key);
49
- }
50
- };
51
-
52
- var instance = {
53
- // This is 64MB, small enough for an average VPS to handle without
54
- // crashing from process out of memory
55
- MAX_LENGTH: 0x3ffffff,
56
-
57
- STATES: ['connecting', 'open', 'closing', 'closed'],
58
-
59
- _bindEventListeners: function() {
60
- var self = this;
61
-
62
- // Protocol errors are informational and do not have to be handled
63
- this.messages.on('error', function() {});
64
-
65
- this.on('message', function(event) {
66
- var messages = self.messages;
67
- if (messages.readable) messages.emit('data', event.data);
68
- });
69
-
70
- this.on('error', function(error) {
71
- var messages = self.messages;
72
- if (messages.readable) messages.emit('error', error);
73
- });
74
-
75
- this.on('close', function() {
76
- var messages = self.messages;
77
- if (!messages.readable) return;
78
- messages.readable = messages.writable = false;
79
- messages.emit('end');
80
- });
81
- },
82
-
83
- getState: function() {
84
- return this.STATES[this.readyState] || null;
85
- },
86
-
87
- addExtension: function(extension) {
88
- return false;
89
- },
90
-
91
- setHeader: function(name, value) {
92
- if (this.readyState > 0) return false;
93
- this._headers.set(name, value);
94
- return true;
95
- },
96
-
97
- start: function() {
98
- if (this.readyState !== 0) return false;
99
-
100
- if (!Base.isWebSocket(this._request))
101
- return this._failHandshake(new Error('Not a WebSocket request'));
102
-
103
- var response;
104
-
105
- try {
106
- response = this._handshakeResponse();
107
- } catch (error) {
108
- return this._failHandshake(error);
109
- }
110
-
111
- this._write(response);
112
- if (this._stage !== -1) this._open();
113
- return true;
114
- },
115
-
116
- _failHandshake: function(error) {
117
- var headers = new Headers();
118
- headers.set('Content-Type', 'text/plain');
119
- headers.set('Content-Length', Buffer.byteLength(error.message, 'utf8'));
120
-
121
- headers = ['HTTP/1.1 400 Bad Request', headers.toString(), error.message];
122
- this._write(Buffer.from(headers.join('\r\n'), 'utf8'));
123
- this._fail('protocol_error', error.message);
124
-
125
- return false;
126
- },
127
-
128
- text: function(message) {
129
- return this.frame(message);
130
- },
131
-
132
- binary: function(message) {
133
- return false;
134
- },
135
-
136
- ping: function() {
137
- return false;
138
- },
139
-
140
- pong: function() {
141
- return false;
142
- },
143
-
144
- close: function(reason, code) {
145
- if (this.readyState !== 1) return false;
146
- this.readyState = 3;
147
- this.emit('close', new Base.CloseEvent(null, null));
148
- return true;
149
- },
150
-
151
- _open: function() {
152
- this.readyState = 1;
153
- this.__queue.forEach(function(args) { this.frame.apply(this, args); }, this);
154
- this.__queue = [];
155
- this.emit('open', new Base.OpenEvent());
156
- },
157
-
158
- _queue: function(message) {
159
- this.__queue.push(message);
160
- return true;
161
- },
162
-
163
- _write: function(chunk) {
164
- var io = this.io;
165
- if (io.readable) io.emit('data', chunk);
166
- },
167
-
168
- _fail: function(type, message) {
169
- this.readyState = 2;
170
- this.emit('error', new Error(message));
171
- this.close();
172
- }
173
- };
174
-
175
- for (var key in instance)
176
- Base.prototype[key] = instance[key];
177
-
178
-
179
- Base.ConnectEvent = function() {};
180
-
181
- Base.OpenEvent = function() {};
182
-
183
- Base.CloseEvent = function(code, reason) {
184
- this.code = code;
185
- this.reason = reason;
186
- };
187
-
188
- Base.MessageEvent = function(data) {
189
- this.data = data;
190
- };
191
-
192
- Base.PingEvent = function(data) {
193
- this.data = data;
194
- };
195
-
196
- Base.PongEvent = function(data) {
197
- this.data = data;
198
- };
199
-
200
- var base = Base;
201
-
202
- export { base as default };