ahmad-module 1.0.0

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.

Potentially problematic release.


This version of ahmad-module might be problematic. Click here for more details.

Files changed (759) hide show
  1. package/.bin/sshpk-conv +12 -0
  2. package/.bin/sshpk-conv.cmd +17 -0
  3. package/.bin/sshpk-conv.ps1 +28 -0
  4. package/.bin/sshpk-sign +12 -0
  5. package/.bin/sshpk-sign.cmd +17 -0
  6. package/.bin/sshpk-sign.ps1 +28 -0
  7. package/.bin/sshpk-verify +12 -0
  8. package/.bin/sshpk-verify.cmd +17 -0
  9. package/.bin/sshpk-verify.ps1 +28 -0
  10. package/.bin/uuid +12 -0
  11. package/.bin/uuid.cmd +17 -0
  12. package/.bin/uuid.ps1 +28 -0
  13. package/ajv/.tonic_example.js +20 -0
  14. package/ajv/LICENSE +22 -0
  15. package/ajv/README.md +1497 -0
  16. package/ajv/dist/ajv.bundle.js +7189 -0
  17. package/ajv/dist/ajv.min.js +3 -0
  18. package/ajv/dist/ajv.min.js.map +1 -0
  19. package/ajv/lib/ajv.d.ts +397 -0
  20. package/ajv/lib/ajv.js +506 -0
  21. package/ajv/lib/cache.js +26 -0
  22. package/ajv/lib/compile/async.js +90 -0
  23. package/ajv/lib/compile/equal.js +5 -0
  24. package/ajv/lib/compile/error_classes.js +34 -0
  25. package/ajv/lib/compile/formats.js +142 -0
  26. package/ajv/lib/compile/index.js +387 -0
  27. package/ajv/lib/compile/resolve.js +270 -0
  28. package/ajv/lib/compile/rules.js +66 -0
  29. package/ajv/lib/compile/schema_obj.js +9 -0
  30. package/ajv/lib/compile/ucs2length.js +20 -0
  31. package/ajv/lib/compile/util.js +239 -0
  32. package/ajv/lib/data.js +49 -0
  33. package/ajv/lib/definition_schema.js +37 -0
  34. package/ajv/lib/dot/_limit.jst +113 -0
  35. package/ajv/lib/dot/_limitItems.jst +12 -0
  36. package/ajv/lib/dot/_limitLength.jst +12 -0
  37. package/ajv/lib/dot/_limitProperties.jst +12 -0
  38. package/ajv/lib/dot/allOf.jst +32 -0
  39. package/ajv/lib/dot/anyOf.jst +46 -0
  40. package/ajv/lib/dot/coerce.def +51 -0
  41. package/ajv/lib/dot/comment.jst +9 -0
  42. package/ajv/lib/dot/const.jst +11 -0
  43. package/ajv/lib/dot/contains.jst +55 -0
  44. package/ajv/lib/dot/custom.jst +191 -0
  45. package/ajv/lib/dot/defaults.def +47 -0
  46. package/ajv/lib/dot/definitions.def +203 -0
  47. package/ajv/lib/dot/dependencies.jst +79 -0
  48. package/ajv/lib/dot/enum.jst +30 -0
  49. package/ajv/lib/dot/errors.def +194 -0
  50. package/ajv/lib/dot/format.jst +106 -0
  51. package/ajv/lib/dot/if.jst +73 -0
  52. package/ajv/lib/dot/items.jst +98 -0
  53. package/ajv/lib/dot/missing.def +39 -0
  54. package/ajv/lib/dot/multipleOf.jst +22 -0
  55. package/ajv/lib/dot/not.jst +43 -0
  56. package/ajv/lib/dot/oneOf.jst +54 -0
  57. package/ajv/lib/dot/pattern.jst +14 -0
  58. package/ajv/lib/dot/properties.jst +245 -0
  59. package/ajv/lib/dot/propertyNames.jst +52 -0
  60. package/ajv/lib/dot/ref.jst +85 -0
  61. package/ajv/lib/dot/required.jst +108 -0
  62. package/ajv/lib/dot/uniqueItems.jst +62 -0
  63. package/ajv/lib/dot/validate.jst +276 -0
  64. package/ajv/lib/dotjs/README.md +3 -0
  65. package/ajv/lib/dotjs/_limit.js +163 -0
  66. package/ajv/lib/dotjs/_limitItems.js +80 -0
  67. package/ajv/lib/dotjs/_limitLength.js +85 -0
  68. package/ajv/lib/dotjs/_limitProperties.js +80 -0
  69. package/ajv/lib/dotjs/allOf.js +42 -0
  70. package/ajv/lib/dotjs/anyOf.js +73 -0
  71. package/ajv/lib/dotjs/comment.js +14 -0
  72. package/ajv/lib/dotjs/const.js +56 -0
  73. package/ajv/lib/dotjs/contains.js +81 -0
  74. package/ajv/lib/dotjs/custom.js +228 -0
  75. package/ajv/lib/dotjs/dependencies.js +168 -0
  76. package/ajv/lib/dotjs/enum.js +66 -0
  77. package/ajv/lib/dotjs/format.js +150 -0
  78. package/ajv/lib/dotjs/if.js +103 -0
  79. package/ajv/lib/dotjs/index.js +33 -0
  80. package/ajv/lib/dotjs/items.js +140 -0
  81. package/ajv/lib/dotjs/multipleOf.js +80 -0
  82. package/ajv/lib/dotjs/not.js +84 -0
  83. package/ajv/lib/dotjs/oneOf.js +73 -0
  84. package/ajv/lib/dotjs/pattern.js +75 -0
  85. package/ajv/lib/dotjs/properties.js +335 -0
  86. package/ajv/lib/dotjs/propertyNames.js +81 -0
  87. package/ajv/lib/dotjs/ref.js +124 -0
  88. package/ajv/lib/dotjs/required.js +270 -0
  89. package/ajv/lib/dotjs/uniqueItems.js +86 -0
  90. package/ajv/lib/dotjs/validate.js +482 -0
  91. package/ajv/lib/keyword.js +146 -0
  92. package/ajv/lib/refs/data.json +17 -0
  93. package/ajv/lib/refs/json-schema-draft-04.json +149 -0
  94. package/ajv/lib/refs/json-schema-draft-06.json +154 -0
  95. package/ajv/lib/refs/json-schema-draft-07.json +168 -0
  96. package/ajv/lib/refs/json-schema-secure.json +94 -0
  97. package/ajv/package.json +106 -0
  98. package/ajv/scripts/.eslintrc.yml +3 -0
  99. package/ajv/scripts/bundle.js +61 -0
  100. package/ajv/scripts/compile-dots.js +73 -0
  101. package/ajv/scripts/info +10 -0
  102. package/ajv/scripts/prepare-tests +12 -0
  103. package/ajv/scripts/publish-built-version +32 -0
  104. package/ajv/scripts/travis-gh-pages +23 -0
  105. package/asn1/Jenkinsfile +65 -0
  106. package/asn1/LICENSE +19 -0
  107. package/asn1/README.md +50 -0
  108. package/asn1/lib/ber/errors.js +13 -0
  109. package/asn1/lib/ber/index.js +27 -0
  110. package/asn1/lib/ber/reader.js +262 -0
  111. package/asn1/lib/ber/types.js +36 -0
  112. package/asn1/lib/ber/writer.js +317 -0
  113. package/asn1/lib/index.js +20 -0
  114. package/asn1/package.json +31 -0
  115. package/assert-plus/AUTHORS +6 -0
  116. package/assert-plus/CHANGES.md +14 -0
  117. package/assert-plus/README.md +162 -0
  118. package/assert-plus/assert.js +211 -0
  119. package/assert-plus/package.json +23 -0
  120. package/asynckit/LICENSE +21 -0
  121. package/asynckit/README.md +233 -0
  122. package/asynckit/bench.js +76 -0
  123. package/asynckit/index.js +6 -0
  124. package/asynckit/lib/abort.js +29 -0
  125. package/asynckit/lib/async.js +34 -0
  126. package/asynckit/lib/defer.js +26 -0
  127. package/asynckit/lib/iterate.js +75 -0
  128. package/asynckit/lib/readable_asynckit.js +91 -0
  129. package/asynckit/lib/readable_parallel.js +25 -0
  130. package/asynckit/lib/readable_serial.js +25 -0
  131. package/asynckit/lib/readable_serial_ordered.js +29 -0
  132. package/asynckit/lib/state.js +37 -0
  133. package/asynckit/lib/streamify.js +141 -0
  134. package/asynckit/lib/terminator.js +29 -0
  135. package/asynckit/package.json +63 -0
  136. package/asynckit/parallel.js +43 -0
  137. package/asynckit/serial.js +17 -0
  138. package/asynckit/serialOrdered.js +75 -0
  139. package/asynckit/stream.js +21 -0
  140. package/aws-sign2/LICENSE +55 -0
  141. package/aws-sign2/README.md +4 -0
  142. package/aws-sign2/index.js +212 -0
  143. package/aws-sign2/package.json +17 -0
  144. package/aws4/.github/FUNDING.yml +3 -0
  145. package/aws4/.travis.yml +9 -0
  146. package/aws4/LICENSE +19 -0
  147. package/aws4/README.md +183 -0
  148. package/aws4/aws4.js +373 -0
  149. package/aws4/lru.js +96 -0
  150. package/aws4/package.json +17 -0
  151. package/axios/CHANGELOG.md +775 -0
  152. package/axios/LICENSE +19 -0
  153. package/axios/README.md +868 -0
  154. package/axios/SECURITY.md +5 -0
  155. package/axios/UPGRADE_GUIDE.md +162 -0
  156. package/axios/dist/axios.js +2193 -0
  157. package/axios/dist/axios.map +1 -0
  158. package/axios/dist/axios.min.js +3 -0
  159. package/axios/dist/axios.min.map +1 -0
  160. package/axios/index.d.ts +168 -0
  161. package/axios/index.js +1 -0
  162. package/axios/lib/adapters/README.md +37 -0
  163. package/axios/lib/adapters/http.js +331 -0
  164. package/axios/lib/adapters/xhr.js +189 -0
  165. package/axios/lib/axios.js +56 -0
  166. package/axios/lib/cancel/Cancel.js +19 -0
  167. package/axios/lib/cancel/CancelToken.js +57 -0
  168. package/axios/lib/cancel/isCancel.js +5 -0
  169. package/axios/lib/core/Axios.js +148 -0
  170. package/axios/lib/core/InterceptorManager.js +54 -0
  171. package/axios/lib/core/README.md +8 -0
  172. package/axios/lib/core/buildFullPath.js +20 -0
  173. package/axios/lib/core/createError.js +18 -0
  174. package/axios/lib/core/dispatchRequest.js +82 -0
  175. package/axios/lib/core/enhanceError.js +42 -0
  176. package/axios/lib/core/mergeConfig.js +87 -0
  177. package/axios/lib/core/settle.js +25 -0
  178. package/axios/lib/core/transformData.js +22 -0
  179. package/axios/lib/defaults.js +134 -0
  180. package/axios/lib/helpers/README.md +7 -0
  181. package/axios/lib/helpers/bind.js +11 -0
  182. package/axios/lib/helpers/buildURL.js +70 -0
  183. package/axios/lib/helpers/combineURLs.js +14 -0
  184. package/axios/lib/helpers/cookies.js +53 -0
  185. package/axios/lib/helpers/deprecatedMethod.js +24 -0
  186. package/axios/lib/helpers/isAbsoluteURL.js +14 -0
  187. package/axios/lib/helpers/isAxiosError.js +11 -0
  188. package/axios/lib/helpers/isURLSameOrigin.js +68 -0
  189. package/axios/lib/helpers/normalizeHeaderName.js +12 -0
  190. package/axios/lib/helpers/parseHeaders.js +53 -0
  191. package/axios/lib/helpers/spread.js +27 -0
  192. package/axios/lib/helpers/validator.js +105 -0
  193. package/axios/lib/utils.js +349 -0
  194. package/axios/package.json +84 -0
  195. package/bcrypt-pbkdf/CONTRIBUTING.md +13 -0
  196. package/bcrypt-pbkdf/LICENSE +66 -0
  197. package/bcrypt-pbkdf/README.md +45 -0
  198. package/bcrypt-pbkdf/index.js +556 -0
  199. package/bcrypt-pbkdf/package.json +15 -0
  200. package/caseless/LICENSE +28 -0
  201. package/caseless/README.md +45 -0
  202. package/caseless/index.js +67 -0
  203. package/caseless/package.json +27 -0
  204. package/caseless/test.js +67 -0
  205. package/combined-stream/License +19 -0
  206. package/combined-stream/Readme.md +138 -0
  207. package/combined-stream/lib/combined_stream.js +208 -0
  208. package/combined-stream/package.json +25 -0
  209. package/combined-stream/yarn.lock +17 -0
  210. package/core-util-is/LICENSE +19 -0
  211. package/core-util-is/README.md +3 -0
  212. package/core-util-is/float.patch +604 -0
  213. package/core-util-is/lib/util.js +107 -0
  214. package/core-util-is/package.json +32 -0
  215. package/core-util-is/test.js +68 -0
  216. package/dashdash/CHANGES.md +364 -0
  217. package/dashdash/LICENSE.txt +24 -0
  218. package/dashdash/README.md +574 -0
  219. package/dashdash/etc/dashdash.bash_completion.in +389 -0
  220. package/dashdash/lib/dashdash.js +1055 -0
  221. package/dashdash/package.json +26 -0
  222. package/delayed-stream/License +19 -0
  223. package/delayed-stream/Makefile +7 -0
  224. package/delayed-stream/Readme.md +141 -0
  225. package/delayed-stream/lib/delayed_stream.js +107 -0
  226. package/delayed-stream/package.json +27 -0
  227. package/ecc-jsbn/LICENSE +21 -0
  228. package/ecc-jsbn/README.md +8 -0
  229. package/ecc-jsbn/index.js +58 -0
  230. package/ecc-jsbn/lib/LICENSE-jsbn +40 -0
  231. package/ecc-jsbn/lib/ec.js +561 -0
  232. package/ecc-jsbn/lib/sec.js +170 -0
  233. package/ecc-jsbn/package.json +40 -0
  234. package/ecc-jsbn/test.js +14 -0
  235. package/extend/.editorconfig +20 -0
  236. package/extend/.eslintrc +17 -0
  237. package/extend/.jscs.json +175 -0
  238. package/extend/.travis.yml +230 -0
  239. package/extend/CHANGELOG.md +83 -0
  240. package/extend/LICENSE +23 -0
  241. package/extend/README.md +81 -0
  242. package/extend/component.json +32 -0
  243. package/extend/index.js +117 -0
  244. package/extend/package.json +42 -0
  245. package/extsprintf/.gitmodules +0 -0
  246. package/extsprintf/LICENSE +19 -0
  247. package/extsprintf/Makefile +24 -0
  248. package/extsprintf/Makefile.targ +285 -0
  249. package/extsprintf/README.md +46 -0
  250. package/extsprintf/jsl.node.conf +137 -0
  251. package/extsprintf/lib/extsprintf.js +183 -0
  252. package/extsprintf/package.json +14 -0
  253. package/fast-deep-equal/LICENSE +21 -0
  254. package/fast-deep-equal/README.md +96 -0
  255. package/fast-deep-equal/es6/index.d.ts +2 -0
  256. package/fast-deep-equal/es6/index.js +72 -0
  257. package/fast-deep-equal/es6/react.d.ts +2 -0
  258. package/fast-deep-equal/es6/react.js +79 -0
  259. package/fast-deep-equal/index.d.ts +4 -0
  260. package/fast-deep-equal/index.js +46 -0
  261. package/fast-deep-equal/package.json +61 -0
  262. package/fast-deep-equal/react.d.ts +2 -0
  263. package/fast-deep-equal/react.js +53 -0
  264. package/fast-json-stable-stringify/.eslintrc.yml +26 -0
  265. package/fast-json-stable-stringify/.github/FUNDING.yml +1 -0
  266. package/fast-json-stable-stringify/.travis.yml +8 -0
  267. package/fast-json-stable-stringify/LICENSE +21 -0
  268. package/fast-json-stable-stringify/README.md +131 -0
  269. package/fast-json-stable-stringify/benchmark/index.js +31 -0
  270. package/fast-json-stable-stringify/benchmark/test.json +137 -0
  271. package/fast-json-stable-stringify/example/key_cmp.js +7 -0
  272. package/fast-json-stable-stringify/example/nested.js +3 -0
  273. package/fast-json-stable-stringify/example/str.js +3 -0
  274. package/fast-json-stable-stringify/example/value_cmp.js +7 -0
  275. package/fast-json-stable-stringify/index.d.ts +4 -0
  276. package/fast-json-stable-stringify/index.js +59 -0
  277. package/fast-json-stable-stringify/package.json +52 -0
  278. package/fast-json-stable-stringify/test/cmp.js +13 -0
  279. package/fast-json-stable-stringify/test/nested.js +44 -0
  280. package/fast-json-stable-stringify/test/str.js +46 -0
  281. package/fast-json-stable-stringify/test/to-json.js +22 -0
  282. package/follow-redirects/LICENSE +18 -0
  283. package/follow-redirects/README.md +155 -0
  284. package/follow-redirects/debug.js +15 -0
  285. package/follow-redirects/http.js +1 -0
  286. package/follow-redirects/https.js +1 -0
  287. package/follow-redirects/index.js +598 -0
  288. package/follow-redirects/package.json +59 -0
  289. package/forever-agent/LICENSE +55 -0
  290. package/forever-agent/README.md +4 -0
  291. package/forever-agent/index.js +138 -0
  292. package/forever-agent/package.json +17 -0
  293. package/form-data/License +19 -0
  294. package/form-data/README.md +234 -0
  295. package/form-data/README.md.bak +234 -0
  296. package/form-data/lib/browser.js +2 -0
  297. package/form-data/lib/form_data.js +457 -0
  298. package/form-data/lib/populate.js +10 -0
  299. package/form-data/package.json +65 -0
  300. package/form-data/yarn.lock +2662 -0
  301. package/getpass/.travis.yml +9 -0
  302. package/getpass/LICENSE +18 -0
  303. package/getpass/README.md +32 -0
  304. package/getpass/lib/index.js +123 -0
  305. package/getpass/package.json +18 -0
  306. package/har-schema/LICENSE +13 -0
  307. package/har-schema/README.md +49 -0
  308. package/har-schema/lib/afterRequest.json +30 -0
  309. package/har-schema/lib/beforeRequest.json +30 -0
  310. package/har-schema/lib/browser.json +20 -0
  311. package/har-schema/lib/cache.json +21 -0
  312. package/har-schema/lib/content.json +29 -0
  313. package/har-schema/lib/cookie.json +36 -0
  314. package/har-schema/lib/creator.json +20 -0
  315. package/har-schema/lib/entry.json +53 -0
  316. package/har-schema/lib/har.json +13 -0
  317. package/har-schema/lib/header.json +20 -0
  318. package/har-schema/lib/index.js +22 -0
  319. package/har-schema/lib/log.json +36 -0
  320. package/har-schema/lib/page.json +32 -0
  321. package/har-schema/lib/pageTimings.json +18 -0
  322. package/har-schema/lib/postData.json +43 -0
  323. package/har-schema/lib/query.json +20 -0
  324. package/har-schema/lib/request.json +57 -0
  325. package/har-schema/lib/response.json +54 -0
  326. package/har-schema/lib/timings.json +42 -0
  327. package/har-schema/package.json +54 -0
  328. package/har-validator/LICENSE +9 -0
  329. package/har-validator/README.md +43 -0
  330. package/har-validator/lib/async.js +105 -0
  331. package/har-validator/lib/error.js +17 -0
  332. package/har-validator/lib/promise.js +102 -0
  333. package/har-validator/package.json +43 -0
  334. package/http-signature/.dir-locals.el +6 -0
  335. package/http-signature/CHANGES.md +46 -0
  336. package/http-signature/LICENSE +18 -0
  337. package/http-signature/README.md +79 -0
  338. package/http-signature/http_signing.md +363 -0
  339. package/http-signature/lib/index.js +29 -0
  340. package/http-signature/lib/parser.js +315 -0
  341. package/http-signature/lib/signer.js +401 -0
  342. package/http-signature/lib/utils.js +112 -0
  343. package/http-signature/lib/verify.js +88 -0
  344. package/http-signature/package.json +39 -0
  345. package/is-typedarray/LICENSE.md +18 -0
  346. package/is-typedarray/README.md +16 -0
  347. package/is-typedarray/index.js +41 -0
  348. package/is-typedarray/package.json +30 -0
  349. package/is-typedarray/test.js +34 -0
  350. package/isstream/.jshintrc +59 -0
  351. package/isstream/.travis.yml +12 -0
  352. package/isstream/LICENSE.md +11 -0
  353. package/isstream/README.md +66 -0
  354. package/isstream/isstream.js +27 -0
  355. package/isstream/package.json +33 -0
  356. package/isstream/test.js +168 -0
  357. package/jsbn/LICENSE +40 -0
  358. package/jsbn/README.md +175 -0
  359. package/jsbn/example.html +12 -0
  360. package/jsbn/example.js +3 -0
  361. package/jsbn/index.js +1357 -0
  362. package/jsbn/package.json +21 -0
  363. package/json-schema/LICENSE +195 -0
  364. package/json-schema/README.md +3 -0
  365. package/json-schema/lib/links.js +65 -0
  366. package/json-schema/lib/validate.js +271 -0
  367. package/json-schema/package.json +24 -0
  368. package/json-schema-traverse/.eslintrc.yml +27 -0
  369. package/json-schema-traverse/.travis.yml +8 -0
  370. package/json-schema-traverse/LICENSE +21 -0
  371. package/json-schema-traverse/README.md +83 -0
  372. package/json-schema-traverse/index.js +89 -0
  373. package/json-schema-traverse/package.json +43 -0
  374. package/json-schema-traverse/spec/.eslintrc.yml +6 -0
  375. package/json-schema-traverse/spec/fixtures/schema.js +125 -0
  376. package/json-schema-traverse/spec/index.spec.js +171 -0
  377. package/json-stringify-safe/CHANGELOG.md +14 -0
  378. package/json-stringify-safe/LICENSE +15 -0
  379. package/json-stringify-safe/Makefile +35 -0
  380. package/json-stringify-safe/README.md +52 -0
  381. package/json-stringify-safe/package.json +31 -0
  382. package/json-stringify-safe/stringify.js +27 -0
  383. package/json-stringify-safe/test/mocha.opts +2 -0
  384. package/json-stringify-safe/test/stringify_test.js +246 -0
  385. package/jsprim/CHANGES.md +53 -0
  386. package/jsprim/CONTRIBUTING.md +19 -0
  387. package/jsprim/LICENSE +19 -0
  388. package/jsprim/README.md +287 -0
  389. package/jsprim/lib/jsprim.js +735 -0
  390. package/jsprim/package.json +20 -0
  391. package/m3u8stream/LICENSE +21 -0
  392. package/m3u8stream/README.md +81 -0
  393. package/m3u8stream/dist/dash-mpd-parser.d.ts +11 -0
  394. package/m3u8stream/dist/dash-mpd-parser.js +183 -0
  395. package/m3u8stream/dist/dash-mpd-parser.js.map +1 -0
  396. package/m3u8stream/dist/index.d.ts +31 -0
  397. package/m3u8stream/dist/index.js +180 -0
  398. package/m3u8stream/dist/index.js.map +1 -0
  399. package/m3u8stream/dist/m3u8-parser.d.ts +18 -0
  400. package/m3u8stream/dist/m3u8-parser.js +111 -0
  401. package/m3u8stream/dist/m3u8-parser.js.map +1 -0
  402. package/m3u8stream/dist/parse-time.d.ts +16 -0
  403. package/m3u8stream/dist/parse-time.js +59 -0
  404. package/m3u8stream/dist/parse-time.js.map +1 -0
  405. package/m3u8stream/dist/parser.d.ts +19 -0
  406. package/m3u8stream/dist/parser.js +3 -0
  407. package/m3u8stream/dist/parser.js.map +1 -0
  408. package/m3u8stream/dist/queue.d.ts +39 -0
  409. package/m3u8stream/dist/queue.js +58 -0
  410. package/m3u8stream/dist/queue.js.map +1 -0
  411. package/m3u8stream/node_modules/sax/LICENSE +41 -0
  412. package/m3u8stream/node_modules/sax/README.md +225 -0
  413. package/m3u8stream/node_modules/sax/lib/sax.js +1565 -0
  414. package/m3u8stream/node_modules/sax/package.json +25 -0
  415. package/m3u8stream/package.json +54 -0
  416. package/mime-db/HISTORY.md +507 -0
  417. package/mime-db/LICENSE +23 -0
  418. package/mime-db/README.md +100 -0
  419. package/mime-db/db.json +8519 -0
  420. package/mime-db/index.js +12 -0
  421. package/mime-db/package.json +60 -0
  422. package/mime-types/HISTORY.md +397 -0
  423. package/mime-types/LICENSE +23 -0
  424. package/mime-types/README.md +113 -0
  425. package/mime-types/index.js +188 -0
  426. package/mime-types/package.json +44 -0
  427. package/miniget/LICENSE +21 -0
  428. package/miniget/README.md +111 -0
  429. package/miniget/dist/index.d.ts +65 -0
  430. package/miniget/dist/index.js +281 -0
  431. package/miniget/dist/index.js.map +1 -0
  432. package/miniget/package.json +49 -0
  433. package/oauth-sign/LICENSE +55 -0
  434. package/oauth-sign/README.md +11 -0
  435. package/oauth-sign/index.js +146 -0
  436. package/oauth-sign/package.json +23 -0
  437. package/package.json +11 -0
  438. package/performance-now/.tm_properties +7 -0
  439. package/performance-now/.travis.yml +6 -0
  440. package/performance-now/README.md +30 -0
  441. package/performance-now/lib/performance-now.js +36 -0
  442. package/performance-now/lib/performance-now.js.map +10 -0
  443. package/performance-now/license.txt +7 -0
  444. package/performance-now/package.json +35 -0
  445. package/performance-now/src/index.d.ts +8 -0
  446. package/performance-now/src/performance-now.coffee +17 -0
  447. package/performance-now/test/mocha.opts +3 -0
  448. package/performance-now/test/performance-now.coffee +43 -0
  449. package/performance-now/test/scripts/delayed-call.coffee +11 -0
  450. package/performance-now/test/scripts/delayed-require.coffee +12 -0
  451. package/performance-now/test/scripts/difference.coffee +6 -0
  452. package/performance-now/test/scripts/initial-value.coffee +10 -0
  453. package/performance-now/test/scripts.coffee +27 -0
  454. package/psl/.env +0 -0
  455. package/psl/LICENSE +9 -0
  456. package/psl/README.md +211 -0
  457. package/psl/browserstack-logo.svg +90 -0
  458. package/psl/data/rules.json +9376 -0
  459. package/psl/dist/psl.js +10187 -0
  460. package/psl/dist/psl.min.js +1 -0
  461. package/psl/index.js +269 -0
  462. package/psl/package.json +43 -0
  463. package/punycode/LICENSE-MIT.txt +20 -0
  464. package/punycode/README.md +122 -0
  465. package/punycode/package.json +58 -0
  466. package/punycode/punycode.es6.js +441 -0
  467. package/punycode/punycode.js +440 -0
  468. package/qs/.editorconfig +43 -0
  469. package/qs/.eslintrc +37 -0
  470. package/qs/.github/FUNDING.yml +12 -0
  471. package/qs/.nycrc +13 -0
  472. package/qs/CHANGELOG.md +250 -0
  473. package/qs/LICENSE.md +29 -0
  474. package/qs/README.md +510 -0
  475. package/qs/bower.json +21 -0
  476. package/qs/component.json +15 -0
  477. package/qs/dist/qs.js +648 -0
  478. package/qs/lib/formats.js +18 -0
  479. package/qs/lib/index.js +11 -0
  480. package/qs/lib/parse.js +175 -0
  481. package/qs/lib/stringify.js +217 -0
  482. package/qs/lib/utils.js +215 -0
  483. package/qs/package.json +54 -0
  484. package/qs/test/index.js +7 -0
  485. package/qs/test/parse.js +649 -0
  486. package/qs/test/stringify.js +642 -0
  487. package/qs/test/utils.js +65 -0
  488. package/request/CHANGELOG.md +717 -0
  489. package/request/LICENSE +55 -0
  490. package/request/README.md +1133 -0
  491. package/request/index.js +155 -0
  492. package/request/lib/auth.js +167 -0
  493. package/request/lib/cookies.js +38 -0
  494. package/request/lib/getProxyFromURI.js +79 -0
  495. package/request/lib/har.js +205 -0
  496. package/request/lib/hawk.js +89 -0
  497. package/request/lib/helpers.js +66 -0
  498. package/request/lib/multipart.js +112 -0
  499. package/request/lib/oauth.js +148 -0
  500. package/request/lib/querystring.js +50 -0
  501. package/request/lib/redirect.js +154 -0
  502. package/request/lib/tunnel.js +175 -0
  503. package/request/package.json +86 -0
  504. package/request/request.js +1553 -0
  505. package/safe-buffer/LICENSE +21 -0
  506. package/safe-buffer/README.md +584 -0
  507. package/safe-buffer/index.d.ts +187 -0
  508. package/safe-buffer/index.js +65 -0
  509. package/safe-buffer/package.json +51 -0
  510. package/safer-buffer/LICENSE +21 -0
  511. package/safer-buffer/Porting-Buffer.md +268 -0
  512. package/safer-buffer/Readme.md +156 -0
  513. package/safer-buffer/dangerous.js +58 -0
  514. package/safer-buffer/package.json +34 -0
  515. package/safer-buffer/safer.js +77 -0
  516. package/safer-buffer/tests.js +406 -0
  517. package/sax/AUTHORS +10 -0
  518. package/sax/LICENSE +32 -0
  519. package/sax/LICENSE-W3C.html +188 -0
  520. package/sax/README.md +216 -0
  521. package/sax/component.json +12 -0
  522. package/sax/examples/big-not-pretty.xml +8002 -0
  523. package/sax/examples/example.js +29 -0
  524. package/sax/examples/get-products.js +58 -0
  525. package/sax/examples/hello-world.js +4 -0
  526. package/sax/examples/not-pretty.xml +8 -0
  527. package/sax/examples/pretty-print.js +74 -0
  528. package/sax/examples/shopping.xml +2 -0
  529. package/sax/examples/strict.dtd +870 -0
  530. package/sax/examples/test.html +15 -0
  531. package/sax/examples/test.xml +1254 -0
  532. package/sax/lib/sax.js +1355 -0
  533. package/sax/package.json +12 -0
  534. package/sax/test/attribute-name.js +33 -0
  535. package/sax/test/attribute-no-space.js +75 -0
  536. package/sax/test/buffer-overrun.js +26 -0
  537. package/sax/test/case.js +50 -0
  538. package/sax/test/cdata-chunked.js +11 -0
  539. package/sax/test/cdata-end-split.js +15 -0
  540. package/sax/test/cdata-fake-end.js +28 -0
  541. package/sax/test/cdata-multiple.js +15 -0
  542. package/sax/test/cdata.js +10 -0
  543. package/sax/test/cyrillic.js +8 -0
  544. package/sax/test/duplicate-attribute.js +13 -0
  545. package/sax/test/end_empty_stream.js +5 -0
  546. package/sax/test/entities.js +10 -0
  547. package/sax/test/entity-mega.js +16 -0
  548. package/sax/test/flush.js +13 -0
  549. package/sax/test/index.js +86 -0
  550. package/sax/test/issue-23.js +43 -0
  551. package/sax/test/issue-30.js +24 -0
  552. package/sax/test/issue-35.js +15 -0
  553. package/sax/test/issue-47.js +12 -0
  554. package/sax/test/issue-49.js +31 -0
  555. package/sax/test/issue-84.js +13 -0
  556. package/sax/test/parser-position.js +28 -0
  557. package/sax/test/script-close-better.js +12 -0
  558. package/sax/test/script.js +12 -0
  559. package/sax/test/self-closing-child-strict.js +44 -0
  560. package/sax/test/self-closing-child.js +44 -0
  561. package/sax/test/self-closing-tag.js +25 -0
  562. package/sax/test/stray-ending.js +17 -0
  563. package/sax/test/trailing-attribute-no-value.js +10 -0
  564. package/sax/test/trailing-non-whitespace.js +18 -0
  565. package/sax/test/unclosed-root.js +11 -0
  566. package/sax/test/unquoted.js +18 -0
  567. package/sax/test/utf8-split.js +32 -0
  568. package/sax/test/xmlns-as-tag-name.js +15 -0
  569. package/sax/test/xmlns-issue-41.js +68 -0
  570. package/sax/test/xmlns-rebinding.js +63 -0
  571. package/sax/test/xmlns-strict.js +74 -0
  572. package/sax/test/xmlns-unbound-element.js +33 -0
  573. package/sax/test/xmlns-unbound.js +15 -0
  574. package/sax/test/xmlns-xml-default-ns.js +31 -0
  575. package/sax/test/xmlns-xml-default-prefix-attribute.js +36 -0
  576. package/sax/test/xmlns-xml-default-prefix.js +21 -0
  577. package/sax/test/xmlns-xml-default-redefine.js +41 -0
  578. package/simple-csv-reader/.editorconfig +8 -0
  579. package/simple-csv-reader/LICENSE +21 -0
  580. package/simple-csv-reader/README.md +32 -0
  581. package/simple-csv-reader/dist/simple-csv-reader.min.js +2 -0
  582. package/simple-csv-reader/dist/simple-csv-reader.min.js.map +1 -0
  583. package/simple-csv-reader/gulpfile.js +26 -0
  584. package/simple-csv-reader/index.js +131 -0
  585. package/simple-csv-reader/package.json +38 -0
  586. package/sshpk/.travis.yml +11 -0
  587. package/sshpk/Jenkinsfile +86 -0
  588. package/sshpk/LICENSE +18 -0
  589. package/sshpk/README.md +804 -0
  590. package/sshpk/bin/sshpk-conv +243 -0
  591. package/sshpk/bin/sshpk-sign +191 -0
  592. package/sshpk/bin/sshpk-verify +167 -0
  593. package/sshpk/lib/algs.js +168 -0
  594. package/sshpk/lib/certificate.js +410 -0
  595. package/sshpk/lib/dhe.js +397 -0
  596. package/sshpk/lib/ed-compat.js +92 -0
  597. package/sshpk/lib/errors.js +84 -0
  598. package/sshpk/lib/fingerprint.js +220 -0
  599. package/sshpk/lib/formats/auto.js +124 -0
  600. package/sshpk/lib/formats/dnssec.js +287 -0
  601. package/sshpk/lib/formats/openssh-cert.js +352 -0
  602. package/sshpk/lib/formats/pem.js +290 -0
  603. package/sshpk/lib/formats/pkcs1.js +373 -0
  604. package/sshpk/lib/formats/pkcs8.js +631 -0
  605. package/sshpk/lib/formats/putty.js +194 -0
  606. package/sshpk/lib/formats/rfc4253.js +166 -0
  607. package/sshpk/lib/formats/ssh-private.js +262 -0
  608. package/sshpk/lib/formats/ssh.js +115 -0
  609. package/sshpk/lib/formats/x509-pem.js +88 -0
  610. package/sshpk/lib/formats/x509.js +752 -0
  611. package/sshpk/lib/identity.js +373 -0
  612. package/sshpk/lib/index.js +40 -0
  613. package/sshpk/lib/key.js +294 -0
  614. package/sshpk/lib/private-key.js +247 -0
  615. package/sshpk/lib/signature.js +314 -0
  616. package/sshpk/lib/ssh-buffer.js +149 -0
  617. package/sshpk/lib/utils.js +404 -0
  618. package/sshpk/man/man1/sshpk-conv.1 +135 -0
  619. package/sshpk/man/man1/sshpk-sign.1 +81 -0
  620. package/sshpk/man/man1/sshpk-verify.1 +68 -0
  621. package/sshpk/package.json +60 -0
  622. package/tough-cookie/LICENSE +12 -0
  623. package/tough-cookie/README.md +527 -0
  624. package/tough-cookie/lib/cookie.js +1482 -0
  625. package/tough-cookie/lib/memstore.js +181 -0
  626. package/tough-cookie/lib/pathMatch.js +61 -0
  627. package/tough-cookie/lib/permuteDomain.js +56 -0
  628. package/tough-cookie/lib/pubsuffix-psl.js +38 -0
  629. package/tough-cookie/lib/store.js +75 -0
  630. package/tough-cookie/lib/version.js +2 -0
  631. package/tough-cookie/package.json +78 -0
  632. package/tunnel-agent/LICENSE +55 -0
  633. package/tunnel-agent/README.md +4 -0
  634. package/tunnel-agent/index.js +244 -0
  635. package/tunnel-agent/package.json +22 -0
  636. package/tweetnacl/AUTHORS.md +28 -0
  637. package/tweetnacl/CHANGELOG.md +221 -0
  638. package/tweetnacl/LICENSE +24 -0
  639. package/tweetnacl/PULL_REQUEST_TEMPLATE.md +20 -0
  640. package/tweetnacl/README.md +459 -0
  641. package/tweetnacl/nacl-fast.js +2388 -0
  642. package/tweetnacl/nacl-fast.min.js +2 -0
  643. package/tweetnacl/nacl.d.ts +98 -0
  644. package/tweetnacl/nacl.js +1175 -0
  645. package/tweetnacl/nacl.min.js +1 -0
  646. package/tweetnacl/package.json +58 -0
  647. package/uri-js/LICENSE +11 -0
  648. package/uri-js/README.md +203 -0
  649. package/uri-js/dist/es5/uri.all.d.ts +59 -0
  650. package/uri-js/dist/es5/uri.all.js +1443 -0
  651. package/uri-js/dist/es5/uri.all.js.map +1 -0
  652. package/uri-js/dist/es5/uri.all.min.d.ts +59 -0
  653. package/uri-js/dist/es5/uri.all.min.js +3 -0
  654. package/uri-js/dist/es5/uri.all.min.js.map +1 -0
  655. package/uri-js/dist/esnext/index.d.ts +1 -0
  656. package/uri-js/dist/esnext/index.js +17 -0
  657. package/uri-js/dist/esnext/index.js.map +1 -0
  658. package/uri-js/dist/esnext/regexps-iri.d.ts +3 -0
  659. package/uri-js/dist/esnext/regexps-iri.js +3 -0
  660. package/uri-js/dist/esnext/regexps-iri.js.map +1 -0
  661. package/uri-js/dist/esnext/regexps-uri.d.ts +4 -0
  662. package/uri-js/dist/esnext/regexps-uri.js +42 -0
  663. package/uri-js/dist/esnext/regexps-uri.js.map +1 -0
  664. package/uri-js/dist/esnext/schemes/http.d.ts +3 -0
  665. package/uri-js/dist/esnext/schemes/http.js +28 -0
  666. package/uri-js/dist/esnext/schemes/http.js.map +1 -0
  667. package/uri-js/dist/esnext/schemes/https.d.ts +3 -0
  668. package/uri-js/dist/esnext/schemes/https.js +9 -0
  669. package/uri-js/dist/esnext/schemes/https.js.map +1 -0
  670. package/uri-js/dist/esnext/schemes/mailto.d.ts +12 -0
  671. package/uri-js/dist/esnext/schemes/mailto.js +148 -0
  672. package/uri-js/dist/esnext/schemes/mailto.js.map +1 -0
  673. package/uri-js/dist/esnext/schemes/urn-uuid.d.ts +7 -0
  674. package/uri-js/dist/esnext/schemes/urn-uuid.js +23 -0
  675. package/uri-js/dist/esnext/schemes/urn-uuid.js.map +1 -0
  676. package/uri-js/dist/esnext/schemes/urn.d.ts +10 -0
  677. package/uri-js/dist/esnext/schemes/urn.js +49 -0
  678. package/uri-js/dist/esnext/schemes/urn.js.map +1 -0
  679. package/uri-js/dist/esnext/schemes/ws.d.ts +7 -0
  680. package/uri-js/dist/esnext/schemes/ws.js +41 -0
  681. package/uri-js/dist/esnext/schemes/ws.js.map +1 -0
  682. package/uri-js/dist/esnext/schemes/wss.d.ts +3 -0
  683. package/uri-js/dist/esnext/schemes/wss.js +9 -0
  684. package/uri-js/dist/esnext/schemes/wss.js.map +1 -0
  685. package/uri-js/dist/esnext/uri.d.ts +59 -0
  686. package/uri-js/dist/esnext/uri.js +480 -0
  687. package/uri-js/dist/esnext/uri.js.map +1 -0
  688. package/uri-js/dist/esnext/util.d.ts +6 -0
  689. package/uri-js/dist/esnext/util.js +36 -0
  690. package/uri-js/dist/esnext/util.js.map +1 -0
  691. package/uri-js/package.json +77 -0
  692. package/uri-js/yarn.lock +2558 -0
  693. package/uuid/AUTHORS +5 -0
  694. package/uuid/CHANGELOG.md +119 -0
  695. package/uuid/LICENSE.md +21 -0
  696. package/uuid/README.md +276 -0
  697. package/uuid/bin/uuid +65 -0
  698. package/uuid/index.js +8 -0
  699. package/uuid/lib/bytesToUuid.js +26 -0
  700. package/uuid/lib/md5-browser.js +216 -0
  701. package/uuid/lib/md5.js +25 -0
  702. package/uuid/lib/rng-browser.js +34 -0
  703. package/uuid/lib/rng.js +8 -0
  704. package/uuid/lib/sha1-browser.js +89 -0
  705. package/uuid/lib/sha1.js +25 -0
  706. package/uuid/lib/v35.js +57 -0
  707. package/uuid/package.json +49 -0
  708. package/uuid/v1.js +109 -0
  709. package/uuid/v3.js +4 -0
  710. package/uuid/v4.js +29 -0
  711. package/uuid/v5.js +3 -0
  712. package/verror/CHANGES.md +28 -0
  713. package/verror/CONTRIBUTING.md +19 -0
  714. package/verror/LICENSE +19 -0
  715. package/verror/README.md +528 -0
  716. package/verror/lib/verror.js +451 -0
  717. package/verror/package.json +22 -0
  718. package/xml2js/.travis.yml +5 -0
  719. package/xml2js/83.coffee +6 -0
  720. package/xml2js/LICENSE +19 -0
  721. package/xml2js/README.md +248 -0
  722. package/xml2js/canon.xml +482 -0
  723. package/xml2js/lib/xml2js.js +299 -0
  724. package/xml2js/package.json +47 -0
  725. package/xml2js/text.coffee +11 -0
  726. package/xml2js/text.xml +485 -0
  727. package/youtube-search/.travis.yml +5 -0
  728. package/youtube-search/README.md +61 -0
  729. package/youtube-search/index.d.ts +77 -0
  730. package/youtube-search/index.js +111 -0
  731. package/youtube-search/package.json +29 -0
  732. package/youtube-search/tests/test-search.js +32 -0
  733. package/ytdl-core/LICENSE +21 -0
  734. package/ytdl-core/README.md +238 -0
  735. package/ytdl-core/lib/cache.js +54 -0
  736. package/ytdl-core/lib/format-utils.js +250 -0
  737. package/ytdl-core/lib/formats.js +524 -0
  738. package/ytdl-core/lib/index.js +214 -0
  739. package/ytdl-core/lib/info-extras.js +365 -0
  740. package/ytdl-core/lib/info.js +495 -0
  741. package/ytdl-core/lib/sig.js +122 -0
  742. package/ytdl-core/lib/url-utils.js +91 -0
  743. package/ytdl-core/lib/utils.js +286 -0
  744. package/ytdl-core/node_modules/sax/LICENSE +41 -0
  745. package/ytdl-core/node_modules/sax/README.md +225 -0
  746. package/ytdl-core/node_modules/sax/lib/sax.js +1565 -0
  747. package/ytdl-core/node_modules/sax/package.json +25 -0
  748. package/ytdl-core/package.json +61 -0
  749. package/ytdl-core/typings/index.d.ts +426 -0
  750. package/ytdl-getinfo/.travis.yml +3 -0
  751. package/ytdl-getinfo/README.md +77 -0
  752. package/ytdl-getinfo/index.js +105 -0
  753. package/ytdl-getinfo/package.json +33 -0
  754. package/ytdl-getinfo/playlist.js +50 -0
  755. package/ytdl-getinfo/test/test.js +68 -0
  756. package/ytdl-getinfo/updater.js +42 -0
  757. package/ytdl-getinfo/yarn.lock +533 -0
  758. package/ytdl-getinfo/ytdl/.gitkeep +0 -0
  759. package/ytdl-getinfo/ytdl/youtube-dl.exe +0 -0
