select_all-rails 0.3.0 → 0.3.1

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 (1873) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -0
  3. data/README.md +8 -7
  4. data/lib/select_all/rails/version.rb +1 -1
  5. data/node_modules/.bin/acorn +71 -0
  6. data/node_modules/.bin/escodegen +77 -0
  7. data/node_modules/.bin/esgenerate +64 -0
  8. data/node_modules/.bin/esparse +126 -0
  9. data/node_modules/.bin/esvalidate +199 -0
  10. data/node_modules/.bin/har-validator +56 -0
  11. data/node_modules/.bin/sshpk-conv +201 -0
  12. data/node_modules/.bin/sshpk-sign +191 -0
  13. data/node_modules/.bin/sshpk-verify +166 -0
  14. data/node_modules/.bin/uuid +26 -0
  15. data/node_modules/abab/CHANGELOG.md +11 -0
  16. data/node_modules/abab/README.md +52 -0
  17. data/node_modules/abab/index.js +9 -0
  18. data/node_modules/abab/lib/atob.js +109 -0
  19. data/node_modules/abab/lib/btoa.js +65 -0
  20. data/node_modules/abab/package.json +106 -0
  21. data/node_modules/acorn-globals/LICENSE +19 -0
  22. data/node_modules/acorn-globals/README.md +76 -0
  23. data/node_modules/acorn-globals/index.js +180 -0
  24. data/node_modules/acorn-globals/package.json +100 -0
  25. data/node_modules/acorn/.editorconfig +7 -0
  26. data/node_modules/acorn/.gitattributes +1 -0
  27. data/node_modules/acorn/.npmignore +3 -0
  28. data/node_modules/acorn/.tern-project +6 -0
  29. data/node_modules/acorn/.travis.yml +6 -0
  30. data/node_modules/acorn/AUTHORS +43 -0
  31. data/node_modules/acorn/LICENSE +19 -0
  32. data/node_modules/acorn/README.md +396 -0
  33. data/node_modules/acorn/bin/acorn +71 -0
  34. data/node_modules/acorn/bin/build-acorn.js +82 -0
  35. data/node_modules/acorn/bin/generate-identifier-regex.js +47 -0
  36. data/node_modules/acorn/bin/update_authors.sh +6 -0
  37. data/node_modules/acorn/dist/.keep +0 -0
  38. data/node_modules/acorn/dist/acorn.js +3340 -0
  39. data/node_modules/acorn/dist/acorn_loose.js +1300 -0
  40. data/node_modules/acorn/dist/walk.js +377 -0
  41. data/node_modules/acorn/package.json +222 -0
  42. data/node_modules/acorn/src/bin/acorn.js +59 -0
  43. data/node_modules/acorn/src/expression.js +707 -0
  44. data/node_modules/acorn/src/identifier.js +90 -0
  45. data/node_modules/acorn/src/index.js +67 -0
  46. data/node_modules/acorn/src/location.js +24 -0
  47. data/node_modules/acorn/src/locutil.js +42 -0
  48. data/node_modules/acorn/src/loose/acorn_loose.js +0 -0
  49. data/node_modules/acorn/src/loose/expression.js +501 -0
  50. data/node_modules/acorn/src/loose/index.js +50 -0
  51. data/node_modules/acorn/src/loose/parseutil.js +1 -0
  52. data/node_modules/acorn/src/loose/state.js +160 -0
  53. data/node_modules/acorn/src/loose/statement.js +420 -0
  54. data/node_modules/acorn/src/loose/tokenize.js +108 -0
  55. data/node_modules/acorn/src/lval.js +215 -0
  56. data/node_modules/acorn/src/node.js +50 -0
  57. data/node_modules/acorn/src/options.js +121 -0
  58. data/node_modules/acorn/src/parseutil.js +102 -0
  59. data/node_modules/acorn/src/state.js +104 -0
  60. data/node_modules/acorn/src/statement.js +626 -0
  61. data/node_modules/acorn/src/tokencontext.js +109 -0
  62. data/node_modules/acorn/src/tokenize.js +682 -0
  63. data/node_modules/acorn/src/tokentype.js +147 -0
  64. data/node_modules/acorn/src/util.js +9 -0
  65. data/node_modules/acorn/src/walk/index.js +340 -0
  66. data/node_modules/acorn/src/whitespace.js +12 -0
  67. data/node_modules/amdefine/LICENSE +58 -0
  68. data/node_modules/amdefine/README.md +171 -0
  69. data/node_modules/amdefine/amdefine.js +301 -0
  70. data/node_modules/amdefine/intercept.js +36 -0
  71. data/node_modules/amdefine/package.json +86 -0
  72. data/node_modules/ansi-regex/index.js +4 -0
  73. data/node_modules/ansi-regex/license +21 -0
  74. data/node_modules/ansi-regex/package.json +121 -0
  75. data/node_modules/ansi-regex/readme.md +31 -0
  76. data/node_modules/ansi-styles/index.js +65 -0
  77. data/node_modules/ansi-styles/license +21 -0
  78. data/node_modules/ansi-styles/package.json +114 -0
  79. data/node_modules/ansi-styles/readme.md +86 -0
  80. data/node_modules/array-equal/.npmignore +1 -0
  81. data/node_modules/array-equal/LICENSE +22 -0
  82. data/node_modules/array-equal/README.md +11 -0
  83. data/node_modules/array-equal/component.json +10 -0
  84. data/node_modules/array-equal/index.js +9 -0
  85. data/node_modules/array-equal/package.json +75 -0
  86. data/node_modules/asn1/.npmignore +2 -0
  87. data/node_modules/asn1/.travis.yml +4 -0
  88. data/node_modules/asn1/LICENSE +19 -0
  89. data/node_modules/asn1/README.md +50 -0
  90. data/node_modules/asn1/lib/ber/errors.js +13 -0
  91. data/node_modules/asn1/lib/ber/index.js +27 -0
  92. data/node_modules/asn1/lib/ber/reader.js +261 -0
  93. data/node_modules/asn1/lib/ber/types.js +36 -0
  94. data/node_modules/asn1/lib/ber/writer.js +316 -0
  95. data/node_modules/asn1/lib/index.js +20 -0
  96. data/node_modules/asn1/package.json +98 -0
  97. data/node_modules/asn1/tst/ber/reader.test.js +208 -0
  98. data/node_modules/asn1/tst/ber/writer.test.js +370 -0
  99. data/node_modules/assert-plus/AUTHORS +6 -0
  100. data/node_modules/assert-plus/CHANGES.md +8 -0
  101. data/node_modules/assert-plus/README.md +155 -0
  102. data/node_modules/assert-plus/assert.js +206 -0
  103. data/node_modules/assert-plus/package.json +115 -0
  104. data/node_modules/assertion-error/.npmignore +11 -0
  105. data/node_modules/assertion-error/History.md +19 -0
  106. data/node_modules/assertion-error/README.md +41 -0
  107. data/node_modules/assertion-error/index.js +116 -0
  108. data/node_modules/assertion-error/package.json +95 -0
  109. data/node_modules/asynckit/LICENSE +21 -0
  110. data/node_modules/asynckit/README.md +233 -0
  111. data/node_modules/asynckit/bench.js +76 -0
  112. data/node_modules/asynckit/index.js +6 -0
  113. data/node_modules/asynckit/lib/abort.js +29 -0
  114. data/node_modules/asynckit/lib/async.js +34 -0
  115. data/node_modules/asynckit/lib/defer.js +26 -0
  116. data/node_modules/asynckit/lib/iterate.js +75 -0
  117. data/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  118. data/node_modules/asynckit/lib/readable_parallel.js +25 -0
  119. data/node_modules/asynckit/lib/readable_serial.js +25 -0
  120. data/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  121. data/node_modules/asynckit/lib/state.js +37 -0
  122. data/node_modules/asynckit/lib/streamify.js +141 -0
  123. data/node_modules/asynckit/lib/terminator.js +29 -0
  124. data/node_modules/asynckit/package.json +126 -0
  125. data/node_modules/asynckit/parallel.js +43 -0
  126. data/node_modules/asynckit/serial.js +17 -0
  127. data/node_modules/asynckit/serialOrdered.js +75 -0
  128. data/node_modules/asynckit/stream.js +21 -0
  129. data/node_modules/aws-sign2/LICENSE +55 -0
  130. data/node_modules/aws-sign2/README.md +4 -0
  131. data/node_modules/aws-sign2/index.js +212 -0
  132. data/node_modules/aws-sign2/package.json +81 -0
  133. data/node_modules/aws4/.npmignore +4 -0
  134. data/node_modules/aws4/.tern-port +1 -0
  135. data/node_modules/aws4/.travis.yml +5 -0
  136. data/node_modules/aws4/LICENSE +19 -0
  137. data/node_modules/aws4/README.md +523 -0
  138. data/node_modules/aws4/aws4.js +323 -0
  139. data/node_modules/aws4/lru.js +96 -0
  140. data/node_modules/aws4/package.json +140 -0
  141. data/node_modules/bcrypt-pbkdf/README.md +39 -0
  142. data/node_modules/bcrypt-pbkdf/index.js +559 -0
  143. data/node_modules/bcrypt-pbkdf/package.json +72 -0
  144. data/node_modules/boom/.npmignore +18 -0
  145. data/node_modules/boom/.travis.yml +8 -0
  146. data/node_modules/boom/CONTRIBUTING.md +1 -0
  147. data/node_modules/boom/LICENSE +28 -0
  148. data/node_modules/boom/README.md +652 -0
  149. data/node_modules/boom/images/boom.png +0 -0
  150. data/node_modules/boom/lib/index.js +318 -0
  151. data/node_modules/boom/package.json +98 -0
  152. data/node_modules/boom/test/index.js +654 -0
  153. data/node_modules/caseless/LICENSE +28 -0
  154. data/node_modules/caseless/README.md +45 -0
  155. data/node_modules/caseless/index.js +66 -0
  156. data/node_modules/caseless/package.json +96 -0
  157. data/node_modules/caseless/test.js +40 -0
  158. data/node_modules/chai/.npmignore +14 -0
  159. data/node_modules/chai/CODE_OF_CONDUCT.md +58 -0
  160. data/node_modules/chai/CONTRIBUTING.md +214 -0
  161. data/node_modules/chai/History.md +1059 -0
  162. data/node_modules/chai/README.md +83 -0
  163. data/node_modules/chai/ReleaseNotes.md +737 -0
  164. data/node_modules/chai/bower.json +26 -0
  165. data/node_modules/chai/chai.js +6142 -0
  166. data/node_modules/chai/index.js +1 -0
  167. data/node_modules/chai/karma.conf.js +28 -0
  168. data/node_modules/chai/karma.sauce.js +41 -0
  169. data/node_modules/chai/lib/chai.js +93 -0
  170. data/node_modules/chai/lib/chai/assertion.js +131 -0
  171. data/node_modules/chai/lib/chai/config.js +55 -0
  172. data/node_modules/chai/lib/chai/core/assertions.js +1860 -0
  173. data/node_modules/chai/lib/chai/interface/assert.js +1645 -0
  174. data/node_modules/chai/lib/chai/interface/expect.js +34 -0
  175. data/node_modules/chai/lib/chai/interface/should.js +201 -0
  176. data/node_modules/chai/lib/chai/utils/addChainableMethod.js +112 -0
  177. data/node_modules/chai/lib/chai/utils/addMethod.js +44 -0
  178. data/node_modules/chai/lib/chai/utils/addProperty.js +48 -0
  179. data/node_modules/chai/lib/chai/utils/expectTypes.js +42 -0
  180. data/node_modules/chai/lib/chai/utils/flag.js +33 -0
  181. data/node_modules/chai/lib/chai/utils/getActual.js +20 -0
  182. data/node_modules/chai/lib/chai/utils/getEnumerableProperties.js +26 -0
  183. data/node_modules/chai/lib/chai/utils/getMessage.js +51 -0
  184. data/node_modules/chai/lib/chai/utils/getName.js +22 -0
  185. data/node_modules/chai/lib/chai/utils/getPathInfo.js +111 -0
  186. data/node_modules/chai/lib/chai/utils/getPathValue.js +43 -0
  187. data/node_modules/chai/lib/chai/utils/getProperties.js +36 -0
  188. data/node_modules/chai/lib/chai/utils/hasProperty.js +64 -0
  189. data/node_modules/chai/lib/chai/utils/index.js +130 -0
  190. data/node_modules/chai/lib/chai/utils/inspect.js +335 -0
  191. data/node_modules/chai/lib/chai/utils/objDisplay.js +50 -0
  192. data/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +54 -0
  193. data/node_modules/chai/lib/chai/utils/overwriteMethod.js +52 -0
  194. data/node_modules/chai/lib/chai/utils/overwriteProperty.js +55 -0
  195. data/node_modules/chai/lib/chai/utils/test.js +28 -0
  196. data/node_modules/chai/lib/chai/utils/transferFlags.js +45 -0
  197. data/node_modules/chai/package.json +128 -0
  198. data/node_modules/chai/sauce.browsers.js +128 -0
  199. data/node_modules/chalk/index.js +116 -0
  200. data/node_modules/chalk/license +21 -0
  201. data/node_modules/chalk/package.json +140 -0
  202. data/node_modules/chalk/readme.md +213 -0
  203. data/node_modules/combined-stream/License +19 -0
  204. data/node_modules/combined-stream/Readme.md +138 -0
  205. data/node_modules/combined-stream/lib/combined_stream.js +188 -0
  206. data/node_modules/combined-stream/package.json +101 -0
  207. data/node_modules/commander/History.md +261 -0
  208. data/node_modules/commander/LICENSE +22 -0
  209. data/node_modules/commander/Readme.md +351 -0
  210. data/node_modules/commander/index.js +1110 -0
  211. data/node_modules/commander/package.json +104 -0
  212. data/node_modules/content-type-parser/LICENSE.txt +19 -0
  213. data/node_modules/content-type-parser/README.md +60 -0
  214. data/node_modules/content-type-parser/lib/content-type-parser.js +103 -0
  215. data/node_modules/content-type-parser/package.json +96 -0
  216. data/node_modules/cryptiles/.npmignore +18 -0
  217. data/node_modules/cryptiles/.travis.yml +8 -0
  218. data/node_modules/cryptiles/LICENSE +28 -0
  219. data/node_modules/cryptiles/README.md +16 -0
  220. data/node_modules/cryptiles/lib/index.js +68 -0
  221. data/node_modules/cryptiles/package.json +94 -0
  222. data/node_modules/cryptiles/test/index.js +102 -0
  223. data/node_modules/cssom/LICENSE.txt +20 -0
  224. data/node_modules/cssom/README.mdown +69 -0
  225. data/node_modules/cssom/lib/CSSDocumentRule.js +39 -0
  226. data/node_modules/cssom/lib/CSSFontFaceRule.js +36 -0
  227. data/node_modules/cssom/lib/CSSImportRule.js +132 -0
  228. data/node_modules/cssom/lib/CSSKeyframeRule.js +37 -0
  229. data/node_modules/cssom/lib/CSSKeyframesRule.js +39 -0
  230. data/node_modules/cssom/lib/CSSMediaRule.js +41 -0
  231. data/node_modules/cssom/lib/CSSRule.js +43 -0
  232. data/node_modules/cssom/lib/CSSStyleDeclaration.js +148 -0
  233. data/node_modules/cssom/lib/CSSStyleRule.js +190 -0
  234. data/node_modules/cssom/lib/CSSStyleSheet.js +88 -0
  235. data/node_modules/cssom/lib/CSSValue.js +43 -0
  236. data/node_modules/cssom/lib/CSSValueExpression.js +344 -0
  237. data/node_modules/cssom/lib/MatcherList.js +62 -0
  238. data/node_modules/cssom/lib/MediaList.js +61 -0
  239. data/node_modules/cssom/lib/StyleSheet.js +17 -0
  240. data/node_modules/cssom/lib/clone.js +76 -0
  241. data/node_modules/cssom/lib/index.js +19 -0
  242. data/node_modules/cssom/lib/parse.js +381 -0
  243. data/node_modules/cssom/package.json +96 -0
  244. data/node_modules/cssstyle/.npmignore +1 -0
  245. data/node_modules/cssstyle/MIT-LICENSE.txt +20 -0
  246. data/node_modules/cssstyle/README.md +27 -0
  247. data/node_modules/cssstyle/lib/CSSStyleDeclaration.js +233 -0
  248. data/node_modules/cssstyle/lib/parsers.js +670 -0
  249. data/node_modules/cssstyle/lib/properties.js +5858 -0
  250. data/node_modules/cssstyle/lib/properties/alignmentBaseline.js +12 -0
  251. data/node_modules/cssstyle/lib/properties/azimuth.js +65 -0
  252. data/node_modules/cssstyle/lib/properties/background.js +24 -0
  253. data/node_modules/cssstyle/lib/properties/backgroundAttachment.js +22 -0
  254. data/node_modules/cssstyle/lib/properties/backgroundClip.js +12 -0
  255. data/node_modules/cssstyle/lib/properties/backgroundColor.js +33 -0
  256. data/node_modules/cssstyle/lib/properties/backgroundImage.js +29 -0
  257. data/node_modules/cssstyle/lib/properties/backgroundOrigin.js +12 -0
  258. data/node_modules/cssstyle/lib/properties/backgroundPosition.js +56 -0
  259. data/node_modules/cssstyle/lib/properties/backgroundPositionX.js +12 -0
  260. data/node_modules/cssstyle/lib/properties/backgroundPositionY.js +12 -0
  261. data/node_modules/cssstyle/lib/properties/backgroundRepeat.js +25 -0
  262. data/node_modules/cssstyle/lib/properties/backgroundRepeatX.js +12 -0
  263. data/node_modules/cssstyle/lib/properties/backgroundRepeatY.js +12 -0
  264. data/node_modules/cssstyle/lib/properties/backgroundSize.js +12 -0
  265. data/node_modules/cssstyle/lib/properties/baselineShift.js +12 -0
  266. data/node_modules/cssstyle/lib/properties/border.js +49 -0
  267. data/node_modules/cssstyle/lib/properties/borderBottom.js +23 -0
  268. data/node_modules/cssstyle/lib/properties/borderBottomColor.js +16 -0
  269. data/node_modules/cssstyle/lib/properties/borderBottomLeftRadius.js +12 -0
  270. data/node_modules/cssstyle/lib/properties/borderBottomRightRadius.js +12 -0
  271. data/node_modules/cssstyle/lib/properties/borderBottomStyle.js +21 -0
  272. data/node_modules/cssstyle/lib/properties/borderBottomWidth.js +16 -0
  273. data/node_modules/cssstyle/lib/properties/borderCollapse.js +25 -0
  274. data/node_modules/cssstyle/lib/properties/borderColor.js +28 -0
  275. data/node_modules/cssstyle/lib/properties/borderImage.js +12 -0
  276. data/node_modules/cssstyle/lib/properties/borderImageOutset.js +12 -0
  277. data/node_modules/cssstyle/lib/properties/borderImageRepeat.js +12 -0
  278. data/node_modules/cssstyle/lib/properties/borderImageSlice.js +12 -0
  279. data/node_modules/cssstyle/lib/properties/borderImageSource.js +12 -0
  280. data/node_modules/cssstyle/lib/properties/borderImageWidth.js +12 -0
  281. data/node_modules/cssstyle/lib/properties/borderLeft.js +23 -0
  282. data/node_modules/cssstyle/lib/properties/borderLeftColor.js +16 -0
  283. data/node_modules/cssstyle/lib/properties/borderLeftStyle.js +21 -0
  284. data/node_modules/cssstyle/lib/properties/borderLeftWidth.js +16 -0
  285. data/node_modules/cssstyle/lib/properties/borderRadius.js +12 -0
  286. data/node_modules/cssstyle/lib/properties/borderRight.js +23 -0
  287. data/node_modules/cssstyle/lib/properties/borderRightColor.js +16 -0
  288. data/node_modules/cssstyle/lib/properties/borderRightStyle.js +21 -0
  289. data/node_modules/cssstyle/lib/properties/borderRightWidth.js +16 -0
  290. data/node_modules/cssstyle/lib/properties/borderSpacing.js +42 -0
  291. data/node_modules/cssstyle/lib/properties/borderStyle.js +27 -0
  292. data/node_modules/cssstyle/lib/properties/borderTop.js +22 -0
  293. data/node_modules/cssstyle/lib/properties/borderTopColor.js +16 -0
  294. data/node_modules/cssstyle/lib/properties/borderTopLeftRadius.js +12 -0
  295. data/node_modules/cssstyle/lib/properties/borderTopRightRadius.js +12 -0
  296. data/node_modules/cssstyle/lib/properties/borderTopStyle.js +21 -0
  297. data/node_modules/cssstyle/lib/properties/borderTopWidth.js +17 -0
  298. data/node_modules/cssstyle/lib/properties/borderWidth.js +47 -0
  299. data/node_modules/cssstyle/lib/properties/bottom.js +14 -0
  300. data/node_modules/cssstyle/lib/properties/boxShadow.js +12 -0
  301. data/node_modules/cssstyle/lib/properties/boxSizing.js +12 -0
  302. data/node_modules/cssstyle/lib/properties/captionSide.js +12 -0
  303. data/node_modules/cssstyle/lib/properties/clear.js +16 -0
  304. data/node_modules/cssstyle/lib/properties/clip.js +49 -0
  305. data/node_modules/cssstyle/lib/properties/color.js +14 -0
  306. data/node_modules/cssstyle/lib/properties/colorInterpolation.js +12 -0
  307. data/node_modules/cssstyle/lib/properties/colorInterpolationFilters.js +12 -0
  308. data/node_modules/cssstyle/lib/properties/colorProfile.js +12 -0
  309. data/node_modules/cssstyle/lib/properties/colorRendering.js +12 -0
  310. data/node_modules/cssstyle/lib/properties/content.js +12 -0
  311. data/node_modules/cssstyle/lib/properties/counterIncrement.js +12 -0
  312. data/node_modules/cssstyle/lib/properties/counterReset.js +12 -0
  313. data/node_modules/cssstyle/lib/properties/cssFloat.js +12 -0
  314. data/node_modules/cssstyle/lib/properties/cue.js +12 -0
  315. data/node_modules/cssstyle/lib/properties/cueAfter.js +12 -0
  316. data/node_modules/cssstyle/lib/properties/cueBefore.js +12 -0
  317. data/node_modules/cssstyle/lib/properties/cursor.js +12 -0
  318. data/node_modules/cssstyle/lib/properties/direction.js +12 -0
  319. data/node_modules/cssstyle/lib/properties/display.js +12 -0
  320. data/node_modules/cssstyle/lib/properties/dominantBaseline.js +12 -0
  321. data/node_modules/cssstyle/lib/properties/elevation.js +12 -0
  322. data/node_modules/cssstyle/lib/properties/emptyCells.js +12 -0
  323. data/node_modules/cssstyle/lib/properties/enableBackground.js +12 -0
  324. data/node_modules/cssstyle/lib/properties/fill.js +12 -0
  325. data/node_modules/cssstyle/lib/properties/fillOpacity.js +12 -0
  326. data/node_modules/cssstyle/lib/properties/fillRule.js +12 -0
  327. data/node_modules/cssstyle/lib/properties/filter.js +12 -0
  328. data/node_modules/cssstyle/lib/properties/floodColor.js +14 -0
  329. data/node_modules/cssstyle/lib/properties/floodOpacity.js +12 -0
  330. data/node_modules/cssstyle/lib/properties/font.js +40 -0
  331. data/node_modules/cssstyle/lib/properties/fontFamily.js +33 -0
  332. data/node_modules/cssstyle/lib/properties/fontSize.js +25 -0
  333. data/node_modules/cssstyle/lib/properties/fontSizeAdjust.js +12 -0
  334. data/node_modules/cssstyle/lib/properties/fontStretch.js +12 -0
  335. data/node_modules/cssstyle/lib/properties/fontStyle.js +18 -0
  336. data/node_modules/cssstyle/lib/properties/fontVariant.js +18 -0
  337. data/node_modules/cssstyle/lib/properties/fontWeight.js +18 -0
  338. data/node_modules/cssstyle/lib/properties/glyphOrientationHorizontal.js +12 -0
  339. data/node_modules/cssstyle/lib/properties/glyphOrientationVertical.js +12 -0
  340. data/node_modules/cssstyle/lib/properties/height.js +24 -0
  341. data/node_modules/cssstyle/lib/properties/imageRendering.js +12 -0
  342. data/node_modules/cssstyle/lib/properties/kerning.js +12 -0
  343. data/node_modules/cssstyle/lib/properties/left.js +14 -0
  344. data/node_modules/cssstyle/lib/properties/letterSpacing.js +12 -0
  345. data/node_modules/cssstyle/lib/properties/lightingColor.js +14 -0
  346. data/node_modules/cssstyle/lib/properties/lineHeight.js +21 -0
  347. data/node_modules/cssstyle/lib/properties/listStyle.js +12 -0
  348. data/node_modules/cssstyle/lib/properties/listStyleImage.js +12 -0
  349. data/node_modules/cssstyle/lib/properties/listStylePosition.js +12 -0
  350. data/node_modules/cssstyle/lib/properties/listStyleType.js +12 -0
  351. data/node_modules/cssstyle/lib/properties/margin.js +59 -0
  352. data/node_modules/cssstyle/lib/properties/marginBottom.js +13 -0
  353. data/node_modules/cssstyle/lib/properties/marginLeft.js +13 -0
  354. data/node_modules/cssstyle/lib/properties/marginRight.js +13 -0
  355. data/node_modules/cssstyle/lib/properties/marginTop.js +13 -0
  356. data/node_modules/cssstyle/lib/properties/marker.js +12 -0
  357. data/node_modules/cssstyle/lib/properties/markerEnd.js +12 -0
  358. data/node_modules/cssstyle/lib/properties/markerMid.js +12 -0
  359. data/node_modules/cssstyle/lib/properties/markerOffset.js +12 -0
  360. data/node_modules/cssstyle/lib/properties/markerStart.js +12 -0
  361. data/node_modules/cssstyle/lib/properties/marks.js +12 -0
  362. data/node_modules/cssstyle/lib/properties/mask.js +12 -0
  363. data/node_modules/cssstyle/lib/properties/maxHeight.js +12 -0
  364. data/node_modules/cssstyle/lib/properties/maxWidth.js +12 -0
  365. data/node_modules/cssstyle/lib/properties/minHeight.js +12 -0
  366. data/node_modules/cssstyle/lib/properties/minWidth.js +12 -0
  367. data/node_modules/cssstyle/lib/properties/opacity.js +14 -0
  368. data/node_modules/cssstyle/lib/properties/orphans.js +12 -0
  369. data/node_modules/cssstyle/lib/properties/outline.js +12 -0
  370. data/node_modules/cssstyle/lib/properties/outlineColor.js +14 -0
  371. data/node_modules/cssstyle/lib/properties/outlineOffset.js +12 -0
  372. data/node_modules/cssstyle/lib/properties/outlineStyle.js +12 -0
  373. data/node_modules/cssstyle/lib/properties/outlineWidth.js +12 -0
  374. data/node_modules/cssstyle/lib/properties/overflow.js +12 -0
  375. data/node_modules/cssstyle/lib/properties/overflowX.js +12 -0
  376. data/node_modules/cssstyle/lib/properties/overflowY.js +12 -0
  377. data/node_modules/cssstyle/lib/properties/padding.js +52 -0
  378. data/node_modules/cssstyle/lib/properties/paddingBottom.js +13 -0
  379. data/node_modules/cssstyle/lib/properties/paddingLeft.js +13 -0
  380. data/node_modules/cssstyle/lib/properties/paddingRight.js +13 -0
  381. data/node_modules/cssstyle/lib/properties/paddingTop.js +13 -0
  382. data/node_modules/cssstyle/lib/properties/page.js +12 -0
  383. data/node_modules/cssstyle/lib/properties/pageBreakAfter.js +12 -0
  384. data/node_modules/cssstyle/lib/properties/pageBreakBefore.js +12 -0
  385. data/node_modules/cssstyle/lib/properties/pageBreakInside.js +12 -0
  386. data/node_modules/cssstyle/lib/properties/pause.js +12 -0
  387. data/node_modules/cssstyle/lib/properties/pauseAfter.js +12 -0
  388. data/node_modules/cssstyle/lib/properties/pauseBefore.js +12 -0
  389. data/node_modules/cssstyle/lib/properties/pitch.js +12 -0
  390. data/node_modules/cssstyle/lib/properties/pitchRange.js +12 -0
  391. data/node_modules/cssstyle/lib/properties/playDuring.js +12 -0
  392. data/node_modules/cssstyle/lib/properties/pointerEvents.js +12 -0
  393. data/node_modules/cssstyle/lib/properties/position.js +12 -0
  394. data/node_modules/cssstyle/lib/properties/quotes.js +12 -0
  395. data/node_modules/cssstyle/lib/properties/resize.js +12 -0
  396. data/node_modules/cssstyle/lib/properties/richness.js +12 -0
  397. data/node_modules/cssstyle/lib/properties/right.js +14 -0
  398. data/node_modules/cssstyle/lib/properties/shapeRendering.js +12 -0
  399. data/node_modules/cssstyle/lib/properties/size.js +12 -0
  400. data/node_modules/cssstyle/lib/properties/speak.js +12 -0
  401. data/node_modules/cssstyle/lib/properties/speakHeader.js +12 -0
  402. data/node_modules/cssstyle/lib/properties/speakNumeral.js +12 -0
  403. data/node_modules/cssstyle/lib/properties/speakPunctuation.js +12 -0
  404. data/node_modules/cssstyle/lib/properties/speechRate.js +12 -0
  405. data/node_modules/cssstyle/lib/properties/src.js +12 -0
  406. data/node_modules/cssstyle/lib/properties/stopColor.js +14 -0
  407. data/node_modules/cssstyle/lib/properties/stopOpacity.js +12 -0
  408. data/node_modules/cssstyle/lib/properties/stress.js +12 -0
  409. data/node_modules/cssstyle/lib/properties/stroke.js +12 -0
  410. data/node_modules/cssstyle/lib/properties/strokeDasharray.js +12 -0
  411. data/node_modules/cssstyle/lib/properties/strokeDashoffset.js +12 -0
  412. data/node_modules/cssstyle/lib/properties/strokeLinecap.js +12 -0
  413. data/node_modules/cssstyle/lib/properties/strokeLinejoin.js +12 -0
  414. data/node_modules/cssstyle/lib/properties/strokeMiterlimit.js +12 -0
  415. data/node_modules/cssstyle/lib/properties/strokeOpacity.js +12 -0
  416. data/node_modules/cssstyle/lib/properties/strokeWidth.js +12 -0
  417. data/node_modules/cssstyle/lib/properties/tableLayout.js +12 -0
  418. data/node_modules/cssstyle/lib/properties/textAlign.js +12 -0
  419. data/node_modules/cssstyle/lib/properties/textAnchor.js +12 -0
  420. data/node_modules/cssstyle/lib/properties/textDecoration.js +12 -0
  421. data/node_modules/cssstyle/lib/properties/textIndent.js +12 -0
  422. data/node_modules/cssstyle/lib/properties/textLineThrough.js +12 -0
  423. data/node_modules/cssstyle/lib/properties/textLineThroughColor.js +14 -0
  424. data/node_modules/cssstyle/lib/properties/textLineThroughMode.js +12 -0
  425. data/node_modules/cssstyle/lib/properties/textLineThroughStyle.js +12 -0
  426. data/node_modules/cssstyle/lib/properties/textLineThroughWidth.js +12 -0
  427. data/node_modules/cssstyle/lib/properties/textOverflow.js +12 -0
  428. data/node_modules/cssstyle/lib/properties/textOverline.js +12 -0
  429. data/node_modules/cssstyle/lib/properties/textOverlineColor.js +14 -0
  430. data/node_modules/cssstyle/lib/properties/textOverlineMode.js +12 -0
  431. data/node_modules/cssstyle/lib/properties/textOverlineStyle.js +12 -0
  432. data/node_modules/cssstyle/lib/properties/textOverlineWidth.js +12 -0
  433. data/node_modules/cssstyle/lib/properties/textRendering.js +12 -0
  434. data/node_modules/cssstyle/lib/properties/textShadow.js +12 -0
  435. data/node_modules/cssstyle/lib/properties/textTransform.js +12 -0
  436. data/node_modules/cssstyle/lib/properties/textUnderline.js +12 -0
  437. data/node_modules/cssstyle/lib/properties/textUnderlineColor.js +14 -0
  438. data/node_modules/cssstyle/lib/properties/textUnderlineMode.js +12 -0
  439. data/node_modules/cssstyle/lib/properties/textUnderlineStyle.js +12 -0
  440. data/node_modules/cssstyle/lib/properties/textUnderlineWidth.js +12 -0
  441. data/node_modules/cssstyle/lib/properties/top.js +14 -0
  442. data/node_modules/cssstyle/lib/properties/unicodeBidi.js +12 -0
  443. data/node_modules/cssstyle/lib/properties/unicodeRange.js +12 -0
  444. data/node_modules/cssstyle/lib/properties/vectorEffect.js +12 -0
  445. data/node_modules/cssstyle/lib/properties/verticalAlign.js +12 -0
  446. data/node_modules/cssstyle/lib/properties/visibility.js +12 -0
  447. data/node_modules/cssstyle/lib/properties/voiceFamily.js +12 -0
  448. data/node_modules/cssstyle/lib/properties/volume.js +12 -0
  449. data/node_modules/cssstyle/lib/properties/webkitAnimation.js +12 -0
  450. data/node_modules/cssstyle/lib/properties/webkitAnimationDelay.js +12 -0
  451. data/node_modules/cssstyle/lib/properties/webkitAnimationDirection.js +12 -0
  452. data/node_modules/cssstyle/lib/properties/webkitAnimationDuration.js +12 -0
  453. data/node_modules/cssstyle/lib/properties/webkitAnimationFillMode.js +12 -0
  454. data/node_modules/cssstyle/lib/properties/webkitAnimationIterationCount.js +12 -0
  455. data/node_modules/cssstyle/lib/properties/webkitAnimationName.js +12 -0
  456. data/node_modules/cssstyle/lib/properties/webkitAnimationPlayState.js +12 -0
  457. data/node_modules/cssstyle/lib/properties/webkitAnimationTimingFunction.js +12 -0
  458. data/node_modules/cssstyle/lib/properties/webkitAppearance.js +12 -0
  459. data/node_modules/cssstyle/lib/properties/webkitAspectRatio.js +12 -0
  460. data/node_modules/cssstyle/lib/properties/webkitBackfaceVisibility.js +12 -0
  461. data/node_modules/cssstyle/lib/properties/webkitBackgroundClip.js +12 -0
  462. data/node_modules/cssstyle/lib/properties/webkitBackgroundComposite.js +12 -0
  463. data/node_modules/cssstyle/lib/properties/webkitBackgroundOrigin.js +12 -0
  464. data/node_modules/cssstyle/lib/properties/webkitBackgroundSize.js +12 -0
  465. data/node_modules/cssstyle/lib/properties/webkitBorderAfter.js +12 -0
  466. data/node_modules/cssstyle/lib/properties/webkitBorderAfterColor.js +14 -0
  467. data/node_modules/cssstyle/lib/properties/webkitBorderAfterStyle.js +12 -0
  468. data/node_modules/cssstyle/lib/properties/webkitBorderAfterWidth.js +12 -0
  469. data/node_modules/cssstyle/lib/properties/webkitBorderBefore.js +12 -0
  470. data/node_modules/cssstyle/lib/properties/webkitBorderBeforeColor.js +14 -0
  471. data/node_modules/cssstyle/lib/properties/webkitBorderBeforeStyle.js +12 -0
  472. data/node_modules/cssstyle/lib/properties/webkitBorderBeforeWidth.js +12 -0
  473. data/node_modules/cssstyle/lib/properties/webkitBorderEnd.js +12 -0
  474. data/node_modules/cssstyle/lib/properties/webkitBorderEndColor.js +14 -0
  475. data/node_modules/cssstyle/lib/properties/webkitBorderEndStyle.js +12 -0
  476. data/node_modules/cssstyle/lib/properties/webkitBorderEndWidth.js +12 -0
  477. data/node_modules/cssstyle/lib/properties/webkitBorderFit.js +12 -0
  478. data/node_modules/cssstyle/lib/properties/webkitBorderHorizontalSpacing.js +12 -0
  479. data/node_modules/cssstyle/lib/properties/webkitBorderImage.js +12 -0
  480. data/node_modules/cssstyle/lib/properties/webkitBorderRadius.js +12 -0
  481. data/node_modules/cssstyle/lib/properties/webkitBorderStart.js +12 -0
  482. data/node_modules/cssstyle/lib/properties/webkitBorderStartColor.js +14 -0
  483. data/node_modules/cssstyle/lib/properties/webkitBorderStartStyle.js +12 -0
  484. data/node_modules/cssstyle/lib/properties/webkitBorderStartWidth.js +12 -0
  485. data/node_modules/cssstyle/lib/properties/webkitBorderVerticalSpacing.js +12 -0
  486. data/node_modules/cssstyle/lib/properties/webkitBoxAlign.js +12 -0
  487. data/node_modules/cssstyle/lib/properties/webkitBoxDirection.js +12 -0
  488. data/node_modules/cssstyle/lib/properties/webkitBoxFlex.js +12 -0
  489. data/node_modules/cssstyle/lib/properties/webkitBoxFlexGroup.js +12 -0
  490. data/node_modules/cssstyle/lib/properties/webkitBoxLines.js +12 -0
  491. data/node_modules/cssstyle/lib/properties/webkitBoxOrdinalGroup.js +12 -0
  492. data/node_modules/cssstyle/lib/properties/webkitBoxOrient.js +12 -0
  493. data/node_modules/cssstyle/lib/properties/webkitBoxPack.js +12 -0
  494. data/node_modules/cssstyle/lib/properties/webkitBoxReflect.js +12 -0
  495. data/node_modules/cssstyle/lib/properties/webkitBoxShadow.js +12 -0
  496. data/node_modules/cssstyle/lib/properties/webkitColorCorrection.js +12 -0
  497. data/node_modules/cssstyle/lib/properties/webkitColumnAxis.js +12 -0
  498. data/node_modules/cssstyle/lib/properties/webkitColumnBreakAfter.js +12 -0
  499. data/node_modules/cssstyle/lib/properties/webkitColumnBreakBefore.js +12 -0
  500. data/node_modules/cssstyle/lib/properties/webkitColumnBreakInside.js +12 -0
  501. data/node_modules/cssstyle/lib/properties/webkitColumnCount.js +12 -0
  502. data/node_modules/cssstyle/lib/properties/webkitColumnGap.js +12 -0
  503. data/node_modules/cssstyle/lib/properties/webkitColumnRule.js +12 -0
  504. data/node_modules/cssstyle/lib/properties/webkitColumnRuleColor.js +14 -0
  505. data/node_modules/cssstyle/lib/properties/webkitColumnRuleStyle.js +12 -0
  506. data/node_modules/cssstyle/lib/properties/webkitColumnRuleWidth.js +12 -0
  507. data/node_modules/cssstyle/lib/properties/webkitColumnSpan.js +12 -0
  508. data/node_modules/cssstyle/lib/properties/webkitColumnWidth.js +12 -0
  509. data/node_modules/cssstyle/lib/properties/webkitColumns.js +12 -0
  510. data/node_modules/cssstyle/lib/properties/webkitFilter.js +12 -0
  511. data/node_modules/cssstyle/lib/properties/webkitFlexAlign.js +12 -0
  512. data/node_modules/cssstyle/lib/properties/webkitFlexDirection.js +12 -0
  513. data/node_modules/cssstyle/lib/properties/webkitFlexFlow.js +12 -0
  514. data/node_modules/cssstyle/lib/properties/webkitFlexItemAlign.js +12 -0
  515. data/node_modules/cssstyle/lib/properties/webkitFlexLinePack.js +12 -0
  516. data/node_modules/cssstyle/lib/properties/webkitFlexOrder.js +12 -0
  517. data/node_modules/cssstyle/lib/properties/webkitFlexPack.js +12 -0
  518. data/node_modules/cssstyle/lib/properties/webkitFlexWrap.js +12 -0
  519. data/node_modules/cssstyle/lib/properties/webkitFlowFrom.js +12 -0
  520. data/node_modules/cssstyle/lib/properties/webkitFlowInto.js +12 -0
  521. data/node_modules/cssstyle/lib/properties/webkitFontFeatureSettings.js +12 -0
  522. data/node_modules/cssstyle/lib/properties/webkitFontKerning.js +12 -0
  523. data/node_modules/cssstyle/lib/properties/webkitFontSizeDelta.js +12 -0
  524. data/node_modules/cssstyle/lib/properties/webkitFontSmoothing.js +12 -0
  525. data/node_modules/cssstyle/lib/properties/webkitFontVariantLigatures.js +12 -0
  526. data/node_modules/cssstyle/lib/properties/webkitHighlight.js +12 -0
  527. data/node_modules/cssstyle/lib/properties/webkitHyphenateCharacter.js +12 -0
  528. data/node_modules/cssstyle/lib/properties/webkitHyphenateLimitAfter.js +12 -0
  529. data/node_modules/cssstyle/lib/properties/webkitHyphenateLimitBefore.js +12 -0
  530. data/node_modules/cssstyle/lib/properties/webkitHyphenateLimitLines.js +12 -0
  531. data/node_modules/cssstyle/lib/properties/webkitHyphens.js +12 -0
  532. data/node_modules/cssstyle/lib/properties/webkitLineAlign.js +12 -0
  533. data/node_modules/cssstyle/lib/properties/webkitLineBoxContain.js +12 -0
  534. data/node_modules/cssstyle/lib/properties/webkitLineBreak.js +12 -0
  535. data/node_modules/cssstyle/lib/properties/webkitLineClamp.js +12 -0
  536. data/node_modules/cssstyle/lib/properties/webkitLineGrid.js +12 -0
  537. data/node_modules/cssstyle/lib/properties/webkitLineSnap.js +12 -0
  538. data/node_modules/cssstyle/lib/properties/webkitLocale.js +12 -0
  539. data/node_modules/cssstyle/lib/properties/webkitLogicalHeight.js +12 -0
  540. data/node_modules/cssstyle/lib/properties/webkitLogicalWidth.js +12 -0
  541. data/node_modules/cssstyle/lib/properties/webkitMarginAfter.js +12 -0
  542. data/node_modules/cssstyle/lib/properties/webkitMarginAfterCollapse.js +12 -0
  543. data/node_modules/cssstyle/lib/properties/webkitMarginBefore.js +12 -0
  544. data/node_modules/cssstyle/lib/properties/webkitMarginBeforeCollapse.js +12 -0
  545. data/node_modules/cssstyle/lib/properties/webkitMarginBottomCollapse.js +12 -0
  546. data/node_modules/cssstyle/lib/properties/webkitMarginCollapse.js +12 -0
  547. data/node_modules/cssstyle/lib/properties/webkitMarginEnd.js +12 -0
  548. data/node_modules/cssstyle/lib/properties/webkitMarginStart.js +12 -0
  549. data/node_modules/cssstyle/lib/properties/webkitMarginTopCollapse.js +12 -0
  550. data/node_modules/cssstyle/lib/properties/webkitMarquee.js +12 -0
  551. data/node_modules/cssstyle/lib/properties/webkitMarqueeDirection.js +12 -0
  552. data/node_modules/cssstyle/lib/properties/webkitMarqueeIncrement.js +12 -0
  553. data/node_modules/cssstyle/lib/properties/webkitMarqueeRepetition.js +12 -0
  554. data/node_modules/cssstyle/lib/properties/webkitMarqueeSpeed.js +12 -0
  555. data/node_modules/cssstyle/lib/properties/webkitMarqueeStyle.js +12 -0
  556. data/node_modules/cssstyle/lib/properties/webkitMask.js +12 -0
  557. data/node_modules/cssstyle/lib/properties/webkitMaskAttachment.js +12 -0
  558. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImage.js +12 -0
  559. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageOutset.js +12 -0
  560. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageRepeat.js +12 -0
  561. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSlice.js +12 -0
  562. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSource.js +12 -0
  563. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageWidth.js +12 -0
  564. data/node_modules/cssstyle/lib/properties/webkitMaskClip.js +12 -0
  565. data/node_modules/cssstyle/lib/properties/webkitMaskComposite.js +12 -0
  566. data/node_modules/cssstyle/lib/properties/webkitMaskImage.js +12 -0
  567. data/node_modules/cssstyle/lib/properties/webkitMaskOrigin.js +12 -0
  568. data/node_modules/cssstyle/lib/properties/webkitMaskPosition.js +12 -0
  569. data/node_modules/cssstyle/lib/properties/webkitMaskPositionX.js +12 -0
  570. data/node_modules/cssstyle/lib/properties/webkitMaskPositionY.js +12 -0
  571. data/node_modules/cssstyle/lib/properties/webkitMaskRepeat.js +12 -0
  572. data/node_modules/cssstyle/lib/properties/webkitMaskRepeatX.js +12 -0
  573. data/node_modules/cssstyle/lib/properties/webkitMaskRepeatY.js +12 -0
  574. data/node_modules/cssstyle/lib/properties/webkitMaskSize.js +12 -0
  575. data/node_modules/cssstyle/lib/properties/webkitMatchNearestMailBlockquoteColor.js +14 -0
  576. data/node_modules/cssstyle/lib/properties/webkitMaxLogicalHeight.js +12 -0
  577. data/node_modules/cssstyle/lib/properties/webkitMaxLogicalWidth.js +12 -0
  578. data/node_modules/cssstyle/lib/properties/webkitMinLogicalHeight.js +12 -0
  579. data/node_modules/cssstyle/lib/properties/webkitMinLogicalWidth.js +12 -0
  580. data/node_modules/cssstyle/lib/properties/webkitNbspMode.js +12 -0
  581. data/node_modules/cssstyle/lib/properties/webkitOverflowScrolling.js +12 -0
  582. data/node_modules/cssstyle/lib/properties/webkitPaddingAfter.js +12 -0
  583. data/node_modules/cssstyle/lib/properties/webkitPaddingBefore.js +12 -0
  584. data/node_modules/cssstyle/lib/properties/webkitPaddingEnd.js +12 -0
  585. data/node_modules/cssstyle/lib/properties/webkitPaddingStart.js +12 -0
  586. data/node_modules/cssstyle/lib/properties/webkitPerspective.js +12 -0
  587. data/node_modules/cssstyle/lib/properties/webkitPerspectiveOrigin.js +12 -0
  588. data/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginX.js +12 -0
  589. data/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginY.js +12 -0
  590. data/node_modules/cssstyle/lib/properties/webkitPrintColorAdjust.js +12 -0
  591. data/node_modules/cssstyle/lib/properties/webkitRegionBreakAfter.js +12 -0
  592. data/node_modules/cssstyle/lib/properties/webkitRegionBreakBefore.js +12 -0
  593. data/node_modules/cssstyle/lib/properties/webkitRegionBreakInside.js +12 -0
  594. data/node_modules/cssstyle/lib/properties/webkitRegionOverflow.js +12 -0
  595. data/node_modules/cssstyle/lib/properties/webkitRtlOrdering.js +12 -0
  596. data/node_modules/cssstyle/lib/properties/webkitSvgShadow.js +12 -0
  597. data/node_modules/cssstyle/lib/properties/webkitTapHighlightColor.js +14 -0
  598. data/node_modules/cssstyle/lib/properties/webkitTextCombine.js +12 -0
  599. data/node_modules/cssstyle/lib/properties/webkitTextDecorationsInEffect.js +12 -0
  600. data/node_modules/cssstyle/lib/properties/webkitTextEmphasis.js +12 -0
  601. data/node_modules/cssstyle/lib/properties/webkitTextEmphasisColor.js +14 -0
  602. data/node_modules/cssstyle/lib/properties/webkitTextEmphasisPosition.js +12 -0
  603. data/node_modules/cssstyle/lib/properties/webkitTextEmphasisStyle.js +12 -0
  604. data/node_modules/cssstyle/lib/properties/webkitTextFillColor.js +14 -0
  605. data/node_modules/cssstyle/lib/properties/webkitTextOrientation.js +12 -0
  606. data/node_modules/cssstyle/lib/properties/webkitTextSecurity.js +12 -0
  607. data/node_modules/cssstyle/lib/properties/webkitTextSizeAdjust.js +12 -0
  608. data/node_modules/cssstyle/lib/properties/webkitTextStroke.js +12 -0
  609. data/node_modules/cssstyle/lib/properties/webkitTextStrokeColor.js +14 -0
  610. data/node_modules/cssstyle/lib/properties/webkitTextStrokeWidth.js +12 -0
  611. data/node_modules/cssstyle/lib/properties/webkitTransform.js +12 -0
  612. data/node_modules/cssstyle/lib/properties/webkitTransformOrigin.js +12 -0
  613. data/node_modules/cssstyle/lib/properties/webkitTransformOriginX.js +12 -0
  614. data/node_modules/cssstyle/lib/properties/webkitTransformOriginY.js +12 -0
  615. data/node_modules/cssstyle/lib/properties/webkitTransformOriginZ.js +12 -0
  616. data/node_modules/cssstyle/lib/properties/webkitTransformStyle.js +12 -0
  617. data/node_modules/cssstyle/lib/properties/webkitTransition.js +12 -0
  618. data/node_modules/cssstyle/lib/properties/webkitTransitionDelay.js +12 -0
  619. data/node_modules/cssstyle/lib/properties/webkitTransitionDuration.js +12 -0
  620. data/node_modules/cssstyle/lib/properties/webkitTransitionProperty.js +12 -0
  621. data/node_modules/cssstyle/lib/properties/webkitTransitionTimingFunction.js +12 -0
  622. data/node_modules/cssstyle/lib/properties/webkitUserDrag.js +12 -0
  623. data/node_modules/cssstyle/lib/properties/webkitUserModify.js +12 -0
  624. data/node_modules/cssstyle/lib/properties/webkitUserSelect.js +12 -0
  625. data/node_modules/cssstyle/lib/properties/webkitWrap.js +12 -0
  626. data/node_modules/cssstyle/lib/properties/webkitWrapFlow.js +12 -0
  627. data/node_modules/cssstyle/lib/properties/webkitWrapMargin.js +12 -0
  628. data/node_modules/cssstyle/lib/properties/webkitWrapPadding.js +12 -0
  629. data/node_modules/cssstyle/lib/properties/webkitWrapShapeInside.js +12 -0
  630. data/node_modules/cssstyle/lib/properties/webkitWrapShapeOutside.js +12 -0
  631. data/node_modules/cssstyle/lib/properties/webkitWrapThrough.js +12 -0
  632. data/node_modules/cssstyle/lib/properties/webkitWritingMode.js +12 -0
  633. data/node_modules/cssstyle/lib/properties/whiteSpace.js +12 -0
  634. data/node_modules/cssstyle/lib/properties/widows.js +12 -0
  635. data/node_modules/cssstyle/lib/properties/width.js +24 -0
  636. data/node_modules/cssstyle/lib/properties/wordBreak.js +12 -0
  637. data/node_modules/cssstyle/lib/properties/wordSpacing.js +12 -0
  638. data/node_modules/cssstyle/lib/properties/wordWrap.js +12 -0
  639. data/node_modules/cssstyle/lib/properties/writingMode.js +12 -0
  640. data/node_modules/cssstyle/lib/properties/zIndex.js +12 -0
  641. data/node_modules/cssstyle/lib/properties/zoom.js +12 -0
  642. data/node_modules/cssstyle/package.json +109 -0
  643. data/node_modules/cssstyle/scripts/generate_properties.js +302 -0
  644. data/node_modules/cssstyle/scripts/run_tests.sh +4 -0
  645. data/node_modules/cssstyle/tests/tests.js +405 -0
  646. data/node_modules/dashdash/CHANGES.md +364 -0
  647. data/node_modules/dashdash/LICENSE.txt +24 -0
  648. data/node_modules/dashdash/README.md +574 -0
  649. data/node_modules/dashdash/etc/dashdash.bash_completion.in +389 -0
  650. data/node_modules/dashdash/lib/dashdash.js +1055 -0
  651. data/node_modules/dashdash/node_modules/assert-plus/AUTHORS +6 -0
  652. data/node_modules/dashdash/node_modules/assert-plus/CHANGES.md +14 -0
  653. data/node_modules/dashdash/node_modules/assert-plus/README.md +162 -0
  654. data/node_modules/dashdash/node_modules/assert-plus/assert.js +211 -0
  655. data/node_modules/dashdash/node_modules/assert-plus/package.json +115 -0
  656. data/node_modules/dashdash/package.json +125 -0
  657. data/node_modules/deep-eql/.npmignore +11 -0
  658. data/node_modules/deep-eql/History.md +28 -0
  659. data/node_modules/deep-eql/README.md +52 -0
  660. data/node_modules/deep-eql/index.js +1 -0
  661. data/node_modules/deep-eql/karma.conf.js +20 -0
  662. data/node_modules/deep-eql/lib/eql.js +257 -0
  663. data/node_modules/deep-eql/node_modules/type-detect/.npmignore +11 -0
  664. data/node_modules/deep-eql/node_modules/type-detect/History.md +18 -0
  665. data/node_modules/deep-eql/node_modules/type-detect/README.md +193 -0
  666. data/node_modules/deep-eql/node_modules/type-detect/index.js +1 -0
  667. data/node_modules/deep-eql/node_modules/type-detect/lib/type.js +142 -0
  668. data/node_modules/deep-eql/node_modules/type-detect/package.json +91 -0
  669. data/node_modules/deep-eql/package.json +98 -0
  670. data/node_modules/deep-is/.npmignore +1 -0
  671. data/node_modules/deep-is/.travis.yml +6 -0
  672. data/node_modules/deep-is/LICENSE +22 -0
  673. data/node_modules/deep-is/README.markdown +70 -0
  674. data/node_modules/deep-is/example/cmp.js +11 -0
  675. data/node_modules/deep-is/index.js +102 -0
  676. data/node_modules/deep-is/package.json +120 -0
  677. data/node_modules/deep-is/test/NaN.js +16 -0
  678. data/node_modules/deep-is/test/cmp.js +23 -0
  679. data/node_modules/deep-is/test/neg-vs-pos-0.js +15 -0
  680. data/node_modules/delayed-stream/.npmignore +1 -0
  681. data/node_modules/delayed-stream/License +19 -0
  682. data/node_modules/delayed-stream/Makefile +7 -0
  683. data/node_modules/delayed-stream/Readme.md +141 -0
  684. data/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  685. data/node_modules/delayed-stream/package.json +97 -0
  686. data/node_modules/ecc-jsbn/.npmignore +15 -0
  687. data/node_modules/ecc-jsbn/LICENSE +21 -0
  688. data/node_modules/ecc-jsbn/README.md +8 -0
  689. data/node_modules/ecc-jsbn/index.js +57 -0
  690. data/node_modules/ecc-jsbn/lib/LICENSE-jsbn +40 -0
  691. data/node_modules/ecc-jsbn/lib/ec.js +561 -0
  692. data/node_modules/ecc-jsbn/lib/sec.js +170 -0
  693. data/node_modules/ecc-jsbn/package.json +90 -0
  694. data/node_modules/ecc-jsbn/test.js +14 -0
  695. data/node_modules/escape-string-regexp/index.js +11 -0
  696. data/node_modules/escape-string-regexp/license +21 -0
  697. data/node_modules/escape-string-regexp/package.json +109 -0
  698. data/node_modules/escape-string-regexp/readme.md +27 -0
  699. data/node_modules/escodegen/LICENSE.BSD +19 -0
  700. data/node_modules/escodegen/LICENSE.source-map +27 -0
  701. data/node_modules/escodegen/README.md +116 -0
  702. data/node_modules/escodegen/bin/escodegen.js +77 -0
  703. data/node_modules/escodegen/bin/esgenerate.js +64 -0
  704. data/node_modules/escodegen/escodegen.js +2607 -0
  705. data/node_modules/escodegen/package.json +122 -0
  706. data/node_modules/esprima/ChangeLog +174 -0
  707. data/node_modules/esprima/LICENSE.BSD +21 -0
  708. data/node_modules/esprima/README.md +27 -0
  709. data/node_modules/esprima/bin/esparse.js +126 -0
  710. data/node_modules/esprima/bin/esvalidate.js +199 -0
  711. data/node_modules/esprima/esprima.js +5740 -0
  712. data/node_modules/esprima/package.json +153 -0
  713. data/node_modules/estraverse/.editorconfig +10 -0
  714. data/node_modules/estraverse/.jshintrc +16 -0
  715. data/node_modules/estraverse/LICENSE.BSD +19 -0
  716. data/node_modules/estraverse/README.md +124 -0
  717. data/node_modules/estraverse/estraverse.js +845 -0
  718. data/node_modules/estraverse/gulpfile.js +70 -0
  719. data/node_modules/estraverse/package.json +95 -0
  720. data/node_modules/esutils/LICENSE.BSD +19 -0
  721. data/node_modules/esutils/README.md +169 -0
  722. data/node_modules/esutils/lib/ast.js +144 -0
  723. data/node_modules/esutils/lib/code.js +135 -0
  724. data/node_modules/esutils/lib/keyword.js +165 -0
  725. data/node_modules/esutils/lib/utils.js +33 -0
  726. data/node_modules/esutils/package.json +105 -0
  727. data/node_modules/extend/.eslintrc +192 -0
  728. data/node_modules/extend/.jscs.json +104 -0
  729. data/node_modules/extend/.npmignore +1 -0
  730. data/node_modules/extend/.travis.yml +44 -0
  731. data/node_modules/extend/CHANGELOG.md +69 -0
  732. data/node_modules/extend/LICENSE +23 -0
  733. data/node_modules/extend/README.md +62 -0
  734. data/node_modules/extend/component.json +32 -0
  735. data/node_modules/extend/index.js +86 -0
  736. data/node_modules/extend/package.json +106 -0
  737. data/node_modules/extsprintf/.gitmodules +6 -0
  738. data/node_modules/extsprintf/LICENSE +19 -0
  739. data/node_modules/extsprintf/Makefile +23 -0
  740. data/node_modules/extsprintf/Makefile.deps +39 -0
  741. data/node_modules/extsprintf/Makefile.targ +285 -0
  742. data/node_modules/extsprintf/README.md +39 -0
  743. data/node_modules/extsprintf/examples/simple.js +2 -0
  744. data/node_modules/extsprintf/jsl.node.conf +137 -0
  745. data/node_modules/extsprintf/lib/extsprintf.js +166 -0
  746. data/node_modules/extsprintf/package.json +74 -0
  747. data/node_modules/fast-levenshtein/LICENSE.md +25 -0
  748. data/node_modules/fast-levenshtein/README.md +104 -0
  749. data/node_modules/fast-levenshtein/levenshtein.js +102 -0
  750. data/node_modules/fast-levenshtein/package.json +108 -0
  751. data/node_modules/forever-agent/LICENSE +55 -0
  752. data/node_modules/forever-agent/README.md +4 -0
  753. data/node_modules/forever-agent/index.js +138 -0
  754. data/node_modules/forever-agent/package.json +88 -0
  755. data/node_modules/form-data/License +19 -0
  756. data/node_modules/form-data/README.md +217 -0
  757. data/node_modules/form-data/lib/browser.js +2 -0
  758. data/node_modules/form-data/lib/form_data.js +440 -0
  759. data/node_modules/form-data/lib/populate.js +10 -0
  760. data/node_modules/form-data/package.json +145 -0
  761. data/node_modules/generate-function/.npmignore +1 -0
  762. data/node_modules/generate-function/.travis.yml +3 -0
  763. data/node_modules/generate-function/README.md +72 -0
  764. data/node_modules/generate-function/example.js +27 -0
  765. data/node_modules/generate-function/index.js +61 -0
  766. data/node_modules/generate-function/package.json +87 -0
  767. data/node_modules/generate-function/test.js +33 -0
  768. data/node_modules/generate-object-property/.npmignore +1 -0
  769. data/node_modules/generate-object-property/.travis.yml +3 -0
  770. data/node_modules/generate-object-property/LICENSE +21 -0
  771. data/node_modules/generate-object-property/README.md +19 -0
  772. data/node_modules/generate-object-property/index.js +12 -0
  773. data/node_modules/generate-object-property/package.json +84 -0
  774. data/node_modules/generate-object-property/test.js +12 -0
  775. data/node_modules/getpass/.npmignore +8 -0
  776. data/node_modules/getpass/.travis.yml +9 -0
  777. data/node_modules/getpass/LICENSE +18 -0
  778. data/node_modules/getpass/README.md +32 -0
  779. data/node_modules/getpass/lib/index.js +123 -0
  780. data/node_modules/getpass/node_modules/assert-plus/AUTHORS +6 -0
  781. data/node_modules/getpass/node_modules/assert-plus/CHANGES.md +14 -0
  782. data/node_modules/getpass/node_modules/assert-plus/README.md +162 -0
  783. data/node_modules/getpass/node_modules/assert-plus/assert.js +211 -0
  784. data/node_modules/getpass/node_modules/assert-plus/package.json +115 -0
  785. data/node_modules/getpass/package.json +90 -0
  786. data/node_modules/graceful-readlink/.npmignore +3 -0
  787. data/node_modules/graceful-readlink/.travis.yml +5 -0
  788. data/node_modules/graceful-readlink/LICENSE +22 -0
  789. data/node_modules/graceful-readlink/README.md +17 -0
  790. data/node_modules/graceful-readlink/index.js +12 -0
  791. data/node_modules/graceful-readlink/package.json +83 -0
  792. data/node_modules/har-validator/LICENSE +13 -0
  793. data/node_modules/har-validator/README.md +309 -0
  794. data/node_modules/har-validator/bin/har-validator +56 -0
  795. data/node_modules/har-validator/lib/async.js +14 -0
  796. data/node_modules/har-validator/lib/error.js +10 -0
  797. data/node_modules/har-validator/lib/index.js +22 -0
  798. data/node_modules/har-validator/lib/runner.js +29 -0
  799. data/node_modules/har-validator/lib/schemas/cache.json +13 -0
  800. data/node_modules/har-validator/lib/schemas/cacheEntry.json +31 -0
  801. data/node_modules/har-validator/lib/schemas/content.json +27 -0
  802. data/node_modules/har-validator/lib/schemas/cookie.json +34 -0
  803. data/node_modules/har-validator/lib/schemas/creator.json +18 -0
  804. data/node_modules/har-validator/lib/schemas/entry.json +51 -0
  805. data/node_modules/har-validator/lib/schemas/har.json +11 -0
  806. data/node_modules/har-validator/lib/schemas/index.js +49 -0
  807. data/node_modules/har-validator/lib/schemas/log.json +34 -0
  808. data/node_modules/har-validator/lib/schemas/page.json +30 -0
  809. data/node_modules/har-validator/lib/schemas/pageTimings.json +16 -0
  810. data/node_modules/har-validator/lib/schemas/postData.json +41 -0
  811. data/node_modules/har-validator/lib/schemas/record.json +18 -0
  812. data/node_modules/har-validator/lib/schemas/request.json +55 -0
  813. data/node_modules/har-validator/lib/schemas/response.json +52 -0
  814. data/node_modules/har-validator/lib/schemas/timings.json +40 -0
  815. data/node_modules/har-validator/package.json +120 -0
  816. data/node_modules/has-ansi/index.js +4 -0
  817. data/node_modules/has-ansi/license +21 -0
  818. data/node_modules/has-ansi/package.json +118 -0
  819. data/node_modules/has-ansi/readme.md +36 -0
  820. data/node_modules/hawk/.npmignore +20 -0
  821. data/node_modules/hawk/.travis.yml +5 -0
  822. data/node_modules/hawk/LICENSE +28 -0
  823. data/node_modules/hawk/README.md +634 -0
  824. data/node_modules/hawk/bower.json +24 -0
  825. data/node_modules/hawk/component.json +19 -0
  826. data/node_modules/hawk/dist/client.js +343 -0
  827. data/node_modules/hawk/example/usage.js +78 -0
  828. data/node_modules/hawk/images/hawk.png +0 -0
  829. data/node_modules/hawk/images/logo.png +0 -0
  830. data/node_modules/hawk/lib/browser.js +637 -0
  831. data/node_modules/hawk/lib/client.js +369 -0
  832. data/node_modules/hawk/lib/crypto.js +126 -0
  833. data/node_modules/hawk/lib/index.js +15 -0
  834. data/node_modules/hawk/lib/server.js +548 -0
  835. data/node_modules/hawk/lib/utils.js +184 -0
  836. data/node_modules/hawk/package.json +101 -0
  837. data/node_modules/hawk/test/browser.js +1492 -0
  838. data/node_modules/hawk/test/client.js +440 -0
  839. data/node_modules/hawk/test/crypto.js +70 -0
  840. data/node_modules/hawk/test/index.js +378 -0
  841. data/node_modules/hawk/test/readme.js +95 -0
  842. data/node_modules/hawk/test/server.js +1329 -0
  843. data/node_modules/hawk/test/uri.js +838 -0
  844. data/node_modules/hawk/test/utils.js +149 -0
  845. data/node_modules/hoek/.npmignore +18 -0
  846. data/node_modules/hoek/.travis.yml +7 -0
  847. data/node_modules/hoek/CONTRIBUTING.md +1 -0
  848. data/node_modules/hoek/LICENSE +31 -0
  849. data/node_modules/hoek/README.md +584 -0
  850. data/node_modules/hoek/images/hoek.png +0 -0
  851. data/node_modules/hoek/lib/escape.js +132 -0
  852. data/node_modules/hoek/lib/index.js +993 -0
  853. data/node_modules/hoek/package.json +96 -0
  854. data/node_modules/hoek/test/escaper.js +88 -0
  855. data/node_modules/hoek/test/index.js +2513 -0
  856. data/node_modules/hoek/test/modules/ignore.txt +0 -0
  857. data/node_modules/hoek/test/modules/test1.js +1 -0
  858. data/node_modules/hoek/test/modules/test2.js +1 -0
  859. data/node_modules/hoek/test/modules/test3.js +1 -0
  860. data/node_modules/html-encoding-sniffer/LICENSE.txt +19 -0
  861. data/node_modules/html-encoding-sniffer/README.md +38 -0
  862. data/node_modules/html-encoding-sniffer/lib/html-encoding-sniffer.js +302 -0
  863. data/node_modules/html-encoding-sniffer/package.json +98 -0
  864. data/node_modules/http-signature/.dir-locals.el +6 -0
  865. data/node_modules/http-signature/.npmignore +7 -0
  866. data/node_modules/http-signature/CHANGES.md +46 -0
  867. data/node_modules/http-signature/LICENSE +18 -0
  868. data/node_modules/http-signature/README.md +79 -0
  869. data/node_modules/http-signature/http_signing.md +363 -0
  870. data/node_modules/http-signature/lib/index.js +29 -0
  871. data/node_modules/http-signature/lib/parser.js +318 -0
  872. data/node_modules/http-signature/lib/signer.js +399 -0
  873. data/node_modules/http-signature/lib/utils.js +112 -0
  874. data/node_modules/http-signature/lib/verify.js +88 -0
  875. data/node_modules/http-signature/package.json +116 -0
  876. data/node_modules/iconv-lite/.npmignore +6 -0
  877. data/node_modules/iconv-lite/.travis.yml +22 -0
  878. data/node_modules/iconv-lite/Changelog.md +108 -0
  879. data/node_modules/iconv-lite/LICENSE +21 -0
  880. data/node_modules/iconv-lite/README.md +159 -0
  881. data/node_modules/iconv-lite/encodings/dbcs-codec.js +554 -0
  882. data/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  883. data/node_modules/iconv-lite/encodings/index.js +22 -0
  884. data/node_modules/iconv-lite/encodings/internal.js +187 -0
  885. data/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  886. data/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  887. data/node_modules/iconv-lite/encodings/sbcs-data.js +169 -0
  888. data/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  889. data/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  890. data/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  891. data/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  892. data/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  893. data/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  894. data/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  895. data/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  896. data/node_modules/iconv-lite/encodings/utf16.js +176 -0
  897. data/node_modules/iconv-lite/encodings/utf7.js +289 -0
  898. data/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  899. data/node_modules/iconv-lite/lib/extend-node.js +214 -0
  900. data/node_modules/iconv-lite/lib/index.d.ts +31 -0
  901. data/node_modules/iconv-lite/lib/index.js +141 -0
  902. data/node_modules/iconv-lite/lib/streams.js +120 -0
  903. data/node_modules/iconv-lite/package.json +158 -0
  904. data/node_modules/is-my-json-valid/.npmignore +2 -0
  905. data/node_modules/is-my-json-valid/.travis.yml +3 -0
  906. data/node_modules/is-my-json-valid/LICENSE +21 -0
  907. data/node_modules/is-my-json-valid/README.md +173 -0
  908. data/node_modules/is-my-json-valid/example.js +18 -0
  909. data/node_modules/is-my-json-valid/formats.js +14 -0
  910. data/node_modules/is-my-json-valid/index.js +594 -0
  911. data/node_modules/is-my-json-valid/package.json +116 -0
  912. data/node_modules/is-my-json-valid/require.js +12 -0
  913. data/node_modules/is-my-json-valid/test/fixtures/cosmic.js +84 -0
  914. data/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json +82 -0
  915. data/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json +88 -0
  916. data/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json +112 -0
  917. data/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json +68 -0
  918. data/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json +107 -0
  919. data/node_modules/is-my-json-valid/test/json-schema-draft4/default.json +49 -0
  920. data/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json +32 -0
  921. data/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json +113 -0
  922. data/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json +72 -0
  923. data/node_modules/is-my-json-valid/test/json-schema-draft4/format.json +143 -0
  924. data/node_modules/is-my-json-valid/test/json-schema-draft4/items.json +46 -0
  925. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json +28 -0
  926. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json +28 -0
  927. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json +28 -0
  928. data/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json +42 -0
  929. data/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json +28 -0
  930. data/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json +28 -0
  931. data/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json +28 -0
  932. data/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json +42 -0
  933. data/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json +96 -0
  934. data/node_modules/is-my-json-valid/test/json-schema-draft4/not.json +96 -0
  935. data/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json +18 -0
  936. data/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json +18 -0
  937. data/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json +68 -0
  938. data/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json +23 -0
  939. data/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json +110 -0
  940. data/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json +92 -0
  941. data/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json +128 -0
  942. data/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json +74 -0
  943. data/node_modules/is-my-json-valid/test/json-schema-draft4/required.json +39 -0
  944. data/node_modules/is-my-json-valid/test/json-schema-draft4/type.json +330 -0
  945. data/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json +79 -0
  946. data/node_modules/is-my-json-valid/test/json-schema.js +23 -0
  947. data/node_modules/is-my-json-valid/test/misc.js +471 -0
  948. data/node_modules/is-property/.npmignore +17 -0
  949. data/node_modules/is-property/LICENSE +22 -0
  950. data/node_modules/is-property/README.md +28 -0
  951. data/node_modules/is-property/is-property.js +5 -0
  952. data/node_modules/is-property/package.json +92 -0
  953. data/node_modules/is-typedarray/LICENSE.md +18 -0
  954. data/node_modules/is-typedarray/README.md +16 -0
  955. data/node_modules/is-typedarray/index.js +41 -0
  956. data/node_modules/is-typedarray/package.json +90 -0
  957. data/node_modules/is-typedarray/test.js +34 -0
  958. data/node_modules/isstream/.jshintrc +59 -0
  959. data/node_modules/isstream/.npmignore +1 -0
  960. data/node_modules/isstream/.travis.yml +12 -0
  961. data/node_modules/isstream/LICENSE.md +11 -0
  962. data/node_modules/isstream/README.md +66 -0
  963. data/node_modules/isstream/isstream.js +27 -0
  964. data/node_modules/isstream/package.json +93 -0
  965. data/node_modules/isstream/test.js +168 -0
  966. data/node_modules/jodid25519/.npmignore +11 -0
  967. data/node_modules/jodid25519/.travis.yml +7 -0
  968. data/node_modules/jodid25519/AUTHORS.md +3 -0
  969. data/node_modules/jodid25519/LICENSE +23 -0
  970. data/node_modules/jodid25519/README.md +51 -0
  971. data/node_modules/jodid25519/almond.0 +42 -0
  972. data/node_modules/jodid25519/almond.1 +13 -0
  973. data/node_modules/jodid25519/index.js +35 -0
  974. data/node_modules/jodid25519/jsdoc.json +19 -0
  975. data/node_modules/jodid25519/lib/core.js +481 -0
  976. data/node_modules/jodid25519/lib/curve255.js +221 -0
  977. data/node_modules/jodid25519/lib/dh.js +111 -0
  978. data/node_modules/jodid25519/lib/eddsa.js +573 -0
  979. data/node_modules/jodid25519/lib/utils.js +198 -0
  980. data/node_modules/jodid25519/package.json +104 -0
  981. data/node_modules/jquery/AUTHORS.txt +295 -0
  982. data/node_modules/jquery/LICENSE.txt +36 -0
  983. data/node_modules/jquery/README.md +65 -0
  984. data/node_modules/jquery/bower.json +14 -0
  985. data/node_modules/jquery/dist/core.js +482 -0
  986. data/node_modules/jquery/dist/jquery.js +10220 -0
  987. data/node_modules/jquery/dist/jquery.min.js +4 -0
  988. data/node_modules/jquery/dist/jquery.min.map +1 -0
  989. data/node_modules/jquery/dist/jquery.slim.js +8107 -0
  990. data/node_modules/jquery/dist/jquery.slim.min.js +4 -0
  991. data/node_modules/jquery/dist/jquery.slim.min.map +1 -0
  992. data/node_modules/jquery/external/sizzle/LICENSE.txt +36 -0
  993. data/node_modules/jquery/external/sizzle/dist/sizzle.js +2272 -0
  994. data/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  995. data/node_modules/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  996. data/node_modules/jquery/package.json +169 -0
  997. data/node_modules/jquery/src/.eslintrc.json +18 -0
  998. data/node_modules/jquery/src/ajax.js +855 -0
  999. data/node_modules/jquery/src/ajax/jsonp.js +102 -0
  1000. data/node_modules/jquery/src/ajax/load.js +76 -0
  1001. data/node_modules/jquery/src/ajax/parseXML.js +30 -0
  1002. data/node_modules/jquery/src/ajax/script.js +77 -0
  1003. data/node_modules/jquery/src/ajax/var/location.js +5 -0
  1004. data/node_modules/jquery/src/ajax/var/nonce.js +7 -0
  1005. data/node_modules/jquery/src/ajax/var/rquery.js +5 -0
  1006. data/node_modules/jquery/src/ajax/xhr.js +169 -0
  1007. data/node_modules/jquery/src/attributes.js +13 -0
  1008. data/node_modules/jquery/src/attributes/attr.js +140 -0
  1009. data/node_modules/jquery/src/attributes/classes.js +174 -0
  1010. data/node_modules/jquery/src/attributes/prop.js +143 -0
  1011. data/node_modules/jquery/src/attributes/support.js +33 -0
  1012. data/node_modules/jquery/src/attributes/val.js +188 -0
  1013. data/node_modules/jquery/src/callbacks.js +234 -0
  1014. data/node_modules/jquery/src/core.js +482 -0
  1015. data/node_modules/jquery/src/core/DOMEval.js +16 -0
  1016. data/node_modules/jquery/src/core/access.js +70 -0
  1017. data/node_modules/jquery/src/core/init.js +127 -0
  1018. data/node_modules/jquery/src/core/parseHTML.js +65 -0
  1019. data/node_modules/jquery/src/core/ready-no-deferred.js +105 -0
  1020. data/node_modules/jquery/src/core/ready.js +95 -0
  1021. data/node_modules/jquery/src/core/readyException.js +13 -0
  1022. data/node_modules/jquery/src/core/stripAndCollapse.js +14 -0
  1023. data/node_modules/jquery/src/core/support.js +20 -0
  1024. data/node_modules/jquery/src/core/var/rsingleTag.js +6 -0
  1025. data/node_modules/jquery/src/css.js +426 -0
  1026. data/node_modules/jquery/src/css/addGetHookIf.js +26 -0
  1027. data/node_modules/jquery/src/css/adjustCSS.js +71 -0
  1028. data/node_modules/jquery/src/css/curCSS.js +59 -0
  1029. data/node_modules/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  1030. data/node_modules/jquery/src/css/showHide.js +105 -0
  1031. data/node_modules/jquery/src/css/support.js +89 -0
  1032. data/node_modules/jquery/src/css/var/cssExpand.js +5 -0
  1033. data/node_modules/jquery/src/css/var/getStyles.js +17 -0
  1034. data/node_modules/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  1035. data/node_modules/jquery/src/css/var/rmargin.js +5 -0
  1036. data/node_modules/jquery/src/css/var/rnumnonpx.js +7 -0
  1037. data/node_modules/jquery/src/css/var/swap.js +26 -0
  1038. data/node_modules/jquery/src/data.js +179 -0
  1039. data/node_modules/jquery/src/data/Data.js +161 -0
  1040. data/node_modules/jquery/src/data/var/acceptData.js +19 -0
  1041. data/node_modules/jquery/src/data/var/dataPriv.js +7 -0
  1042. data/node_modules/jquery/src/data/var/dataUser.js +7 -0
  1043. data/node_modules/jquery/src/deferred.js +389 -0
  1044. data/node_modules/jquery/src/deferred/exceptionHook.js +21 -0
  1045. data/node_modules/jquery/src/deprecated.js +30 -0
  1046. data/node_modules/jquery/src/dimensions.js +56 -0
  1047. data/node_modules/jquery/src/effects.js +693 -0
  1048. data/node_modules/jquery/src/effects/Tween.js +123 -0
  1049. data/node_modules/jquery/src/effects/animatedSelector.js +15 -0
  1050. data/node_modules/jquery/src/event.js +745 -0
  1051. data/node_modules/jquery/src/event/ajax.js +22 -0
  1052. data/node_modules/jquery/src/event/alias.js +29 -0
  1053. data/node_modules/jquery/src/event/focusin.js +55 -0
  1054. data/node_modules/jquery/src/event/support.js +11 -0
  1055. data/node_modules/jquery/src/event/trigger.js +185 -0
  1056. data/node_modules/jquery/src/exports/amd.js +26 -0
  1057. data/node_modules/jquery/src/exports/global.js +34 -0
  1058. data/node_modules/jquery/src/jquery.js +41 -0
  1059. data/node_modules/jquery/src/manipulation.js +486 -0
  1060. data/node_modules/jquery/src/manipulation/_evalUrl.js +23 -0
  1061. data/node_modules/jquery/src/manipulation/buildFragment.js +104 -0
  1062. data/node_modules/jquery/src/manipulation/getAll.js +31 -0
  1063. data/node_modules/jquery/src/manipulation/setGlobalEval.js +22 -0
  1064. data/node_modules/jquery/src/manipulation/support.js +35 -0
  1065. data/node_modules/jquery/src/manipulation/var/rcheckableType.js +5 -0
  1066. data/node_modules/jquery/src/manipulation/var/rscriptType.js +5 -0
  1067. data/node_modules/jquery/src/manipulation/var/rtagName.js +5 -0
  1068. data/node_modules/jquery/src/manipulation/wrapMap.js +29 -0
  1069. data/node_modules/jquery/src/offset.js +232 -0
  1070. data/node_modules/jquery/src/queue.js +145 -0
  1071. data/node_modules/jquery/src/queue/delay.js +24 -0
  1072. data/node_modules/jquery/src/selector-native.js +237 -0
  1073. data/node_modules/jquery/src/selector-sizzle.js +19 -0
  1074. data/node_modules/jquery/src/selector.js +3 -0
  1075. data/node_modules/jquery/src/serialize.js +130 -0
  1076. data/node_modules/jquery/src/traversing.js +178 -0
  1077. data/node_modules/jquery/src/traversing/findFilter.js +106 -0
  1078. data/node_modules/jquery/src/traversing/var/dir.js +22 -0
  1079. data/node_modules/jquery/src/traversing/var/rneedsContext.js +8 -0
  1080. data/node_modules/jquery/src/traversing/var/siblings.js +17 -0
  1081. data/node_modules/jquery/src/var/ObjectFunctionString.js +7 -0
  1082. data/node_modules/jquery/src/var/arr.js +5 -0
  1083. data/node_modules/jquery/src/var/class2type.js +6 -0
  1084. data/node_modules/jquery/src/var/concat.js +7 -0
  1085. data/node_modules/jquery/src/var/document.js +5 -0
  1086. data/node_modules/jquery/src/var/documentElement.js +7 -0
  1087. data/node_modules/jquery/src/var/fnToString.js +7 -0
  1088. data/node_modules/jquery/src/var/getProto.js +5 -0
  1089. data/node_modules/jquery/src/var/hasOwn.js +7 -0
  1090. data/node_modules/jquery/src/var/indexOf.js +7 -0
  1091. data/node_modules/jquery/src/var/pnum.js +5 -0
  1092. data/node_modules/jquery/src/var/push.js +7 -0
  1093. data/node_modules/jquery/src/var/rcssNum.js +9 -0
  1094. data/node_modules/jquery/src/var/rnothtmlwhite.js +8 -0
  1095. data/node_modules/jquery/src/var/slice.js +7 -0
  1096. data/node_modules/jquery/src/var/support.js +6 -0
  1097. data/node_modules/jquery/src/var/toString.js +7 -0
  1098. data/node_modules/jquery/src/wrap.js +77 -0
  1099. data/node_modules/jsbn/.npmignore +2 -0
  1100. data/node_modules/jsbn/LICENSE +40 -0
  1101. data/node_modules/jsbn/README.md +175 -0
  1102. data/node_modules/jsbn/example.html +12 -0
  1103. data/node_modules/jsbn/example.js +3 -0
  1104. data/node_modules/jsbn/index.js +1358 -0
  1105. data/node_modules/jsbn/package.json +87 -0
  1106. data/node_modules/jsdom-global/.npmignore +1 -0
  1107. data/node_modules/jsdom-global/.travis.yml +6 -0
  1108. data/node_modules/jsdom-global/HISTORY.md +85 -0
  1109. data/node_modules/jsdom-global/README.md +137 -0
  1110. data/node_modules/jsdom-global/browser.js +10 -0
  1111. data/node_modules/jsdom-global/index.js +46 -0
  1112. data/node_modules/jsdom-global/keys.js +187 -0
  1113. data/node_modules/jsdom-global/package.json +95 -0
  1114. data/node_modules/jsdom-global/register.js +1 -0
  1115. data/node_modules/jsdom-global/test.js +22 -0
  1116. data/node_modules/jsdom/Changelog.md +1254 -0
  1117. data/node_modules/jsdom/LICENSE.txt +22 -0
  1118. data/node_modules/jsdom/README.md +592 -0
  1119. data/node_modules/jsdom/lib/jsdom.js +456 -0
  1120. data/node_modules/jsdom/lib/jsdom/browser/Window.js +502 -0
  1121. data/node_modules/jsdom/lib/jsdom/browser/default-stylesheet.js +1129 -0
  1122. data/node_modules/jsdom/lib/jsdom/browser/documentAdapter.js +73 -0
  1123. data/node_modules/jsdom/lib/jsdom/browser/documentfeatures.js +47 -0
  1124. data/node_modules/jsdom/lib/jsdom/browser/domtohtml.js +19 -0
  1125. data/node_modules/jsdom/lib/jsdom/browser/htmltodom.js +323 -0
  1126. data/node_modules/jsdom/lib/jsdom/browser/not-implemented.js +13 -0
  1127. data/node_modules/jsdom/lib/jsdom/browser/resource-loader.js +275 -0
  1128. data/node_modules/jsdom/lib/jsdom/level2/style.js +69 -0
  1129. data/node_modules/jsdom/lib/jsdom/level3/xpath.js +1874 -0
  1130. data/node_modules/jsdom/lib/jsdom/living/attributes.js +468 -0
  1131. data/node_modules/jsdom/lib/jsdom/living/attributes/Attr-impl.js +87 -0
  1132. data/node_modules/jsdom/lib/jsdom/living/blob-symbols.js +6 -0
  1133. data/node_modules/jsdom/lib/jsdom/living/blob.js +73 -0
  1134. data/node_modules/jsdom/lib/jsdom/living/dom-token-list.js +222 -0
  1135. data/node_modules/jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js +61 -0
  1136. data/node_modules/jsdom/lib/jsdom/living/events/CustomEvent-impl.js +18 -0
  1137. data/node_modules/jsdom/lib/jsdom/living/events/ErrorEvent-impl.js +11 -0
  1138. data/node_modules/jsdom/lib/jsdom/living/events/Event-impl.js +77 -0
  1139. data/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js +303 -0
  1140. data/node_modules/jsdom/lib/jsdom/living/events/FocusEvent-impl.js +4 -0
  1141. data/node_modules/jsdom/lib/jsdom/living/events/HashChangeEvent-impl.js +11 -0
  1142. data/node_modules/jsdom/lib/jsdom/living/events/KeyboardEvent-impl.js +21 -0
  1143. data/node_modules/jsdom/lib/jsdom/living/events/MessageEvent-impl.js +22 -0
  1144. data/node_modules/jsdom/lib/jsdom/living/events/MouseEvent-impl.js +28 -0
  1145. data/node_modules/jsdom/lib/jsdom/living/events/PopStateEvent-impl.js +4 -0
  1146. data/node_modules/jsdom/lib/jsdom/living/events/ProgressEvent-impl.js +11 -0
  1147. data/node_modules/jsdom/lib/jsdom/living/events/TouchEvent-impl.js +11 -0
  1148. data/node_modules/jsdom/lib/jsdom/living/events/UIEvent-impl.js +19 -0
  1149. data/node_modules/jsdom/lib/jsdom/living/file-reader.js +133 -0
  1150. data/node_modules/jsdom/lib/jsdom/living/file-symbols.js +4 -0
  1151. data/node_modules/jsdom/lib/jsdom/living/file.js +22 -0
  1152. data/node_modules/jsdom/lib/jsdom/living/filelist-symbols.js +3 -0
  1153. data/node_modules/jsdom/lib/jsdom/living/filelist.js +21 -0
  1154. data/node_modules/jsdom/lib/jsdom/living/form-data-symbols.js +3 -0
  1155. data/node_modules/jsdom/lib/jsdom/living/generated/.gitkeep +0 -0
  1156. data/node_modules/jsdom/lib/jsdom/living/generated/AddEventListenerOptions.js +34 -0
  1157. data/node_modules/jsdom/lib/jsdom/living/generated/Attr.js +169 -0
  1158. data/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js +189 -0
  1159. data/node_modules/jsdom/lib/jsdom/living/generated/ChildNode.js +92 -0
  1160. data/node_modules/jsdom/lib/jsdom/living/generated/Comment.js +92 -0
  1161. data/node_modules/jsdom/lib/jsdom/living/generated/CustomEvent.js +122 -0
  1162. data/node_modules/jsdom/lib/jsdom/living/generated/CustomEventInit.js +34 -0
  1163. data/node_modules/jsdom/lib/jsdom/living/generated/DOMImplementation.js +143 -0
  1164. data/node_modules/jsdom/lib/jsdom/living/generated/DOMParser.js +97 -0
  1165. data/node_modules/jsdom/lib/jsdom/living/generated/Document.js +712 -0
  1166. data/node_modules/jsdom/lib/jsdom/living/generated/DocumentFragment.js +91 -0
  1167. data/node_modules/jsdom/lib/jsdom/living/generated/DocumentType.js +110 -0
  1168. data/node_modules/jsdom/lib/jsdom/living/generated/Element.js +552 -0
  1169. data/node_modules/jsdom/lib/jsdom/living/generated/ElementCSSInlineStyle.js +88 -0
  1170. data/node_modules/jsdom/lib/jsdom/living/generated/ElementContentEditable.js +77 -0
  1171. data/node_modules/jsdom/lib/jsdom/living/generated/ErrorEvent.js +137 -0
  1172. data/node_modules/jsdom/lib/jsdom/living/generated/ErrorEventInit.js +56 -0
  1173. data/node_modules/jsdom/lib/jsdom/living/generated/Event.js +251 -0
  1174. data/node_modules/jsdom/lib/jsdom/living/generated/EventInit.js +40 -0
  1175. data/node_modules/jsdom/lib/jsdom/living/generated/EventListenerOptions.js +32 -0
  1176. data/node_modules/jsdom/lib/jsdom/living/generated/EventModifierInit.js +146 -0
  1177. data/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js +130 -0
  1178. data/node_modules/jsdom/lib/jsdom/living/generated/FocusEvent.js +104 -0
  1179. data/node_modules/jsdom/lib/jsdom/living/generated/FocusEventInit.js +34 -0
  1180. data/node_modules/jsdom/lib/jsdom/living/generated/FormData.js +179 -0
  1181. data/node_modules/jsdom/lib/jsdom/living/generated/GlobalEventHandlers.js +770 -0
  1182. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAnchorElement.js +228 -0
  1183. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAppletElement.js +225 -0
  1184. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAreaElement.js +167 -0
  1185. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAudioElement.js +82 -0
  1186. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBRElement.js +95 -0
  1187. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBaseElement.js +107 -0
  1188. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBodyElement.js +164 -0
  1189. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLButtonElement.js +189 -0
  1190. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js +181 -0
  1191. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDListElement.js +98 -0
  1192. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataElement.js +95 -0
  1193. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataListElement.js +82 -0
  1194. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDialogElement.js +98 -0
  1195. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDirectoryElement.js +98 -0
  1196. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDivElement.js +95 -0
  1197. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLElement.js +205 -0
  1198. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLEmbedElement.js +159 -0
  1199. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFieldSetElement.js +119 -0
  1200. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFontElement.js +121 -0
  1201. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFormElement.js +211 -0
  1202. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameElement.js +203 -0
  1203. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameSetElement.js +112 -0
  1204. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHRElement.js +150 -0
  1205. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadElement.js +82 -0
  1206. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadingElement.js +95 -0
  1207. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHtmlElement.js +95 -0
  1208. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHyperlinkElementUtils.js +205 -0
  1209. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLIFrameElement.js +278 -0
  1210. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLImageElement.js +326 -0
  1211. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLInputElement.js +583 -0
  1212. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLIElement.js +108 -0
  1213. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLabelElement.js +103 -0
  1214. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLegendElement.js +103 -0
  1215. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLinkElement.js +206 -0
  1216. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMapElement.js +103 -0
  1217. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMediaElement.js +505 -0
  1218. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMenuElement.js +124 -0
  1219. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMetaElement.js +134 -0
  1220. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMeterElement.js +82 -0
  1221. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLModElement.js +108 -0
  1222. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOListElement.js +140 -0
  1223. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLObjectElement.js +309 -0
  1224. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptGroupElement.js +111 -0
  1225. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionElement.js +178 -0
  1226. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOutputElement.js +95 -0
  1227. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLParagraphElement.js +95 -0
  1228. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLParamElement.js +134 -0
  1229. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLPreElement.js +95 -0
  1230. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLProgressElement.js +82 -0
  1231. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLQuoteElement.js +95 -0
  1232. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLScriptElement.js +204 -0
  1233. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSelectElement.js +260 -0
  1234. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSourceElement.js +146 -0
  1235. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSpanElement.js +82 -0
  1236. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLStyleElement.js +125 -0
  1237. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCaptionElement.js +95 -0
  1238. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCellElement.js +245 -0
  1239. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableColElement.js +161 -0
  1240. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableDataCellElement.js +95 -0
  1241. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableElement.js +357 -0
  1242. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableHeaderCellElement.js +121 -0
  1243. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableRowElement.js +202 -0
  1244. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableSectionElement.js +173 -0
  1245. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTemplateElement.js +90 -0
  1246. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTextAreaElement.js +415 -0
  1247. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTimeElement.js +95 -0
  1248. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTitleElement.js +94 -0
  1249. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTrackElement.js +193 -0
  1250. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLUListElement.js +111 -0
  1251. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLUnknownElement.js +82 -0
  1252. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLVideoElement.js +138 -0
  1253. data/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEvent.js +113 -0
  1254. data/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEventInit.js +38 -0
  1255. data/node_modules/jsdom/lib/jsdom/living/generated/History.js +179 -0
  1256. data/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEvent.js +269 -0
  1257. data/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEventInit.js +90 -0
  1258. data/node_modules/jsdom/lib/jsdom/living/generated/LinkStyle.js +85 -0
  1259. data/node_modules/jsdom/lib/jsdom/living/generated/Location.js +227 -0
  1260. data/node_modules/jsdom/lib/jsdom/living/generated/MessageEvent.js +164 -0
  1261. data/node_modules/jsdom/lib/jsdom/living/generated/MessageEventInit.js +56 -0
  1262. data/node_modules/jsdom/lib/jsdom/living/generated/MouseEvent.js +234 -0
  1263. data/node_modules/jsdom/lib/jsdom/living/generated/MouseEventInit.js +82 -0
  1264. data/node_modules/jsdom/lib/jsdom/living/generated/Navigator.js +96 -0
  1265. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorConcurrentHardware.js +85 -0
  1266. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorCookies.js +85 -0
  1267. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorID.js +149 -0
  1268. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorLanguage.js +93 -0
  1269. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorOnLine.js +85 -0
  1270. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorPlugins.js +88 -0
  1271. data/node_modules/jsdom/lib/jsdom/living/generated/Node.js +512 -0
  1272. data/node_modules/jsdom/lib/jsdom/living/generated/NonDocumentTypeChildNode.js +93 -0
  1273. data/node_modules/jsdom/lib/jsdom/living/generated/NonElementParentNode.js +92 -0
  1274. data/node_modules/jsdom/lib/jsdom/living/generated/ParentNode.js +139 -0
  1275. data/node_modules/jsdom/lib/jsdom/living/generated/PopStateEvent.js +105 -0
  1276. data/node_modules/jsdom/lib/jsdom/living/generated/PopStateEventInit.js +32 -0
  1277. data/node_modules/jsdom/lib/jsdom/living/generated/ProcessingInstruction.js +90 -0
  1278. data/node_modules/jsdom/lib/jsdom/living/generated/ProgressEvent.js +122 -0
  1279. data/node_modules/jsdom/lib/jsdom/living/generated/ProgressEventInit.js +50 -0
  1280. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions.js +42 -0
  1281. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollOptions.js +32 -0
  1282. data/node_modules/jsdom/lib/jsdom/living/generated/Text.js +107 -0
  1283. data/node_modules/jsdom/lib/jsdom/living/generated/TouchEvent.js +138 -0
  1284. data/node_modules/jsdom/lib/jsdom/living/generated/TreeWalker.js +189 -0
  1285. data/node_modules/jsdom/lib/jsdom/living/generated/UIEvent.js +134 -0
  1286. data/node_modules/jsdom/lib/jsdom/living/generated/UIEventInit.js +42 -0
  1287. data/node_modules/jsdom/lib/jsdom/living/generated/Window.js +1 -0
  1288. data/node_modules/jsdom/lib/jsdom/living/generated/WindowEventHandlers.js +242 -0
  1289. data/node_modules/jsdom/lib/jsdom/living/generated/XMLDocument.js +82 -0
  1290. data/node_modules/jsdom/lib/jsdom/living/generated/utils.js +40 -0
  1291. data/node_modules/jsdom/lib/jsdom/living/helpers/document-base-url.js +53 -0
  1292. data/node_modules/jsdom/lib/jsdom/living/helpers/focusing.js +74 -0
  1293. data/node_modules/jsdom/lib/jsdom/living/helpers/form-controls.js +43 -0
  1294. data/node_modules/jsdom/lib/jsdom/living/helpers/internal-constants.js +13 -0
  1295. data/node_modules/jsdom/lib/jsdom/living/helpers/ordered-set-parser.js +5 -0
  1296. data/node_modules/jsdom/lib/jsdom/living/helpers/proxied-window-event-handlers.js +11 -0
  1297. data/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js +68 -0
  1298. data/node_modules/jsdom/lib/jsdom/living/helpers/selectors.js +30 -0
  1299. data/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js +78 -0
  1300. data/node_modules/jsdom/lib/jsdom/living/helpers/traversal.js +51 -0
  1301. data/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js +62 -0
  1302. data/node_modules/jsdom/lib/jsdom/living/html-collection.js +109 -0
  1303. data/node_modules/jsdom/lib/jsdom/living/index.js +57 -0
  1304. data/node_modules/jsdom/lib/jsdom/living/named-properties-window.js +139 -0
  1305. data/node_modules/jsdom/lib/jsdom/living/navigator/Navigator-impl.js +24 -0
  1306. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js +8 -0
  1307. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorCookies-impl.js +7 -0
  1308. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorID-impl.js +37 -0
  1309. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorLanguage-impl.js +9 -0
  1310. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorOnLine-impl.js +7 -0
  1311. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorPlugins-impl.js +7 -0
  1312. data/node_modules/jsdom/lib/jsdom/living/node-document-position.js +10 -0
  1313. data/node_modules/jsdom/lib/jsdom/living/node-filter.js +47 -0
  1314. data/node_modules/jsdom/lib/jsdom/living/node-iterator.js +232 -0
  1315. data/node_modules/jsdom/lib/jsdom/living/node-list.js +85 -0
  1316. data/node_modules/jsdom/lib/jsdom/living/node-type.js +16 -0
  1317. data/node_modules/jsdom/lib/jsdom/living/node.js +189 -0
  1318. data/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js +78 -0
  1319. data/node_modules/jsdom/lib/jsdom/living/nodes/ChildNode-impl.js +15 -0
  1320. data/node_modules/jsdom/lib/jsdom/living/nodes/Comment-impl.js +17 -0
  1321. data/node_modules/jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js +176 -0
  1322. data/node_modules/jsdom/lib/jsdom/living/nodes/Document-impl.js +777 -0
  1323. data/node_modules/jsdom/lib/jsdom/living/nodes/DocumentFragment-impl.js +21 -0
  1324. data/node_modules/jsdom/lib/jsdom/living/nodes/DocumentType-impl.js +26 -0
  1325. data/node_modules/jsdom/lib/jsdom/living/nodes/Element-impl.js +491 -0
  1326. data/node_modules/jsdom/lib/jsdom/living/nodes/ElementCSSInlineStyle-impl.js +7 -0
  1327. data/node_modules/jsdom/lib/jsdom/living/nodes/ElementContentEditable-impl.js +7 -0
  1328. data/node_modules/jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js +7 -0
  1329. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js +25 -0
  1330. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAppletElement-impl.js +26 -0
  1331. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js +18 -0
  1332. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAudioElement-impl.js +9 -0
  1333. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBRElement-impl.js +9 -0
  1334. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js +27 -0
  1335. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl.js +30 -0
  1336. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js +58 -0
  1337. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js +134 -0
  1338. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDListElement-impl.js +9 -0
  1339. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js +9 -0
  1340. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js +9 -0
  1341. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js +9 -0
  1342. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js +9 -0
  1343. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDivElement-impl.js +9 -0
  1344. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js +144 -0
  1345. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js +18 -0
  1346. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js +14 -0
  1347. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFontElement-impl.js +9 -0
  1348. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormElement-impl.js +125 -0
  1349. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameElement-impl.js +181 -0
  1350. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js +9 -0
  1351. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHRElement-impl.js +9 -0
  1352. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadElement-impl.js +9 -0
  1353. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js +9 -0
  1354. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js +9 -0
  1355. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js +275 -0
  1356. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js +9 -0
  1357. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLImageElement-impl.js +93 -0
  1358. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLInputElement-impl.js +396 -0
  1359. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLIElement-impl.js +9 -0
  1360. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLabelElement-impl.js +72 -0
  1361. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLegendElement-impl.js +14 -0
  1362. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js +76 -0
  1363. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js +13 -0
  1364. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js +140 -0
  1365. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMenuElement-impl.js +9 -0
  1366. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMetaElement-impl.js +9 -0
  1367. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMeterElement-impl.js +9 -0
  1368. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLModElement-impl.js +9 -0
  1369. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOListElement-impl.js +9 -0
  1370. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLObjectElement-impl.js +35 -0
  1371. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js +9 -0
  1372. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js +122 -0
  1373. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js +9 -0
  1374. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js +9 -0
  1375. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js +9 -0
  1376. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js +9 -0
  1377. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLProgressElement-impl.js +9 -0
  1378. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js +9 -0
  1379. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLScriptElement-impl.js +139 -0
  1380. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSelectElement-impl.js +174 -0
  1381. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSourceElement-impl.js +18 -0
  1382. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSpanElement-impl.js +9 -0
  1383. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js +33 -0
  1384. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js +9 -0
  1385. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js +56 -0
  1386. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js +9 -0
  1387. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableDataCellElement-impl.js +9 -0
  1388. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js +148 -0
  1389. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableHeaderCellElement-impl.js +9 -0
  1390. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js +70 -0
  1391. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js +54 -0
  1392. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js +33 -0
  1393. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js +184 -0
  1394. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTimeElement-impl.js +9 -0
  1395. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTitleElement-impl.js +18 -0
  1396. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTrackElement-impl.js +21 -0
  1397. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUListElement-impl.js +9 -0
  1398. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js +9 -0
  1399. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLVideoElement-impl.js +26 -0
  1400. data/node_modules/jsdom/lib/jsdom/living/nodes/LinkStyle-impl.js +16 -0
  1401. data/node_modules/jsdom/lib/jsdom/living/nodes/Node-impl.js +475 -0
  1402. data/node_modules/jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js +28 -0
  1403. data/node_modules/jsdom/lib/jsdom/living/nodes/NonElementParentNode-impl.js +9 -0
  1404. data/node_modules/jsdom/lib/jsdom/living/nodes/ParentNode-impl.js +91 -0
  1405. data/node_modules/jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js +22 -0
  1406. data/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js +48 -0
  1407. data/node_modules/jsdom/lib/jsdom/living/nodes/WindowEventHandlers-impl.js +9 -0
  1408. data/node_modules/jsdom/lib/jsdom/living/nodes/XMLDocument-impl.js +4 -0
  1409. data/node_modules/jsdom/lib/jsdom/living/post-message.js +36 -0
  1410. data/node_modules/jsdom/lib/jsdom/living/register-elements.js +306 -0
  1411. data/node_modules/jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js +257 -0
  1412. data/node_modules/jsdom/lib/jsdom/living/window/History-impl.js +145 -0
  1413. data/node_modules/jsdom/lib/jsdom/living/window/History.idl +12 -0
  1414. data/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js +235 -0
  1415. data/node_modules/jsdom/lib/jsdom/living/window/navigation.js +103 -0
  1416. data/node_modules/jsdom/lib/jsdom/living/xhr-sync-worker.js +50 -0
  1417. data/node_modules/jsdom/lib/jsdom/living/xhr-utils.js +327 -0
  1418. data/node_modules/jsdom/lib/jsdom/living/xhr/FormData-impl.js +182 -0
  1419. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-event-target.js +23 -0
  1420. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-symbols.js +4 -0
  1421. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-upload.js +17 -0
  1422. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js +1016 -0
  1423. data/node_modules/jsdom/lib/jsdom/named-properties-tracker.js +156 -0
  1424. data/node_modules/jsdom/lib/jsdom/utils.js +242 -0
  1425. data/node_modules/jsdom/lib/jsdom/virtual-console.js +34 -0
  1426. data/node_modules/jsdom/lib/jsdom/vm-shim.js +106 -0
  1427. data/node_modules/jsdom/lib/jsdom/web-idl/DOMException.js +41 -0
  1428. data/node_modules/jsdom/lib/jsdom/web-idl/dom-exception-table.json +134 -0
  1429. data/node_modules/jsdom/node_modules/request/CHANGELOG.md +662 -0
  1430. data/node_modules/jsdom/node_modules/request/LICENSE +55 -0
  1431. data/node_modules/jsdom/node_modules/request/README.md +1098 -0
  1432. data/node_modules/jsdom/node_modules/request/index.js +156 -0
  1433. data/node_modules/jsdom/node_modules/request/lib/auth.js +168 -0
  1434. data/node_modules/jsdom/node_modules/request/lib/cookies.js +39 -0
  1435. data/node_modules/jsdom/node_modules/request/lib/getProxyFromURI.js +79 -0
  1436. data/node_modules/jsdom/node_modules/request/lib/har.js +215 -0
  1437. data/node_modules/jsdom/node_modules/request/lib/helpers.js +65 -0
  1438. data/node_modules/jsdom/node_modules/request/lib/multipart.js +112 -0
  1439. data/node_modules/jsdom/node_modules/request/lib/oauth.js +147 -0
  1440. data/node_modules/jsdom/node_modules/request/lib/querystring.js +51 -0
  1441. data/node_modules/jsdom/node_modules/request/lib/redirect.js +157 -0
  1442. data/node_modules/jsdom/node_modules/request/lib/tunnel.js +176 -0
  1443. data/node_modules/jsdom/node_modules/request/package.json +163 -0
  1444. data/node_modules/jsdom/node_modules/request/request.js +1475 -0
  1445. data/node_modules/jsdom/package.json +184 -0
  1446. data/node_modules/json-schema/README.md +5 -0
  1447. data/node_modules/json-schema/draft-00/hyper-schema +68 -0
  1448. data/node_modules/json-schema/draft-00/json-ref +26 -0
  1449. data/node_modules/json-schema/draft-00/links +33 -0
  1450. data/node_modules/json-schema/draft-00/schema +155 -0
  1451. data/node_modules/json-schema/draft-01/hyper-schema +68 -0
  1452. data/node_modules/json-schema/draft-01/json-ref +26 -0
  1453. data/node_modules/json-schema/draft-01/links +33 -0
  1454. data/node_modules/json-schema/draft-01/schema +155 -0
  1455. data/node_modules/json-schema/draft-02/hyper-schema +68 -0
  1456. data/node_modules/json-schema/draft-02/json-ref +26 -0
  1457. data/node_modules/json-schema/draft-02/links +35 -0
  1458. data/node_modules/json-schema/draft-02/schema +166 -0
  1459. data/node_modules/json-schema/draft-03/examples/address +20 -0
  1460. data/node_modules/json-schema/draft-03/examples/calendar +53 -0
  1461. data/node_modules/json-schema/draft-03/examples/card +105 -0
  1462. data/node_modules/json-schema/draft-03/examples/geo +8 -0
  1463. data/node_modules/json-schema/draft-03/examples/interfaces +23 -0
  1464. data/node_modules/json-schema/draft-03/hyper-schema +60 -0
  1465. data/node_modules/json-schema/draft-03/json-ref +26 -0
  1466. data/node_modules/json-schema/draft-03/links +35 -0
  1467. data/node_modules/json-schema/draft-03/schema +174 -0
  1468. data/node_modules/json-schema/draft-04/hyper-schema +60 -0
  1469. data/node_modules/json-schema/draft-04/links +41 -0
  1470. data/node_modules/json-schema/draft-04/schema +189 -0
  1471. data/node_modules/json-schema/draft-zyp-json-schema-03.xml +1120 -0
  1472. data/node_modules/json-schema/draft-zyp-json-schema-04.xml +1072 -0
  1473. data/node_modules/json-schema/lib/links.js +66 -0
  1474. data/node_modules/json-schema/lib/validate.js +273 -0
  1475. data/node_modules/json-schema/package.json +100 -0
  1476. data/node_modules/json-schema/test/tests.js +95 -0
  1477. data/node_modules/json-stringify-safe/.npmignore +1 -0
  1478. data/node_modules/json-stringify-safe/CHANGELOG.md +14 -0
  1479. data/node_modules/json-stringify-safe/LICENSE +15 -0
  1480. data/node_modules/json-stringify-safe/Makefile +35 -0
  1481. data/node_modules/json-stringify-safe/README.md +52 -0
  1482. data/node_modules/json-stringify-safe/package.json +102 -0
  1483. data/node_modules/json-stringify-safe/stringify.js +27 -0
  1484. data/node_modules/json-stringify-safe/test/mocha.opts +2 -0
  1485. data/node_modules/json-stringify-safe/test/stringify_test.js +246 -0
  1486. data/node_modules/jsonpointer/.travis.yml +7 -0
  1487. data/node_modules/jsonpointer/LICENSE.md +21 -0
  1488. data/node_modules/jsonpointer/README.md +39 -0
  1489. data/node_modules/jsonpointer/benchmark.js +56 -0
  1490. data/node_modules/jsonpointer/jsonpointer.js +93 -0
  1491. data/node_modules/jsonpointer/package.json +109 -0
  1492. data/node_modules/jsonpointer/test.js +131 -0
  1493. data/node_modules/jsprim/CHANGES.md +39 -0
  1494. data/node_modules/jsprim/LICENSE +19 -0
  1495. data/node_modules/jsprim/README.md +237 -0
  1496. data/node_modules/jsprim/lib/jsprim.js +488 -0
  1497. data/node_modules/jsprim/package.json +85 -0
  1498. data/node_modules/levn/LICENSE +22 -0
  1499. data/node_modules/levn/README.md +196 -0
  1500. data/node_modules/levn/lib/cast.js +298 -0
  1501. data/node_modules/levn/lib/coerce.js +285 -0
  1502. data/node_modules/levn/lib/index.js +22 -0
  1503. data/node_modules/levn/lib/parse-string.js +113 -0
  1504. data/node_modules/levn/lib/parse.js +102 -0
  1505. data/node_modules/levn/package.json +108 -0
  1506. data/node_modules/mime-db/HISTORY.md +375 -0
  1507. data/node_modules/mime-db/LICENSE +22 -0
  1508. data/node_modules/mime-db/README.md +82 -0
  1509. data/node_modules/mime-db/db.json +6712 -0
  1510. data/node_modules/mime-db/index.js +11 -0
  1511. data/node_modules/mime-db/package.json +137 -0
  1512. data/node_modules/mime-types/HISTORY.md +210 -0
  1513. data/node_modules/mime-types/LICENSE +23 -0
  1514. data/node_modules/mime-types/README.md +103 -0
  1515. data/node_modules/mime-types/index.js +188 -0
  1516. data/node_modules/mime-types/package.json +127 -0
  1517. data/node_modules/nwmatcher/LICENSE +22 -0
  1518. data/node_modules/nwmatcher/README.md +107 -0
  1519. data/node_modules/nwmatcher/package.json +99 -0
  1520. data/node_modules/nwmatcher/src/modules/nwmatcher-cache.js +187 -0
  1521. data/node_modules/nwmatcher/src/modules/nwmatcher-jquery.js +126 -0
  1522. data/node_modules/nwmatcher/src/modules/nwmatcher-pseudos.js +273 -0
  1523. data/node_modules/nwmatcher/src/modules/nwmatcher-shortcuts.js +35 -0
  1524. data/node_modules/nwmatcher/src/modules/nwmatcher-traversal.js +90 -0
  1525. data/node_modules/nwmatcher/src/modules/nwmatcher-webforms.js +104 -0
  1526. data/node_modules/nwmatcher/src/nwmatcher-base.js +785 -0
  1527. data/node_modules/nwmatcher/src/nwmatcher-noqsa.js +962 -0
  1528. data/node_modules/nwmatcher/src/nwmatcher.js +1780 -0
  1529. data/node_modules/oauth-sign/LICENSE +55 -0
  1530. data/node_modules/oauth-sign/README.md +4 -0
  1531. data/node_modules/oauth-sign/index.js +136 -0
  1532. data/node_modules/oauth-sign/package.json +98 -0
  1533. data/node_modules/optionator/CHANGELOG.md +52 -0
  1534. data/node_modules/optionator/LICENSE +22 -0
  1535. data/node_modules/optionator/README.md +236 -0
  1536. data/node_modules/optionator/lib/help.js +247 -0
  1537. data/node_modules/optionator/lib/index.js +465 -0
  1538. data/node_modules/optionator/lib/util.js +54 -0
  1539. data/node_modules/optionator/package.json +109 -0
  1540. data/node_modules/parse5/CHANGELOG.md +69 -0
  1541. data/node_modules/parse5/LICENSE +19 -0
  1542. data/node_modules/parse5/README.md +247 -0
  1543. data/node_modules/parse5/docs/build/index.md +963 -0
  1544. data/node_modules/parse5/index.js +12 -0
  1545. data/node_modules/parse5/lib/common/doctype.js +134 -0
  1546. data/node_modules/parse5/lib/common/foreign_content.js +257 -0
  1547. data/node_modules/parse5/lib/common/html.js +268 -0
  1548. data/node_modules/parse5/lib/common/unicode.js +48 -0
  1549. data/node_modules/parse5/lib/common/utils.js +13 -0
  1550. data/node_modules/parse5/lib/jsdom/jsdom_parser.js +39 -0
  1551. data/node_modules/parse5/lib/jsdom/parsing_unit.js +53 -0
  1552. data/node_modules/parse5/lib/serialization/serializer.js +178 -0
  1553. data/node_modules/parse5/lib/simple_api/simple_api_parser.js +107 -0
  1554. data/node_modules/parse5/lib/simple_api/tokenizer_proxy.js +122 -0
  1555. data/node_modules/parse5/lib/tokenization/location_info_mixin.js +80 -0
  1556. data/node_modules/parse5/lib/tokenization/named_entity_trie.js +6 -0
  1557. data/node_modules/parse5/lib/tokenization/preprocessor.js +115 -0
  1558. data/node_modules/parse5/lib/tokenization/tokenizer.js +2317 -0
  1559. data/node_modules/parse5/lib/tree_adapters/default.js +200 -0
  1560. data/node_modules/parse5/lib/tree_adapters/htmlparser2.js +317 -0
  1561. data/node_modules/parse5/lib/tree_construction/formatting_element_list.js +167 -0
  1562. data/node_modules/parse5/lib/tree_construction/location_info_mixin.js +197 -0
  1563. data/node_modules/parse5/lib/tree_construction/open_element_stack.js +379 -0
  1564. data/node_modules/parse5/lib/tree_construction/parser.js +2827 -0
  1565. data/node_modules/parse5/package.json +125 -0
  1566. data/node_modules/pinkie-promise/index.js +3 -0
  1567. data/node_modules/pinkie-promise/license +21 -0
  1568. data/node_modules/pinkie-promise/package.json +102 -0
  1569. data/node_modules/pinkie-promise/readme.md +28 -0
  1570. data/node_modules/pinkie/index.js +292 -0
  1571. data/node_modules/pinkie/license +21 -0
  1572. data/node_modules/pinkie/package.json +100 -0
  1573. data/node_modules/pinkie/readme.md +83 -0
  1574. data/node_modules/prelude-ls/CHANGELOG.md +99 -0
  1575. data/node_modules/prelude-ls/LICENSE +22 -0
  1576. data/node_modules/prelude-ls/README.md +15 -0
  1577. data/node_modules/prelude-ls/lib/Func.js +65 -0
  1578. data/node_modules/prelude-ls/lib/List.js +686 -0
  1579. data/node_modules/prelude-ls/lib/Num.js +130 -0
  1580. data/node_modules/prelude-ls/lib/Obj.js +154 -0
  1581. data/node_modules/prelude-ls/lib/Str.js +92 -0
  1582. data/node_modules/prelude-ls/lib/index.js +178 -0
  1583. data/node_modules/prelude-ls/package.json +116 -0
  1584. data/node_modules/punycode/LICENSE-MIT.txt +20 -0
  1585. data/node_modules/punycode/README.md +176 -0
  1586. data/node_modules/punycode/package.json +127 -0
  1587. data/node_modules/punycode/punycode.js +533 -0
  1588. data/node_modules/qs/.eslintignore +1 -0
  1589. data/node_modules/qs/.eslintrc +19 -0
  1590. data/node_modules/qs/CHANGELOG.md +144 -0
  1591. data/node_modules/qs/CONTRIBUTING.md +1 -0
  1592. data/node_modules/qs/LICENSE +28 -0
  1593. data/node_modules/qs/README.md +398 -0
  1594. data/node_modules/qs/dist/qs.js +574 -0
  1595. data/node_modules/qs/lib/formats.js +18 -0
  1596. data/node_modules/qs/lib/index.js +11 -0
  1597. data/node_modules/qs/lib/parse.js +166 -0
  1598. data/node_modules/qs/lib/stringify.js +187 -0
  1599. data/node_modules/qs/lib/utils.js +180 -0
  1600. data/node_modules/qs/package.json +121 -0
  1601. data/node_modules/qs/test/.eslintrc +9 -0
  1602. data/node_modules/qs/test/index.js +7 -0
  1603. data/node_modules/qs/test/parse.js +459 -0
  1604. data/node_modules/qs/test/stringify.js +538 -0
  1605. data/node_modules/qs/test/utils.js +22 -0
  1606. data/node_modules/sax/LICENSE +41 -0
  1607. data/node_modules/sax/LICENSE-W3C.html +188 -0
  1608. data/node_modules/sax/README.md +225 -0
  1609. data/node_modules/sax/lib/sax.js +1576 -0
  1610. data/node_modules/sax/package.json +133 -0
  1611. data/node_modules/sntp/.npmignore +18 -0
  1612. data/node_modules/sntp/.travis.yml +5 -0
  1613. data/node_modules/sntp/LICENSE +28 -0
  1614. data/node_modules/sntp/Makefile +9 -0
  1615. data/node_modules/sntp/README.md +68 -0
  1616. data/node_modules/sntp/examples/offset.js +16 -0
  1617. data/node_modules/sntp/examples/time.js +25 -0
  1618. data/node_modules/sntp/index.js +1 -0
  1619. data/node_modules/sntp/lib/index.js +412 -0
  1620. data/node_modules/sntp/package.json +98 -0
  1621. data/node_modules/sntp/test/index.js +435 -0
  1622. data/node_modules/source-map/.npmignore +2 -0
  1623. data/node_modules/source-map/.travis.yml +4 -0
  1624. data/node_modules/source-map/CHANGELOG.md +201 -0
  1625. data/node_modules/source-map/LICENSE +28 -0
  1626. data/node_modules/source-map/Makefile.dryice.js +166 -0
  1627. data/node_modules/source-map/README.md +479 -0
  1628. data/node_modules/source-map/build/assert-shim.js +56 -0
  1629. data/node_modules/source-map/build/mini-require.js +152 -0
  1630. data/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  1631. data/node_modules/source-map/build/prefix-utils.jsm +18 -0
  1632. data/node_modules/source-map/build/suffix-browser.js +8 -0
  1633. data/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  1634. data/node_modules/source-map/build/suffix-utils.jsm +21 -0
  1635. data/node_modules/source-map/build/test-prefix.js +8 -0
  1636. data/node_modules/source-map/build/test-suffix.js +3 -0
  1637. data/node_modules/source-map/lib/source-map.js +8 -0
  1638. data/node_modules/source-map/lib/source-map/array-set.js +97 -0
  1639. data/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
  1640. data/node_modules/source-map/lib/source-map/base64.js +42 -0
  1641. data/node_modules/source-map/lib/source-map/basic-source-map-consumer.js +420 -0
  1642. data/node_modules/source-map/lib/source-map/binary-search.js +80 -0
  1643. data/node_modules/source-map/lib/source-map/indexed-source-map-consumer.js +303 -0
  1644. data/node_modules/source-map/lib/source-map/mapping-list.js +86 -0
  1645. data/node_modules/source-map/lib/source-map/source-map-consumer.js +222 -0
  1646. data/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
  1647. data/node_modules/source-map/lib/source-map/source-node.js +414 -0
  1648. data/node_modules/source-map/lib/source-map/util.js +319 -0
  1649. data/node_modules/source-map/package.json +223 -0
  1650. data/node_modules/source-map/test/run-tests.js +62 -0
  1651. data/node_modules/source-map/test/source-map/test-api.js +26 -0
  1652. data/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  1653. data/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
  1654. data/node_modules/source-map/test/source-map/test-base64.js +35 -0
  1655. data/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  1656. data/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  1657. data/node_modules/source-map/test/source-map/test-source-map-consumer.js +874 -0
  1658. data/node_modules/source-map/test/source-map/test-source-map-generator.js +679 -0
  1659. data/node_modules/source-map/test/source-map/test-source-node.js +612 -0
  1660. data/node_modules/source-map/test/source-map/test-util.js +216 -0
  1661. data/node_modules/source-map/test/source-map/util.js +299 -0
  1662. data/node_modules/sshpk/.npmignore +9 -0
  1663. data/node_modules/sshpk/.travis.yml +11 -0
  1664. data/node_modules/sshpk/LICENSE +18 -0
  1665. data/node_modules/sshpk/README.md +666 -0
  1666. data/node_modules/sshpk/bin/sshpk-conv +201 -0
  1667. data/node_modules/sshpk/bin/sshpk-sign +191 -0
  1668. data/node_modules/sshpk/bin/sshpk-verify +166 -0
  1669. data/node_modules/sshpk/lib/algs.js +168 -0
  1670. data/node_modules/sshpk/lib/certificate.js +291 -0
  1671. data/node_modules/sshpk/lib/dhe.js +311 -0
  1672. data/node_modules/sshpk/lib/ed-compat.js +96 -0
  1673. data/node_modules/sshpk/lib/errors.js +84 -0
  1674. data/node_modules/sshpk/lib/fingerprint.js +161 -0
  1675. data/node_modules/sshpk/lib/formats/auto.js +73 -0
  1676. data/node_modules/sshpk/lib/formats/openssh-cert.js +289 -0
  1677. data/node_modules/sshpk/lib/formats/pem.js +186 -0
  1678. data/node_modules/sshpk/lib/formats/pkcs1.js +320 -0
  1679. data/node_modules/sshpk/lib/formats/pkcs8.js +505 -0
  1680. data/node_modules/sshpk/lib/formats/rfc4253.js +146 -0
  1681. data/node_modules/sshpk/lib/formats/ssh-private.js +261 -0
  1682. data/node_modules/sshpk/lib/formats/ssh.js +114 -0
  1683. data/node_modules/sshpk/lib/formats/x509-pem.js +77 -0
  1684. data/node_modules/sshpk/lib/formats/x509.js +484 -0
  1685. data/node_modules/sshpk/lib/identity.js +255 -0
  1686. data/node_modules/sshpk/lib/index.js +38 -0
  1687. data/node_modules/sshpk/lib/key.js +270 -0
  1688. data/node_modules/sshpk/lib/private-key.js +231 -0
  1689. data/node_modules/sshpk/lib/signature.js +245 -0
  1690. data/node_modules/sshpk/lib/ssh-buffer.js +148 -0
  1691. data/node_modules/sshpk/lib/utils.js +288 -0
  1692. data/node_modules/sshpk/man/man1/sshpk-conv.1 +135 -0
  1693. data/node_modules/sshpk/man/man1/sshpk-sign.1 +81 -0
  1694. data/node_modules/sshpk/man/man1/sshpk-verify.1 +68 -0
  1695. data/node_modules/sshpk/node_modules/assert-plus/AUTHORS +6 -0
  1696. data/node_modules/sshpk/node_modules/assert-plus/CHANGES.md +14 -0
  1697. data/node_modules/sshpk/node_modules/assert-plus/README.md +162 -0
  1698. data/node_modules/sshpk/node_modules/assert-plus/assert.js +211 -0
  1699. data/node_modules/sshpk/node_modules/assert-plus/package.json +115 -0
  1700. data/node_modules/sshpk/package.json +135 -0
  1701. data/node_modules/stringstream/.npmignore +15 -0
  1702. data/node_modules/stringstream/.travis.yml +4 -0
  1703. data/node_modules/stringstream/LICENSE.txt +22 -0
  1704. data/node_modules/stringstream/README.md +38 -0
  1705. data/node_modules/stringstream/example.js +27 -0
  1706. data/node_modules/stringstream/package.json +85 -0
  1707. data/node_modules/stringstream/stringstream.js +102 -0
  1708. data/node_modules/strip-ansi/index.js +6 -0
  1709. data/node_modules/strip-ansi/license +21 -0
  1710. data/node_modules/strip-ansi/package.json +123 -0
  1711. data/node_modules/strip-ansi/readme.md +33 -0
  1712. data/node_modules/supports-color/index.js +50 -0
  1713. data/node_modules/supports-color/license +21 -0
  1714. data/node_modules/supports-color/package.json +113 -0
  1715. data/node_modules/supports-color/readme.md +36 -0
  1716. data/node_modules/symbol-tree/.jscsrc +55 -0
  1717. data/node_modules/symbol-tree/.npmignore +6 -0
  1718. data/node_modules/symbol-tree/LICENSE +21 -0
  1719. data/node_modules/symbol-tree/README.md +68 -0
  1720. data/node_modules/symbol-tree/api.md +441 -0
  1721. data/node_modules/symbol-tree/lib/SymbolTree.js +834 -0
  1722. data/node_modules/symbol-tree/lib/SymbolTreeNode.js +54 -0
  1723. data/node_modules/symbol-tree/lib/TreeIterator.js +69 -0
  1724. data/node_modules/symbol-tree/lib/TreePosition.js +10 -0
  1725. data/node_modules/symbol-tree/package.json +121 -0
  1726. data/node_modules/symbol-tree/test/SymbolTree.js +1189 -0
  1727. data/node_modules/tough-cookie/LICENSE +27 -0
  1728. data/node_modules/tough-cookie/README.md +506 -0
  1729. data/node_modules/tough-cookie/lib/cookie.js +1336 -0
  1730. data/node_modules/tough-cookie/lib/memstore.js +170 -0
  1731. data/node_modules/tough-cookie/lib/pathMatch.js +61 -0
  1732. data/node_modules/tough-cookie/lib/permuteDomain.js +56 -0
  1733. data/node_modules/tough-cookie/lib/pubsuffix.js +98 -0
  1734. data/node_modules/tough-cookie/lib/store.js +71 -0
  1735. data/node_modules/tough-cookie/package.json +136 -0
  1736. data/node_modules/tr46/.npmignore +4 -0
  1737. data/node_modules/tr46/index.js +193 -0
  1738. data/node_modules/tr46/lib/.gitkeep +0 -0
  1739. data/node_modules/tr46/lib/mappingTable.json +1 -0
  1740. data/node_modules/tr46/package.json +91 -0
  1741. data/node_modules/tunnel-agent/LICENSE +55 -0
  1742. data/node_modules/tunnel-agent/README.md +4 -0
  1743. data/node_modules/tunnel-agent/index.js +243 -0
  1744. data/node_modules/tunnel-agent/package.json +100 -0
  1745. data/node_modules/tweetnacl/.npmignore +4 -0
  1746. data/node_modules/tweetnacl/CHANGELOG.md +209 -0
  1747. data/node_modules/tweetnacl/COPYING.txt +9 -0
  1748. data/node_modules/tweetnacl/ISSUE_TEMPLATE.md +3 -0
  1749. data/node_modules/tweetnacl/README.md +477 -0
  1750. data/node_modules/tweetnacl/nacl-fast.js +2388 -0
  1751. data/node_modules/tweetnacl/nacl-fast.min.js +2 -0
  1752. data/node_modules/tweetnacl/nacl.d.ts +98 -0
  1753. data/node_modules/tweetnacl/nacl.js +1175 -0
  1754. data/node_modules/tweetnacl/nacl.min.js +1 -0
  1755. data/node_modules/tweetnacl/package.json +121 -0
  1756. data/node_modules/type-check/LICENSE +22 -0
  1757. data/node_modules/type-check/README.md +210 -0
  1758. data/node_modules/type-check/lib/check.js +126 -0
  1759. data/node_modules/type-check/lib/index.js +16 -0
  1760. data/node_modules/type-check/lib/parse-type.js +196 -0
  1761. data/node_modules/type-check/package.json +102 -0
  1762. data/node_modules/type-detect/.npmignore +11 -0
  1763. data/node_modules/type-detect/History.md +52 -0
  1764. data/node_modules/type-detect/README.md +226 -0
  1765. data/node_modules/type-detect/ReleaseNotes.md +46 -0
  1766. data/node_modules/type-detect/index.js +1 -0
  1767. data/node_modules/type-detect/lib/type.js +134 -0
  1768. data/node_modules/type-detect/package.json +93 -0
  1769. data/node_modules/uuid/.npmignore +8 -0
  1770. data/node_modules/uuid/.travis.yml +5 -0
  1771. data/node_modules/uuid/AUTHORS +5 -0
  1772. data/node_modules/uuid/HISTORY.md +28 -0
  1773. data/node_modules/uuid/LICENSE.md +21 -0
  1774. data/node_modules/uuid/README.md +132 -0
  1775. data/node_modules/uuid/bin/uuid +26 -0
  1776. data/node_modules/uuid/index.js +8 -0
  1777. data/node_modules/uuid/lib/bytesToUuid.js +23 -0
  1778. data/node_modules/uuid/lib/rng-browser.js +33 -0
  1779. data/node_modules/uuid/lib/rng.js +10 -0
  1780. data/node_modules/uuid/package.json +122 -0
  1781. data/node_modules/uuid/test/mocha.opts +3 -0
  1782. data/node_modules/uuid/test/test.js +96 -0
  1783. data/node_modules/uuid/v1.js +103 -0
  1784. data/node_modules/uuid/v4.js +29 -0
  1785. data/node_modules/verror/.gitmodules +0 -0
  1786. data/node_modules/verror/.npmignore +1 -0
  1787. data/node_modules/verror/LICENSE +19 -0
  1788. data/node_modules/verror/Makefile +35 -0
  1789. data/node_modules/verror/Makefile.targ +285 -0
  1790. data/node_modules/verror/README.md +120 -0
  1791. data/node_modules/verror/examples/levels-verror.js +36 -0
  1792. data/node_modules/verror/examples/levels-werror.js +34 -0
  1793. data/node_modules/verror/examples/varargs.js +6 -0
  1794. data/node_modules/verror/examples/verror.js +13 -0
  1795. data/node_modules/verror/examples/werror.js +14 -0
  1796. data/node_modules/verror/jsl.node.conf +139 -0
  1797. data/node_modules/verror/lib/verror.js +157 -0
  1798. data/node_modules/verror/package.json +78 -0
  1799. data/node_modules/verror/tests/tst.inherit.js +100 -0
  1800. data/node_modules/verror/tests/tst.verror.js +156 -0
  1801. data/node_modules/verror/tests/tst.werror.js +179 -0
  1802. data/node_modules/webidl-conversions/LICENSE.md +12 -0
  1803. data/node_modules/webidl-conversions/README.md +53 -0
  1804. data/node_modules/webidl-conversions/lib/index.js +189 -0
  1805. data/node_modules/webidl-conversions/package.json +96 -0
  1806. data/node_modules/whatwg-encoding/LICENSE.txt +19 -0
  1807. data/node_modules/whatwg-encoding/lib/labels-to-names.json +207 -0
  1808. data/node_modules/whatwg-encoding/lib/supported-names.json +37 -0
  1809. data/node_modules/whatwg-encoding/lib/whatwg-encoding.js +47 -0
  1810. data/node_modules/whatwg-encoding/node_modules/iconv-lite/.npmignore +6 -0
  1811. data/node_modules/whatwg-encoding/node_modules/iconv-lite/.travis.yml +20 -0
  1812. data/node_modules/whatwg-encoding/node_modules/iconv-lite/Changelog.md +93 -0
  1813. data/node_modules/whatwg-encoding/node_modules/iconv-lite/LICENSE +21 -0
  1814. data/node_modules/whatwg-encoding/node_modules/iconv-lite/README.md +157 -0
  1815. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-codec.js +554 -0
  1816. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-data.js +170 -0
  1817. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/index.js +22 -0
  1818. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/internal.js +187 -0
  1819. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  1820. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  1821. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data.js +169 -0
  1822. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  1823. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  1824. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  1825. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  1826. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  1827. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  1828. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  1829. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  1830. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/utf16.js +174 -0
  1831. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/utf7.js +289 -0
  1832. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  1833. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/extend-node.js +214 -0
  1834. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/index.js +141 -0
  1835. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/streams.js +120 -0
  1836. data/node_modules/whatwg-encoding/node_modules/iconv-lite/package.json +153 -0
  1837. data/node_modules/whatwg-encoding/package.json +101 -0
  1838. data/node_modules/whatwg-url/.eslintignore +3 -0
  1839. data/node_modules/whatwg-url/LICENSE.txt +21 -0
  1840. data/node_modules/whatwg-url/README.md +66 -0
  1841. data/node_modules/whatwg-url/lib/URL-impl.js +216 -0
  1842. data/node_modules/whatwg-url/lib/URL.js +209 -0
  1843. data/node_modules/whatwg-url/lib/public-api.js +11 -0
  1844. data/node_modules/whatwg-url/lib/url-state-machine.js +1173 -0
  1845. data/node_modules/whatwg-url/lib/utils.js +20 -0
  1846. data/node_modules/whatwg-url/package.json +103 -0
  1847. data/node_modules/wordwrap/LICENSE +18 -0
  1848. data/node_modules/wordwrap/README.markdown +70 -0
  1849. data/node_modules/wordwrap/example/center.js +10 -0
  1850. data/node_modules/wordwrap/example/meat.js +3 -0
  1851. data/node_modules/wordwrap/index.js +76 -0
  1852. data/node_modules/wordwrap/package.json +94 -0
  1853. data/node_modules/wordwrap/test/break.js +32 -0
  1854. data/node_modules/wordwrap/test/idleness.txt +63 -0
  1855. data/node_modules/wordwrap/test/wrap.js +33 -0
  1856. data/node_modules/xml-name-validator/LICENSE.txt +19 -0
  1857. data/node_modules/xml-name-validator/README.md +36 -0
  1858. data/node_modules/xml-name-validator/lib/generated-parser.js +504 -0
  1859. data/node_modules/xml-name-validator/lib/grammar.pegjs +35 -0
  1860. data/node_modules/xml-name-validator/lib/xml-name-validator.js +17 -0
  1861. data/node_modules/xml-name-validator/package.json +97 -0
  1862. data/node_modules/xtend/.jshintrc +30 -0
  1863. data/node_modules/xtend/.npmignore +1 -0
  1864. data/node_modules/xtend/LICENCE +19 -0
  1865. data/node_modules/xtend/Makefile +4 -0
  1866. data/node_modules/xtend/README.md +32 -0
  1867. data/node_modules/xtend/immutable.js +19 -0
  1868. data/node_modules/xtend/mutable.js +17 -0
  1869. data/node_modules/xtend/package.json +117 -0
  1870. data/node_modules/xtend/test.js +83 -0
  1871. data/package.json +32 -0
  1872. data/vendor/assets/javascripts/select_all.js +1 -1
  1873. metadata +1870 -2
