UrgentcareCLI 0.1.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (318) hide show
  1. checksums.yaml +4 -4
  2. data/lib/UrgentCare/CLI.rb +57 -22
  3. data/lib/UrgentCare/Office.rb +1 -5
  4. data/lib/UrgentCare/Scraper.rb +71 -0
  5. data/lib/UrgentCare/version.rb +2 -2
  6. data/lib/UrgentCare.rb +2 -1
  7. metadata +27 -321
  8. data/.gitignore +0 -11
  9. data/.rspec +0 -3
  10. data/.travis.yml +0 -5
  11. data/CODE_OF_CONDUCT.md +0 -74
  12. data/Gemfile +0 -12
  13. data/Gemfile.lock +0 -84
  14. data/LICENSE.txt +0 -21
  15. data/Notes +0 -41
  16. data/README.md +0 -41
  17. data/Rakefile +0 -8
  18. data/UrgentCare.gemspec +0 -39
  19. data/background.jpg +0 -0
  20. data/data.txt +0 -4
  21. data/lib/Urgentcare/Scraper.rb +0 -78
  22. data/node_modules/.bin/rimraf +0 -1
  23. data/node_modules/.package-lock.json +0 -250
  24. data/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  25. data/node_modules/balanced-match/LICENSE.md +0 -21
  26. data/node_modules/balanced-match/README.md +0 -97
  27. data/node_modules/balanced-match/index.js +0 -62
  28. data/node_modules/balanced-match/package.json +0 -48
  29. data/node_modules/brace-expansion/LICENSE +0 -21
  30. data/node_modules/brace-expansion/README.md +0 -129
  31. data/node_modules/brace-expansion/index.js +0 -201
  32. data/node_modules/brace-expansion/package.json +0 -47
  33. data/node_modules/concat-map/.travis.yml +0 -4
  34. data/node_modules/concat-map/LICENSE +0 -18
  35. data/node_modules/concat-map/README.markdown +0 -62
  36. data/node_modules/concat-map/example/map.js +0 -6
  37. data/node_modules/concat-map/index.js +0 -13
  38. data/node_modules/concat-map/package.json +0 -43
  39. data/node_modules/concat-map/test/map.js +0 -39
  40. data/node_modules/core-util-is/LICENSE +0 -19
  41. data/node_modules/core-util-is/README.md +0 -3
  42. data/node_modules/core-util-is/float.patch +0 -604
  43. data/node_modules/core-util-is/lib/util.js +0 -107
  44. data/node_modules/core-util-is/package.json +0 -32
  45. data/node_modules/core-util-is/test.js +0 -68
  46. data/node_modules/fs.realpath/LICENSE +0 -43
  47. data/node_modules/fs.realpath/README.md +0 -33
  48. data/node_modules/fs.realpath/index.js +0 -66
  49. data/node_modules/fs.realpath/old.js +0 -303
  50. data/node_modules/fs.realpath/package.json +0 -26
  51. data/node_modules/glob/LICENSE +0 -21
  52. data/node_modules/glob/README.md +0 -375
  53. data/node_modules/glob/changelog.md +0 -67
  54. data/node_modules/glob/common.js +0 -234
  55. data/node_modules/glob/glob.js +0 -788
  56. data/node_modules/glob/package.json +0 -51
  57. data/node_modules/glob/sync.js +0 -484
  58. data/node_modules/immediate/LICENSE.txt +0 -20
  59. data/node_modules/immediate/README.md +0 -93
  60. data/node_modules/immediate/dist/immediate.js +0 -75
  61. data/node_modules/immediate/dist/immediate.min.js +0 -1
  62. data/node_modules/immediate/lib/browser.js +0 -69
  63. data/node_modules/immediate/lib/index.js +0 -73
  64. data/node_modules/immediate/package.json +0 -42
  65. data/node_modules/inflight/LICENSE +0 -15
  66. data/node_modules/inflight/README.md +0 -37
  67. data/node_modules/inflight/inflight.js +0 -54
  68. data/node_modules/inflight/package.json +0 -29
  69. data/node_modules/inherits/LICENSE +0 -16
  70. data/node_modules/inherits/README.md +0 -42
  71. data/node_modules/inherits/inherits.js +0 -9
  72. data/node_modules/inherits/inherits_browser.js +0 -27
  73. data/node_modules/inherits/package.json +0 -29
  74. data/node_modules/isarray/.npmignore +0 -1
  75. data/node_modules/isarray/.travis.yml +0 -4
  76. data/node_modules/isarray/Makefile +0 -6
  77. data/node_modules/isarray/README.md +0 -60
  78. data/node_modules/isarray/component.json +0 -19
  79. data/node_modules/isarray/index.js +0 -5
  80. data/node_modules/isarray/package.json +0 -45
  81. data/node_modules/isarray/test.js +0 -20
  82. data/node_modules/jszip/.codeclimate.yml +0 -16
  83. data/node_modules/jszip/.editorconfig +0 -8
  84. data/node_modules/jszip/.jshintignore +0 -1
  85. data/node_modules/jszip/.jshintrc +0 -21
  86. data/node_modules/jszip/.travis.yml +0 -17
  87. data/node_modules/jszip/CHANGES.md +0 -163
  88. data/node_modules/jszip/LICENSE.markdown +0 -651
  89. data/node_modules/jszip/README.markdown +0 -35
  90. data/node_modules/jszip/dist/jszip.js +0 -30
  91. data/node_modules/jszip/dist/jszip.min.js +0 -13
  92. data/node_modules/jszip/index.d.ts +0 -270
  93. data/node_modules/jszip/lib/base64.js +0 -106
  94. data/node_modules/jszip/lib/compressedObject.js +0 -74
  95. data/node_modules/jszip/lib/compressions.js +0 -14
  96. data/node_modules/jszip/lib/crc32.js +0 -77
  97. data/node_modules/jszip/lib/defaults.js +0 -11
  98. data/node_modules/jszip/lib/external.js +0 -19
  99. data/node_modules/jszip/lib/flate.js +0 -85
  100. data/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
  101. data/node_modules/jszip/lib/generate/index.js +0 -57
  102. data/node_modules/jszip/lib/index.js +0 -52
  103. data/node_modules/jszip/lib/license_header.js +0 -11
  104. data/node_modules/jszip/lib/load.js +0 -81
  105. data/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  106. data/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  107. data/node_modules/jszip/lib/nodejsUtils.js +0 -57
  108. data/node_modules/jszip/lib/object.js +0 -389
  109. data/node_modules/jszip/lib/readable-stream-browser.js +0 -9
  110. data/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  111. data/node_modules/jszip/lib/reader/DataReader.js +0 -116
  112. data/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  113. data/node_modules/jszip/lib/reader/StringReader.js +0 -38
  114. data/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  115. data/node_modules/jszip/lib/reader/readerFor.js +0 -28
  116. data/node_modules/jszip/lib/signature.js +0 -7
  117. data/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  118. data/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  119. data/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  120. data/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  121. data/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  122. data/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
  123. data/node_modules/jszip/lib/support.js +0 -38
  124. data/node_modules/jszip/lib/utf8.js +0 -275
  125. data/node_modules/jszip/lib/utils.js +0 -476
  126. data/node_modules/jszip/lib/zipEntries.js +0 -262
  127. data/node_modules/jszip/lib/zipEntry.js +0 -294
  128. data/node_modules/jszip/lib/zipObject.js +0 -133
  129. data/node_modules/jszip/package.json +0 -63
  130. data/node_modules/jszip/vendor/FileSaver.js +0 -247
  131. data/node_modules/lie/README.md +0 -62
  132. data/node_modules/lie/dist/lie.js +0 -350
  133. data/node_modules/lie/dist/lie.min.js +0 -1
  134. data/node_modules/lie/dist/lie.polyfill.js +0 -358
  135. data/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  136. data/node_modules/lie/lib/browser.js +0 -273
  137. data/node_modules/lie/lib/index.js +0 -298
  138. data/node_modules/lie/license.md +0 -7
  139. data/node_modules/lie/lie.d.ts +0 -244
  140. data/node_modules/lie/package.json +0 -69
  141. data/node_modules/lie/polyfill.js +0 -4
  142. data/node_modules/minimatch/LICENSE +0 -15
  143. data/node_modules/minimatch/README.md +0 -209
  144. data/node_modules/minimatch/minimatch.js +0 -923
  145. data/node_modules/minimatch/package.json +0 -30
  146. data/node_modules/once/LICENSE +0 -15
  147. data/node_modules/once/README.md +0 -79
  148. data/node_modules/once/once.js +0 -42
  149. data/node_modules/once/package.json +0 -33
  150. data/node_modules/pako/CHANGELOG.md +0 -164
  151. data/node_modules/pako/LICENSE +0 -21
  152. data/node_modules/pako/README.md +0 -191
  153. data/node_modules/pako/dist/pako.js +0 -6818
  154. data/node_modules/pako/dist/pako.min.js +0 -1
  155. data/node_modules/pako/dist/pako_deflate.js +0 -3997
  156. data/node_modules/pako/dist/pako_deflate.min.js +0 -1
  157. data/node_modules/pako/dist/pako_inflate.js +0 -3300
  158. data/node_modules/pako/dist/pako_inflate.min.js +0 -1
  159. data/node_modules/pako/index.js +0 -14
  160. data/node_modules/pako/lib/deflate.js +0 -400
  161. data/node_modules/pako/lib/inflate.js +0 -423
  162. data/node_modules/pako/lib/utils/common.js +0 -105
  163. data/node_modules/pako/lib/utils/strings.js +0 -187
  164. data/node_modules/pako/lib/zlib/README +0 -59
  165. data/node_modules/pako/lib/zlib/adler32.js +0 -51
  166. data/node_modules/pako/lib/zlib/constants.js +0 -68
  167. data/node_modules/pako/lib/zlib/crc32.js +0 -59
  168. data/node_modules/pako/lib/zlib/deflate.js +0 -1874
  169. data/node_modules/pako/lib/zlib/gzheader.js +0 -58
  170. data/node_modules/pako/lib/zlib/inffast.js +0 -345
  171. data/node_modules/pako/lib/zlib/inflate.js +0 -1556
  172. data/node_modules/pako/lib/zlib/inftrees.js +0 -343
  173. data/node_modules/pako/lib/zlib/messages.js +0 -32
  174. data/node_modules/pako/lib/zlib/trees.js +0 -1222
  175. data/node_modules/pako/lib/zlib/zstream.js +0 -47
  176. data/node_modules/pako/package.json +0 -44
  177. data/node_modules/path-is-absolute/index.js +0 -20
  178. data/node_modules/path-is-absolute/license +0 -21
  179. data/node_modules/path-is-absolute/package.json +0 -43
  180. data/node_modules/path-is-absolute/readme.md +0 -59
  181. data/node_modules/process-nextick-args/index.js +0 -45
  182. data/node_modules/process-nextick-args/license.md +0 -19
  183. data/node_modules/process-nextick-args/package.json +0 -25
  184. data/node_modules/process-nextick-args/readme.md +0 -18
  185. data/node_modules/readable-stream/.travis.yml +0 -34
  186. data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  187. data/node_modules/readable-stream/GOVERNANCE.md +0 -136
  188. data/node_modules/readable-stream/LICENSE +0 -47
  189. data/node_modules/readable-stream/README.md +0 -58
  190. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  191. data/node_modules/readable-stream/duplex-browser.js +0 -1
  192. data/node_modules/readable-stream/duplex.js +0 -1
  193. data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  194. data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  195. data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  196. data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  197. data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  198. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  199. data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  200. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  201. data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  202. data/node_modules/readable-stream/package.json +0 -52
  203. data/node_modules/readable-stream/passthrough.js +0 -1
  204. data/node_modules/readable-stream/readable-browser.js +0 -7
  205. data/node_modules/readable-stream/readable.js +0 -19
  206. data/node_modules/readable-stream/transform.js +0 -1
  207. data/node_modules/readable-stream/writable-browser.js +0 -1
  208. data/node_modules/readable-stream/writable.js +0 -8
  209. data/node_modules/rimraf/LICENSE +0 -15
  210. data/node_modules/rimraf/README.md +0 -101
  211. data/node_modules/rimraf/bin.js +0 -50
  212. data/node_modules/rimraf/package.json +0 -29
  213. data/node_modules/rimraf/rimraf.js +0 -372
  214. data/node_modules/safe-buffer/LICENSE +0 -21
  215. data/node_modules/safe-buffer/README.md +0 -584
  216. data/node_modules/safe-buffer/index.d.ts +0 -187
  217. data/node_modules/safe-buffer/index.js +0 -62
  218. data/node_modules/safe-buffer/package.json +0 -37
  219. data/node_modules/selenium-webdriver/CHANGES.md +0 -1114
  220. data/node_modules/selenium-webdriver/LICENSE +0 -202
  221. data/node_modules/selenium-webdriver/NOTICE +0 -2
  222. data/node_modules/selenium-webdriver/README.md +0 -229
  223. data/node_modules/selenium-webdriver/chrome.js +0 -295
  224. data/node_modules/selenium-webdriver/chromium.js +0 -829
  225. data/node_modules/selenium-webdriver/devtools/CDPConnection.js +0 -35
  226. data/node_modules/selenium-webdriver/edge.js +0 -224
  227. data/node_modules/selenium-webdriver/example/chrome_android.js +0 -45
  228. data/node_modules/selenium-webdriver/example/chrome_mobile_emulation.js +0 -46
  229. data/node_modules/selenium-webdriver/example/firefox_channels.js +0 -84
  230. data/node_modules/selenium-webdriver/example/google_search.js +0 -50
  231. data/node_modules/selenium-webdriver/example/google_search_test.js +0 -70
  232. data/node_modules/selenium-webdriver/example/headless.js +0 -63
  233. data/node_modules/selenium-webdriver/example/logging.js +0 -64
  234. data/node_modules/selenium-webdriver/firefox.js +0 -789
  235. data/node_modules/selenium-webdriver/http/index.js +0 -324
  236. data/node_modules/selenium-webdriver/http/util.js +0 -172
  237. data/node_modules/selenium-webdriver/ie.js +0 -503
  238. data/node_modules/selenium-webdriver/index.js +0 -825
  239. data/node_modules/selenium-webdriver/io/exec.js +0 -162
  240. data/node_modules/selenium-webdriver/io/index.js +0 -348
  241. data/node_modules/selenium-webdriver/io/zip.js +0 -223
  242. data/node_modules/selenium-webdriver/lib/atoms/find-elements.js +0 -123
  243. data/node_modules/selenium-webdriver/lib/atoms/get-attribute.js +0 -101
  244. data/node_modules/selenium-webdriver/lib/atoms/is-displayed.js +0 -101
  245. data/node_modules/selenium-webdriver/lib/atoms/mutation-listener.js +0 -55
  246. data/node_modules/selenium-webdriver/lib/by.js +0 -415
  247. data/node_modules/selenium-webdriver/lib/capabilities.js +0 -553
  248. data/node_modules/selenium-webdriver/lib/command.js +0 -206
  249. data/node_modules/selenium-webdriver/lib/error.js +0 -605
  250. data/node_modules/selenium-webdriver/lib/http.js +0 -704
  251. data/node_modules/selenium-webdriver/lib/input.js +0 -946
  252. data/node_modules/selenium-webdriver/lib/logging.js +0 -661
  253. data/node_modules/selenium-webdriver/lib/promise.js +0 -285
  254. data/node_modules/selenium-webdriver/lib/proxy.js +0 -212
  255. data/node_modules/selenium-webdriver/lib/session.js +0 -77
  256. data/node_modules/selenium-webdriver/lib/symbols.js +0 -37
  257. data/node_modules/selenium-webdriver/lib/until.js +0 -429
  258. data/node_modules/selenium-webdriver/lib/webdriver.js +0 -2919
  259. data/node_modules/selenium-webdriver/net/index.js +0 -107
  260. data/node_modules/selenium-webdriver/net/portprober.js +0 -75
  261. data/node_modules/selenium-webdriver/opera.js +0 -406
  262. data/node_modules/selenium-webdriver/package.json +0 -54
  263. data/node_modules/selenium-webdriver/proxy.js +0 -32
  264. data/node_modules/selenium-webdriver/remote/index.js +0 -624
  265. data/node_modules/selenium-webdriver/safari.js +0 -168
  266. data/node_modules/selenium-webdriver/testing/index.js +0 -504
  267. data/node_modules/set-immediate-shim/index.js +0 -7
  268. data/node_modules/set-immediate-shim/package.json +0 -34
  269. data/node_modules/set-immediate-shim/readme.md +0 -31
  270. data/node_modules/string_decoder/.travis.yml +0 -50
  271. data/node_modules/string_decoder/LICENSE +0 -48
  272. data/node_modules/string_decoder/README.md +0 -47
  273. data/node_modules/string_decoder/lib/string_decoder.js +0 -296
  274. data/node_modules/string_decoder/package.json +0 -31
  275. data/node_modules/tmp/CHANGELOG.md +0 -288
  276. data/node_modules/tmp/LICENSE +0 -21
  277. data/node_modules/tmp/README.md +0 -365
  278. data/node_modules/tmp/lib/tmp.js +0 -780
  279. data/node_modules/tmp/node_modules/.bin/rimraf +0 -1
  280. data/node_modules/tmp/node_modules/rimraf/CHANGELOG.md +0 -65
  281. data/node_modules/tmp/node_modules/rimraf/LICENSE +0 -15
  282. data/node_modules/tmp/node_modules/rimraf/README.md +0 -101
  283. data/node_modules/tmp/node_modules/rimraf/bin.js +0 -68
  284. data/node_modules/tmp/node_modules/rimraf/package.json +0 -32
  285. data/node_modules/tmp/node_modules/rimraf/rimraf.js +0 -360
  286. data/node_modules/tmp/package.json +0 -58
  287. data/node_modules/util-deprecate/History.md +0 -16
  288. data/node_modules/util-deprecate/LICENSE +0 -24
  289. data/node_modules/util-deprecate/README.md +0 -53
  290. data/node_modules/util-deprecate/browser.js +0 -67
  291. data/node_modules/util-deprecate/node.js +0 -6
  292. data/node_modules/util-deprecate/package.json +0 -27
  293. data/node_modules/wrappy/LICENSE +0 -15
  294. data/node_modules/wrappy/README.md +0 -36
  295. data/node_modules/wrappy/package.json +0 -29
  296. data/node_modules/wrappy/wrappy.js +0 -33
  297. data/node_modules/ws/LICENSE +0 -21
  298. data/node_modules/ws/README.md +0 -496
  299. data/node_modules/ws/browser.js +0 -8
  300. data/node_modules/ws/index.js +0 -10
  301. data/node_modules/ws/lib/buffer-util.js +0 -129
  302. data/node_modules/ws/lib/constants.js +0 -10
  303. data/node_modules/ws/lib/event-target.js +0 -184
  304. data/node_modules/ws/lib/extension.js +0 -223
  305. data/node_modules/ws/lib/limiter.js +0 -55
  306. data/node_modules/ws/lib/permessage-deflate.js +0 -517
  307. data/node_modules/ws/lib/receiver.js +0 -507
  308. data/node_modules/ws/lib/sender.js +0 -405
  309. data/node_modules/ws/lib/stream.js +0 -165
  310. data/node_modules/ws/lib/validation.js +0 -104
  311. data/node_modules/ws/lib/websocket-server.js +0 -418
  312. data/node_modules/ws/lib/websocket.js +0 -942
  313. data/node_modules/ws/package.json +0 -56
  314. data/package-lock.json +0 -458
  315. data/package.json +0 -5
  316. data/selenium.log +0 -1
  317. data/spec.md +0 -6
  318. data/test.data +0 -2110
