fsevents 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fsevents might be problematic. Click here for more details.

Files changed (581) hide show
  1. package/.travis.yml +7 -9
  2. package/build/.target.mk +6 -2
  3. package/build/Makefile +6 -6
  4. package/build/Release/.deps/Release/.node.d +1 -0
  5. package/build/Release/.deps/Release/fse.node.d +1 -0
  6. package/build/Release/.deps/Release/obj.target/action_after_build.stamp.d +1 -0
  7. package/build/Release/.deps/Release/obj.target/fse/fsevents.o.d +65 -0
  8. package/build/Release/.deps/Users/eshanker/Code/fsevents/lib/binding/Release/node-v48-darwin-x64/fse.node.d +1 -0
  9. package/build/Release/.node +0 -0
  10. package/build/Release/fse.node +0 -0
  11. package/build/Release/obj.target/action_after_build.stamp +0 -0
  12. package/build/Release/obj.target/fse/fsevents.o +0 -0
  13. package/build/action_after_build.target.mk +4 -4
  14. package/build/fse.target.mk +22 -12
  15. package/build/gyp-mac-tool +1 -2
  16. package/build/stage/v1.1.2/fse-v1.1.2-node-v48-darwin-x64.tar.gz +0 -0
  17. package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
  18. package/lib/binding/Release/node-v57-darwin-x64/fse.node +0 -0
  19. package/node_modules/abbrev/package.json +15 -51
  20. package/node_modules/ajv/.tonic_example.js +20 -0
  21. package/node_modules/{is-my-json-valid → ajv}/LICENSE +6 -5
  22. package/node_modules/ajv/README.md +1213 -0
  23. package/node_modules/ajv/dist/ajv.bundle.js +8023 -0
  24. package/node_modules/ajv/dist/ajv.min.js +6 -0
  25. package/node_modules/ajv/dist/ajv.min.js.map +1 -0
  26. package/node_modules/ajv/dist/nodent.min.js +8 -0
  27. package/node_modules/ajv/dist/regenerator.min.js +32 -0
  28. package/node_modules/ajv/lib/ajv.d.ts +284 -0
  29. package/node_modules/ajv/lib/ajv.js +420 -0
  30. package/node_modules/ajv/lib/async.js +218 -0
  31. package/node_modules/ajv/lib/cache.js +26 -0
  32. package/node_modules/ajv/lib/compile/_rules.js +28 -0
  33. package/node_modules/ajv/lib/compile/equal.js +45 -0
  34. package/node_modules/ajv/lib/compile/formats.js +164 -0
  35. package/node_modules/ajv/lib/compile/index.js +390 -0
  36. package/node_modules/ajv/lib/compile/resolve.js +267 -0
  37. package/node_modules/ajv/lib/compile/rules.js +40 -0
  38. package/node_modules/ajv/lib/compile/schema_obj.js +9 -0
  39. package/node_modules/ajv/lib/compile/ucs2length.js +20 -0
  40. package/node_modules/ajv/lib/compile/util.js +257 -0
  41. package/node_modules/ajv/lib/compile/validation_error.js +14 -0
  42. package/node_modules/ajv/lib/dot/_limit.jst +49 -0
  43. package/node_modules/ajv/lib/dot/_limitItems.jst +10 -0
  44. package/node_modules/ajv/lib/dot/_limitLength.jst +10 -0
  45. package/node_modules/ajv/lib/dot/_limitProperties.jst +10 -0
  46. package/node_modules/ajv/lib/dot/allOf.jst +34 -0
  47. package/node_modules/ajv/lib/dot/anyOf.jst +48 -0
  48. package/node_modules/ajv/lib/dot/coerce.def +61 -0
  49. package/node_modules/ajv/lib/dot/custom.jst +184 -0
  50. package/node_modules/ajv/lib/dot/defaults.def +32 -0
  51. package/node_modules/ajv/lib/dot/definitions.def +182 -0
  52. package/node_modules/ajv/lib/dot/dependencies.jst +69 -0
  53. package/node_modules/ajv/lib/dot/enum.jst +30 -0
  54. package/node_modules/ajv/lib/dot/errors.def +185 -0
  55. package/node_modules/ajv/lib/dot/format.jst +100 -0
  56. package/node_modules/ajv/lib/dot/items.jst +101 -0
  57. package/node_modules/ajv/lib/dot/missing.def +34 -0
  58. package/node_modules/ajv/lib/dot/multipleOf.jst +20 -0
  59. package/node_modules/ajv/lib/dot/not.jst +43 -0
  60. package/node_modules/ajv/lib/dot/oneOf.jst +44 -0
  61. package/node_modules/ajv/lib/dot/pattern.jst +14 -0
  62. package/node_modules/ajv/lib/dot/properties.jst +319 -0
  63. package/node_modules/ajv/lib/dot/ref.jst +86 -0
  64. package/node_modules/ajv/lib/dot/required.jst +96 -0
  65. package/node_modules/ajv/lib/dot/uniqueItems.jst +38 -0
  66. package/node_modules/ajv/lib/dot/v5/_formatLimit.jst +116 -0
  67. package/node_modules/ajv/lib/dot/v5/constant.jst +10 -0
  68. package/node_modules/ajv/lib/dot/v5/patternRequired.jst +28 -0
  69. package/node_modules/ajv/lib/dot/v5/switch.jst +73 -0
  70. package/node_modules/ajv/lib/dot/validate.jst +210 -0
  71. package/node_modules/ajv/lib/dotjs/README.md +3 -0
  72. package/node_modules/ajv/lib/dotjs/_formatLimit.js +176 -0
  73. package/node_modules/ajv/lib/dotjs/_limit.js +124 -0
  74. package/node_modules/ajv/lib/dotjs/_limitItems.js +76 -0
  75. package/node_modules/ajv/lib/dotjs/_limitLength.js +81 -0
  76. package/node_modules/ajv/lib/dotjs/_limitProperties.js +76 -0
  77. package/node_modules/ajv/lib/dotjs/allOf.js +43 -0
  78. package/node_modules/ajv/lib/dotjs/anyOf.js +65 -0
  79. package/node_modules/ajv/lib/dotjs/constant.js +52 -0
  80. package/node_modules/ajv/lib/dotjs/custom.js +220 -0
  81. package/node_modules/ajv/lib/dotjs/dependencies.js +147 -0
  82. package/node_modules/ajv/lib/dotjs/enum.js +65 -0
  83. package/node_modules/ajv/lib/dotjs/format.js +138 -0
  84. package/node_modules/ajv/lib/dotjs/items.js +144 -0
  85. package/node_modules/ajv/lib/dotjs/multipleOf.js +76 -0
  86. package/node_modules/ajv/lib/dotjs/not.js +83 -0
  87. package/node_modules/ajv/lib/dotjs/oneOf.js +76 -0
  88. package/node_modules/ajv/lib/dotjs/pattern.js +74 -0
  89. package/node_modules/ajv/lib/dotjs/patternRequired.js +51 -0
  90. package/node_modules/ajv/lib/dotjs/properties.js +445 -0
  91. package/node_modules/ajv/lib/dotjs/ref.js +119 -0
  92. package/node_modules/ajv/lib/dotjs/required.js +249 -0
  93. package/node_modules/ajv/lib/dotjs/switch.js +128 -0
  94. package/node_modules/ajv/lib/dotjs/uniqueItems.js +71 -0
  95. package/node_modules/ajv/lib/dotjs/validate.js +375 -0
  96. package/node_modules/ajv/lib/keyword.js +129 -0
  97. package/node_modules/ajv/lib/refs/json-schema-draft-04.json +150 -0
  98. package/node_modules/ajv/lib/refs/json-schema-v5.json +328 -0
  99. package/node_modules/ajv/lib/v5.js +52 -0
  100. package/node_modules/ajv/package.json +132 -0
  101. package/node_modules/ajv/scripts/.eslintrc.yml +3 -0
  102. package/node_modules/ajv/scripts/bundle.js +54 -0
  103. package/node_modules/ajv/scripts/compile-dots.js +73 -0
  104. package/node_modules/ajv/scripts/info +10 -0
  105. package/node_modules/ajv/scripts/prepare-tests +9 -0
  106. package/node_modules/ajv/scripts/travis-gh-pages +23 -0
  107. package/node_modules/ansi-regex/package.json +26 -49
  108. package/node_modules/aproba/package.json +15 -48
  109. package/node_modules/are-we-there-yet/CHANGES.md +12 -0
  110. package/node_modules/are-we-there-yet/CHANGES.md~ +27 -0
  111. package/node_modules/are-we-there-yet/README.md +4 -3
  112. package/node_modules/are-we-there-yet/package.json +28 -54
  113. package/node_modules/asn1/package.json +16 -48
  114. package/node_modules/assert-plus/package.json +15 -47
  115. package/node_modules/asynckit/package.json +15 -49
  116. package/node_modules/aws-sign2/package.json +15 -45
  117. package/node_modules/aws4/package.json +15 -50
  118. package/node_modules/balanced-match/package.json +15 -49
  119. package/node_modules/bcrypt-pbkdf/package.json +16 -62
  120. package/node_modules/block-stream/package.json +15 -49
  121. package/node_modules/boom/package.json +15 -54
  122. package/node_modules/brace-expansion/README.md +1 -0
  123. package/node_modules/brace-expansion/index.js +1 -1
  124. package/node_modules/brace-expansion/package.json +20 -56
  125. package/node_modules/buffer-shims/package.json +15 -51
  126. package/node_modules/caseless/index.js +1 -0
  127. package/node_modules/caseless/package.json +19 -58
  128. package/node_modules/caseless/test.js +27 -0
  129. package/node_modules/co/History.md +172 -0
  130. package/node_modules/{commander → co}/LICENSE +1 -1
  131. package/node_modules/co/Readme.md +212 -0
  132. package/node_modules/co/index.js +237 -0
  133. package/node_modules/co/package.json +67 -0
  134. package/node_modules/code-point-at/package.json +15 -50
  135. package/node_modules/combined-stream/package.json +15 -58
  136. package/node_modules/concat-map/package.json +13 -41
  137. package/node_modules/console-control-strings/package.json +15 -50
  138. package/node_modules/core-util-is/package.json +15 -47
  139. package/node_modules/cryptiles/package.json +15 -49
  140. package/node_modules/dashdash/node_modules/assert-plus/package.json +15 -47
  141. package/node_modules/dashdash/package.json +15 -72
  142. package/node_modules/debug/.coveralls.yml +1 -0
  143. package/node_modules/debug/.eslintrc +11 -0
  144. package/node_modules/debug/.npmignore +3 -0
  145. package/node_modules/debug/.travis.yml +14 -0
  146. package/node_modules/debug/CHANGELOG.md +357 -0
  147. package/node_modules/debug/LICENSE +19 -0
  148. package/node_modules/debug/Makefile +28 -14
  149. package/node_modules/debug/README.md +312 -0
  150. package/node_modules/debug/component.json +4 -4
  151. package/node_modules/debug/karma.conf.js +70 -0
  152. package/node_modules/debug/node.js +1 -209
  153. package/node_modules/debug/package.json +41 -58
  154. package/node_modules/debug/{browser.js → src/browser.js} +29 -12
  155. package/node_modules/debug/{debug.js → src/debug.js} +42 -37
  156. package/node_modules/debug/src/index.js +10 -0
  157. package/node_modules/debug/src/node.js +246 -0
  158. package/node_modules/deep-extend/README.md +1 -1
  159. package/node_modules/deep-extend/lib/deep-extend.js +2 -2
  160. package/node_modules/deep-extend/package.json +22 -48
  161. package/node_modules/delayed-stream/package.json +15 -49
  162. package/node_modules/delegates/package.json +15 -50
  163. package/node_modules/ecc-jsbn/package.json +21 -45
  164. package/node_modules/extend/.eslintrc +10 -185
  165. package/node_modules/extend/.jscs.json +75 -4
  166. package/node_modules/extend/.travis.yml +154 -19
  167. package/node_modules/extend/CHANGELOG.md +8 -0
  168. package/node_modules/extend/README.md +20 -1
  169. package/node_modules/extend/index.js +8 -8
  170. package/node_modules/extend/package.json +26 -56
  171. package/node_modules/extsprintf/package.json +12 -43
  172. package/node_modules/forever-agent/package.json +16 -53
  173. package/node_modules/form-data/README.md +4 -4
  174. package/node_modules/form-data/lib/form_data.js +4 -0
  175. package/node_modules/form-data/package.json +18 -64
  176. package/node_modules/fs.realpath/package.json +15 -49
  177. package/node_modules/fstream/lib/reader.js +4 -4
  178. package/node_modules/fstream/lib/writer.js +2 -2
  179. package/node_modules/fstream/package.json +19 -67
  180. package/node_modules/fstream-ignore/package.json +15 -57
  181. package/node_modules/gauge/CHANGELOG.md +5 -0
  182. package/node_modules/gauge/package.json +18 -52
  183. package/node_modules/gauge/plumbing.js +1 -0
  184. package/node_modules/getpass/node_modules/assert-plus/package.json +15 -47
  185. package/node_modules/getpass/package.json +19 -58
  186. package/node_modules/glob/glob.js +0 -2
  187. package/node_modules/glob/package.json +19 -53
  188. package/node_modules/graceful-fs/package.json +15 -49
  189. package/node_modules/har-schema/LICENSE +13 -0
  190. package/node_modules/har-schema/README.md +49 -0
  191. package/node_modules/har-schema/lib/afterRequest.json +29 -0
  192. package/node_modules/har-schema/lib/beforeRequest.json +29 -0
  193. package/node_modules/har-schema/lib/browser.json +19 -0
  194. package/node_modules/har-schema/lib/cache.json +20 -0
  195. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/content.json +1 -0
  196. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/cookie.json +1 -0
  197. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/creator.json +1 -0
  198. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/entry.json +5 -4
  199. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/har.json +2 -1
  200. package/node_modules/har-schema/lib/header.json +19 -0
  201. package/node_modules/har-schema/lib/index.js +22 -0
  202. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/log.json +5 -4
  203. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/page.json +2 -1
  204. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/pageTimings.json +1 -0
  205. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/postData.json +1 -0
  206. package/node_modules/{har-validator/lib/schemas/record.json → har-schema/lib/query.json} +1 -0
  207. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/request.json +5 -4
  208. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/response.json +4 -3
  209. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/timings.json +1 -0
  210. package/node_modules/har-schema/package.json +87 -0
  211. package/node_modules/har-validator/README.md +31 -265
  212. package/node_modules/har-validator/lib/browser/async.js +96 -0
  213. package/node_modules/har-validator/lib/browser/error.js +15 -0
  214. package/node_modules/har-validator/lib/browser/promise.js +93 -0
  215. package/node_modules/har-validator/lib/node4/async.js +136 -0
  216. package/node_modules/har-validator/lib/node4/error.js +22 -0
  217. package/node_modules/har-validator/lib/node4/promise.js +132 -0
  218. package/node_modules/har-validator/lib/node6/async.js +133 -0
  219. package/node_modules/har-validator/lib/node6/error.js +22 -0
  220. package/node_modules/har-validator/lib/node6/promise.js +130 -0
  221. package/node_modules/har-validator/lib/node7/async.js +133 -0
  222. package/node_modules/har-validator/lib/node7/error.js +22 -0
  223. package/node_modules/har-validator/lib/node7/promise.js +130 -0
  224. package/node_modules/har-validator/package.json +54 -72
  225. package/node_modules/har-validator/src/async.js +96 -0
  226. package/node_modules/har-validator/src/error.js +15 -0
  227. package/node_modules/har-validator/src/promise.js +93 -0
  228. package/node_modules/has-unicode/package.json +15 -50
  229. package/node_modules/hawk/package.json +15 -45
  230. package/node_modules/hoek/package.json +15 -55
  231. package/node_modules/http-signature/package.json +15 -53
  232. package/node_modules/inflight/package.json +15 -61
  233. package/node_modules/inherits/package.json +15 -58
  234. package/node_modules/ini/package.json +15 -45
  235. package/node_modules/is-fullwidth-code-point/package.json +16 -46
  236. package/node_modules/is-typedarray/package.json +15 -45
  237. package/node_modules/isarray/package.json +15 -46
  238. package/node_modules/isstream/package.json +15 -46
  239. package/node_modules/jodid25519/package.json +16 -44
  240. package/node_modules/jsbn/package.json +16 -53
  241. package/node_modules/json-schema/package.json +13 -41
  242. package/node_modules/{generate-function → json-stable-stringify}/.npmignore +0 -0
  243. package/node_modules/{generate-object-property → json-stable-stringify}/.travis.yml +1 -0
  244. package/node_modules/{ms → json-stable-stringify}/LICENSE +1 -3
  245. package/node_modules/json-stable-stringify/example/key_cmp.js +7 -0
  246. package/node_modules/json-stable-stringify/example/nested.js +3 -0
  247. package/node_modules/json-stable-stringify/example/str.js +3 -0
  248. package/node_modules/json-stable-stringify/example/value_cmp.js +7 -0
  249. package/node_modules/json-stable-stringify/index.js +84 -0
  250. package/node_modules/json-stable-stringify/package.json +75 -0
  251. package/node_modules/json-stable-stringify/readme.markdown +130 -0
  252. package/node_modules/json-stable-stringify/test/cmp.js +11 -0
  253. package/node_modules/json-stable-stringify/test/nested.js +35 -0
  254. package/node_modules/json-stable-stringify/test/replacer.js +74 -0
  255. package/node_modules/json-stable-stringify/test/space.js +59 -0
  256. package/node_modules/json-stable-stringify/test/str.js +32 -0
  257. package/node_modules/json-stable-stringify/test/to-json.js +20 -0
  258. package/node_modules/json-stringify-safe/package.json +15 -50
  259. package/node_modules/jsonify/README.markdown +34 -0
  260. package/node_modules/jsonify/index.js +2 -0
  261. package/node_modules/jsonify/lib/parse.js +273 -0
  262. package/node_modules/jsonify/lib/stringify.js +154 -0
  263. package/node_modules/jsonify/package.json +60 -0
  264. package/node_modules/jsonify/test/parse.js +16 -0
  265. package/node_modules/jsonify/test/stringify.js +15 -0
  266. package/node_modules/jsprim/CHANGES.md +4 -0
  267. package/node_modules/jsprim/README.md +55 -0
  268. package/node_modules/jsprim/lib/jsprim.js +248 -1
  269. package/node_modules/jsprim/node_modules/assert-plus/AUTHORS +6 -0
  270. package/node_modules/jsprim/node_modules/assert-plus/CHANGES.md +14 -0
  271. package/node_modules/jsprim/node_modules/assert-plus/README.md +162 -0
  272. package/node_modules/jsprim/node_modules/assert-plus/assert.js +211 -0
  273. package/node_modules/jsprim/node_modules/assert-plus/package.json +83 -0
  274. package/node_modules/jsprim/package.json +22 -57
  275. package/node_modules/mime-db/HISTORY.md +21 -0
  276. package/node_modules/mime-db/db.json +54 -0
  277. package/node_modules/mime-db/package.json +24 -63
  278. package/node_modules/mime-types/HISTORY.md +7 -0
  279. package/node_modules/mime-types/README.md +10 -5
  280. package/node_modules/mime-types/index.js +1 -1
  281. package/node_modules/mime-types/package.json +23 -66
  282. package/node_modules/minimatch/package.json +24 -58
  283. package/node_modules/minimist/package.json +12 -41
  284. package/node_modules/mkdirp/package.json +15 -47
  285. package/node_modules/ms/index.js +50 -23
  286. package/node_modules/{graceful-readlink/LICENSE → ms/license.md} +1 -2
  287. package/node_modules/ms/package.json +49 -61
  288. package/node_modules/ms/readme.md +51 -0
  289. package/node_modules/node-pre-gyp/CHANGELOG.md +15 -0
  290. package/node_modules/node-pre-gyp/README.md +12 -1
  291. package/node_modules/node-pre-gyp/appveyor.yml +1 -6
  292. package/node_modules/node-pre-gyp/cloudformation/travis.template +73 -0
  293. package/node_modules/node-pre-gyp/contributing.md +10 -0
  294. package/node_modules/node-pre-gyp/lib/install.js +5 -47
  295. package/node_modules/node-pre-gyp/lib/testbinary.js +8 -2
  296. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +72 -0
  297. package/node_modules/node-pre-gyp/package.json +30 -76
  298. package/node_modules/node-pre-gyp/template-name.diff +12 -0
  299. package/node_modules/nopt/.travis.yml +3 -4
  300. package/node_modules/nopt/CHANGELOG.md +58 -0
  301. package/node_modules/nopt/README.md +28 -26
  302. package/node_modules/nopt/lib/nopt.js +50 -29
  303. package/node_modules/nopt/package.json +22 -59
  304. package/node_modules/nopt/test/basic.js +36 -6
  305. package/node_modules/npmlog/CHANGELOG.md +5 -1
  306. package/node_modules/npmlog/log.js +2 -0
  307. package/node_modules/npmlog/package.json +21 -67
  308. package/node_modules/number-is-nan/package.json +15 -50
  309. package/node_modules/oauth-sign/package.json +15 -56
  310. package/node_modules/object-assign/package.json +15 -58
  311. package/node_modules/once/package.json +15 -49
  312. package/node_modules/os-homedir/index.js +24 -0
  313. package/node_modules/{ansi-styles → os-homedir}/license +0 -0
  314. package/node_modules/os-homedir/package.json +74 -0
  315. package/node_modules/os-homedir/readme.md +31 -0
  316. package/node_modules/os-tmpdir/index.js +25 -0
  317. package/node_modules/{chalk → os-tmpdir}/license +0 -0
  318. package/node_modules/os-tmpdir/package.json +74 -0
  319. package/node_modules/os-tmpdir/readme.md +32 -0
  320. package/node_modules/osenv/.npmignore +13 -0
  321. package/node_modules/osenv/.travis.yml +9 -0
  322. package/node_modules/{tar-pack/node_modules/once → osenv}/LICENSE +0 -0
  323. package/node_modules/osenv/README.md +63 -0
  324. package/node_modules/osenv/osenv.js +72 -0
  325. package/node_modules/osenv/package.json +68 -0
  326. package/node_modules/osenv/test/unix.js +71 -0
  327. package/node_modules/osenv/test/windows.js +74 -0
  328. package/node_modules/osenv/x.tap +39 -0
  329. package/node_modules/path-is-absolute/package.json +15 -50
  330. package/node_modules/performance-now/.npmignore +1 -0
  331. package/node_modules/performance-now/.tm_properties +7 -0
  332. package/node_modules/{generate-function → performance-now}/.travis.yml +1 -0
  333. package/node_modules/performance-now/Makefile +25 -0
  334. package/node_modules/performance-now/README.md +30 -0
  335. package/node_modules/performance-now/lib/performance-now.js +32 -0
  336. package/node_modules/performance-now/license.txt +7 -0
  337. package/node_modules/performance-now/package.json +58 -0
  338. package/node_modules/performance-now/src/performance-now.coffee +15 -0
  339. package/node_modules/performance-now/test/mocha.opts +3 -0
  340. package/node_modules/performance-now/test/performance-now.coffee +38 -0
  341. package/node_modules/process-nextick-args/package.json +15 -51
  342. package/node_modules/punycode/package.json +14 -49
  343. package/node_modules/qs/.eslintrc +4 -5
  344. package/node_modules/qs/.jscs.json +176 -0
  345. package/node_modules/qs/CHANGELOG.md +19 -0
  346. package/node_modules/qs/README.md +10 -1
  347. package/node_modules/qs/dist/qs.js +24 -14
  348. package/node_modules/qs/lib/index.js +0 -0
  349. package/node_modules/qs/lib/parse.js +6 -5
  350. package/node_modules/qs/lib/stringify.js +15 -8
  351. package/node_modules/qs/lib/utils.js +3 -1
  352. package/node_modules/qs/package.json +19 -61
  353. package/node_modules/qs/test/.eslintrc +2 -1
  354. package/node_modules/qs/test/parse.js +37 -2
  355. package/node_modules/qs/test/stringify.js +29 -0
  356. package/node_modules/qs/test/utils.js +0 -0
  357. package/node_modules/rc/lib/utils.js +2 -1
  358. package/node_modules/rc/node_modules/minimist/package.json +15 -46
  359. package/node_modules/rc/package.json +18 -53
  360. package/node_modules/rc/test/nested-env-vars.js +31 -21
  361. package/node_modules/readable-stream/.travis.yml +2 -2
  362. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  363. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  364. package/node_modules/readable-stream/LICENSE +29 -0
  365. package/node_modules/readable-stream/README.md +20 -3
  366. package/node_modules/readable-stream/duplex-browser.js +1 -0
  367. package/node_modules/readable-stream/duplex.js +1 -1
  368. package/node_modules/readable-stream/lib/_stream_readable.js +7 -13
  369. package/node_modules/readable-stream/lib/_stream_writable.js +18 -28
  370. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  371. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  372. package/node_modules/readable-stream/package.json +25 -67
  373. package/node_modules/readable-stream/passthrough.js +1 -1
  374. package/node_modules/{tar-pack/node_modules/readable-stream/readable.js → readable-stream/readable-browser.js} +1 -10
  375. package/node_modules/readable-stream/readable.js +17 -14
  376. package/node_modules/readable-stream/transform.js +1 -1
  377. package/node_modules/readable-stream/writable-browser.js +1 -0
  378. package/node_modules/readable-stream/writable.js +8 -1
  379. package/node_modules/request/CHANGELOG.md +23 -11
  380. package/node_modules/request/README.md +36 -19
  381. package/node_modules/request/lib/helpers.js +2 -1
  382. package/node_modules/request/lib/multipart.js +2 -1
  383. package/node_modules/request/lib/oauth.js +2 -1
  384. package/node_modules/request/package.json +30 -74
  385. package/node_modules/request/request.js +106 -16
  386. package/node_modules/rimraf/bin.js +13 -3
  387. package/node_modules/rimraf/package.json +19 -55
  388. package/node_modules/rimraf/rimraf.js +22 -2
  389. package/node_modules/safe-buffer/.travis.yml +7 -0
  390. package/node_modules/{is-property → safe-buffer}/LICENSE +1 -2
  391. package/node_modules/safe-buffer/README.md +581 -0
  392. package/node_modules/safe-buffer/browser.js +1 -0
  393. package/node_modules/safe-buffer/index.js +58 -0
  394. package/node_modules/safe-buffer/package.json +64 -0
  395. package/node_modules/safe-buffer/test.js +99 -0
  396. package/node_modules/semver/package.json +15 -54
  397. package/node_modules/set-blocking/package.json +15 -50
  398. package/node_modules/signal-exit/package.json +15 -54
  399. package/node_modules/sntp/package.json +16 -45
  400. package/node_modules/sshpk/README.md +38 -6
  401. package/node_modules/sshpk/lib/certificate.js +88 -2
  402. package/node_modules/sshpk/lib/dhe.js +101 -2
  403. package/node_modules/sshpk/lib/formats/openssh-cert.js +34 -1
  404. package/node_modules/sshpk/lib/formats/x509.js +247 -5
  405. package/node_modules/sshpk/lib/identity.js +1 -1
  406. package/node_modules/sshpk/lib/index.js +1 -0
  407. package/node_modules/sshpk/lib/key.js +6 -2
  408. package/node_modules/sshpk/lib/private-key.js +25 -1
  409. package/node_modules/sshpk/lib/signature.js +76 -8
  410. package/node_modules/sshpk/node_modules/assert-plus/package.json +15 -47
  411. package/node_modules/sshpk/package.json +21 -53
  412. package/node_modules/string-width/package.json +15 -50
  413. package/node_modules/string_decoder/LICENSE +48 -20
  414. package/node_modules/string_decoder/README.md +25 -4
  415. package/node_modules/string_decoder/lib/string_decoder.js +272 -0
  416. package/node_modules/string_decoder/package.json +24 -55
  417. package/node_modules/stringstream/package.json +15 -48
  418. package/node_modules/strip-ansi/package.json +27 -50
  419. package/node_modules/strip-json-comments/package.json +15 -50
  420. package/node_modules/tar/package.json +15 -58
  421. package/node_modules/tar-pack/package.json +28 -79
  422. package/node_modules/tough-cookie/package.json +15 -57
  423. package/node_modules/tunnel-agent/index.js +5 -4
  424. package/node_modules/tunnel-agent/package.json +22 -66
  425. package/node_modules/tweetnacl/package.json +16 -50
  426. package/node_modules/uid-number/package.json +16 -46
  427. package/node_modules/util-deprecate/package.json +15 -48
  428. package/node_modules/uuid/package.json +15 -58
  429. package/node_modules/verror/package.json +12 -41
  430. package/node_modules/wide-align/package.json +25 -51
  431. package/node_modules/wrappy/package.json +15 -54
  432. package/package.json +4 -3
  433. package/node_modules/ansi-styles/index.js +0 -65
  434. package/node_modules/ansi-styles/package.json +0 -114
  435. package/node_modules/ansi-styles/readme.md +0 -86
  436. package/node_modules/are-we-there-yet/.npmignore +0 -5
  437. package/node_modules/are-we-there-yet/test/lib/test-event.js +0 -29
  438. package/node_modules/are-we-there-yet/test/tracker.js +0 -57
  439. package/node_modules/are-we-there-yet/test/trackergroup.js +0 -96
  440. package/node_modules/are-we-there-yet/test/trackerstream.js +0 -51
  441. package/node_modules/chalk/index.js +0 -116
  442. package/node_modules/chalk/package.json +0 -140
  443. package/node_modules/chalk/readme.md +0 -213
  444. package/node_modules/commander/History.md +0 -261
  445. package/node_modules/commander/Readme.md +0 -351
  446. package/node_modules/commander/index.js +0 -1110
  447. package/node_modules/commander/package.json +0 -104
  448. package/node_modules/debug/.jshintrc +0 -3
  449. package/node_modules/debug/History.md +0 -195
  450. package/node_modules/debug/Readme.md +0 -188
  451. package/node_modules/debug/bower.json +0 -28
  452. package/node_modules/escape-string-regexp/index.js +0 -11
  453. package/node_modules/escape-string-regexp/license +0 -21
  454. package/node_modules/escape-string-regexp/package.json +0 -109
  455. package/node_modules/escape-string-regexp/readme.md +0 -27
  456. package/node_modules/generate-function/README.md +0 -72
  457. package/node_modules/generate-function/example.js +0 -27
  458. package/node_modules/generate-function/index.js +0 -61
  459. package/node_modules/generate-function/package.json +0 -87
  460. package/node_modules/generate-function/test.js +0 -33
  461. package/node_modules/generate-object-property/.npmignore +0 -1
  462. package/node_modules/generate-object-property/LICENSE +0 -21
  463. package/node_modules/generate-object-property/README.md +0 -19
  464. package/node_modules/generate-object-property/index.js +0 -12
  465. package/node_modules/generate-object-property/package.json +0 -84
  466. package/node_modules/generate-object-property/test.js +0 -12
  467. package/node_modules/graceful-readlink/.npmignore +0 -3
  468. package/node_modules/graceful-readlink/.travis.yml +0 -5
  469. package/node_modules/graceful-readlink/README.md +0 -17
  470. package/node_modules/graceful-readlink/index.js +0 -12
  471. package/node_modules/graceful-readlink/package.json +0 -83
  472. package/node_modules/har-validator/bin/har-validator +0 -56
  473. package/node_modules/har-validator/lib/async.js +0 -14
  474. package/node_modules/har-validator/lib/error.js +0 -10
  475. package/node_modules/har-validator/lib/index.js +0 -22
  476. package/node_modules/har-validator/lib/runner.js +0 -29
  477. package/node_modules/har-validator/lib/schemas/cache.json +0 -13
  478. package/node_modules/har-validator/lib/schemas/cacheEntry.json +0 -31
  479. package/node_modules/har-validator/lib/schemas/index.js +0 -49
  480. package/node_modules/has-ansi/index.js +0 -4
  481. package/node_modules/has-ansi/license +0 -21
  482. package/node_modules/has-ansi/package.json +0 -118
  483. package/node_modules/has-ansi/readme.md +0 -36
  484. package/node_modules/is-my-json-valid/.npmignore +0 -2
  485. package/node_modules/is-my-json-valid/.travis.yml +0 -3
  486. package/node_modules/is-my-json-valid/README.md +0 -173
  487. package/node_modules/is-my-json-valid/example.js +0 -18
  488. package/node_modules/is-my-json-valid/formats.js +0 -14
  489. package/node_modules/is-my-json-valid/index.js +0 -594
  490. package/node_modules/is-my-json-valid/package.json +0 -116
  491. package/node_modules/is-my-json-valid/require.js +0 -12
  492. package/node_modules/is-my-json-valid/test/fixtures/cosmic.js +0 -84
  493. package/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json +0 -82
  494. package/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json +0 -88
  495. package/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json +0 -112
  496. package/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json +0 -68
  497. package/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json +0 -107
  498. package/node_modules/is-my-json-valid/test/json-schema-draft4/default.json +0 -49
  499. package/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json +0 -32
  500. package/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json +0 -113
  501. package/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json +0 -72
  502. package/node_modules/is-my-json-valid/test/json-schema-draft4/format.json +0 -143
  503. package/node_modules/is-my-json-valid/test/json-schema-draft4/items.json +0 -46
  504. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json +0 -28
  505. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json +0 -28
  506. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json +0 -28
  507. package/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json +0 -42
  508. package/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json +0 -28
  509. package/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json +0 -28
  510. package/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json +0 -28
  511. package/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json +0 -42
  512. package/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json +0 -96
  513. package/node_modules/is-my-json-valid/test/json-schema-draft4/not.json +0 -96
  514. package/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json +0 -18
  515. package/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json +0 -18
  516. package/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json +0 -68
  517. package/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json +0 -23
  518. package/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json +0 -110
  519. package/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json +0 -92
  520. package/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json +0 -128
  521. package/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json +0 -74
  522. package/node_modules/is-my-json-valid/test/json-schema-draft4/required.json +0 -39
  523. package/node_modules/is-my-json-valid/test/json-schema-draft4/type.json +0 -330
  524. package/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json +0 -79
  525. package/node_modules/is-my-json-valid/test/json-schema.js +0 -23
  526. package/node_modules/is-my-json-valid/test/misc.js +0 -471
  527. package/node_modules/is-property/.npmignore +0 -17
  528. package/node_modules/is-property/README.md +0 -28
  529. package/node_modules/is-property/is-property.js +0 -5
  530. package/node_modules/is-property/package.json +0 -92
  531. package/node_modules/jsonpointer/LICENSE.md +0 -21
  532. package/node_modules/jsonpointer/README.md +0 -39
  533. package/node_modules/jsonpointer/jsonpointer.js +0 -93
  534. package/node_modules/jsonpointer/package.json +0 -112
  535. package/node_modules/ms/.npmignore +0 -5
  536. package/node_modules/ms/History.md +0 -66
  537. package/node_modules/ms/README.md +0 -35
  538. package/node_modules/pinkie/index.js +0 -292
  539. package/node_modules/pinkie/license +0 -21
  540. package/node_modules/pinkie/package.json +0 -100
  541. package/node_modules/pinkie/readme.md +0 -83
  542. package/node_modules/pinkie-promise/index.js +0 -3
  543. package/node_modules/pinkie-promise/license +0 -21
  544. package/node_modules/pinkie-promise/package.json +0 -102
  545. package/node_modules/pinkie-promise/readme.md +0 -28
  546. package/node_modules/string_decoder/index.js +0 -221
  547. package/node_modules/supports-color/index.js +0 -50
  548. package/node_modules/supports-color/license +0 -21
  549. package/node_modules/supports-color/package.json +0 -113
  550. package/node_modules/supports-color/readme.md +0 -36
  551. package/node_modules/tar-pack/node_modules/once/README.md +0 -51
  552. package/node_modules/tar-pack/node_modules/once/once.js +0 -21
  553. package/node_modules/tar-pack/node_modules/once/package.json +0 -96
  554. package/node_modules/tar-pack/node_modules/readable-stream/.npmignore +0 -8
  555. package/node_modules/tar-pack/node_modules/readable-stream/.travis.yml +0 -49
  556. package/node_modules/tar-pack/node_modules/readable-stream/LICENSE +0 -18
  557. package/node_modules/tar-pack/node_modules/readable-stream/README.md +0 -36
  558. package/node_modules/tar-pack/node_modules/readable-stream/doc/stream.md +0 -2015
  559. package/node_modules/tar-pack/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  560. package/node_modules/tar-pack/node_modules/readable-stream/duplex.js +0 -1
  561. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_duplex.js +0 -75
  562. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_passthrough.js +0 -26
  563. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_readable.js +0 -937
  564. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_transform.js +0 -180
  565. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_writable.js +0 -526
  566. package/node_modules/tar-pack/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -64
  567. package/node_modules/tar-pack/node_modules/readable-stream/package.json +0 -125
  568. package/node_modules/tar-pack/node_modules/readable-stream/passthrough.js +0 -1
  569. package/node_modules/tar-pack/node_modules/readable-stream/transform.js +0 -1
  570. package/node_modules/tar-pack/node_modules/readable-stream/writable.js +0 -1
  571. package/node_modules/wide-align/.npmignore +0 -5
  572. package/node_modules/wide-align/test/align.js +0 -37
  573. package/node_modules/xtend/.jshintrc +0 -30
  574. package/node_modules/xtend/.npmignore +0 -1
  575. package/node_modules/xtend/LICENCE +0 -19
  576. package/node_modules/xtend/Makefile +0 -4
  577. package/node_modules/xtend/README.md +0 -32
  578. package/node_modules/xtend/immutable.js +0 -19
  579. package/node_modules/xtend/mutable.js +0 -17
  580. package/node_modules/xtend/package.json +0 -117
  581. package/node_modules/xtend/test.js +0 -83