@@ -0,0 +1,389 @@
1
+ #!/bin/bash
2
+ #
3
+ # Bash completion generated for '{{name}}' at {{date}}.
4
+ #
5
+ # The original template lives here:
6
+ # https://github.com/trentm/node-dashdash/blob/master/etc/dashdash.bash_completion.in
7
+ #
8
+
9
+ #
10
+ # Copyright 2016 Trent Mick
11
+ # Copyright 2016 Joyent, Inc.
12
+ #
13
+ #
14
+ # A generic Bash completion driver script.
15
+ #
16
+ # This is meant to provide a re-usable chunk of Bash to use for
17
+ # "etc/bash_completion.d/" files for individual tools. Only the "Configuration"
18
+ # section with tool-specific info need differ. Features:
19
+ #
20
+ # - support for short and long opts
21
+ # - support for knowing which options take arguments
22
+ # - support for subcommands (e.g. 'git log <TAB>' to show just options for the
23
+ # log subcommand)
24
+ # - does the right thing with "--" to stop options
25
+ # - custom optarg and arg types for custom completions
26
+ # - (TODO) support for shells other than Bash (tcsh, zsh, fish?, etc.)
27
+ #
28
+ #
29
+ # Examples/design:
30
+ #
31
+ # 1. Bash "default" completion. By default Bash's 'complete -o default' is
32
+ # enabled. That means when there are no completions (e.g. if no opts match
33
+ # the current word), then you'll get Bash's default completion. Most notably
34
+ # that means you get filename completion. E.g.:
35
+ # $ tool ./<TAB>
36
+ # $ tool READ<TAB>
37
+ #
38
+ # 2. all opts and subcmds:
39
+ # $ tool <TAB>
40
+ # $ tool -v <TAB> # assuming '-v' doesn't take an arg
41
+ # $ tool -<TAB> # matching opts
42
+ # $ git lo<TAB> # matching subcmds
43
+ #
44
+ # Long opt completions are given *without* the '=', i.e. we prefer space
45
+ # separated because that's easier for good completions.
46
+ #
47
+ # 3. long opt arg with '='
48
+ # $ tool --file=<TAB>
49
+ # $ tool --file=./d<TAB>
50
+ # We maintain the "--file=" prefix. Limitation: With the attached prefix
51
+ # the 'complete -o filenames' doesn't know to do dirname '/' suffixing. Meh.
52
+ #
53
+ # 4. envvars:
54
+ # $ tool $<TAB>
55
+ # $ tool $P<TAB>
56
+ # Limitation: Currently only getting exported vars, so we miss "PS1" and
57
+ # others.
58
+ #
59
+ # 5. Defer to other completion in a subshell:
60
+ # $ tool --file $(cat ./<TAB>
61
+ # We get this from 'complete -o default ...'.
62
+ #
63
+ # 6. Custom completion types from a provided bash function.
64
+ # $ tool --profile <TAB> # complete available "profiles"
65
+ #
66
+ #
67
+ # Dev Notes:
68
+ # - compgen notes, from http://unix.stackexchange.com/questions/151118/understand-compgen-builtin-command
69
+ # - https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html
70
+ #
71
+
72
+
73
+ # Debugging this completion:
74
+ # 1. Uncomment the "_{{name}}_log_file=..." line.
75
+ # 2. 'tail -f /var/tmp/dashdash-completion.log' in one terminal.
76
+ # 3. Re-source this bash completion file.
77
+ #_{{name}}_log=/var/tmp/dashdash-completion.log
78
+
79
+ function _{{name}}_completer {
80
+
81
+ # ---- cmd definition
82
+
83
+ {{spec}}
84
+
85
+
86
+ # ---- locals
87
+
88
+ declare -a argv
89
+
90
+
91
+ # ---- support functions
92
+
93
+ function trace {
94
+ [[ -n "$_{{name}}_log" ]] && echo "$*" >&2
95
+ }
96
+
97
+ function _dashdash_complete {
98
+ local idx context
99
+ idx=$1
100
+ context=$2
101
+
102
+ local shortopts longopts optargs subcmds allsubcmds argtypes
103
+ shortopts="$(eval "echo \${cmd${context}_shortopts}")"
104
+ longopts="$(eval "echo \${cmd${context}_longopts}")"
105
+ optargs="$(eval "echo \${cmd${context}_optargs}")"
106
+ subcmds="$(eval "echo \${cmd${context}_subcmds}")"
107
+ allsubcmds="$(eval "echo \${cmd${context}_allsubcmds}")"
108
+ IFS=', ' read -r -a argtypes <<< "$(eval "echo \${cmd${context}_argtypes}")"
109
+
110
+ trace ""
111
+ trace "_dashdash_complete(idx=$idx, context=$context)"
112
+ trace " shortopts: $shortopts"
113
+ trace " longopts: $longopts"
114
+ trace " optargs: $optargs"
115
+ trace " subcmds: $subcmds"
116
+ trace " allsubcmds: $allsubcmds"
117
+
118
+ # Get 'state' of option parsing at this COMP_POINT.
119
+ # Copying "dashdash.js#parse()" behaviour here.
120
+ local state=
121
+ local nargs=0
122
+ local i=$idx
123
+ local argtype
124
+ local optname
125
+ local prefix
126
+ local word
127
+ local dashdashseen=
128
+ while [[ $i -lt $len && $i -le $COMP_CWORD ]]; do
129
+ argtype=
130
+ optname=
131
+ prefix=
132
+ word=
133
+
134
+ arg=${argv[$i]}
135
+ trace " consider argv[$i]: '$arg'"
136
+
137
+ if [[ "$arg" == "--" && $i -lt $COMP_CWORD ]]; then
138
+ trace " dashdash seen"
139
+ dashdashseen=yes
140
+ state=arg
141
+ word=$arg
142
+ elif [[ -z "$dashdashseen" && "${arg:0:2}" == "--" ]]; then
143
+ arg=${arg:2}
144
+ if [[ "$arg" == *"="* ]]; then
145
+ optname=${arg%%=*}
146
+ val=${arg##*=}
147
+ trace " long opt: optname='$optname' val='$val'"
148
+ state=arg
149
+ argtype=$(echo "$optargs" | awk -F "-$optname=" '{print $2}' | cut -d' ' -f1)
150
+ word=$val
151
+ prefix="--$optname="
152
+ else
153
+ optname=$arg
154
+ val=
155
+ trace " long opt: optname='$optname'"
156
+ state=longopt
157
+ word=--$optname
158
+
159
+ if [[ "$optargs" == *"-$optname="* && $i -lt $COMP_CWORD ]]; then
160
+ i=$(( $i + 1 ))
161
+ state=arg
162
+ argtype=$(echo "$optargs" | awk -F "-$optname=" '{print $2}' | cut -d' ' -f1)
163
+ word=${argv[$i]}
164
+ trace " takes arg (consume argv[$i], word='$word')"
165
+ fi
166
+ fi
167
+ elif [[ -z "$dashdashseen" && "${arg:0:1}" == "-" ]]; then
168
+ trace " short opt group"
169
+ state=shortopt
170
+ word=$arg
171
+
172
+ local j=1
173
+ while [[ $j -lt ${#arg} ]]; do
174
+ optname=${arg:$j:1}
175
+ trace " consider index $j: optname '$optname'"
176
+
177
+ if [[ "$optargs" == *"-$optname="* ]]; then
178
+ argtype=$(echo "$optargs" | awk -F "-$optname=" '{print $2}' | cut -d' ' -f1)
179
+ if [[ $(( $j + 1 )) -lt ${#arg} ]]; then
180
+ state=arg
181
+ word=${arg:$(( $j + 1 ))}
182
+ trace " takes arg (rest of this arg, word='$word', argtype='$argtype')"
183
+ elif [[ $i -lt $COMP_CWORD ]]; then
184
+ state=arg
185
+ i=$(( $i + 1 ))
186
+ word=${argv[$i]}
187
+ trace " takes arg (word='$word', argtype='$argtype')"
188
+ fi
189
+ break
190
+ fi
191
+
192
+ j=$(( $j + 1 ))
193
+ done
194
+ elif [[ $i -lt $COMP_CWORD && -n "$arg" ]] && $(echo "$allsubcmds" | grep -w "$arg" >/dev/null); then
195
+ trace " complete subcmd: recurse _dashdash_complete"
196
+ _dashdash_complete $(( $i + 1 )) "${context}__${arg/-/_}"
197
+ return
198
+ else
199
+ trace " not an opt or a complete subcmd"
200
+ state=arg
201
+ word=$arg
202
+ nargs=$(( $nargs + 1 ))
203
+ if [[ ${#argtypes[@]} -gt 0 ]]; then
204
+ argtype="${argtypes[$(( $nargs - 1 ))]}"
205
+ if [[ -z "$argtype" ]]; then
206
+ # If we have more args than argtypes, we use the
207
+ # last type.
208
+ argtype="${argtypes[@]: -1:1}"
209
+ fi
210
+ fi
211
+ fi
212
+
213
+ trace " state=$state prefix='$prefix' word='$word'"
214
+ i=$(( $i + 1 ))
215
+ done
216
+
217
+ trace " parsed: state=$state optname='$optname' argtype='$argtype' prefix='$prefix' word='$word' dashdashseen=$dashdashseen"
218
+ local compgen_opts=
219
+ if [[ -n "$prefix" ]]; then
220
+ compgen_opts="$compgen_opts -P $prefix"
221
+ fi
222
+
223
+ case $state in
224
+ shortopt)
225
+ compgen $compgen_opts -W "$shortopts $longopts" -- "$word"
226
+ ;;
227
+ longopt)
228
+ compgen $compgen_opts -W "$longopts" -- "$word"
229
+ ;;
230
+ arg)
231
+ # If we don't know what completion to do, then emit nothing. We
232
+ # expect that we are running with:
233
+ # complete -o default ...
234
+ # where "default" means: "Use Readline's default completion if
235
+ # the compspec generates no matches." This gives us the good filename
236
+ # completion, completion in subshells/backticks.
237
+ #
238
+ # We cannot support an argtype="directory" because
239
+ # compgen -S '/' -A directory -- "$word"
240
+ # doesn't give a satisfying result. It doesn't stop at the trailing '/'
241
+ # so you cannot descend into dirs.
242
+ if [[ "${word:0:1}" == '$' ]]; then
243
+ # By default, Bash will complete '$<TAB>' to all envvars. Apparently
244
+ # 'complete -o default' does *not* give us that. The following
245
+ # gets *close* to the same completions: '-A export' misses envvars
246
+ # like "PS1".
247
+ trace " completing envvars"
248
+ compgen $compgen_opts -P '$' -A export -- "${word:1}"
249
+ elif [[ -z "$argtype" ]]; then
250
+ # Only include opts in completions if $word is not empty.
251
+ # This is to avoid completing the leading '-', which foils
252
+ # using 'default' completion.
253
+ if [[ -n "$dashdashseen" ]]; then
254
+ trace " completing subcmds, if any (no argtype, dashdash seen)"
255
+ compgen $compgen_opts -W "$subcmds" -- "$word"
256
+ elif [[ -z "$word" ]]; then
257
+ trace " completing subcmds, if any (no argtype, empty word)"
258
+ compgen $compgen_opts -W "$subcmds" -- "$word"
259
+ else
260
+ trace " completing opts & subcmds (no argtype)"
261
+ compgen $compgen_opts -W "$shortopts $longopts $subcmds" -- "$word"
262
+ fi
263
+ elif [[ $argtype == "none" ]]; then
264
+ # We want *no* completions, i.e. some way to get the active
265
+ # 'complete -o default' to not do filename completion.
266
+ trace " completing 'none' (hack to imply no completions)"
267
+ echo "##-no-completion- -results-##"
268
+ elif [[ $argtype == "file" ]]; then
269
+ # 'complete -o default' gives the best filename completion, at least
270
+ # on Mac.
271
+ trace " completing 'file' (let 'complete -o default' handle it)"
272
+ echo ""
273
+ elif ! type complete_$argtype 2>/dev/null >/dev/null; then
274
+ trace " completing '$argtype' (fallback to default b/c complete_$argtype is unknown)"
275
+ echo ""
276
+ else
277
+ trace " completing custom '$argtype'"
278
+ completions=$(complete_$argtype "$word")
279
+ if [[ -z "$completions" ]]; then
280
+ trace " no custom '$argtype' completions"
281
+ # These are in ascii and "dictionary" order so they sort
282
+ # correctly.
283
+ echo "##-no-completion- -results-##"
284
+ else
285
+ echo $completions
286
+ fi
287
+ fi
288
+ ;;
289
+ *)
290
+ trace " unknown state: $state"
291
+ ;;
292
+ esac
293
+ }
294
+
295
+
296
+ trace ""
297
+ trace "-- $(date)"
298
+ #trace "\$IFS: '$IFS'"
299
+ #trace "\$@: '$@'"
300
+ #trace "COMP_WORDBREAKS: '$COMP_WORDBREAKS'"
301
+ trace "COMP_CWORD: '$COMP_CWORD'"
302
+ trace "COMP_LINE: '$COMP_LINE'"
303
+ trace "COMP_POINT: $COMP_POINT"
304
+
305
+ # Guard against negative COMP_CWORD. This is a Bash bug at least on
306
+ # Mac 10.10.4's bash. See
307
+ # <https://lists.gnu.org/archive/html/bug-bash/2009-07/msg00125.html>.
308
+ if [[ $COMP_CWORD -lt 0 ]]; then
309
+ trace "abort on negative COMP_CWORD"
310
+ exit 1;
311
+ fi
312
+
313
+ # I don't know how to do array manip on argv vars,
314
+ # so copy over to argv array to work on them.
315
+ shift # the leading '--'
316
+ i=0
317
+ len=$#
318
+ while [[ $# -gt 0 ]]; do
319
+ argv[$i]=$1
320
+ shift;
321
+ i=$(( $i + 1 ))
322
+ done
323
+ trace "argv: '${argv[@]}'"
324
+ trace "argv[COMP_CWORD-1]: '${argv[$(( $COMP_CWORD - 1 ))]}'"
325
+ trace "argv[COMP_CWORD]: '${argv[$COMP_CWORD]}'"
326
+ trace "argv len: '$len'"
327
+
328
+ _dashdash_complete 1 ""
329
+ }
330
+
331
+
332
+ # ---- mainline
333
+
334
+ # Note: This if-block to help work with 'compdef' and 'compctl' is
335
+ # adapted from 'npm completion'.
336
+ if type complete &>/dev/null; then
337
+ function _{{name}}_completion {
338
+ local _log_file=/dev/null
339
+ [[ -z "$_{{name}}_log" ]] || _log_file="$_{{name}}_log"
340
+ COMPREPLY=($(COMP_CWORD="$COMP_CWORD" \
341
+ COMP_LINE="$COMP_LINE" \
342
+ COMP_POINT="$COMP_POINT" \
343
+ _{{name}}_completer -- "${COMP_WORDS[@]}" \
344
+ 2>$_log_file)) || return $?
345
+ }
346
+ complete -o default -F _{{name}}_completion {{name}}
347
+ elif type compdef &>/dev/null; then
348
+ function _{{name}}_completion {
349
+ local _log_file=/dev/null
350
+ [[ -z "$_{{name}}_log" ]] || _log_file="$_{{name}}_log"
351
+ compadd -- $(COMP_CWORD=$((CURRENT-1)) \
352
+ COMP_LINE=$BUFFER \
353
+ COMP_POINT=0 \
354
+ _{{name}}_completer -- "${words[@]}" \
355
+ 2>$_log_file)
356
+ }
357
+ compdef _{{name}}_completion {{name}}
358
+ elif type compctl &>/dev/null; then
359
+ function _{{name}}_completion {
360
+ local cword line point words si
361
+ read -Ac words
362
+ read -cn cword
363
+ let cword-=1
364
+ read -l line
365
+ read -ln point
366
+ local _log_file=/dev/null
367
+ [[ -z "$_{{name}}_log" ]] || _log_file="$_{{name}}_log"
368
+ reply=($(COMP_CWORD="$cword" \
369
+ COMP_LINE="$line" \
370
+ COMP_POINT="$point" \
371
+ _{{name}}_completer -- "${words[@]}" \
372
+ 2>$_log_file)) || return $?
373
+ }
374
+ compctl -K _{{name}}_completion {{name}}
375
+ fi
376
+
377
+
378
+ ##
379
+ ## This is a Bash completion file for the '{{name}}' command. You can install
380
+ ## with either:
381
+ ##
382
+ ## cp FILE /usr/local/etc/bash_completion.d/{{name}} # Mac
383
+ ## cp FILE /etc/bash_completion.d/{{name}} # Linux
384
+ ##
385
+ ## or:
386
+ ##
387
+ ## cp FILE > ~/.{{name}}.completion
388
+ ## echo "source ~/.{{name}}.completion" >> ~/.bashrc
389
+ ##
@@ -0,0 +1,1055 @@
1
+ /**
2
+ * dashdash - A light, featureful and explicit option parsing library for
3
+ * node.js.
4
+ */
5
+ // vim: set ts=4 sts=4 sw=4 et:
6
+
7
+ var assert = require('assert-plus');
8
+ var format = require('util').format;
9
+ var fs = require('fs');
10
+ var path = require('path');
11
+
12
+
13
+ var DEBUG = true;
14
+ if (DEBUG) {
15
+ var debug = console.warn;
16
+ } else {
17
+ var debug = function () {};
18
+ }
19
+
20
+
21
+
22
+ // ---- internal support stuff
23
+
24
+ // Replace {{variable}} in `s` with the template data in `d`.
25
+ function renderTemplate(s, d) {
26
+ return s.replace(/{{([a-zA-Z]+)}}/g, function (match, key) {
27
+ return d.hasOwnProperty(key) ? d[key] : match;
28
+ });
29
+ }
30
+
31
+ /**
32
+ * Return a shallow copy of the given object;
33
+ */
34
+ function shallowCopy(obj) {
35
+ if (!obj) {
36
+ return (obj);
37
+ }
38
+ var copy = {};
39
+ Object.keys(obj).forEach(function (k) {
40
+ copy[k] = obj[k];
41
+ });
42
+ return (copy);
43
+ }
44
+
45
+
46
+ function space(n) {
47
+ var s = '';
48
+ for (var i = 0; i < n; i++) {
49
+ s += ' ';
50
+ }
51
+ return s;
52
+ }
53
+
54
+
55
+ function makeIndent(arg, deflen, name) {
56
+ if (arg === null || arg === undefined)
57
+ return space(deflen);
58
+ else if (typeof (arg) === 'number')
59
+ return space(arg);
60
+ else if (typeof (arg) === 'string')
61
+ return arg;
62
+ else
63
+ assert.fail('invalid "' + name + '": not a string or number: ' + arg);
64
+ }
65
+
66
+
67
+ /**
68
+ * Return an array of lines wrapping the given text to the given width.
69
+ * This splits on whitespace. Single tokens longer than `width` are not
70
+ * broken up.
71
+ */
72
+ function textwrap(s, width) {
73
+ var words = s.trim().split(/\s+/);
74
+ var lines = [];
75
+ var line = '';
76
+ words.forEach(function (w) {
77
+ var newLength = line.length + w.length;
78
+ if (line.length > 0)
79
+ newLength += 1;
80
+ if (newLength > width) {
81
+ lines.push(line);
82
+ line = '';
83
+ }
84
+ if (line.length > 0)
85
+ line += ' ';
86
+ line += w;
87
+ });
88
+ lines.push(line);
89
+ return lines;
90
+ }
91
+
92
+
93
+ /**
94
+ * Transform an option name to a "key" that is used as the field
95
+ * on the `opts` object returned from `<parser>.parse()`.
96
+ *
97
+ * Transformations:
98
+ * - '-' -> '_': This allow one to use hyphen in option names (common)
99
+ * but not have to do silly things like `opt["dry-run"]` to access the
100
+ * parsed results.
101
+ */
102
+ function optionKeyFromName(name) {
103
+ return name.replace(/-/g, '_');
104
+ }
105
+
106
+
107
+
108
+ // ---- Option types
109
+
110
+ function parseBool(option, optstr, arg) {
111
+ return Boolean(arg);
112
+ }
113
+
114
+ function parseString(option, optstr, arg) {
115
+ assert.string(arg, 'arg');
116
+ return arg;
117
+ }
118
+
119
+ function parseNumber(option, optstr, arg) {
120
+ assert.string(arg, 'arg');
121
+ var num = Number(arg);
122
+ if (isNaN(num)) {
123
+ throw new Error(format('arg for "%s" is not a number: "%s"',
124
+ optstr, arg));
125
+ }
126
+ return num;
127
+ }
128
+
129
+ function parseInteger(option, optstr, arg) {
130
+ assert.string(arg, 'arg');
131
+ var num = Number(arg);
132
+ if (!/^[0-9-]+$/.test(arg) || isNaN(num)) {
133
+ throw new Error(format('arg for "%s" is not an integer: "%s"',
134
+ optstr, arg));
135
+ }
136
+ return num;
137
+ }
138
+
139
+ function parsePositiveInteger(option, optstr, arg) {
140
+ assert.string(arg, 'arg');
141
+ var num = Number(arg);
142
+ if (!/^[0-9]+$/.test(arg) || isNaN(num) || num === 0) {
143
+ throw new Error(format('arg for "%s" is not a positive integer: "%s"',
144
+ optstr, arg));
145
+ }
146
+ return num;
147
+ }
148
+
149
+ /**
150
+ * Supported date args:
151
+ * - epoch second times (e.g. 1396031701)
152
+ * - ISO 8601 format: YYYY-MM-DD[THH:MM:SS[.sss][Z]]
153
+ * 2014-03-28T18:35:01.489Z
154
+ * 2014-03-28T18:35:01.489
155
+ * 2014-03-28T18:35:01Z
156
+ * 2014-03-28T18:35:01
157
+ * 2014-03-28
158
+ */
159
+ function parseDate(option, optstr, arg) {
160
+ assert.string(arg, 'arg');
161
+ var date;
162
+ if (/^\d+$/.test(arg)) {
163
+ // epoch seconds
164
+ date = new Date(Number(arg) * 1000);
165
+ /* JSSTYLED */
166
+ } else if (/^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?Z?)?$/i.test(arg)) {
167
+ // ISO 8601 format
168
+ date = new Date(arg);
169
+ } else {
170
+ throw new Error(format('arg for "%s" is not a valid date format: "%s"',
171
+ optstr, arg));
172
+ }
173
+ if (date.toString() === 'Invalid Date') {
174
+ throw new Error(format('arg for "%s" is an invalid date: "%s"',
175
+ optstr, arg));
176
+ }
177
+ return date;
178
+ }
179
+
180
+ var optionTypes = {
181
+ bool: {
182
+ takesArg: false,
183
+ parseArg: parseBool
184
+ },
185
+ string: {
186
+ takesArg: true,
187
+ helpArg: 'ARG',
188
+ parseArg: parseString
189
+ },
190
+ number: {
191
+ takesArg: true,
192
+ helpArg: 'NUM',
193
+ parseArg: parseNumber
194
+ },
195
+ integer: {
196
+ takesArg: true,
197
+ helpArg: 'INT',
198
+ parseArg: parseInteger
199
+ },
200
+ positiveInteger: {
201
+ takesArg: true,
202
+ helpArg: 'INT',
203
+ parseArg: parsePositiveInteger
204
+ },
205
+ date: {
206
+ takesArg: true,
207
+ helpArg: 'DATE',
208
+ parseArg: parseDate
209
+ },
210
+ arrayOfBool: {
211
+ takesArg: false,
212
+ array: true,
213
+ parseArg: parseBool
214
+ },
215
+ arrayOfString: {
216
+ takesArg: true,
217
+ helpArg: 'ARG',
218
+ array: true,
219
+ parseArg: parseString
220
+ },
221
+ arrayOfNumber: {
222
+ takesArg: true,
223
+ helpArg: 'NUM',
224
+ array: true,
225
+ parseArg: parseNumber
226
+ },
227
+ arrayOfInteger: {
228
+ takesArg: true,
229
+ helpArg: 'INT',
230
+ array: true,
231
+ parseArg: parseInteger
232
+ },
233
+ arrayOfPositiveInteger: {
234
+ takesArg: true,
235
+ helpArg: 'INT',
236
+ array: true,
237
+ parseArg: parsePositiveInteger
238
+ },
239
+ arrayOfDate: {
240
+ takesArg: true,
241
+ helpArg: 'INT',
242
+ array: true,
243
+ parseArg: parseDate
244
+ },
245
+ };
246
+
247
+
248
+
249
+ // ---- Parser
250
+
251
+ /**
252
+ * Parser constructor.
253
+ *
254
+ * @param config {Object} The parser configuration
255
+ * - options {Array} Array of option specs. See the README for how to
256
+ * specify each option spec.
257
+ * - allowUnknown {Boolean} Default false. Whether to throw on unknown
258
+ * options. If false, then unknown args are included in the _args array.
259
+ * - interspersed {Boolean} Default true. Whether to allow interspersed
260
+ * arguments (non-options) and options. E.g.:
261
+ * node tool.js arg1 arg2 -v
262
+ * '-v' is after some args here. If `interspersed: false` then '-v'
263
+ * would not be parsed out. Note that regardless of `interspersed`
264
+ * the presence of '--' will stop option parsing, as all good
265
+ * option parsers should.
266
+ */
267
+ function Parser(config) {
268
+ assert.object(config, 'config');
269
+ assert.arrayOfObject(config.options, 'config.options');
270
+ assert.optionalBool(config.interspersed, 'config.interspersed');
271
+ var self = this;
272
+
273
+ // Allow interspersed arguments (true by default).
274
+ this.interspersed = (config.interspersed !== undefined
275
+ ? config.interspersed : true);
276
+
277
+ // Don't allow unknown flags (true by default).
278
+ this.allowUnknown = (config.allowUnknown !== undefined
279
+ ? config.allowUnknown : false);
280
+
281
+ this.options = config.options.map(function (o) { return shallowCopy(o); });
282
+ this.optionFromName = {};
283
+ this.optionFromEnv = {};
284
+ for (var i = 0; i < this.options.length; i++) {
285
+ var o = this.options[i];
286
+ if (o.group !== undefined && o.group !== null) {
287
+ assert.optionalString(o.group,
288
+ format('config.options.%d.group', i));
289
+ continue;
290
+ }
291
+ assert.ok(optionTypes[o.type],
292
+ format('invalid config.options.%d.type: "%s" in %j',
293
+ i, o.type, o));
294
+ assert.optionalString(o.name, format('config.options.%d.name', i));
295
+ assert.optionalArrayOfString(o.names,
296
+ format('config.options.%d.names', i));
297
+ assert.ok((o.name || o.names) && !(o.name && o.names),
298
+ format('exactly one of "name" or "names" required: %j', o));
299
+ assert.optionalString(o.help, format('config.options.%d.help', i));
300
+ var env = o.env || [];
301
+ if (typeof (env) === 'string') {
302
+ env = [env];
303
+ }
304
+ assert.optionalArrayOfString(env, format('config.options.%d.env', i));
305
+ assert.optionalString(o.helpGroup,
306
+ format('config.options.%d.helpGroup', i));
307
+ assert.optionalBool(o.helpWrap,
308
+ format('config.options.%d.helpWrap', i));
309
+ assert.optionalBool(o.hidden, format('config.options.%d.hidden', i));
310
+
311
+ if (o.name) {
312
+ o.names = [o.name];
313
+ } else {
314
+ assert.string(o.names[0],
315
+ format('config.options.%d.names is empty', i));
316
+ }
317
+ o.key = optionKeyFromName(o.names[0]);
318
+ o.names.forEach(function (n) {
319
+ if (self.optionFromName[n]) {
320
+ throw new Error(format(
321
+ 'option name collision: "%s" used in %j and %j',
322
+ n, self.optionFromName[n], o));
323
+ }
324
+ self.optionFromName[n] = o;
325
+ });
326
+ env.forEach(function (n) {
327
+ if (self.optionFromEnv[n]) {
328
+ throw new Error(format(
329
+ 'option env collision: "%s" used in %j and %j',
330
+ n, self.optionFromEnv[n], o));
331
+ }
332
+ self.optionFromEnv[n] = o;
333
+ });
334
+ }
335
+ }
336
+
337
+ Parser.prototype.optionTakesArg = function optionTakesArg(option) {
338
+ return optionTypes[option.type].takesArg;
339
+ };
340
+
341
+ /**
342
+ * Parse options from the given argv.
343
+ *
344
+ * @param inputs {Object} Optional.
345
+ * - argv {Array} Optional. The argv to parse. Defaults to
346
+ * `process.argv`.
347
+ * - slice {Number} The index into argv at which options/args begin.
348
+ * Default is 2, as appropriate for `process.argv`.
349
+ * - env {Object} Optional. The env to use for 'env' entries in the
350
+ * option specs. Defaults to `process.env`.
351
+ * @returns {Object} Parsed `opts`. It has special keys `_args` (the
352
+ * remaining args from `argv`) and `_order` (gives the order that
353
+ * options were specified).
354
+ */
355
+ Parser.prototype.parse = function parse(inputs) {
356
+ var self = this;
357
+
358
+ // Old API was `parse([argv, [slice]])`
359
+ if (Array.isArray(arguments[0])) {
360
+ inputs = {argv: arguments[0], slice: arguments[1]};
361
+ }
362
+
363
+ assert.optionalObject(inputs, 'inputs');
364
+ if (!inputs) {
365
+ inputs = {};
366
+ }
367
+ assert.optionalArrayOfString(inputs.argv, 'inputs.argv');
368
+ //assert.optionalNumber(slice, 'slice');
369
+ var argv = inputs.argv || process.argv;
370
+ var slice = inputs.slice !== undefined ? inputs.slice : 2;
371
+ var args = argv.slice(slice);
372
+ var env = inputs.env || process.env;
373
+ var opts = {};
374
+ var _order = [];
375
+
376
+ function addOpt(option, optstr, key, val, from) {
377
+ var type = optionTypes[option.type];
378
+ var parsedVal = type.parseArg(option, optstr, val);
379
+ if (type.array) {
380
+ if (!opts[key]) {
381
+ opts[key] = [];
382
+ }
383
+ if (type.arrayFlatten && Array.isArray(parsedVal)) {
384
+ for (var i = 0; i < parsedVal.length; i++) {
385
+ opts[key].push(parsedVal[i]);
386
+ }
387
+ } else {
388
+ opts[key].push(parsedVal);
389
+ }
390
+ } else {
391
+ opts[key] = parsedVal;
392
+ }
393
+ var item = { key: key, value: parsedVal, from: from };
394
+ _order.push(item);
395
+ }
396
+
397
+ // Parse args.
398
+ var _args = [];
399
+ var i = 0;
400
+ outer: while (i < args.length) {
401
+ var arg = args[i];
402
+
403
+ // End of options marker.
404
+ if (arg === '--') {
405
+ i++;
406
+ break;
407
+
408
+ // Long option
409
+ } else if (arg.slice(0, 2) === '--') {
410
+ var name = arg.slice(2);
411
+ var val = null;
412
+ var idx = name.indexOf('=');
413
+ if (idx !== -1) {
414
+ val = name.slice(idx + 1);
415
+ name = name.slice(0, idx);
416
+ }
417
+ var option = this.optionFromName[name];
418
+ if (!option) {
419
+ if (!this.allowUnknown)
420
+ throw new Error(format('unknown option: "--%s"', name));
421
+ else if (this.interspersed)
422
+ _args.push(arg);
423
+ else
424
+ break outer;
425
+ } else {
426
+ var takesArg = this.optionTakesArg(option);
427
+ if (val !== null && !takesArg) {
428
+ throw new Error(format('argument given to "--%s" option '
429
+ + 'that does not take one: "%s"', name, arg));
430
+ }
431
+ if (!takesArg) {
432
+ addOpt(option, '--'+name, option.key, true, 'argv');
433
+ } else if (val !== null) {
434
+ addOpt(option, '--'+name, option.key, val, 'argv');
435
+ } else if (i + 1 >= args.length) {
436
+ throw new Error(format('do not have enough args for "--%s" '
437
+ + 'option', name));
438
+ } else {
439
+ addOpt(option, '--'+name, option.key, args[i + 1], 'argv');
440
+ i++;
441
+ }
442
+ }
443
+
444
+ // Short option
445
+ } else if (arg[0] === '-' && arg.length > 1) {
446
+ var j = 1;
447
+ var allFound = true;
448
+ while (j < arg.length) {
449
+ var name = arg[j];
450
+ var option = this.optionFromName[name];
451
+ if (!option) {
452
+ allFound = false;
453
+ if (this.allowUnknown) {
454
+ if (this.interspersed) {
455
+ _args.push(arg);
456
+ break;
457
+ } else
458
+ break outer;
459
+ } else if (arg.length > 2) {
460
+ throw new Error(format(
461
+ 'unknown option: "-%s" in "%s" group',
462
+ name, arg));
463
+ } else {
464
+ throw new Error(format('unknown option: "-%s"', name));
465
+ }
466
+ } else if (this.optionTakesArg(option)) {
467
+ break;
468
+ }
469
+ j++;
470
+ }
471
+
472
+ j = 1;
473
+ while (allFound && j < arg.length) {
474
+ var name = arg[j];
475
+ var val = arg.slice(j + 1); // option val if it takes an arg
476
+ var option = this.optionFromName[name];
477
+ var takesArg = this.optionTakesArg(option);
478
+ if (!takesArg) {
479
+ addOpt(option, '-'+name, option.key, true, 'argv');
480
+ } else if (val) {
481
+ addOpt(option, '-'+name, option.key, val, 'argv');
482
+ break;
483
+ } else {
484
+ if (i + 1 >= args.length) {
485
+ throw new Error(format('do not have enough args '
486
+ + 'for "-%s" option', name));
487
+ }
488
+ addOpt(option, '-'+name, option.key, args[i + 1], 'argv');
489
+ i++;
490
+ break;
491
+ }
492
+ j++;
493
+ }
494
+
495
+ // An interspersed arg
496
+ } else if (this.interspersed) {
497
+ _args.push(arg);
498
+
499
+ // An arg and interspersed args are not allowed, so done options.
500
+ } else {
501
+ break outer;
502
+ }
503
+ i++;
504
+ }
505
+ _args = _args.concat(args.slice(i));
506
+
507
+ // Parse environment.
508
+ Object.keys(this.optionFromEnv).forEach(function (envname) {
509
+ var val = env[envname];
510
+ if (val === undefined)
511
+ return;
512
+ var option = self.optionFromEnv[envname];
513
+ if (opts[option.key] !== undefined)
514
+ return;
515
+ var takesArg = self.optionTakesArg(option);
516
+ if (takesArg) {
517
+ addOpt(option, envname, option.key, val, 'env');
518
+ } else if (val !== '') {
519
+ // Boolean envvar handling:
520
+ // - VAR=<empty-string> not set (as if the VAR was not set)
521
+ // - VAR=0 false
522
+ // - anything else true
523
+ addOpt(option, envname, option.key, (val !== '0'), 'env');
524
+ }
525
+ });
526
+
527
+ // Apply default values.
528
+ this.options.forEach(function (o) {
529
+ if (opts[o.key] === undefined) {
530
+ if (o.default !== undefined) {
531
+ opts[o.key] = o.default;
532
+ } else if (o.type && optionTypes[o.type].default !== undefined) {
533
+ opts[o.key] = optionTypes[o.type].default;
534
+ }
535
+ }
536
+ });
537
+
538
+ opts._order = _order;
539
+ opts._args = _args;
540
+ return opts;
541
+ };
542
+
543
+
544
+ /**
545
+ * Return help output for the current options.
546
+ *
547
+ * E.g.: if the current options are:
548
+ * [{names: ['help', 'h'], type: 'bool', help: 'Show help and exit.'}]
549
+ * then this would return:
550
+ * ' -h, --help Show help and exit.\n'
551
+ *
552
+ * @param config {Object} Config for controlling the option help output.
553
+ * - indent {Number|String} Default 4. An indent/prefix to use for
554
+ * each option line.
555
+ * - nameSort {String} Default is 'length'. By default the names are
556
+ * sorted to put the short opts first (i.e. '-h, --help' preferred
557
+ * to '--help, -h'). Set to 'none' to not do this sorting.
558
+ * - maxCol {Number} Default 80. Note that long tokens in a help string
559
+ * can go past this.
560
+ * - helpCol {Number} Set to specify a specific column at which
561
+ * option help will be aligned. By default this is determined
562
+ * automatically.
563
+ * - minHelpCol {Number} Default 20.
564
+ * - maxHelpCol {Number} Default 40.
565
+ * - includeEnv {Boolean} Default false. If true, a note stating the `env`
566
+ * envvar (if specified for this option) will be appended to the help
567
+ * output.
568
+ * - includeDefault {Boolean} Default false. If true, a note stating
569
+ * the `default` for this option, if any, will be appended to the help
570
+ * output.
571
+ * - helpWrap {Boolean} Default true. Wrap help text in helpCol..maxCol
572
+ * bounds.
573
+ * @returns {String}
574
+ */
575
+ Parser.prototype.help = function help(config) {
576
+ config = config || {};
577
+ assert.object(config, 'config');
578
+
579
+ var indent = makeIndent(config.indent, 4, 'config.indent');
580
+ var headingIndent = makeIndent(config.headingIndent,
581
+ Math.round(indent.length / 2), 'config.headingIndent');
582
+
583
+ assert.optionalString(config.nameSort, 'config.nameSort');
584
+ var nameSort = config.nameSort || 'length';
585
+ assert.ok(~['length', 'none'].indexOf(nameSort),
586
+ 'invalid "config.nameSort"');
587
+ assert.optionalNumber(config.maxCol, 'config.maxCol');
588
+ assert.optionalNumber(config.maxHelpCol, 'config.maxHelpCol');
589
+ assert.optionalNumber(config.minHelpCol, 'config.minHelpCol');
590
+ assert.optionalNumber(config.helpCol, 'config.helpCol');
591
+ assert.optionalBool(config.includeEnv, 'config.includeEnv');
592
+ assert.optionalBool(config.includeDefault, 'config.includeDefault');
593
+ assert.optionalBool(config.helpWrap, 'config.helpWrap');
594
+ var maxCol = config.maxCol || 80;
595
+ var minHelpCol = config.minHelpCol || 20;
596
+ var maxHelpCol = config.maxHelpCol || 40;
597
+
598
+ var lines = [];
599
+ var maxWidth = 0;
600
+ this.options.forEach(function (o) {
601
+ if (o.hidden) {
602
+ return;
603
+ }
604
+ if (o.group !== undefined && o.group !== null) {
605
+ // We deal with groups in the next pass
606
+ lines.push(null);
607
+ return;
608
+ }
609
+ var type = optionTypes[o.type];
610
+ var arg = o.helpArg || type.helpArg || 'ARG';
611
+ var line = '';
612
+ var names = o.names.slice();
613
+ if (nameSort === 'length') {
614
+ names.sort(function (a, b) {
615
+ if (a.length < b.length)
616
+ return -1;
617
+ else if (b.length < a.length)
618
+ return 1;
619
+ else
620
+ return 0;
621
+ })
622
+ }
623
+ names.forEach(function (name, i) {
624
+ if (i > 0)
625
+ line += ', ';
626
+ if (name.length === 1) {
627
+ line += '-' + name
628
+ if (type.takesArg)
629
+ line += ' ' + arg;
630
+ } else {
631
+ line += '--' + name
632
+ if (type.takesArg)
633
+ line += '=' + arg;
634
+ }
635
+ });
636
+ maxWidth = Math.max(maxWidth, line.length);
637
+ lines.push(line);
638
+ });
639
+
640
+ // Add help strings.
641
+ var helpCol = config.helpCol;
642
+ if (!helpCol) {
643
+ helpCol = maxWidth + indent.length + 2;
644
+ helpCol = Math.min(Math.max(helpCol, minHelpCol), maxHelpCol);
645
+ }
646
+ var i = -1;
647
+ this.options.forEach(function (o) {
648
+ if (o.hidden) {
649
+ return;
650
+ }
651
+ i++;
652
+
653
+ if (o.group !== undefined && o.group !== null) {
654
+ if (o.group === '') {
655
+ // Support a empty string "group" to have a blank line between
656
+ // sets of options.
657
+ lines[i] = '';
658
+ } else {
659
+ // Render the group heading with the heading-specific indent.
660
+ lines[i] = (i === 0 ? '' : '\n') + headingIndent +
661
+ o.group + ':';
662
+ }
663
+ return;
664
+ }
665
+
666
+ var helpDefault;
667
+ if (config.includeDefault) {
668
+ if (o.default !== undefined) {
669
+ helpDefault = format('Default: %j', o.default);
670
+ } else if (o.type && optionTypes[o.type].default !== undefined) {
671
+ helpDefault = format('Default: %j',
672
+ optionTypes[o.type].default);
673
+ }
674
+ }
675
+
676
+ var line = lines[i] = indent + lines[i];
677
+ if (!o.help && !(config.includeEnv && o.env) && !helpDefault) {
678
+ return;
679
+ }
680
+ var n = helpCol - line.length;
681
+ if (n >= 0) {
682
+ line += space(n);
683
+ } else {
684
+ line += '\n' + space(helpCol);
685
+ }
686
+
687
+ var helpEnv = '';
688
+ if (o.env && o.env.length && config.includeEnv) {
689
+ helpEnv += 'Environment: ';
690
+ var type = optionTypes[o.type];
691
+ var arg = o.helpArg || type.helpArg || 'ARG';
692
+ var envs = (Array.isArray(o.env) ? o.env : [o.env]).map(
693
+ function (e) {
694
+ if (type.takesArg) {
695
+ return e + '=' + arg;
696
+ } else {
697
+ return e + '=1';
698
+ }
699
+ }
700
+ );
701
+ helpEnv += envs.join(', ');
702
+ }
703
+ var help = (o.help || '').trim();
704
+ if (o.helpWrap !== false && config.helpWrap !== false) {
705
+ // Wrap help description normally.
706
+ if (help.length && !~'.!?"\''.indexOf(help.slice(-1))) {
707
+ help += '.';
708
+ }
709
+ if (help.length) {
710
+ help += ' ';
711
+ }
712
+ help += helpEnv;
713
+ if (helpDefault) {
714
+ if (helpEnv) {
715
+ help += '. ';
716
+ }
717
+ help += helpDefault;
718
+ }
719
+ line += textwrap(help, maxCol - helpCol).join(
720
+ '\n' + space(helpCol));
721
+ } else {
722
+ // Do not wrap help description, but indent newlines appropriately.
723
+ var helpLines = help.split('\n').filter(
724
+ function (ln) { return ln.length });
725
+ if (helpEnv !== '') {
726
+ helpLines.push(helpEnv);
727
+ }
728
+ if (helpDefault) {
729
+ helpLines.push(helpDefault);
730
+ }
731
+ line += helpLines.join('\n' + space(helpCol));
732
+ }
733
+
734
+ lines[i] = line;
735
+ });
736
+
737
+ var rv = '';
738
+ if (lines.length > 0) {
739
+ rv = lines.join('\n') + '\n';
740
+ }
741
+ return rv;
742
+ };
743
+
744
+
745
+ /**
746
+ * Return a string suitable for a Bash completion file for this tool.
747
+ *
748
+ * @param args.name {String} The tool name.
749
+ * @param args.specExtra {String} Optional. Extra Bash code content to add
750
+ * to the end of the "spec". Typically this is used to append Bash
751
+ * "complete_TYPE" functions for custom option types. See
752
+ * "examples/ddcompletion.js" for an example.
753
+ * @param args.argtypes {Array} Optional. Array of completion types for
754
+ * positional args (i.e. non-options). E.g.
755
+ * argtypes = ['fruit', 'veggie', 'file']
756
+ * will result in completion of fruits for the first arg, veggies for the
757
+ * second, and filenames for the third and subsequent positional args.
758
+ * If not given, positional args will use Bash's 'default' completion.
759
+ * See `specExtra` for providing Bash `complete_TYPE` functions, e.g.
760
+ * `complete_fruit` and `complete_veggie` in this example.
761
+ */
762
+ Parser.prototype.bashCompletion = function bashCompletion(args) {
763
+ assert.object(args, 'args');
764
+ assert.string(args.name, 'args.name');
765
+ assert.optionalString(args.specExtra, 'args.specExtra');
766
+ assert.optionalArrayOfString(args.argtypes, 'args.argtypes');
767
+
768
+ return bashCompletionFromOptions({
769
+ name: args.name,
770
+ specExtra: args.specExtra,
771
+ argtypes: args.argtypes,
772
+ options: this.options
773
+ });
774
+ };
775
+
776
+
777
+ // ---- Bash completion
778
+
779
+ const BASH_COMPLETION_TEMPLATE_PATH = path.join(
780
+ __dirname, '../etc/dashdash.bash_completion.in');
781
+
782
+ /**
783
+ * Return the Bash completion "spec" (the string value for the "{{spec}}"
784
+ * var in the "dashdash.bash_completion.in" template) for this tool.
785
+ *
786
+ * The "spec" is Bash code that defines the CLI options and subcmds for
787
+ * the template's completion code. It looks something like this:
788
+ *
789
+ * local cmd_shortopts="-J ..."
790
+ * local cmd_longopts="--help ..."
791
+ * local cmd_optargs="-p=tritonprofile ..."
792
+ *
793
+ * @param args.options {Array} The array of dashdash option specs.
794
+ * @param args.context {String} Optional. A context string for the "local cmd*"
795
+ * vars in the spec. By default it is the empty string. When used to
796
+ * scope for completion on a *sub-command* (e.g. for "git log" on a "git"
797
+ * tool), then it would have a value (e.g. "__log"). See
798
+ * <http://github.com/trentm/node-cmdln> Bash completion for details.
799
+ * @param opts.includeHidden {Boolean} Optional. Default false. By default
800
+ * hidden options and subcmds are "excluded". Here excluded means they
801
+ * won't be offered as a completion, but if used, their argument type
802
+ * will be completed. "Hidden" options and subcmds are ones with the
803
+ * `hidden: true` attribute to exclude them from default help output.
804
+ * @param args.argtypes {Array} Optional. Array of completion types for
805
+ * positional args (i.e. non-options). E.g.
806
+ * argtypes = ['fruit', 'veggie', 'file']
807
+ * will result in completion of fruits for the first arg, veggies for the
808
+ * second, and filenames for the third and subsequent positional args.
809
+ * If not given, positional args will use Bash's 'default' completion.
810
+ * See `specExtra` for providing Bash `complete_TYPE` functions, e.g.
811
+ * `complete_fruit` and `complete_veggie` in this example.
812
+ */
813
+ function bashCompletionSpecFromOptions(args) {
814
+ assert.object(args, 'args');
815
+ assert.object(args.options, 'args.options');
816
+ assert.optionalString(args.context, 'args.context');
817
+ assert.optionalBool(args.includeHidden, 'args.includeHidden');
818
+ assert.optionalArrayOfString(args.argtypes, 'args.argtypes');
819
+
820
+ var context = args.context || '';
821
+ var includeHidden = (args.includeHidden === undefined
822
+ ? false : args.includeHidden);
823
+
824
+ var spec = [];
825
+ var shortopts = [];
826
+ var longopts = [];
827
+ var optargs = [];
828
+ (args.options || []).forEach(function (o) {
829
+ if (o.group !== undefined && o.group !== null) {
830
+ // Skip group headers.
831
+ return;
832
+ }
833
+
834
+ var optNames = o.names || [o.name];
835
+ var optType = getOptionType(o.type);
836
+ if (optType.takesArg) {
837
+ var completionType = o.completionType ||
838
+ optType.completionType || o.type;
839
+ optNames.forEach(function (optName) {
840
+ if (optName.length === 1) {
841
+ if (includeHidden || !o.hidden) {
842
+ shortopts.push('-' + optName);
843
+ }
844
+ // Include even hidden options in `optargs` so that bash
845
+ // completion of its arg still works.
846
+ optargs.push('-' + optName + '=' + completionType);
847
+ } else {
848
+ if (includeHidden || !o.hidden) {
849
+ longopts.push('--' + optName);
850
+ }
851
+ optargs.push('--' + optName + '=' + completionType);
852
+ }
853
+ });
854
+ } else {
855
+ optNames.forEach(function (optName) {
856
+ if (includeHidden || !o.hidden) {
857
+ if (optName.length === 1) {
858
+ shortopts.push('-' + optName);
859
+ } else {
860
+ longopts.push('--' + optName);
861
+ }
862
+ }
863
+ });
864
+ }
865
+ });
866
+
867
+ spec.push(format('local cmd%s_shortopts="%s"',
868
+ context, shortopts.sort().join(' ')));
869
+ spec.push(format('local cmd%s_longopts="%s"',
870
+ context, longopts.sort().join(' ')));
871
+ spec.push(format('local cmd%s_optargs="%s"',
872
+ context, optargs.sort().join(' ')));
873
+ if (args.argtypes) {
874
+ spec.push(format('local cmd%s_argtypes="%s"',
875
+ context, args.argtypes.join(' ')));
876
+ }
877
+ return spec.join('\n');
878
+ }
879
+
880
+
881
+ /**
882
+ * Return a string suitable for a Bash completion file for this tool.
883
+ *
884
+ * @param args.name {String} The tool name.
885
+ * @param args.options {Array} The array of dashdash option specs.
886
+ * @param args.specExtra {String} Optional. Extra Bash code content to add
887
+ * to the end of the "spec". Typically this is used to append Bash
888
+ * "complete_TYPE" functions for custom option types. See
889
+ * "examples/ddcompletion.js" for an example.
890
+ * @param args.argtypes {Array} Optional. Array of completion types for
891
+ * positional args (i.e. non-options). E.g.
892
+ * argtypes = ['fruit', 'veggie', 'file']
893
+ * will result in completion of fruits for the first arg, veggies for the
894
+ * second, and filenames for the third and subsequent positional args.
895
+ * If not given, positional args will use Bash's 'default' completion.
896
+ * See `specExtra` for providing Bash `complete_TYPE` functions, e.g.
897
+ * `complete_fruit` and `complete_veggie` in this example.
898
+ */
899
+ function bashCompletionFromOptions(args) {
900
+ assert.object(args, 'args');
901
+ assert.object(args.options, 'args.options');
902
+ assert.string(args.name, 'args.name');
903
+ assert.optionalString(args.specExtra, 'args.specExtra');
904
+ assert.optionalArrayOfString(args.argtypes, 'args.argtypes');
905
+
906
+ // Gather template data.
907
+ var data = {
908
+ name: args.name,
909
+ date: new Date(),
910
+ spec: bashCompletionSpecFromOptions({
911
+ options: args.options,
912
+ argtypes: args.argtypes
913
+ }),
914
+ };
915
+ if (args.specExtra) {
916
+ data.spec += '\n\n' + args.specExtra;
917
+ }
918
+
919
+ // Render template.
920
+ var template = fs.readFileSync(BASH_COMPLETION_TEMPLATE_PATH, 'utf8');
921
+ return renderTemplate(template, data);
922
+ }
923
+
924
+
925
+
926
+ // ---- exports
927
+
928
+ function createParser(config) {
929
+ return new Parser(config);
930
+ }
931
+
932
+ /**
933
+ * Parse argv with the given options.
934
+ *
935
+ * @param config {Object} A merge of all the available fields from
936
+ * `dashdash.Parser` and `dashdash.Parser.parse`: options, interspersed,
937
+ * argv, env, slice.
938
+ */
939
+ function parse(config) {
940
+ assert.object(config, 'config');
941
+ assert.optionalArrayOfString(config.argv, 'config.argv');
942
+ assert.optionalObject(config.env, 'config.env');
943
+ var config = shallowCopy(config);
944
+ var argv = config.argv;
945
+ delete config.argv;
946
+ var env = config.env;
947
+ delete config.env;
948
+
949
+ var parser = new Parser(config);
950
+ return parser.parse({argv: argv, env: env});
951
+ }
952
+
953
+
954
+ /**
955
+ * Add a new option type.
956
+ *
957
+ * @params optionType {Object}:
958
+ * - name {String} Required.
959
+ * - takesArg {Boolean} Required. Whether this type of option takes an
960
+ * argument on process.argv. Typically this is true for all but the
961
+ * "bool" type.
962
+ * - helpArg {String} Required iff `takesArg === true`. The string to
963
+ * show in generated help for options of this type.
964
+ * - parseArg {Function} Require. `function (option, optstr, arg)` parser
965
+ * that takes a string argument and returns an instance of the
966
+ * appropriate type, or throws an error if the arg is invalid.
967
+ * - array {Boolean} Optional. Set to true if this is an 'arrayOf' type
968
+ * that collects multiple usages of the option in process.argv and
969
+ * puts results in an array.
970
+ * - arrayFlatten {Boolean} Optional. XXX
971
+ * - default Optional. Default value for options of this type, if no
972
+ * default is specified in the option type usage.
973
+ */
974
+ function addOptionType(optionType) {
975
+ assert.object(optionType, 'optionType');
976
+ assert.string(optionType.name, 'optionType.name');
977
+ assert.bool(optionType.takesArg, 'optionType.takesArg');
978
+ if (optionType.takesArg) {
979
+ assert.string(optionType.helpArg, 'optionType.helpArg');
980
+ }
981
+ assert.func(optionType.parseArg, 'optionType.parseArg');
982
+ assert.optionalBool(optionType.array, 'optionType.array');
983
+ assert.optionalBool(optionType.arrayFlatten, 'optionType.arrayFlatten');
984
+
985
+ optionTypes[optionType.name] = {
986
+ takesArg: optionType.takesArg,
987
+ helpArg: optionType.helpArg,
988
+ parseArg: optionType.parseArg,
989
+ array: optionType.array,
990
+ arrayFlatten: optionType.arrayFlatten,
991
+ default: optionType.default
992
+ }
993
+ }
994
+
995
+
996
+ function getOptionType(name) {
997
+ assert.string(name, 'name');
998
+ return optionTypes[name];
999
+ }
1000
+
1001
+
1002
+ /**
1003
+ * Return a synopsis string for the given option spec.
1004
+ *
1005
+ * Examples:
1006
+ * > synopsisFromOpt({names: ['help', 'h'], type: 'bool'});
1007
+ * '[ --help | -h ]'
1008
+ * > synopsisFromOpt({name: 'file', type: 'string', helpArg: 'FILE'});
1009
+ * '[ --file=FILE ]'
1010
+ */
1011
+ function synopsisFromOpt(o) {
1012
+ assert.object(o, 'o');
1013
+
1014
+ if (o.hasOwnProperty('group')) {
1015
+ return null;
1016
+ }
1017
+ var names = o.names || [o.name];
1018
+ // `type` here could be undefined if, for example, the command has a
1019
+ // dashdash option spec with a bogus 'type'.
1020
+ var type = getOptionType(o.type);
1021
+ var helpArg = o.helpArg || (type && type.helpArg) || 'ARG';
1022
+ var parts = [];
1023
+ names.forEach(function (name) {
1024
+ var part = (name.length === 1 ? '-' : '--') + name;
1025
+ if (type && type.takesArg) {
1026
+ part += (name.length === 1 ? ' ' + helpArg : '=' + helpArg);
1027
+ }
1028
+ parts.push(part);
1029
+ });
1030
+ return ('[ ' + parts.join(' | ') + ' ]');
1031
+ };
1032
+
1033
+
1034
+ module.exports = {
1035
+ createParser: createParser,
1036
+ Parser: Parser,
1037
+ parse: parse,
1038
+ addOptionType: addOptionType,
1039
+ getOptionType: getOptionType,
1040
+ synopsisFromOpt: synopsisFromOpt,
1041
+
1042
+ // Bash completion-related exports
1043
+ BASH_COMPLETION_TEMPLATE_PATH: BASH_COMPLETION_TEMPLATE_PATH,
1044
+ bashCompletionFromOptions: bashCompletionFromOptions,
1045
+ bashCompletionSpecFromOptions: bashCompletionSpecFromOptions,
1046
+
1047
+ // Export the parseFoo parsers because they might be useful as primitives
1048
+ // for custom option types.
1049
+ parseBool: parseBool,
1050
+ parseString: parseString,
1051
+ parseNumber: parseNumber,
1052
+ parseInteger: parseInteger,
1053
+ parsePositiveInteger: parsePositiveInteger,
1054
+ parseDate: parseDate
1055
+ };