@@ -1,21 +0,0 @@
1
- (MIT)
2
-
3
- Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy of
6
- this software and associated documentation files (the "Software"), to deal in
7
- the Software without restriction, including without limitation the rights to
8
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
9
- of the Software, and to permit persons to whom the Software is furnished to do
10
- so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,97 +0,0 @@
1
- # balanced-match
2
-
3
- Match balanced string pairs, like `{` and `}` or `<b>` and `</b>`. Supports regular expressions as well!
4
-
5
- [![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match)
6
- [![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match)
7
-
8
- [![testling badge](https://ci.testling.com/juliangruber/balanced-match.png)](https://ci.testling.com/juliangruber/balanced-match)
9
-
10
- ## Example
11
-
12
- Get the first matching pair of braces:
13
-
14
- ```js
15
- var balanced = require('balanced-match');
16
-
17
- console.log(balanced('{', '}', 'pre{in{nested}}post'));
18
- console.log(balanced('{', '}', 'pre{first}between{second}post'));
19
- console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post'));
20
- ```
21
-
22
- The matches are:
23
-
24
- ```bash
25
- $ node example.js
26
- { start: 3, end: 14, pre: 'pre', body: 'in{nested}', post: 'post' }
27
- { start: 3,
28
- end: 9,
29
- pre: 'pre',
30
- body: 'first',
31
- post: 'between{second}post' }
32
- { start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' }
33
- ```
34
-
35
- ## API
36
-
37
- ### var m = balanced(a, b, str)
38
-
39
- For the first non-nested matching pair of `a` and `b` in `str`, return an
40
- object with those keys:
41
-
42
- * **start** the index of the first match of `a`
43
- * **end** the index of the matching `b`
44
- * **pre** the preamble, `a` and `b` not included
45
- * **body** the match, `a` and `b` not included
46
- * **post** the postscript, `a` and `b` not included
47
-
48
- If there's no match, `undefined` will be returned.
49
-
50
- If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`.
51
-
52
- ### var r = balanced.range(a, b, str)
53
-
54
- For the first non-nested matching pair of `a` and `b` in `str`, return an
55
- array with indexes: `[ <a index>, <b index> ]`.
56
-
57
- If there's no match, `undefined` will be returned.
58
-
59
- If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`.
60
-
61
- ## Installation
62
-
63
- With [npm](https://npmjs.org) do:
64
-
65
- ```bash
66
- npm install balanced-match
67
- ```
68
-
69
- ## Security contact information
70
-
71
- To report a security vulnerability, please use the
72
- [Tidelift security contact](https://tidelift.com/security).
73
- Tidelift will coordinate the fix and disclosure.
74
-
75
- ## License
76
-
77
- (MIT)
78
-
79
- Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
80
-
81
- Permission is hereby granted, free of charge, to any person obtaining a copy of
82
- this software and associated documentation files (the "Software"), to deal in
83
- the Software without restriction, including without limitation the rights to
84
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
85
- of the Software, and to permit persons to whom the Software is furnished to do
86
- so, subject to the following conditions:
87
-
88
- The above copyright notice and this permission notice shall be included in all
89
- copies or substantial portions of the Software.
90
-
91
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
92
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
93
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
94
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
95
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
96
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
97
- SOFTWARE.
@@ -1,62 +0,0 @@
1
- 'use strict';
2
- module.exports = balanced;
3
- function balanced(a, b, str) {
4
- if (a instanceof RegExp) a = maybeMatch(a, str);
5
- if (b instanceof RegExp) b = maybeMatch(b, str);
6
-
7
- var r = range(a, b, str);
8
-
9
- return r && {
10
- start: r[0],
11
- end: r[1],
12
- pre: str.slice(0, r[0]),
13
- body: str.slice(r[0] + a.length, r[1]),
14
- post: str.slice(r[1] + b.length)
15
- };
16
- }
17
-
18
- function maybeMatch(reg, str) {
19
- var m = str.match(reg);
20
- return m ? m[0] : null;
21
- }
22
-
23
- balanced.range = range;
24
- function range(a, b, str) {
25
- var begs, beg, left, right, result;
26
- var ai = str.indexOf(a);
27
- var bi = str.indexOf(b, ai + 1);
28
- var i = ai;
29
-
30
- if (ai >= 0 && bi > 0) {
31
- if(a===b) {
32
- return [ai, bi];
33
- }
34
- begs = [];
35
- left = str.length;
36
-
37
- while (i >= 0 && !result) {
38
- if (i == ai) {
39
- begs.push(i);
40
- ai = str.indexOf(a, i + 1);
41
- } else if (begs.length == 1) {
42
- result = [ begs.pop(), bi ];
43
- } else {
44
- beg = begs.pop();
45
- if (beg < left) {
46
- left = beg;
47
- right = bi;
48
- }
49
-
50
- bi = str.indexOf(b, i + 1);
51
- }
52
-
53
- i = ai < bi && ai >= 0 ? ai : bi;
54
- }
55
-
56
- if (begs.length) {
57
- result = [ left, right ];
58
- }
59
- }
60
-
61
- return result;
62
- }
@@ -1,48 +0,0 @@
1
- {
2
- "name": "balanced-match",
3
- "description": "Match balanced character pairs, like \"{\" and \"}\"",
4
- "version": "1.0.2",
5
- "repository": {
6
- "type": "git",
7
- "url": "git://github.com/juliangruber/balanced-match.git"
8
- },
9
- "homepage": "https://github.com/juliangruber/balanced-match",
10
- "main": "index.js",
11
- "scripts": {
12
- "test": "tape test/test.js",
13
- "bench": "matcha test/bench.js"
14
- },
15
- "devDependencies": {
16
- "matcha": "^0.7.0",
17
- "tape": "^4.6.0"
18
- },
19
- "keywords": [
20
- "match",
21
- "regexp",
22
- "test",
23
- "balanced",
24
- "parse"
25
- ],
26
- "author": {
27
- "name": "Julian Gruber",
28
- "email": "mail@juliangruber.com",
29
- "url": "http://juliangruber.com"
30
- },
31
- "license": "MIT",
32
- "testling": {
33
- "files": "test/*.js",
34
- "browsers": [
35
- "ie/8..latest",
36
- "firefox/20..latest",
37
- "firefox/nightly",
38
- "chrome/25..latest",
39
- "chrome/canary",
40
- "opera/12..latest",
41
- "opera/next",
42
- "safari/5.1..latest",
43
- "ipad/6.0..latest",
44
- "iphone/6.0..latest",
45
- "android-browser/4.2..latest"
46
- ]
47
- }
48
- }
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,129 +0,0 @@
1
- # brace-expansion
2
-
3
- [Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
4
- as known from sh/bash, in JavaScript.
5
-
6
- [![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)
7
- [![downloads](https://img.shields.io/npm/dm/brace-expansion.svg)](https://www.npmjs.org/package/brace-expansion)
8
- [![Greenkeeper badge](https://badges.greenkeeper.io/juliangruber/brace-expansion.svg)](https://greenkeeper.io/)
9
-
10
- [![testling badge](https://ci.testling.com/juliangruber/brace-expansion.png)](https://ci.testling.com/juliangruber/brace-expansion)
11
-
12
- ## Example
13
-
14
- ```js
15
- var expand = require('brace-expansion');
16
-
17
- expand('file-{a,b,c}.jpg')
18
- // => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
19
-
20
- expand('-v{,,}')
21
- // => ['-v', '-v', '-v']
22
-
23
- expand('file{0..2}.jpg')
24
- // => ['file0.jpg', 'file1.jpg', 'file2.jpg']
25
-
26
- expand('file-{a..c}.jpg')
27
- // => ['file-a.jpg', 'file-b.jpg', 'file-c.jpg']
28
-
29
- expand('file{2..0}.jpg')
30
- // => ['file2.jpg', 'file1.jpg', 'file0.jpg']
31
-
32
- expand('file{0..4..2}.jpg')
33
- // => ['file0.jpg', 'file2.jpg', 'file4.jpg']
34
-
35
- expand('file-{a..e..2}.jpg')
36
- // => ['file-a.jpg', 'file-c.jpg', 'file-e.jpg']
37
-
38
- expand('file{00..10..5}.jpg')
39
- // => ['file00.jpg', 'file05.jpg', 'file10.jpg']
40
-
41
- expand('{{A..C},{a..c}}')
42
- // => ['A', 'B', 'C', 'a', 'b', 'c']
43
-
44
- expand('ppp{,config,oe{,conf}}')
45
- // => ['ppp', 'pppconfig', 'pppoe', 'pppoeconf']
46
- ```
47
-
48
- ## API
49
-
50
- ```js
51
- var expand = require('brace-expansion');
52
- ```
53
-
54
- ### var expanded = expand(str)
55
-
56
- Return an array of all possible and valid expansions of `str`. If none are
57
- found, `[str]` is returned.
58
-
59
- Valid expansions are:
60
-
61
- ```js
62
- /^(.*,)+(.+)?$/
63
- // {a,b,...}
64
- ```
65
-
66
- A comma separated list of options, like `{a,b}` or `{a,{b,c}}` or `{,a,}`.
67
-
68
- ```js
69
- /^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
70
- // {x..y[..incr]}
71
- ```
72
-
73
- A numeric sequence from `x` to `y` inclusive, with optional increment.
74
- If `x` or `y` start with a leading `0`, all the numbers will be padded
75
- to have equal length. Negative numbers and backwards iteration work too.
76
-
77
- ```js
78
- /^-?\d+\.\.-?\d+(\.\.-?\d+)?$/
79
- // {x..y[..incr]}
80
- ```
81
-
82
- An alphabetic sequence from `x` to `y` inclusive, with optional increment.
83
- `x` and `y` must be exactly one character, and if given, `incr` must be a
84
- number.
85
-
86
- For compatibility reasons, the string `${` is not eligible for brace expansion.
87
-
88
- ## Installation
89
-
90
- With [npm](https://npmjs.org) do:
91
-
92
- ```bash
93
- npm install brace-expansion
94
- ```
95
-
96
- ## Contributors
97
-
98
- - [Julian Gruber](https://github.com/juliangruber)
99
- - [Isaac Z. Schlueter](https://github.com/isaacs)
100
-
101
- ## Sponsors
102
-
103
- This module is proudly supported by my [Sponsors](https://github.com/juliangruber/sponsors)!
104
-
105
- Do you want to support modules like this to improve their quality, stability and weigh in on new features? Then please consider donating to my [Patreon](https://www.patreon.com/juliangruber). Not sure how much of my modules you're using? Try [feross/thanks](https://github.com/feross/thanks)!
106
-
107
- ## License
108
-
109
- (MIT)
110
-
111
- Copyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;
112
-
113
- Permission is hereby granted, free of charge, to any person obtaining a copy of
114
- this software and associated documentation files (the "Software"), to deal in
115
- the Software without restriction, including without limitation the rights to
116
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
117
- of the Software, and to permit persons to whom the Software is furnished to do
118
- so, subject to the following conditions:
119
-
120
- The above copyright notice and this permission notice shall be included in all
121
- copies or substantial portions of the Software.
122
-
123
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
124
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
125
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
126
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
127
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
128
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
129
- SOFTWARE.
@@ -1,201 +0,0 @@
1
- var concatMap = require('concat-map');
2
- var balanced = require('balanced-match');
3
-
4
- module.exports = expandTop;
5
-
6
- var escSlash = '\0SLASH'+Math.random()+'\0';
7
- var escOpen = '\0OPEN'+Math.random()+'\0';
8
- var escClose = '\0CLOSE'+Math.random()+'\0';
9
- var escComma = '\0COMMA'+Math.random()+'\0';
10
- var escPeriod = '\0PERIOD'+Math.random()+'\0';
11
-
12
- function numeric(str) {
13
- return parseInt(str, 10) == str
14
- ? parseInt(str, 10)
15
- : str.charCodeAt(0);
16
- }
17
-
18
- function escapeBraces(str) {
19
- return str.split('\\\\').join(escSlash)
20
- .split('\\{').join(escOpen)
21
- .split('\\}').join(escClose)
22
- .split('\\,').join(escComma)
23
- .split('\\.').join(escPeriod);
24
- }
25
-
26
- function unescapeBraces(str) {
27
- return str.split(escSlash).join('\\')
28
- .split(escOpen).join('{')
29
- .split(escClose).join('}')
30
- .split(escComma).join(',')
31
- .split(escPeriod).join('.');
32
- }
33
-
34
-
35
- // Basically just str.split(","), but handling cases
36
- // where we have nested braced sections, which should be
37
- // treated as individual members, like {a,{b,c},d}
38
- function parseCommaParts(str) {
39
- if (!str)
40
- return [''];
41
-
42
- var parts = [];
43
- var m = balanced('{', '}', str);
44
-
45
- if (!m)
46
- return str.split(',');
47
-
48
- var pre = m.pre;
49
- var body = m.body;
50
- var post = m.post;
51
- var p = pre.split(',');
52
-
53
- p[p.length-1] += '{' + body + '}';
54
- var postParts = parseCommaParts(post);
55
- if (post.length) {
56
- p[p.length-1] += postParts.shift();
57
- p.push.apply(p, postParts);
58
- }
59
-
60
- parts.push.apply(parts, p);
61
-
62
- return parts;
63
- }
64
-
65
- function expandTop(str) {
66
- if (!str)
67
- return [];
68
-
69
- // I don't know why Bash 4.3 does this, but it does.
70
- // Anything starting with {} will have the first two bytes preserved
71
- // but *only* at the top level, so {},a}b will not expand to anything,
72
- // but a{},b}c will be expanded to [a}c,abc].
73
- // One could argue that this is a bug in Bash, but since the goal of
74
- // this module is to match Bash's rules, we escape a leading {}
75
- if (str.substr(0, 2) === '{}') {
76
- str = '\\{\\}' + str.substr(2);
77
- }
78
-
79
- return expand(escapeBraces(str), true).map(unescapeBraces);
80
- }
81
-
82
- function identity(e) {
83
- return e;
84
- }
85
-
86
- function embrace(str) {
87
- return '{' + str + '}';
88
- }
89
- function isPadded(el) {
90
- return /^-?0\d/.test(el);
91
- }
92
-
93
- function lte(i, y) {
94
- return i <= y;
95
- }
96
- function gte(i, y) {
97
- return i >= y;
98
- }
99
-
100
- function expand(str, isTop) {
101
- var expansions = [];
102
-
103
- var m = balanced('{', '}', str);
104
- if (!m || /\$$/.test(m.pre)) return [str];
105
-
106
- var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
107
- var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
108
- var isSequence = isNumericSequence || isAlphaSequence;
109
- var isOptions = m.body.indexOf(',') >= 0;
110
- if (!isSequence && !isOptions) {
111
- // {a},b}
112
- if (m.post.match(/,.*\}/)) {
113
- str = m.pre + '{' + m.body + escClose + m.post;
114
- return expand(str);
115
- }
116
- return [str];
117
- }
118
-
119
- var n;
120
- if (isSequence) {
121
- n = m.body.split(/\.\./);
122
- } else {
123
- n = parseCommaParts(m.body);
124
- if (n.length === 1) {
125
- // x{{a,b}}y ==> x{a}y x{b}y
126
- n = expand(n[0], false).map(embrace);
127
- if (n.length === 1) {
128
- var post = m.post.length
129
- ? expand(m.post, false)
130
- : [''];
131
- return post.map(function(p) {
132
- return m.pre + n[0] + p;
133
- });
134
- }
135
- }
136
- }
137
-
138
- // at this point, n is the parts, and we know it's not a comma set
139
- // with a single entry.
140
-
141
- // no need to expand pre, since it is guaranteed to be free of brace-sets
142
- var pre = m.pre;
143
- var post = m.post.length
144
- ? expand(m.post, false)
145
- : [''];
146
-
147
- var N;
148
-
149
- if (isSequence) {
150
- var x = numeric(n[0]);
151
- var y = numeric(n[1]);
152
- var width = Math.max(n[0].length, n[1].length)
153
- var incr = n.length == 3
154
- ? Math.abs(numeric(n[2]))
155
- : 1;
156
- var test = lte;
157
- var reverse = y < x;
158
- if (reverse) {
159
- incr *= -1;
160
- test = gte;
161
- }
162
- var pad = n.some(isPadded);
163
-
164
- N = [];
165
-
166
- for (var i = x; test(i, y); i += incr) {
167
- var c;
168
- if (isAlphaSequence) {
169
- c = String.fromCharCode(i);
170
- if (c === '\\')
171
- c = '';
172
- } else {
173
- c = String(i);
174
- if (pad) {
175
- var need = width - c.length;
176
- if (need > 0) {
177
- var z = new Array(need + 1).join('0');
178
- if (i < 0)
179
- c = '-' + z + c.slice(1);
180
- else
181
- c = z + c;
182
- }
183
- }
184
- }
185
- N.push(c);
186
- }
187
- } else {
188
- N = concatMap(n, function(el) { return expand(el, false) });
189
- }
190
-
191
- for (var j = 0; j < N.length; j++) {
192
- for (var k = 0; k < post.length; k++) {
193
- var expansion = pre + N[j] + post[k];
194
- if (!isTop || isSequence || expansion)
195
- expansions.push(expansion);
196
- }
197
- }
198
-
199
- return expansions;
200
- }
201
-
@@ -1,47 +0,0 @@
1
- {
2
- "name": "brace-expansion",
3
- "description": "Brace expansion as known from sh/bash",
4
- "version": "1.1.11",
5
- "repository": {
6
- "type": "git",
7
- "url": "git://github.com/juliangruber/brace-expansion.git"
8
- },
9
- "homepage": "https://github.com/juliangruber/brace-expansion",
10
- "main": "index.js",
11
- "scripts": {
12
- "test": "tape test/*.js",
13
- "gentest": "bash test/generate.sh",
14
- "bench": "matcha test/perf/bench.js"
15
- },
16
- "dependencies": {
17
- "balanced-match": "^1.0.0",
18
- "concat-map": "0.0.1"
19
- },
20
- "devDependencies": {
21
- "matcha": "^0.7.0",
22
- "tape": "^4.6.0"
23
- },
24
- "keywords": [],
25
- "author": {
26
- "name": "Julian Gruber",
27
- "email": "mail@juliangruber.com",
28
- "url": "http://juliangruber.com"
29
- },
30
- "license": "MIT",
31
- "testling": {
32
- "files": "test/*.js",
33
- "browsers": [
34
- "ie/8..latest",
35
- "firefox/20..latest",
36
- "firefox/nightly",
37
- "chrome/25..latest",
38
- "chrome/canary",
39
- "opera/12..latest",
40
- "opera/next",
41
- "safari/5.1..latest",
42
- "ipad/6.0..latest",
43
- "iphone/6.0..latest",
44
- "android-browser/4.2..latest"
45
- ]
46
- }
47
- }
@@ -1,4 +0,0 @@
1
- language: node_js
2
- node_js:
3
- - 0.4
4
- - 0.6
@@ -1,18 +0,0 @@
1
- This software is released under the MIT license:
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining a copy of
4
- this software and associated documentation files (the "Software"), to deal in
5
- the Software without restriction, including without limitation the rights to
6
- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
7
- the Software, and to permit persons to whom the Software is furnished to do so,
8
- subject to the following conditions:
9
-
10
- The above copyright notice and this permission notice shall be included in all
11
- copies or substantial portions of the Software.
12
-
13
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
15
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.