@@ -0,0 +1,27 @@
1
+ exports = module.exports = stringify
2
+ exports.getSerialize = serializer
3
+
4
+ function stringify(obj, replacer, spaces, cycleReplacer) {
5
+ return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces)
6
+ }
7
+
8
+ function serializer(replacer, cycleReplacer) {
9
+ var stack = [], keys = []
10
+
11
+ if (cycleReplacer == null) cycleReplacer = function(key, value) {
12
+ if (stack[0] === value) return "[Circular ~]"
13
+ return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]"
14
+ }
15
+
16
+ return function(key, value) {
17
+ if (stack.length > 0) {
18
+ var thisPos = stack.indexOf(this)
19
+ ~thisPos ? stack.splice(thisPos + 1) : stack.push(this)
20
+ ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key)
21
+ if (~stack.indexOf(value)) value = cycleReplacer.call(this, key, value)
22
+ }
23
+ else stack.push(value)
24
+
25
+ return replacer == null ? value : replacer.call(this, key, value)
26
+ }
27
+ }
@@ -0,0 +1,2 @@
1
+ --recursive
2
+ --require must
@@ -0,0 +1,246 @@
1
+ var Sinon = require("sinon")
2
+ var stringify = require("..")
3
+ function jsonify(obj) { return JSON.stringify(obj, null, 2) }
4
+
5
+ describe("Stringify", function() {
6
+ it("must stringify circular objects", function() {
7
+ var obj = {name: "Alice"}
8
+ obj.self = obj
9
+ var json = stringify(obj, null, 2)
10
+ json.must.eql(jsonify({name: "Alice", self: "[Circular ~]"}))
11
+ })
12
+
13
+ it("must stringify circular objects with intermediaries", function() {
14
+ var obj = {name: "Alice"}
15
+ obj.identity = {self: obj}
16
+ var json = stringify(obj, null, 2)
17
+ json.must.eql(jsonify({name: "Alice", identity: {self: "[Circular ~]"}}))
18
+ })
19
+
20
+ it("must stringify circular objects deeper", function() {
21
+ var obj = {name: "Alice", child: {name: "Bob"}}
22
+ obj.child.self = obj.child
23
+
24
+ stringify(obj, null, 2).must.eql(jsonify({
25
+ name: "Alice",
26
+ child: {name: "Bob", self: "[Circular ~.child]"}
27
+ }))
28
+ })
29
+
30
+ it("must stringify circular objects deeper with intermediaries", function() {
31
+ var obj = {name: "Alice", child: {name: "Bob"}}
32
+ obj.child.identity = {self: obj.child}
33
+
34
+ stringify(obj, null, 2).must.eql(jsonify({
35
+ name: "Alice",
36
+ child: {name: "Bob", identity: {self: "[Circular ~.child]"}}
37
+ }))
38
+ })
39
+
40
+ it("must stringify circular objects in an array", function() {
41
+ var obj = {name: "Alice"}
42
+ obj.self = [obj, obj]
43
+
44
+ stringify(obj, null, 2).must.eql(jsonify({
45
+ name: "Alice", self: ["[Circular ~]", "[Circular ~]"]
46
+ }))
47
+ })
48
+
49
+ it("must stringify circular objects deeper in an array", function() {
50
+ var obj = {name: "Alice", children: [{name: "Bob"}, {name: "Eve"}]}
51
+ obj.children[0].self = obj.children[0]
52
+ obj.children[1].self = obj.children[1]
53
+
54
+ stringify(obj, null, 2).must.eql(jsonify({
55
+ name: "Alice",
56
+ children: [
57
+ {name: "Bob", self: "[Circular ~.children.0]"},
58
+ {name: "Eve", self: "[Circular ~.children.1]"}
59
+ ]
60
+ }))
61
+ })
62
+
63
+ it("must stringify circular arrays", function() {
64
+ var obj = []
65
+ obj.push(obj)
66
+ obj.push(obj)
67
+ var json = stringify(obj, null, 2)
68
+ json.must.eql(jsonify(["[Circular ~]", "[Circular ~]"]))
69
+ })
70
+
71
+ it("must stringify circular arrays with intermediaries", function() {
72
+ var obj = []
73
+ obj.push({name: "Alice", self: obj})
74
+ obj.push({name: "Bob", self: obj})
75
+
76
+ stringify(obj, null, 2).must.eql(jsonify([
77
+ {name: "Alice", self: "[Circular ~]"},
78
+ {name: "Bob", self: "[Circular ~]"}
79
+ ]))
80
+ })
81
+
82
+ it("must stringify repeated objects in objects", function() {
83
+ var obj = {}
84
+ var alice = {name: "Alice"}
85
+ obj.alice1 = alice
86
+ obj.alice2 = alice
87
+
88
+ stringify(obj, null, 2).must.eql(jsonify({
89
+ alice1: {name: "Alice"},
90
+ alice2: {name: "Alice"}
91
+ }))
92
+ })
93
+
94
+ it("must stringify repeated objects in arrays", function() {
95
+ var alice = {name: "Alice"}
96
+ var obj = [alice, alice]
97
+ var json = stringify(obj, null, 2)
98
+ json.must.eql(jsonify([{name: "Alice"}, {name: "Alice"}]))
99
+ })
100
+
101
+ it("must call given decycler and use its output", function() {
102
+ var obj = {}
103
+ obj.a = obj
104
+ obj.b = obj
105
+
106
+ var decycle = Sinon.spy(function() { return decycle.callCount })
107
+ var json = stringify(obj, null, 2, decycle)
108
+ json.must.eql(jsonify({a: 1, b: 2}, null, 2))
109
+
110
+ decycle.callCount.must.equal(2)
111
+ decycle.thisValues[0].must.equal(obj)
112
+ decycle.args[0][0].must.equal("a")
113
+ decycle.args[0][1].must.equal(obj)
114
+ decycle.thisValues[1].must.equal(obj)
115
+ decycle.args[1][0].must.equal("b")
116
+ decycle.args[1][1].must.equal(obj)
117
+ })
118
+
119
+ it("must call replacer and use its output", function() {
120
+ var obj = {name: "Alice", child: {name: "Bob"}}
121
+
122
+ var replacer = Sinon.spy(bangString)
123
+ var json = stringify(obj, replacer, 2)
124
+ json.must.eql(jsonify({name: "Alice!", child: {name: "Bob!"}}))
125
+
126
+ replacer.callCount.must.equal(4)
127
+ replacer.args[0][0].must.equal("")
128
+ replacer.args[0][1].must.equal(obj)
129
+ replacer.thisValues[1].must.equal(obj)
130
+ replacer.args[1][0].must.equal("name")
131
+ replacer.args[1][1].must.equal("Alice")
132
+ replacer.thisValues[2].must.equal(obj)
133
+ replacer.args[2][0].must.equal("child")
134
+ replacer.args[2][1].must.equal(obj.child)
135
+ replacer.thisValues[3].must.equal(obj.child)
136
+ replacer.args[3][0].must.equal("name")
137
+ replacer.args[3][1].must.equal("Bob")
138
+ })
139
+
140
+ it("must call replacer after describing circular references", function() {
141
+ var obj = {name: "Alice"}
142
+ obj.self = obj
143
+
144
+ var replacer = Sinon.spy(bangString)
145
+ var json = stringify(obj, replacer, 2)
146
+ json.must.eql(jsonify({name: "Alice!", self: "[Circular ~]!"}))
147
+
148
+ replacer.callCount.must.equal(3)
149
+ replacer.args[0][0].must.equal("")
150
+ replacer.args[0][1].must.equal(obj)
151
+ replacer.thisValues[1].must.equal(obj)
152
+ replacer.args[1][0].must.equal("name")
153
+ replacer.args[1][1].must.equal("Alice")
154
+ replacer.thisValues[2].must.equal(obj)
155
+ replacer.args[2][0].must.equal("self")
156
+ replacer.args[2][1].must.equal("[Circular ~]")
157
+ })
158
+
159
+ it("must call given decycler and use its output for nested objects",
160
+ function() {
161
+ var obj = {}
162
+ obj.a = obj
163
+ obj.b = {self: obj}
164
+
165
+ var decycle = Sinon.spy(function() { return decycle.callCount })
166
+ var json = stringify(obj, null, 2, decycle)
167
+ json.must.eql(jsonify({a: 1, b: {self: 2}}))
168
+
169
+ decycle.callCount.must.equal(2)
170
+ decycle.args[0][0].must.equal("a")
171
+ decycle.args[0][1].must.equal(obj)
172
+ decycle.args[1][0].must.equal("self")
173
+ decycle.args[1][1].must.equal(obj)
174
+ })
175
+
176
+ it("must use decycler's output when it returned null", function() {
177
+ var obj = {a: "b"}
178
+ obj.self = obj
179
+ obj.selves = [obj, obj]
180
+
181
+ function decycle() { return null }
182
+ stringify(obj, null, 2, decycle).must.eql(jsonify({
183
+ a: "b",
184
+ self: null,
185
+ selves: [null, null]
186
+ }))
187
+ })
188
+
189
+ it("must use decycler's output when it returned undefined", function() {
190
+ var obj = {a: "b"}
191
+ obj.self = obj
192
+ obj.selves = [obj, obj]
193
+
194
+ function decycle() {}
195
+ stringify(obj, null, 2, decycle).must.eql(jsonify({
196
+ a: "b",
197
+ selves: [null, null]
198
+ }))
199
+ })
200
+
201
+ it("must throw given a decycler that returns a cycle", function() {
202
+ var obj = {}
203
+ obj.self = obj
204
+ var err
205
+ function identity(key, value) { return value }
206
+ try { stringify(obj, null, 2, identity) } catch (ex) { err = ex }
207
+ err.must.be.an.instanceof(TypeError)
208
+ })
209
+
210
+ describe(".getSerialize", function() {
211
+ it("must stringify circular objects", function() {
212
+ var obj = {a: "b"}
213
+ obj.circularRef = obj
214
+ obj.list = [obj, obj]
215
+
216
+ var json = JSON.stringify(obj, stringify.getSerialize(), 2)
217
+ json.must.eql(jsonify({
218
+ "a": "b",
219
+ "circularRef": "[Circular ~]",
220
+ "list": ["[Circular ~]", "[Circular ~]"]
221
+ }))
222
+ })
223
+
224
+ // This is the behavior as of Mar 3, 2015.
225
+ // The serializer function keeps state inside the returned function and
226
+ // so far I'm not sure how to not do that. JSON.stringify's replacer is not
227
+ // called _after_ serialization.
228
+ xit("must return a function that could be called twice", function() {
229
+ var obj = {name: "Alice"}
230
+ obj.self = obj
231
+
232
+ var json
233
+ var serializer = stringify.getSerialize()
234
+
235
+ json = JSON.stringify(obj, serializer, 2)
236
+ json.must.eql(jsonify({name: "Alice", self: "[Circular ~]"}))
237
+
238
+ json = JSON.stringify(obj, serializer, 2)
239
+ json.must.eql(jsonify({name: "Alice", self: "[Circular ~]"}))
240
+ })
241
+ })
242
+ })
243
+
244
+ function bangString(key, value) {
245
+ return typeof value == "string" ? value + "!" : value
246
+ }
@@ -0,0 +1,53 @@
1
+ # Changelog
2
+
3
+ ## not yet released
4
+
5
+ None yet.
6
+
7
+ ## v1.4.2 (2021-11-29)
8
+
9
+ * #35 Backport json-schema 0.4.0 to version 1.4.x
10
+
11
+ ## v1.4.1 (2017-08-02)
12
+
13
+ * #21 Update verror dep
14
+ * #22 Update extsprintf dependency
15
+ * #23 update contribution guidelines
16
+
17
+ ## v1.4.0 (2017-03-13)
18
+
19
+ * #7 Add parseInteger() function for safer number parsing
20
+
21
+ ## v1.3.1 (2016-09-12)
22
+
23
+ * #13 Incompatible with webpack
24
+
25
+ ## v1.3.0 (2016-06-22)
26
+
27
+ * #14 add safer version of hasOwnProperty()
28
+ * #15 forEachKey() should ignore inherited properties
29
+
30
+ ## v1.2.2 (2015-10-15)
31
+
32
+ * #11 NPM package shouldn't include any code that does `require('JSV')`
33
+ * #12 jsl.node.conf missing definition for "module"
34
+
35
+ ## v1.2.1 (2015-10-14)
36
+
37
+ * #8 odd date parsing behaviour
38
+
39
+ ## v1.2.0 (2015-10-13)
40
+
41
+ * #9 want function for returning RFC1123 dates
42
+
43
+ ## v1.1.0 (2015-09-02)
44
+
45
+ * #6 a new suite of hrtime manipulation routines: `hrtimeAdd()`,
46
+ `hrtimeAccum()`, `hrtimeNanosec()`, `hrtimeMicrosec()` and
47
+ `hrtimeMillisec()`.
48
+
49
+ ## v1.0.0 (2015-09-01)
50
+
51
+ First tracked release. Includes everything in previous releases, plus:
52
+
53
+ * #4 want function for merging objects
@@ -0,0 +1,19 @@
1
+ # Contributing
2
+
3
+ This repository uses [cr.joyent.us](https://cr.joyent.us) (Gerrit) for new
4
+ changes. Anyone can submit changes. To get started, see the [cr.joyent.us user
5
+ guide](https://github.com/joyent/joyent-gerrit/blob/master/docs/user/README.md).
6
+ This repo does not use GitHub pull requests.
7
+
8
+ See the [Joyent Engineering
9
+ Guidelines](https://github.com/joyent/eng/blob/master/docs/index.md) for general
10
+ best practices expected in this repository.
11
+
12
+ Contributions should be "make prepush" clean. The "prepush" target runs the
13
+ "check" target, which requires these separate tools:
14
+
15
+ * https://github.com/davepacheco/jsstyle
16
+ * https://github.com/davepacheco/javascriptlint
17
+
18
+ If you're changing something non-trivial or user-facing, you may want to submit
19
+ an issue first.
package/jsprim/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2012, Joyent, Inc. All rights reserved.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE
@@ -0,0 +1,287 @@
1
+ # jsprim: utilities for primitive JavaScript types
2
+
3
+ This module provides miscellaneous facilities for working with strings,
4
+ numbers, dates, and objects and arrays of these basic types.
5
+
6
+
7
+ ### deepCopy(obj)
8
+
9
+ Creates a deep copy of a primitive type, object, or array of primitive types.
10
+
11
+
12
+ ### deepEqual(obj1, obj2)
13
+
14
+ Returns whether two objects are equal.
15
+
16
+
17
+ ### isEmpty(obj)
18
+
19
+ Returns true if the given object has no properties and false otherwise. This
20
+ is O(1) (unlike `Object.keys(obj).length === 0`, which is O(N)).
21
+
22
+ ### hasKey(obj, key)
23
+
24
+ Returns true if the given object has an enumerable, non-inherited property
25
+ called `key`. [For information on enumerability and ownership of properties, see
26
+ the MDN
27
+ documentation.](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties)
28
+
29
+ ### forEachKey(obj, callback)
30
+
31
+ Like Array.forEach, but iterates enumerable, owned properties of an object
32
+ rather than elements of an array. Equivalent to:
33
+
34
+ for (var key in obj) {
35
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
36
+ callback(key, obj[key]);
37
+ }
38
+ }
39
+
40
+
41
+ ### flattenObject(obj, depth)
42
+
43
+ Flattens an object up to a given level of nesting, returning an array of arrays
44
+ of length "depth + 1", where the first "depth" elements correspond to flattened
45
+ columns and the last element contains the remaining object . For example:
46
+
47
+ flattenObject({
48
+ 'I': {
49
+ 'A': {
50
+ 'i': {
51
+ 'datum1': [ 1, 2 ],
52
+ 'datum2': [ 3, 4 ]
53
+ },
54
+ 'ii': {
55
+ 'datum1': [ 3, 4 ]
56
+ }
57
+ },
58
+ 'B': {
59
+ 'i': {
60
+ 'datum1': [ 5, 6 ]
61
+ },
62
+ 'ii': {
63
+ 'datum1': [ 7, 8 ],
64
+ 'datum2': [ 3, 4 ],
65
+ },
66
+ 'iii': {
67
+ }
68
+ }
69
+ },
70
+ 'II': {
71
+ 'A': {
72
+ 'i': {
73
+ 'datum1': [ 1, 2 ],
74
+ 'datum2': [ 3, 4 ]
75
+ }
76
+ }
77
+ }
78
+ }, 3)
79
+
80
+ becomes:
81
+
82
+ [
83
+ [ 'I', 'A', 'i', { 'datum1': [ 1, 2 ], 'datum2': [ 3, 4 ] } ],
84
+ [ 'I', 'A', 'ii', { 'datum1': [ 3, 4 ] } ],
85
+ [ 'I', 'B', 'i', { 'datum1': [ 5, 6 ] } ],
86
+ [ 'I', 'B', 'ii', { 'datum1': [ 7, 8 ], 'datum2': [ 3, 4 ] } ],
87
+ [ 'I', 'B', 'iii', {} ],
88
+ [ 'II', 'A', 'i', { 'datum1': [ 1, 2 ], 'datum2': [ 3, 4 ] } ]
89
+ ]
90
+
91
+ This function is strict: "depth" must be a non-negative integer and "obj" must
92
+ be a non-null object with at least "depth" levels of nesting under all keys.
93
+
94
+
95
+ ### flattenIter(obj, depth, func)
96
+
97
+ This is similar to `flattenObject` except that instead of returning an array,
98
+ this function invokes `func(entry)` for each `entry` in the array that
99
+ `flattenObject` would return. `flattenIter(obj, depth, func)` is logically
100
+ equivalent to `flattenObject(obj, depth).forEach(func)`. Importantly, this
101
+ version never constructs the full array. Its memory usage is O(depth) rather
102
+ than O(n) (where `n` is the number of flattened elements).
103
+
104
+ There's another difference between `flattenObject` and `flattenIter` that's
105
+ related to the special case where `depth === 0`. In this case, `flattenObject`
106
+ omits the array wrapping `obj` (which is regrettable).
107
+
108
+
109
+ ### pluck(obj, key)
110
+
111
+ Fetch nested property "key" from object "obj", traversing objects as needed.
112
+ For example, `pluck(obj, "foo.bar.baz")` is roughly equivalent to
113
+ `obj.foo.bar.baz`, except that:
114
+
115
+ 1. If traversal fails, the resulting value is undefined, and no error is
116
+ thrown. For example, `pluck({}, "foo.bar")` is just undefined.
117
+ 2. If "obj" has property "key" directly (without traversing), the
118
+ corresponding property is returned. For example,
119
+ `pluck({ 'foo.bar': 1 }, 'foo.bar')` is 1, not undefined. This is also
120
+ true recursively, so `pluck({ 'a': { 'foo.bar': 1 } }, 'a.foo.bar')` is
121
+ also 1, not undefined.
122
+
123
+
124
+ ### randElt(array)
125
+
126
+ Returns an element from "array" selected uniformly at random. If "array" is
127
+ empty, throws an Error.
128
+
129
+
130
+ ### startsWith(str, prefix)
131
+
132
+ Returns true if the given string starts with the given prefix and false
133
+ otherwise.
134
+
135
+
136
+ ### endsWith(str, suffix)
137
+
138
+ Returns true if the given string ends with the given suffix and false
139
+ otherwise.
140
+
141
+
142
+ ### parseInteger(str, options)
143
+
144
+ Parses the contents of `str` (a string) as an integer. On success, the integer
145
+ value is returned (as a number). On failure, an error is **returned** describing
146
+ why parsing failed.
147
+
148
+ By default, leading and trailing whitespace characters are not allowed, nor are
149
+ trailing characters that are not part of the numeric representation. This
150
+ behaviour can be toggled by using the options below. The empty string (`''`) is
151
+ not considered valid input. If the return value cannot be precisely represented
152
+ as a number (i.e., is smaller than `Number.MIN_SAFE_INTEGER` or larger than
153
+ `Number.MAX_SAFE_INTEGER`), an error is returned. Additionally, the string
154
+ `'-0'` will be parsed as the integer `0`, instead of as the IEEE floating point
155
+ value `-0`.
156
+
157
+ This function accepts both upper and lowercase characters for digits, similar to
158
+ `parseInt()`, `Number()`, and [strtol(3C)](https://illumos.org/man/3C/strtol).
159
+
160
+ The following may be specified in `options`:
161
+
162
+ Option | Type | Default | Meaning
163
+ ------------------ | ------- | ------- | ---------------------------
164
+ base | number | 10 | numeric base (radix) to use, in the range 2 to 36
165
+ allowSign | boolean | true | whether to interpret any leading `+` (positive) and `-` (negative) characters
166
+ allowImprecise | boolean | false | whether to accept values that may have lost precision (past `MAX_SAFE_INTEGER` or below `MIN_SAFE_INTEGER`)
167
+ allowPrefix | boolean | false | whether to interpret the prefixes `0b` (base 2), `0o` (base 8), `0t` (base 10), or `0x` (base 16)
168
+ allowTrailing | boolean | false | whether to ignore trailing characters
169
+ trimWhitespace | boolean | false | whether to trim any leading or trailing whitespace/line terminators
170
+ leadingZeroIsOctal | boolean | false | whether a leading zero indicates octal
171
+
172
+ Note that if `base` is unspecified, and `allowPrefix` or `leadingZeroIsOctal`
173
+ are, then the leading characters can change the default base from 10. If `base`
174
+ is explicitly specified and `allowPrefix` is true, then the prefix will only be
175
+ accepted if it matches the specified base. `base` and `leadingZeroIsOctal`
176
+ cannot be used together.
177
+
178
+ **Context:** It's tricky to parse integers with JavaScript's built-in facilities
179
+ for several reasons:
180
+
181
+ - `parseInt()` and `Number()` by default allow the base to be specified in the
182
+ input string by a prefix (e.g., `0x` for hex).
183
+ - `parseInt()` allows trailing nonnumeric characters.
184
+ - `Number(str)` returns 0 when `str` is the empty string (`''`).
185
+ - Both functions return incorrect values when the input string represents a
186
+ valid integer outside the range of integers that can be represented precisely.
187
+ Specifically, `parseInt('9007199254740993')` returns 9007199254740992.
188
+ - Both functions always accept `-` and `+` signs before the digit.
189
+ - Some older JavaScript engines always interpret a leading 0 as indicating
190
+ octal, which can be surprising when parsing input from users who expect a
191
+ leading zero to be insignificant.
192
+
193
+ While each of these may be desirable in some contexts, there are also times when
194
+ none of them are wanted. `parseInteger()` grants greater control over what
195
+ input's permissible.
196
+
197
+ ### iso8601(date)
198
+
199
+ Converts a Date object to an ISO8601 date string of the form
200
+ "YYYY-MM-DDTHH:MM:SS.sssZ". This format is not customizable.
201
+
202
+
203
+ ### parseDateTime(str)
204
+
205
+ Parses a date expressed as a string, as either a number of milliseconds since
206
+ the epoch or any string format that Date accepts, giving preference to the
207
+ former where these two sets overlap (e.g., strings containing small numbers).
208
+
209
+
210
+ ### hrtimeDiff(timeA, timeB)
211
+
212
+ Given two hrtime readings (as from Node's `process.hrtime()`), where timeA is
213
+ later than timeB, compute the difference and return that as an hrtime. It is
214
+ illegal to invoke this for a pair of times where timeB is newer than timeA.
215
+
216
+ ### hrtimeAdd(timeA, timeB)
217
+
218
+ Add two hrtime intervals (as from Node's `process.hrtime()`), returning a new
219
+ hrtime interval array. This function does not modify either input argument.
220
+
221
+
222
+ ### hrtimeAccum(timeA, timeB)
223
+
224
+ Add two hrtime intervals (as from Node's `process.hrtime()`), storing the
225
+ result in `timeA`. This function overwrites (and returns) the first argument
226
+ passed in.
227
+
228
+
229
+ ### hrtimeNanosec(timeA), hrtimeMicrosec(timeA), hrtimeMillisec(timeA)
230
+
231
+ This suite of functions converts a hrtime interval (as from Node's
232
+ `process.hrtime()`) into a scalar number of nanoseconds, microseconds or
233
+ milliseconds. Results are truncated, as with `Math.floor()`.
234
+
235
+
236
+ ### validateJsonObject(schema, object)
237
+
238
+ Uses JSON validation (via JSV) to validate the given object against the given
239
+ schema. On success, returns null. On failure, *returns* (does not throw) a
240
+ useful Error object.
241
+
242
+
243
+ ### extraProperties(object, allowed)
244
+
245
+ Check an object for unexpected properties. Accepts the object to check, and an
246
+ array of allowed property name strings. If extra properties are detected, an
247
+ array of extra property names is returned. If no properties other than those
248
+ in the allowed list are present on the object, the returned array will be of
249
+ zero length.
250
+
251
+ ### mergeObjects(provided, overrides, defaults)
252
+
253
+ Merge properties from objects "provided", "overrides", and "defaults". The
254
+ intended use case is for functions that accept named arguments in an "args"
255
+ object, but want to provide some default values and override other values. In
256
+ that case, "provided" is what the caller specified, "overrides" are what the
257
+ function wants to override, and "defaults" contains default values.
258
+
259
+ The function starts with the values in "defaults", overrides them with the
260
+ values in "provided", and then overrides those with the values in "overrides".
261
+ For convenience, any of these objects may be falsey, in which case they will be
262
+ ignored. The input objects are never modified, but properties in the returned
263
+ object are not deep-copied.
264
+
265
+ For example:
266
+
267
+ mergeObjects(undefined, { 'objectMode': true }, { 'highWaterMark': 0 })
268
+
269
+ returns:
270
+
271
+ { 'objectMode': true, 'highWaterMark': 0 }
272
+
273
+ For another example:
274
+
275
+ mergeObjects(
276
+ { 'highWaterMark': 16, 'objectMode': 7 }, /* from caller */
277
+ { 'objectMode': true }, /* overrides */
278
+ { 'highWaterMark': 0 }); /* default */
279
+
280
+ returns:
281
+
282
+ { 'objectMode': true, 'highWaterMark': 16 }
283
+
284
+
285
+ # Contributing
286
+
287
+ See separate [contribution guidelines](CONTRIBUTING.md).