@@ -0,0 +1,390 @@
1
+ 'use strict';
2
+
3
+ var resolve = require('./resolve')
4
+ , util = require('./util')
5
+ , stableStringify = require('json-stable-stringify')
6
+ , async = require('../async');
7
+
8
+ var beautify;
9
+
10
+ function loadBeautify(){
11
+ if (beautify === undefined) {
12
+ var name = 'js-beautify';
13
+ try { beautify = require(name).js_beautify; }
14
+ catch(e) { beautify = false; }
15
+ }
16
+ }
17
+
18
+ var validateGenerator = require('../dotjs/validate');
19
+
20
+ /**
21
+ * Functions below are used inside compiled validations function
22
+ */
23
+
24
+ var co = require('co');
25
+ var ucs2length = util.ucs2length;
26
+ var equal = require('./equal');
27
+
28
+ // this error is thrown by async schemas to return validation errors via exception
29
+ var ValidationError = require('./validation_error');
30
+
31
+ module.exports = compile;
32
+
33
+
34
+ /**
35
+ * Compiles schema to validation function
36
+ * @this Ajv
37
+ * @param {Object} schema schema object
38
+ * @param {Object} root object with information about the root schema for this schema
39
+ * @param {Object} localRefs the hash of local references inside the schema (created by resolve.id), used for inline resolution
40
+ * @param {String} baseId base ID for IDs in the schema
41
+ * @return {Function} validation function
42
+ */
43
+ function compile(schema, root, localRefs, baseId) {
44
+ /* jshint validthis: true, evil: true */
45
+ /* eslint no-shadow: 0 */
46
+ var self = this
47
+ , opts = this._opts
48
+ , refVal = [ undefined ]
49
+ , refs = {}
50
+ , patterns = []
51
+ , patternsHash = {}
52
+ , defaults = []
53
+ , defaultsHash = {}
54
+ , customRules = []
55
+ , keepSourceCode = opts.sourceCode !== false;
56
+
57
+ root = root || { schema: schema, refVal: refVal, refs: refs };
58
+
59
+ var c = checkCompiling.call(this, schema, root, baseId);
60
+ var compilation = this._compilations[c.index];
61
+ if (c.compiling) return (compilation.callValidate = callValidate);
62
+
63
+ var formats = this._formats;
64
+ var RULES = this.RULES;
65
+
66
+ try {
67
+ var v = localCompile(schema, root, localRefs, baseId);
68
+ compilation.validate = v;
69
+ var cv = compilation.callValidate;
70
+ if (cv) {
71
+ cv.schema = v.schema;
72
+ cv.errors = null;
73
+ cv.refs = v.refs;
74
+ cv.refVal = v.refVal;
75
+ cv.root = v.root;
76
+ cv.$async = v.$async;
77
+ if (keepSourceCode) cv.sourceCode = v.sourceCode;
78
+ }
79
+ return v;
80
+ } finally {
81
+ endCompiling.call(this, schema, root, baseId);
82
+ }
83
+
84
+ function callValidate() {
85
+ var validate = compilation.validate;
86
+ var result = validate.apply(null, arguments);
87
+ callValidate.errors = validate.errors;
88
+ return result;
89
+ }
90
+
91
+ function localCompile(_schema, _root, localRefs, baseId) {
92
+ var isRoot = !_root || (_root && _root.schema == _schema);
93
+ if (_root.schema != root.schema)
94
+ return compile.call(self, _schema, _root, localRefs, baseId);
95
+
96
+ var $async = _schema.$async === true;
97
+ if ($async && !opts.transpile) async.setup(opts);
98
+
99
+ var sourceCode = validateGenerator({
100
+ isTop: true,
101
+ schema: _schema,
102
+ isRoot: isRoot,
103
+ baseId: baseId,
104
+ root: _root,
105
+ schemaPath: '',
106
+ errSchemaPath: '#',
107
+ errorPath: '""',
108
+ RULES: RULES,
109
+ validate: validateGenerator,
110
+ util: util,
111
+ resolve: resolve,
112
+ resolveRef: resolveRef,
113
+ usePattern: usePattern,
114
+ useDefault: useDefault,
115
+ useCustomRule: useCustomRule,
116
+ opts: opts,
117
+ formats: formats,
118
+ self: self
119
+ });
120
+
121
+ sourceCode = vars(refVal, refValCode) + vars(patterns, patternCode)
122
+ + vars(defaults, defaultCode) + vars(customRules, customRuleCode)
123
+ + sourceCode;
124
+
125
+ if (opts.beautify) {
126
+ loadBeautify();
127
+ /* istanbul ignore else */
128
+ if (beautify) sourceCode = beautify(sourceCode, opts.beautify);
129
+ else console.error('"npm install js-beautify" to use beautify option');
130
+ }
131
+ // console.log('\n\n\n *** \n', sourceCode);
132
+ var validate, validateCode
133
+ , transpile = opts._transpileFunc;
134
+ try {
135
+ validateCode = $async && transpile
136
+ ? transpile(sourceCode)
137
+ : sourceCode;
138
+
139
+ var makeValidate = new Function(
140
+ 'self',
141
+ 'RULES',
142
+ 'formats',
143
+ 'root',
144
+ 'refVal',
145
+ 'defaults',
146
+ 'customRules',
147
+ 'co',
148
+ 'equal',
149
+ 'ucs2length',
150
+ 'ValidationError',
151
+ validateCode
152
+ );
153
+
154
+ validate = makeValidate(
155
+ self,
156
+ RULES,
157
+ formats,
158
+ root,
159
+ refVal,
160
+ defaults,
161
+ customRules,
162
+ co,
163
+ equal,
164
+ ucs2length,
165
+ ValidationError
166
+ );
167
+
168
+ refVal[0] = validate;
169
+ } catch(e) {
170
+ console.error('Error compiling schema, function code:', validateCode);
171
+ throw e;
172
+ }
173
+
174
+ validate.schema = _schema;
175
+ validate.errors = null;
176
+ validate.refs = refs;
177
+ validate.refVal = refVal;
178
+ validate.root = isRoot ? validate : _root;
179
+ if ($async) validate.$async = true;
180
+ if (keepSourceCode) validate.sourceCode = sourceCode;
181
+ if (opts.sourceCode === true) {
182
+ validate.source = {
183
+ patterns: patterns,
184
+ defaults: defaults
185
+ };
186
+ }
187
+
188
+ return validate;
189
+ }
190
+
191
+ function resolveRef(baseId, ref, isRoot) {
192
+ ref = resolve.url(baseId, ref);
193
+ var refIndex = refs[ref];
194
+ var _refVal, refCode;
195
+ if (refIndex !== undefined) {
196
+ _refVal = refVal[refIndex];
197
+ refCode = 'refVal[' + refIndex + ']';
198
+ return resolvedRef(_refVal, refCode);
199
+ }
200
+ if (!isRoot && root.refs) {
201
+ var rootRefId = root.refs[ref];
202
+ if (rootRefId !== undefined) {
203
+ _refVal = root.refVal[rootRefId];
204
+ refCode = addLocalRef(ref, _refVal);
205
+ return resolvedRef(_refVal, refCode);
206
+ }
207
+ }
208
+
209
+ refCode = addLocalRef(ref);
210
+ var v = resolve.call(self, localCompile, root, ref);
211
+ if (!v) {
212
+ var localSchema = localRefs && localRefs[ref];
213
+ if (localSchema) {
214
+ v = resolve.inlineRef(localSchema, opts.inlineRefs)
215
+ ? localSchema
216
+ : compile.call(self, localSchema, root, localRefs, baseId);
217
+ }
218
+ }
219
+
220
+ if (v) {
221
+ replaceLocalRef(ref, v);
222
+ return resolvedRef(v, refCode);
223
+ }
224
+ }
225
+
226
+ function addLocalRef(ref, v) {
227
+ var refId = refVal.length;
228
+ refVal[refId] = v;
229
+ refs[ref] = refId;
230
+ return 'refVal' + refId;
231
+ }
232
+
233
+ function replaceLocalRef(ref, v) {
234
+ var refId = refs[ref];
235
+ refVal[refId] = v;
236
+ }
237
+
238
+ function resolvedRef(refVal, code) {
239
+ return typeof refVal == 'object'
240
+ ? { code: code, schema: refVal, inline: true }
241
+ : { code: code, $async: refVal && refVal.$async };
242
+ }
243
+
244
+ function usePattern(regexStr) {
245
+ var index = patternsHash[regexStr];
246
+ if (index === undefined) {
247
+ index = patternsHash[regexStr] = patterns.length;
248
+ patterns[index] = regexStr;
249
+ }
250
+ return 'pattern' + index;
251
+ }
252
+
253
+ function useDefault(value) {
254
+ switch (typeof value) {
255
+ case 'boolean':
256
+ case 'number':
257
+ return '' + value;
258
+ case 'string':
259
+ return util.toQuotedString(value);
260
+ case 'object':
261
+ if (value === null) return 'null';
262
+ var valueStr = stableStringify(value);
263
+ var index = defaultsHash[valueStr];
264
+ if (index === undefined) {
265
+ index = defaultsHash[valueStr] = defaults.length;
266
+ defaults[index] = value;
267
+ }
268
+ return 'default' + index;
269
+ }
270
+ }
271
+
272
+ function useCustomRule(rule, schema, parentSchema, it) {
273
+ var validateSchema = rule.definition.validateSchema;
274
+ if (validateSchema && self._opts.validateSchema !== false) {
275
+ var valid = validateSchema(schema);
276
+ if (!valid) {
277
+ var message = 'keyword schema is invalid: ' + self.errorsText(validateSchema.errors);
278
+ if (self._opts.validateSchema == 'log') console.error(message);
279
+ else throw new Error(message);
280
+ }
281
+ }
282
+
283
+ var compile = rule.definition.compile
284
+ , inline = rule.definition.inline
285
+ , macro = rule.definition.macro;
286
+
287
+ var validate;
288
+ if (compile) {
289
+ validate = compile.call(self, schema, parentSchema, it);
290
+ } else if (macro) {
291
+ validate = macro.call(self, schema, parentSchema, it);
292
+ if (opts.validateSchema !== false) self.validateSchema(validate, true);
293
+ } else if (inline) {
294
+ validate = inline.call(self, it, rule.keyword, schema, parentSchema);
295
+ } else {
296
+ validate = rule.definition.validate;
297
+ }
298
+
299
+ var index = customRules.length;
300
+ customRules[index] = validate;
301
+
302
+ return {
303
+ code: 'customRule' + index,
304
+ validate: validate
305
+ };
306
+ }
307
+ }
308
+
309
+
310
+ /**
311
+ * Checks if the schema is currently compiled
312
+ * @this Ajv
313
+ * @param {Object} schema schema to compile
314
+ * @param {Object} root root object
315
+ * @param {String} baseId base schema ID
316
+ * @return {Object} object with properties "index" (compilation index) and "compiling" (boolean)
317
+ */
318
+ function checkCompiling(schema, root, baseId) {
319
+ /* jshint validthis: true */
320
+ var index = compIndex.call(this, schema, root, baseId);
321
+ if (index >= 0) return { index: index, compiling: true };
322
+ index = this._compilations.length;
323
+ this._compilations[index] = {
324
+ schema: schema,
325
+ root: root,
326
+ baseId: baseId
327
+ };
328
+ return { index: index, compiling: false };
329
+ }
330
+
331
+
332
+ /**
333
+ * Removes the schema from the currently compiled list
334
+ * @this Ajv
335
+ * @param {Object} schema schema to compile
336
+ * @param {Object} root root object
337
+ * @param {String} baseId base schema ID
338
+ */
339
+ function endCompiling(schema, root, baseId) {
340
+ /* jshint validthis: true */
341
+ var i = compIndex.call(this, schema, root, baseId);
342
+ if (i >= 0) this._compilations.splice(i, 1);
343
+ }
344
+
345
+
346
+ /**
347
+ * Index of schema compilation in the currently compiled list
348
+ * @this Ajv
349
+ * @param {Object} schema schema to compile
350
+ * @param {Object} root root object
351
+ * @param {String} baseId base schema ID
352
+ * @return {Integer} compilation index
353
+ */
354
+ function compIndex(schema, root, baseId) {
355
+ /* jshint validthis: true */
356
+ for (var i=0; i<this._compilations.length; i++) {
357
+ var c = this._compilations[i];
358
+ if (c.schema == schema && c.root == root && c.baseId == baseId) return i;
359
+ }
360
+ return -1;
361
+ }
362
+
363
+
364
+ function patternCode(i, patterns) {
365
+ return 'var pattern' + i + ' = new RegExp(' + util.toQuotedString(patterns[i]) + ');';
366
+ }
367
+
368
+
369
+ function defaultCode(i) {
370
+ return 'var default' + i + ' = defaults[' + i + '];';
371
+ }
372
+
373
+
374
+ function refValCode(i, refVal) {
375
+ return refVal[i] ? 'var refVal' + i + ' = refVal[' + i + '];' : '';
376
+ }
377
+
378
+
379
+ function customRuleCode(i) {
380
+ return 'var customRule' + i + ' = customRules[' + i + '];';
381
+ }
382
+
383
+
384
+ function vars(arr, statement) {
385
+ if (!arr.length) return '';
386
+ var code = '';
387
+ for (var i=0; i<arr.length; i++)
388
+ code += statement(i, arr);
389
+ return code;
390
+ }
@@ -0,0 +1,267 @@
1
+ 'use strict';
2
+
3
+ var url = require('url')
4
+ , equal = require('./equal')
5
+ , util = require('./util')
6
+ , SchemaObject = require('./schema_obj');
7
+
8
+ module.exports = resolve;
9
+
10
+ resolve.normalizeId = normalizeId;
11
+ resolve.fullPath = getFullPath;
12
+ resolve.url = resolveUrl;
13
+ resolve.ids = resolveIds;
14
+ resolve.inlineRef = inlineRef;
15
+ resolve.schema = resolveSchema;
16
+
17
+ /**
18
+ * [resolve and compile the references ($ref)]
19
+ * @this Ajv
20
+ * @param {Function} compile reference to schema compilation funciton (localCompile)
21
+ * @param {Object} root object with information about the root schema for the current schema
22
+ * @param {String} ref reference to resolve
23
+ * @return {Object|Function} schema object (if the schema can be inlined) or validation function
24
+ */
25
+ function resolve(compile, root, ref) {
26
+ /* jshint validthis: true */
27
+ var refVal = this._refs[ref];
28
+ if (typeof refVal == 'string') {
29
+ if (this._refs[refVal]) refVal = this._refs[refVal];
30
+ else return resolve.call(this, compile, root, refVal);
31
+ }
32
+
33
+ refVal = refVal || this._schemas[ref];
34
+ if (refVal instanceof SchemaObject) {
35
+ return inlineRef(refVal.schema, this._opts.inlineRefs)
36
+ ? refVal.schema
37
+ : refVal.validate || this._compile(refVal);
38
+ }
39
+
40
+ var res = resolveSchema.call(this, root, ref);
41
+ var schema, v, baseId;
42
+ if (res) {
43
+ schema = res.schema;
44
+ root = res.root;
45
+ baseId = res.baseId;
46
+ }
47
+
48
+ if (schema instanceof SchemaObject) {
49
+ v = schema.validate || compile.call(this, schema.schema, root, undefined, baseId);
50
+ } else if (schema) {
51
+ v = inlineRef(schema, this._opts.inlineRefs)
52
+ ? schema
53
+ : compile.call(this, schema, root, undefined, baseId);
54
+ }
55
+
56
+ return v;
57
+ }
58
+
59
+
60
+ /**
61
+ * Resolve schema, its root and baseId
62
+ * @this Ajv
63
+ * @param {Object} root root object with properties schema, refVal, refs
64
+ * @param {String} ref reference to resolve
65
+ * @return {Object} object with properties schema, root, baseId
66
+ */
67
+ function resolveSchema(root, ref) {
68
+ /* jshint validthis: true */
69
+ var p = url.parse(ref, false, true)
70
+ , refPath = _getFullPath(p)
71
+ , baseId = getFullPath(root.schema.id);
72
+ if (refPath !== baseId) {
73
+ var id = normalizeId(refPath);
74
+ var refVal = this._refs[id];
75
+ if (typeof refVal == 'string') {
76
+ return resolveRecursive.call(this, root, refVal, p);
77
+ } else if (refVal instanceof SchemaObject) {
78
+ if (!refVal.validate) this._compile(refVal);
79
+ root = refVal;
80
+ } else {
81
+ refVal = this._schemas[id];
82
+ if (refVal instanceof SchemaObject) {
83
+ if (!refVal.validate) this._compile(refVal);
84
+ if (id == normalizeId(ref))
85
+ return { schema: refVal, root: root, baseId: baseId };
86
+ root = refVal;
87
+ } else {
88
+ return;
89
+ }
90
+ }
91
+ if (!root.schema) return;
92
+ baseId = getFullPath(root.schema.id);
93
+ }
94
+ return getJsonPointer.call(this, p, baseId, root.schema, root);
95
+ }
96
+
97
+
98
+ /* @this Ajv */
99
+ function resolveRecursive(root, ref, parsedRef) {
100
+ /* jshint validthis: true */
101
+ var res = resolveSchema.call(this, root, ref);
102
+ if (res) {
103
+ var schema = res.schema;
104
+ var baseId = res.baseId;
105
+ root = res.root;
106
+ if (schema.id) baseId = resolveUrl(baseId, schema.id);
107
+ return getJsonPointer.call(this, parsedRef, baseId, schema, root);
108
+ }
109
+ }
110
+
111
+
112
+ var PREVENT_SCOPE_CHANGE = util.toHash(['properties', 'patternProperties', 'enum', 'dependencies', 'definitions']);
113
+ /* @this Ajv */
114
+ function getJsonPointer(parsedRef, baseId, schema, root) {
115
+ /* jshint validthis: true */
116
+ parsedRef.hash = parsedRef.hash || '';
117
+ if (parsedRef.hash.slice(0,2) != '#/') return;
118
+ var parts = parsedRef.hash.split('/');
119
+
120
+ for (var i = 1; i < parts.length; i++) {
121
+ var part = parts[i];
122
+ if (part) {
123
+ part = util.unescapeFragment(part);
124
+ schema = schema[part];
125
+ if (!schema) break;
126
+ if (schema.id && !PREVENT_SCOPE_CHANGE[part]) baseId = resolveUrl(baseId, schema.id);
127
+ if (schema.$ref) {
128
+ var $ref = resolveUrl(baseId, schema.$ref);
129
+ var res = resolveSchema.call(this, root, $ref);
130
+ if (res) {
131
+ schema = res.schema;
132
+ root = res.root;
133
+ baseId = res.baseId;
134
+ }
135
+ }
136
+ }
137
+ }
138
+ if (schema && schema != root.schema)
139
+ return { schema: schema, root: root, baseId: baseId };
140
+ }
141
+
142
+
143
+ var SIMPLE_INLINED = util.toHash([
144
+ 'type', 'format', 'pattern',
145
+ 'maxLength', 'minLength',
146
+ 'maxProperties', 'minProperties',
147
+ 'maxItems', 'minItems',
148
+ 'maximum', 'minimum',
149
+ 'uniqueItems', 'multipleOf',
150
+ 'required', 'enum'
151
+ ]);
152
+ function inlineRef(schema, limit) {
153
+ if (limit === false) return false;
154
+ if (limit === undefined || limit === true) return checkNoRef(schema);
155
+ else if (limit) return countKeys(schema) <= limit;
156
+ }
157
+
158
+
159
+ function checkNoRef(schema) {
160
+ var item;
161
+ if (Array.isArray(schema)) {
162
+ for (var i=0; i<schema.length; i++) {
163
+ item = schema[i];
164
+ if (typeof item == 'object' && !checkNoRef(item)) return false;
165
+ }
166
+ } else {
167
+ for (var key in schema) {
168
+ if (key == '$ref') return false;
169
+ item = schema[key];
170
+ if (typeof item == 'object' && !checkNoRef(item)) return false;
171
+ }
172
+ }
173
+ return true;
174
+ }
175
+
176
+
177
+ function countKeys(schema) {
178
+ var count = 0, item;
179
+ if (Array.isArray(schema)) {
180
+ for (var i=0; i<schema.length; i++) {
181
+ item = schema[i];
182
+ if (typeof item == 'object') count += countKeys(item);
183
+ if (count == Infinity) return Infinity;
184
+ }
185
+ } else {
186
+ for (var key in schema) {
187
+ if (key == '$ref') return Infinity;
188
+ if (SIMPLE_INLINED[key]) {
189
+ count++;
190
+ } else {
191
+ item = schema[key];
192
+ if (typeof item == 'object') count += countKeys(item) + 1;
193
+ if (count == Infinity) return Infinity;
194
+ }
195
+ }
196
+ }
197
+ return count;
198
+ }
199
+
200
+
201
+ function getFullPath(id, normalize) {
202
+ if (normalize !== false) id = normalizeId(id);
203
+ var p = url.parse(id, false, true);
204
+ return _getFullPath(p);
205
+ }
206
+
207
+
208
+ function _getFullPath(p) {
209
+ var protocolSeparator = p.protocol || p.href.slice(0,2) == '//' ? '//' : '';
210
+ return (p.protocol||'') + protocolSeparator + (p.host||'') + (p.path||'') + '#';
211
+ }
212
+
213
+
214
+ var TRAILING_SLASH_HASH = /#\/?$/;
215
+ function normalizeId(id) {
216
+ return id ? id.replace(TRAILING_SLASH_HASH, '') : '';
217
+ }
218
+
219
+
220
+ function resolveUrl(baseId, id) {
221
+ id = normalizeId(id);
222
+ return url.resolve(baseId, id);
223
+ }
224
+
225
+
226
+ /* @this Ajv */
227
+ function resolveIds(schema) {
228
+ /* eslint no-shadow: 0 */
229
+ /* jshint validthis: true */
230
+ var id = normalizeId(schema.id);
231
+ var localRefs = {};
232
+ _resolveIds.call(this, schema, getFullPath(id, false), id);
233
+ return localRefs;
234
+
235
+ /* @this Ajv */
236
+ function _resolveIds(schema, fullPath, baseId) {
237
+ /* jshint validthis: true */
238
+ if (Array.isArray(schema)) {
239
+ for (var i=0; i<schema.length; i++)
240
+ _resolveIds.call(this, schema[i], fullPath+'/'+i, baseId);
241
+ } else if (schema && typeof schema == 'object') {
242
+ if (typeof schema.id == 'string') {
243
+ var id = baseId = baseId
244
+ ? url.resolve(baseId, schema.id)
245
+ : schema.id;
246
+ id = normalizeId(id);
247
+
248
+ var refVal = this._refs[id];
249
+ if (typeof refVal == 'string') refVal = this._refs[refVal];
250
+ if (refVal && refVal.schema) {
251
+ if (!equal(schema, refVal.schema))
252
+ throw new Error('id "' + id + '" resolves to more than one schema');
253
+ } else if (id != normalizeId(fullPath)) {
254
+ if (id[0] == '#') {
255
+ if (localRefs[id] && !equal(schema, localRefs[id]))
256
+ throw new Error('id "' + id + '" resolves to more than one schema');
257
+ localRefs[id] = schema;
258
+ } else {
259
+ this._refs[id] = fullPath;
260
+ }
261
+ }
262
+ }
263
+ for (var key in schema)
264
+ _resolveIds.call(this, schema[key], fullPath+'/'+util.escapeFragment(key), baseId);
265
+ }
266
+ }
267
+ }
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var ruleModules = require('./_rules')
4
+ , toHash = require('./util').toHash;
5
+
6
+ module.exports = function rules() {
7
+ var RULES = [
8
+ { type: 'number',
9
+ rules: [ 'maximum', 'minimum', 'multipleOf'] },
10
+ { type: 'string',
11
+ rules: [ 'maxLength', 'minLength', 'pattern', 'format' ] },
12
+ { type: 'array',
13
+ rules: [ 'maxItems', 'minItems', 'uniqueItems', 'items' ] },
14
+ { type: 'object',
15
+ rules: [ 'maxProperties', 'minProperties', 'required', 'dependencies', 'properties' ] },
16
+ { rules: [ '$ref', 'enum', 'not', 'anyOf', 'oneOf', 'allOf' ] }
17
+ ];
18
+
19
+ var ALL = [ 'type', 'additionalProperties', 'patternProperties' ];
20
+ var KEYWORDS = [ 'additionalItems', '$schema', 'id', 'title', 'description', 'default' ];
21
+ var TYPES = [ 'number', 'integer', 'string', 'array', 'object', 'boolean', 'null' ];
22
+ RULES.all = toHash(ALL);
23
+
24
+ RULES.forEach(function (group) {
25
+ group.rules = group.rules.map(function (keyword) {
26
+ ALL.push(keyword);
27
+ var rule = RULES.all[keyword] = {
28
+ keyword: keyword,
29
+ code: ruleModules[keyword]
30
+ };
31
+ return rule;
32
+ });
33
+ });
34
+
35
+ RULES.keywords = toHash(ALL.concat(KEYWORDS));
36
+ RULES.types = toHash(TYPES);
37
+ RULES.custom = {};
38
+
39
+ return RULES;
40
+ };
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var util = require('./util');
4
+
5
+ module.exports = SchemaObject;
6
+
7
+ function SchemaObject(obj) {
8
+ util.copy(obj, this);
9
+ }