ppi-sdk 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.
Files changed (703) hide show
  1. package/demo-ppi-system-fixed.js +76 -0
  2. package/examples/basic-usage.js +31 -0
  3. package/package.json +48 -0
  4. package/packages/ppi-sdk/compiler/ethereum-compiler.js +199 -0
  5. package/packages/ppi-sdk/core.js +69 -0
  6. package/packages/ppi-sdk/debug-primitive-methods.js +15 -0
  7. package/packages/ppi-sdk/fluent-api.js +367 -0
  8. package/packages/ppi-sdk/package.json +51 -0
  9. package/packages/ppi-sdk/src/index.js +95 -0
  10. package/packages/ppi-sdk/src/primitives/CONDITIONS.js +100 -0
  11. package/packages/ppi-sdk/src/primitives/ESCROW.js +143 -0
  12. package/packages/ppi-sdk/src/primitives/IF.js +67 -0
  13. package/packages/ppi-sdk/src/primitives/RECEIVE.js +62 -0
  14. package/packages/ppi-sdk/src/primitives/SCHEDULE.js +96 -0
  15. package/packages/ppi-sdk/src/primitives/SEND.js +65 -0
  16. package/packages/ppi-sdk/src/primitives/SPLIT.js +55 -0
  17. package/packages/ppi-sdk/src/primitives/STREAM.js +113 -0
  18. package/packages/ppi-sdk/src/primitives/VOTE.js +109 -0
  19. package/packages/ppi-sdk/src/types.js +26 -0
  20. package/packages/ppi-sdk/src/utils/index.js +30 -0
  21. package/packages/ppi-sdk/test-comprehensive.js +55 -0
  22. package/packages/ppi-sdk/test-debug.js +27 -0
  23. package/packages/ppi-sdk/test-final-launch.js +18 -0
  24. package/packages/ppi-sdk/test-final.js +62 -0
  25. package/packages/ppi-sdk/test-simple.js +43 -0
  26. package/packages/ppi-sdk/test-uppercase-fix.js +26 -0
  27. package/packages/ppi-sdk/utils/index.js +17 -0
  28. package/ppi-api/example-client.js +108 -0
  29. package/ppi-api/node_modules/.bin/mime +16 -0
  30. package/ppi-api/node_modules/.bin/mime.cmd +17 -0
  31. package/ppi-api/node_modules/.bin/mime.ps1 +28 -0
  32. package/ppi-api/node_modules/.package-lock.json +847 -0
  33. package/ppi-api/node_modules/accepts/HISTORY.md +243 -0
  34. package/ppi-api/node_modules/accepts/LICENSE +23 -0
  35. package/ppi-api/node_modules/accepts/README.md +140 -0
  36. package/ppi-api/node_modules/accepts/index.js +238 -0
  37. package/ppi-api/node_modules/accepts/package.json +47 -0
  38. package/ppi-api/node_modules/array-flatten/LICENSE +21 -0
  39. package/ppi-api/node_modules/array-flatten/README.md +43 -0
  40. package/ppi-api/node_modules/array-flatten/array-flatten.js +64 -0
  41. package/ppi-api/node_modules/array-flatten/package.json +39 -0
  42. package/ppi-api/node_modules/body-parser/HISTORY.md +672 -0
  43. package/ppi-api/node_modules/body-parser/LICENSE +23 -0
  44. package/ppi-api/node_modules/body-parser/README.md +476 -0
  45. package/ppi-api/node_modules/body-parser/SECURITY.md +25 -0
  46. package/ppi-api/node_modules/body-parser/index.js +156 -0
  47. package/ppi-api/node_modules/body-parser/lib/read.js +205 -0
  48. package/ppi-api/node_modules/body-parser/lib/types/json.js +247 -0
  49. package/ppi-api/node_modules/body-parser/lib/types/raw.js +101 -0
  50. package/ppi-api/node_modules/body-parser/lib/types/text.js +121 -0
  51. package/ppi-api/node_modules/body-parser/lib/types/urlencoded.js +307 -0
  52. package/ppi-api/node_modules/body-parser/package.json +56 -0
  53. package/ppi-api/node_modules/bytes/History.md +97 -0
  54. package/ppi-api/node_modules/bytes/LICENSE +23 -0
  55. package/ppi-api/node_modules/bytes/Readme.md +152 -0
  56. package/ppi-api/node_modules/bytes/index.js +170 -0
  57. package/ppi-api/node_modules/bytes/package.json +42 -0
  58. package/ppi-api/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  59. package/ppi-api/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  60. package/ppi-api/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  61. package/ppi-api/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  62. package/ppi-api/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  63. package/ppi-api/node_modules/call-bind-apply-helpers/README.md +62 -0
  64. package/ppi-api/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  65. package/ppi-api/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  66. package/ppi-api/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  67. package/ppi-api/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  68. package/ppi-api/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  69. package/ppi-api/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  70. package/ppi-api/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  71. package/ppi-api/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  72. package/ppi-api/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  73. package/ppi-api/node_modules/call-bind-apply-helpers/index.js +15 -0
  74. package/ppi-api/node_modules/call-bind-apply-helpers/package.json +85 -0
  75. package/ppi-api/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  76. package/ppi-api/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  77. package/ppi-api/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  78. package/ppi-api/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  79. package/ppi-api/node_modules/call-bound/.eslintrc +13 -0
  80. package/ppi-api/node_modules/call-bound/.github/FUNDING.yml +12 -0
  81. package/ppi-api/node_modules/call-bound/.nycrc +9 -0
  82. package/ppi-api/node_modules/call-bound/CHANGELOG.md +42 -0
  83. package/ppi-api/node_modules/call-bound/LICENSE +21 -0
  84. package/ppi-api/node_modules/call-bound/README.md +53 -0
  85. package/ppi-api/node_modules/call-bound/index.d.ts +94 -0
  86. package/ppi-api/node_modules/call-bound/index.js +19 -0
  87. package/ppi-api/node_modules/call-bound/package.json +99 -0
  88. package/ppi-api/node_modules/call-bound/test/index.js +61 -0
  89. package/ppi-api/node_modules/call-bound/tsconfig.json +10 -0
  90. package/ppi-api/node_modules/content-disposition/HISTORY.md +60 -0
  91. package/ppi-api/node_modules/content-disposition/LICENSE +22 -0
  92. package/ppi-api/node_modules/content-disposition/README.md +142 -0
  93. package/ppi-api/node_modules/content-disposition/index.js +458 -0
  94. package/ppi-api/node_modules/content-disposition/package.json +44 -0
  95. package/ppi-api/node_modules/content-type/HISTORY.md +29 -0
  96. package/ppi-api/node_modules/content-type/LICENSE +22 -0
  97. package/ppi-api/node_modules/content-type/README.md +94 -0
  98. package/ppi-api/node_modules/content-type/index.js +225 -0
  99. package/ppi-api/node_modules/content-type/package.json +42 -0
  100. package/ppi-api/node_modules/cookie/LICENSE +24 -0
  101. package/ppi-api/node_modules/cookie/README.md +317 -0
  102. package/ppi-api/node_modules/cookie/SECURITY.md +25 -0
  103. package/ppi-api/node_modules/cookie/index.js +334 -0
  104. package/ppi-api/node_modules/cookie/package.json +44 -0
  105. package/ppi-api/node_modules/cookie-signature/History.md +38 -0
  106. package/ppi-api/node_modules/cookie-signature/Readme.md +42 -0
  107. package/ppi-api/node_modules/cookie-signature/index.js +51 -0
  108. package/ppi-api/node_modules/cookie-signature/package.json +18 -0
  109. package/ppi-api/node_modules/cors/CONTRIBUTING.md +33 -0
  110. package/ppi-api/node_modules/cors/HISTORY.md +58 -0
  111. package/ppi-api/node_modules/cors/LICENSE +22 -0
  112. package/ppi-api/node_modules/cors/README.md +243 -0
  113. package/ppi-api/node_modules/cors/lib/index.js +238 -0
  114. package/ppi-api/node_modules/cors/package.json +41 -0
  115. package/ppi-api/node_modules/debug/.coveralls.yml +1 -0
  116. package/ppi-api/node_modules/debug/.eslintrc +11 -0
  117. package/ppi-api/node_modules/debug/.travis.yml +14 -0
  118. package/ppi-api/node_modules/debug/CHANGELOG.md +362 -0
  119. package/ppi-api/node_modules/debug/LICENSE +19 -0
  120. package/ppi-api/node_modules/debug/Makefile +50 -0
  121. package/ppi-api/node_modules/debug/README.md +312 -0
  122. package/ppi-api/node_modules/debug/component.json +19 -0
  123. package/ppi-api/node_modules/debug/karma.conf.js +70 -0
  124. package/ppi-api/node_modules/debug/node.js +1 -0
  125. package/ppi-api/node_modules/debug/package.json +49 -0
  126. package/ppi-api/node_modules/debug/src/browser.js +185 -0
  127. package/ppi-api/node_modules/debug/src/debug.js +202 -0
  128. package/ppi-api/node_modules/debug/src/index.js +10 -0
  129. package/ppi-api/node_modules/debug/src/inspector-log.js +15 -0
  130. package/ppi-api/node_modules/debug/src/node.js +248 -0
  131. package/ppi-api/node_modules/depd/History.md +103 -0
  132. package/ppi-api/node_modules/depd/LICENSE +22 -0
  133. package/ppi-api/node_modules/depd/Readme.md +280 -0
  134. package/ppi-api/node_modules/depd/index.js +538 -0
  135. package/ppi-api/node_modules/depd/lib/browser/index.js +77 -0
  136. package/ppi-api/node_modules/depd/package.json +45 -0
  137. package/ppi-api/node_modules/destroy/LICENSE +23 -0
  138. package/ppi-api/node_modules/destroy/README.md +63 -0
  139. package/ppi-api/node_modules/destroy/index.js +209 -0
  140. package/ppi-api/node_modules/destroy/package.json +48 -0
  141. package/ppi-api/node_modules/dunder-proto/.eslintrc +5 -0
  142. package/ppi-api/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  143. package/ppi-api/node_modules/dunder-proto/.nycrc +13 -0
  144. package/ppi-api/node_modules/dunder-proto/CHANGELOG.md +24 -0
  145. package/ppi-api/node_modules/dunder-proto/LICENSE +21 -0
  146. package/ppi-api/node_modules/dunder-proto/README.md +54 -0
  147. package/ppi-api/node_modules/dunder-proto/get.d.ts +5 -0
  148. package/ppi-api/node_modules/dunder-proto/get.js +30 -0
  149. package/ppi-api/node_modules/dunder-proto/package.json +76 -0
  150. package/ppi-api/node_modules/dunder-proto/set.d.ts +5 -0
  151. package/ppi-api/node_modules/dunder-proto/set.js +35 -0
  152. package/ppi-api/node_modules/dunder-proto/test/get.js +34 -0
  153. package/ppi-api/node_modules/dunder-proto/test/index.js +4 -0
  154. package/ppi-api/node_modules/dunder-proto/test/set.js +50 -0
  155. package/ppi-api/node_modules/dunder-proto/tsconfig.json +9 -0
  156. package/ppi-api/node_modules/ee-first/LICENSE +22 -0
  157. package/ppi-api/node_modules/ee-first/README.md +80 -0
  158. package/ppi-api/node_modules/ee-first/index.js +95 -0
  159. package/ppi-api/node_modules/ee-first/package.json +29 -0
  160. package/ppi-api/node_modules/encodeurl/LICENSE +22 -0
  161. package/ppi-api/node_modules/encodeurl/README.md +109 -0
  162. package/ppi-api/node_modules/encodeurl/index.js +60 -0
  163. package/ppi-api/node_modules/encodeurl/package.json +40 -0
  164. package/ppi-api/node_modules/es-define-property/.eslintrc +13 -0
  165. package/ppi-api/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  166. package/ppi-api/node_modules/es-define-property/.nycrc +9 -0
  167. package/ppi-api/node_modules/es-define-property/CHANGELOG.md +29 -0
  168. package/ppi-api/node_modules/es-define-property/LICENSE +21 -0
  169. package/ppi-api/node_modules/es-define-property/README.md +49 -0
  170. package/ppi-api/node_modules/es-define-property/index.d.ts +3 -0
  171. package/ppi-api/node_modules/es-define-property/index.js +14 -0
  172. package/ppi-api/node_modules/es-define-property/package.json +81 -0
  173. package/ppi-api/node_modules/es-define-property/test/index.js +56 -0
  174. package/ppi-api/node_modules/es-define-property/tsconfig.json +10 -0
  175. package/ppi-api/node_modules/es-errors/.eslintrc +5 -0
  176. package/ppi-api/node_modules/es-errors/.github/FUNDING.yml +12 -0
  177. package/ppi-api/node_modules/es-errors/CHANGELOG.md +40 -0
  178. package/ppi-api/node_modules/es-errors/LICENSE +21 -0
  179. package/ppi-api/node_modules/es-errors/README.md +55 -0
  180. package/ppi-api/node_modules/es-errors/eval.d.ts +3 -0
  181. package/ppi-api/node_modules/es-errors/eval.js +4 -0
  182. package/ppi-api/node_modules/es-errors/index.d.ts +3 -0
  183. package/ppi-api/node_modules/es-errors/index.js +4 -0
  184. package/ppi-api/node_modules/es-errors/package.json +80 -0
  185. package/ppi-api/node_modules/es-errors/range.d.ts +3 -0
  186. package/ppi-api/node_modules/es-errors/range.js +4 -0
  187. package/ppi-api/node_modules/es-errors/ref.d.ts +3 -0
  188. package/ppi-api/node_modules/es-errors/ref.js +4 -0
  189. package/ppi-api/node_modules/es-errors/syntax.d.ts +3 -0
  190. package/ppi-api/node_modules/es-errors/syntax.js +4 -0
  191. package/ppi-api/node_modules/es-errors/test/index.js +19 -0
  192. package/ppi-api/node_modules/es-errors/tsconfig.json +49 -0
  193. package/ppi-api/node_modules/es-errors/type.d.ts +3 -0
  194. package/ppi-api/node_modules/es-errors/type.js +4 -0
  195. package/ppi-api/node_modules/es-errors/uri.d.ts +3 -0
  196. package/ppi-api/node_modules/es-errors/uri.js +4 -0
  197. package/ppi-api/node_modules/es-object-atoms/.eslintrc +16 -0
  198. package/ppi-api/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  199. package/ppi-api/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  200. package/ppi-api/node_modules/es-object-atoms/LICENSE +21 -0
  201. package/ppi-api/node_modules/es-object-atoms/README.md +63 -0
  202. package/ppi-api/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  203. package/ppi-api/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  204. package/ppi-api/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  205. package/ppi-api/node_modules/es-object-atoms/ToObject.js +10 -0
  206. package/ppi-api/node_modules/es-object-atoms/index.d.ts +3 -0
  207. package/ppi-api/node_modules/es-object-atoms/index.js +4 -0
  208. package/ppi-api/node_modules/es-object-atoms/isObject.d.ts +3 -0
  209. package/ppi-api/node_modules/es-object-atoms/isObject.js +6 -0
  210. package/ppi-api/node_modules/es-object-atoms/package.json +80 -0
  211. package/ppi-api/node_modules/es-object-atoms/test/index.js +38 -0
  212. package/ppi-api/node_modules/es-object-atoms/tsconfig.json +6 -0
  213. package/ppi-api/node_modules/escape-html/LICENSE +24 -0
  214. package/ppi-api/node_modules/escape-html/Readme.md +43 -0
  215. package/ppi-api/node_modules/escape-html/index.js +78 -0
  216. package/ppi-api/node_modules/escape-html/package.json +24 -0
  217. package/ppi-api/node_modules/etag/HISTORY.md +83 -0
  218. package/ppi-api/node_modules/etag/LICENSE +22 -0
  219. package/ppi-api/node_modules/etag/README.md +159 -0
  220. package/ppi-api/node_modules/etag/index.js +131 -0
  221. package/ppi-api/node_modules/etag/package.json +47 -0
  222. package/ppi-api/node_modules/express/History.md +3656 -0
  223. package/ppi-api/node_modules/express/LICENSE +24 -0
  224. package/ppi-api/node_modules/express/Readme.md +260 -0
  225. package/ppi-api/node_modules/express/index.js +11 -0
  226. package/ppi-api/node_modules/express/lib/application.js +661 -0
  227. package/ppi-api/node_modules/express/lib/express.js +116 -0
  228. package/ppi-api/node_modules/express/lib/middleware/init.js +43 -0
  229. package/ppi-api/node_modules/express/lib/middleware/query.js +47 -0
  230. package/ppi-api/node_modules/express/lib/request.js +525 -0
  231. package/ppi-api/node_modules/express/lib/response.js +1179 -0
  232. package/ppi-api/node_modules/express/lib/router/index.js +673 -0
  233. package/ppi-api/node_modules/express/lib/router/layer.js +181 -0
  234. package/ppi-api/node_modules/express/lib/router/route.js +230 -0
  235. package/ppi-api/node_modules/express/lib/utils.js +303 -0
  236. package/ppi-api/node_modules/express/lib/view.js +182 -0
  237. package/ppi-api/node_modules/express/package.json +102 -0
  238. package/ppi-api/node_modules/finalhandler/HISTORY.md +210 -0
  239. package/ppi-api/node_modules/finalhandler/LICENSE +22 -0
  240. package/ppi-api/node_modules/finalhandler/README.md +147 -0
  241. package/ppi-api/node_modules/finalhandler/SECURITY.md +25 -0
  242. package/ppi-api/node_modules/finalhandler/index.js +341 -0
  243. package/ppi-api/node_modules/finalhandler/package.json +47 -0
  244. package/ppi-api/node_modules/forwarded/HISTORY.md +21 -0
  245. package/ppi-api/node_modules/forwarded/LICENSE +22 -0
  246. package/ppi-api/node_modules/forwarded/README.md +57 -0
  247. package/ppi-api/node_modules/forwarded/index.js +90 -0
  248. package/ppi-api/node_modules/forwarded/package.json +45 -0
  249. package/ppi-api/node_modules/fresh/HISTORY.md +70 -0
  250. package/ppi-api/node_modules/fresh/LICENSE +23 -0
  251. package/ppi-api/node_modules/fresh/README.md +119 -0
  252. package/ppi-api/node_modules/fresh/index.js +137 -0
  253. package/ppi-api/node_modules/fresh/package.json +46 -0
  254. package/ppi-api/node_modules/function-bind/.eslintrc +21 -0
  255. package/ppi-api/node_modules/function-bind/.github/FUNDING.yml +12 -0
  256. package/ppi-api/node_modules/function-bind/.github/SECURITY.md +3 -0
  257. package/ppi-api/node_modules/function-bind/.nycrc +13 -0
  258. package/ppi-api/node_modules/function-bind/CHANGELOG.md +136 -0
  259. package/ppi-api/node_modules/function-bind/LICENSE +20 -0
  260. package/ppi-api/node_modules/function-bind/README.md +46 -0
  261. package/ppi-api/node_modules/function-bind/implementation.js +84 -0
  262. package/ppi-api/node_modules/function-bind/index.js +5 -0
  263. package/ppi-api/node_modules/function-bind/package.json +87 -0
  264. package/ppi-api/node_modules/function-bind/test/.eslintrc +9 -0
  265. package/ppi-api/node_modules/function-bind/test/index.js +252 -0
  266. package/ppi-api/node_modules/get-intrinsic/.eslintrc +42 -0
  267. package/ppi-api/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  268. package/ppi-api/node_modules/get-intrinsic/.nycrc +9 -0
  269. package/ppi-api/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  270. package/ppi-api/node_modules/get-intrinsic/LICENSE +21 -0
  271. package/ppi-api/node_modules/get-intrinsic/README.md +71 -0
  272. package/ppi-api/node_modules/get-intrinsic/index.js +378 -0
  273. package/ppi-api/node_modules/get-intrinsic/package.json +97 -0
  274. package/ppi-api/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  275. package/ppi-api/node_modules/get-proto/.eslintrc +10 -0
  276. package/ppi-api/node_modules/get-proto/.github/FUNDING.yml +12 -0
  277. package/ppi-api/node_modules/get-proto/.nycrc +9 -0
  278. package/ppi-api/node_modules/get-proto/CHANGELOG.md +21 -0
  279. package/ppi-api/node_modules/get-proto/LICENSE +21 -0
  280. package/ppi-api/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  281. package/ppi-api/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  282. package/ppi-api/node_modules/get-proto/README.md +50 -0
  283. package/ppi-api/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  284. package/ppi-api/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  285. package/ppi-api/node_modules/get-proto/index.d.ts +5 -0
  286. package/ppi-api/node_modules/get-proto/index.js +27 -0
  287. package/ppi-api/node_modules/get-proto/package.json +81 -0
  288. package/ppi-api/node_modules/get-proto/test/index.js +68 -0
  289. package/ppi-api/node_modules/get-proto/tsconfig.json +9 -0
  290. package/ppi-api/node_modules/gopd/.eslintrc +16 -0
  291. package/ppi-api/node_modules/gopd/.github/FUNDING.yml +12 -0
  292. package/ppi-api/node_modules/gopd/CHANGELOG.md +45 -0
  293. package/ppi-api/node_modules/gopd/LICENSE +21 -0
  294. package/ppi-api/node_modules/gopd/README.md +40 -0
  295. package/ppi-api/node_modules/gopd/gOPD.d.ts +1 -0
  296. package/ppi-api/node_modules/gopd/gOPD.js +4 -0
  297. package/ppi-api/node_modules/gopd/index.d.ts +5 -0
  298. package/ppi-api/node_modules/gopd/index.js +15 -0
  299. package/ppi-api/node_modules/gopd/package.json +77 -0
  300. package/ppi-api/node_modules/gopd/test/index.js +36 -0
  301. package/ppi-api/node_modules/gopd/tsconfig.json +9 -0
  302. package/ppi-api/node_modules/has-symbols/.eslintrc +11 -0
  303. package/ppi-api/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  304. package/ppi-api/node_modules/has-symbols/.nycrc +9 -0
  305. package/ppi-api/node_modules/has-symbols/CHANGELOG.md +91 -0
  306. package/ppi-api/node_modules/has-symbols/LICENSE +21 -0
  307. package/ppi-api/node_modules/has-symbols/README.md +46 -0
  308. package/ppi-api/node_modules/has-symbols/index.d.ts +3 -0
  309. package/ppi-api/node_modules/has-symbols/index.js +14 -0
  310. package/ppi-api/node_modules/has-symbols/package.json +111 -0
  311. package/ppi-api/node_modules/has-symbols/shams.d.ts +3 -0
  312. package/ppi-api/node_modules/has-symbols/shams.js +45 -0
  313. package/ppi-api/node_modules/has-symbols/test/index.js +22 -0
  314. package/ppi-api/node_modules/has-symbols/test/shams/core-js.js +29 -0
  315. package/ppi-api/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  316. package/ppi-api/node_modules/has-symbols/test/tests.js +58 -0
  317. package/ppi-api/node_modules/has-symbols/tsconfig.json +10 -0
  318. package/ppi-api/node_modules/hasown/.eslintrc +5 -0
  319. package/ppi-api/node_modules/hasown/.github/FUNDING.yml +12 -0
  320. package/ppi-api/node_modules/hasown/.nycrc +13 -0
  321. package/ppi-api/node_modules/hasown/CHANGELOG.md +40 -0
  322. package/ppi-api/node_modules/hasown/LICENSE +21 -0
  323. package/ppi-api/node_modules/hasown/README.md +40 -0
  324. package/ppi-api/node_modules/hasown/index.d.ts +3 -0
  325. package/ppi-api/node_modules/hasown/index.js +8 -0
  326. package/ppi-api/node_modules/hasown/package.json +92 -0
  327. package/ppi-api/node_modules/hasown/tsconfig.json +6 -0
  328. package/ppi-api/node_modules/http-errors/HISTORY.md +180 -0
  329. package/ppi-api/node_modules/http-errors/LICENSE +23 -0
  330. package/ppi-api/node_modules/http-errors/README.md +169 -0
  331. package/ppi-api/node_modules/http-errors/index.js +289 -0
  332. package/ppi-api/node_modules/http-errors/package.json +50 -0
  333. package/ppi-api/node_modules/iconv-lite/Changelog.md +162 -0
  334. package/ppi-api/node_modules/iconv-lite/LICENSE +21 -0
  335. package/ppi-api/node_modules/iconv-lite/README.md +156 -0
  336. package/ppi-api/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  337. package/ppi-api/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  338. package/ppi-api/node_modules/iconv-lite/encodings/index.js +22 -0
  339. package/ppi-api/node_modules/iconv-lite/encodings/internal.js +188 -0
  340. package/ppi-api/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  341. package/ppi-api/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  342. package/ppi-api/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  343. package/ppi-api/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  344. package/ppi-api/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  345. package/ppi-api/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  346. package/ppi-api/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  347. package/ppi-api/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  348. package/ppi-api/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  349. package/ppi-api/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  350. package/ppi-api/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  351. package/ppi-api/node_modules/iconv-lite/encodings/utf16.js +177 -0
  352. package/ppi-api/node_modules/iconv-lite/encodings/utf7.js +290 -0
  353. package/ppi-api/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  354. package/ppi-api/node_modules/iconv-lite/lib/extend-node.js +217 -0
  355. package/ppi-api/node_modules/iconv-lite/lib/index.d.ts +24 -0
  356. package/ppi-api/node_modules/iconv-lite/lib/index.js +153 -0
  357. package/ppi-api/node_modules/iconv-lite/lib/streams.js +121 -0
  358. package/ppi-api/node_modules/iconv-lite/package.json +46 -0
  359. package/ppi-api/node_modules/inherits/LICENSE +16 -0
  360. package/ppi-api/node_modules/inherits/README.md +42 -0
  361. package/ppi-api/node_modules/inherits/inherits.js +9 -0
  362. package/ppi-api/node_modules/inherits/inherits_browser.js +27 -0
  363. package/ppi-api/node_modules/inherits/package.json +29 -0
  364. package/ppi-api/node_modules/ipaddr.js/LICENSE +19 -0
  365. package/ppi-api/node_modules/ipaddr.js/README.md +233 -0
  366. package/ppi-api/node_modules/ipaddr.js/ipaddr.min.js +1 -0
  367. package/ppi-api/node_modules/ipaddr.js/lib/ipaddr.js +673 -0
  368. package/ppi-api/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +68 -0
  369. package/ppi-api/node_modules/ipaddr.js/package.json +35 -0
  370. package/ppi-api/node_modules/math-intrinsics/.eslintrc +16 -0
  371. package/ppi-api/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  372. package/ppi-api/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  373. package/ppi-api/node_modules/math-intrinsics/LICENSE +21 -0
  374. package/ppi-api/node_modules/math-intrinsics/README.md +50 -0
  375. package/ppi-api/node_modules/math-intrinsics/abs.d.ts +1 -0
  376. package/ppi-api/node_modules/math-intrinsics/abs.js +4 -0
  377. package/ppi-api/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  378. package/ppi-api/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  379. package/ppi-api/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  380. package/ppi-api/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  381. package/ppi-api/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  382. package/ppi-api/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  383. package/ppi-api/node_modules/math-intrinsics/floor.d.ts +1 -0
  384. package/ppi-api/node_modules/math-intrinsics/floor.js +4 -0
  385. package/ppi-api/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  386. package/ppi-api/node_modules/math-intrinsics/isFinite.js +12 -0
  387. package/ppi-api/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  388. package/ppi-api/node_modules/math-intrinsics/isInteger.js +16 -0
  389. package/ppi-api/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  390. package/ppi-api/node_modules/math-intrinsics/isNaN.js +6 -0
  391. package/ppi-api/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  392. package/ppi-api/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  393. package/ppi-api/node_modules/math-intrinsics/max.d.ts +1 -0
  394. package/ppi-api/node_modules/math-intrinsics/max.js +4 -0
  395. package/ppi-api/node_modules/math-intrinsics/min.d.ts +1 -0
  396. package/ppi-api/node_modules/math-intrinsics/min.js +4 -0
  397. package/ppi-api/node_modules/math-intrinsics/mod.d.ts +3 -0
  398. package/ppi-api/node_modules/math-intrinsics/mod.js +9 -0
  399. package/ppi-api/node_modules/math-intrinsics/package.json +86 -0
  400. package/ppi-api/node_modules/math-intrinsics/pow.d.ts +1 -0
  401. package/ppi-api/node_modules/math-intrinsics/pow.js +4 -0
  402. package/ppi-api/node_modules/math-intrinsics/round.d.ts +1 -0
  403. package/ppi-api/node_modules/math-intrinsics/round.js +4 -0
  404. package/ppi-api/node_modules/math-intrinsics/sign.d.ts +3 -0
  405. package/ppi-api/node_modules/math-intrinsics/sign.js +11 -0
  406. package/ppi-api/node_modules/math-intrinsics/test/index.js +192 -0
  407. package/ppi-api/node_modules/math-intrinsics/tsconfig.json +3 -0
  408. package/ppi-api/node_modules/media-typer/HISTORY.md +22 -0
  409. package/ppi-api/node_modules/media-typer/LICENSE +22 -0
  410. package/ppi-api/node_modules/media-typer/README.md +81 -0
  411. package/ppi-api/node_modules/media-typer/index.js +270 -0
  412. package/ppi-api/node_modules/media-typer/package.json +26 -0
  413. package/ppi-api/node_modules/merge-descriptors/HISTORY.md +21 -0
  414. package/ppi-api/node_modules/merge-descriptors/LICENSE +23 -0
  415. package/ppi-api/node_modules/merge-descriptors/README.md +49 -0
  416. package/ppi-api/node_modules/merge-descriptors/index.js +60 -0
  417. package/ppi-api/node_modules/merge-descriptors/package.json +39 -0
  418. package/ppi-api/node_modules/methods/HISTORY.md +29 -0
  419. package/ppi-api/node_modules/methods/LICENSE +24 -0
  420. package/ppi-api/node_modules/methods/README.md +51 -0
  421. package/ppi-api/node_modules/methods/index.js +69 -0
  422. package/ppi-api/node_modules/methods/package.json +36 -0
  423. package/ppi-api/node_modules/mime/CHANGELOG.md +164 -0
  424. package/ppi-api/node_modules/mime/LICENSE +21 -0
  425. package/ppi-api/node_modules/mime/README.md +90 -0
  426. package/ppi-api/node_modules/mime/cli.js +8 -0
  427. package/ppi-api/node_modules/mime/mime.js +108 -0
  428. package/ppi-api/node_modules/mime/package.json +44 -0
  429. package/ppi-api/node_modules/mime/src/build.js +53 -0
  430. package/ppi-api/node_modules/mime/src/test.js +60 -0
  431. package/ppi-api/node_modules/mime/types.json +1 -0
  432. package/ppi-api/node_modules/mime-db/HISTORY.md +507 -0
  433. package/ppi-api/node_modules/mime-db/LICENSE +23 -0
  434. package/ppi-api/node_modules/mime-db/README.md +100 -0
  435. package/ppi-api/node_modules/mime-db/db.json +8519 -0
  436. package/ppi-api/node_modules/mime-db/index.js +12 -0
  437. package/ppi-api/node_modules/mime-db/package.json +60 -0
  438. package/ppi-api/node_modules/mime-types/HISTORY.md +397 -0
  439. package/ppi-api/node_modules/mime-types/LICENSE +23 -0
  440. package/ppi-api/node_modules/mime-types/README.md +113 -0
  441. package/ppi-api/node_modules/mime-types/index.js +188 -0
  442. package/ppi-api/node_modules/mime-types/package.json +44 -0
  443. package/ppi-api/node_modules/ms/index.js +152 -0
  444. package/ppi-api/node_modules/ms/license.md +21 -0
  445. package/ppi-api/node_modules/ms/package.json +37 -0
  446. package/ppi-api/node_modules/ms/readme.md +51 -0
  447. package/ppi-api/node_modules/negotiator/HISTORY.md +108 -0
  448. package/ppi-api/node_modules/negotiator/LICENSE +24 -0
  449. package/ppi-api/node_modules/negotiator/README.md +203 -0
  450. package/ppi-api/node_modules/negotiator/index.js +82 -0
  451. package/ppi-api/node_modules/negotiator/lib/charset.js +169 -0
  452. package/ppi-api/node_modules/negotiator/lib/encoding.js +184 -0
  453. package/ppi-api/node_modules/negotiator/lib/language.js +179 -0
  454. package/ppi-api/node_modules/negotiator/lib/mediaType.js +294 -0
  455. package/ppi-api/node_modules/negotiator/package.json +42 -0
  456. package/ppi-api/node_modules/object-assign/index.js +90 -0
  457. package/ppi-api/node_modules/object-assign/license +21 -0
  458. package/ppi-api/node_modules/object-assign/package.json +42 -0
  459. package/ppi-api/node_modules/object-assign/readme.md +61 -0
  460. package/ppi-api/node_modules/object-inspect/.eslintrc +53 -0
  461. package/ppi-api/node_modules/object-inspect/.github/FUNDING.yml +12 -0
  462. package/ppi-api/node_modules/object-inspect/.nycrc +13 -0
  463. package/ppi-api/node_modules/object-inspect/CHANGELOG.md +424 -0
  464. package/ppi-api/node_modules/object-inspect/LICENSE +21 -0
  465. package/ppi-api/node_modules/object-inspect/example/all.js +23 -0
  466. package/ppi-api/node_modules/object-inspect/example/circular.js +6 -0
  467. package/ppi-api/node_modules/object-inspect/example/fn.js +5 -0
  468. package/ppi-api/node_modules/object-inspect/example/inspect.js +10 -0
  469. package/ppi-api/node_modules/object-inspect/index.js +544 -0
  470. package/ppi-api/node_modules/object-inspect/package-support.json +20 -0
  471. package/ppi-api/node_modules/object-inspect/package.json +105 -0
  472. package/ppi-api/node_modules/object-inspect/readme.markdown +84 -0
  473. package/ppi-api/node_modules/object-inspect/test/bigint.js +58 -0
  474. package/ppi-api/node_modules/object-inspect/test/browser/dom.js +15 -0
  475. package/ppi-api/node_modules/object-inspect/test/circular.js +16 -0
  476. package/ppi-api/node_modules/object-inspect/test/deep.js +12 -0
  477. package/ppi-api/node_modules/object-inspect/test/element.js +53 -0
  478. package/ppi-api/node_modules/object-inspect/test/err.js +48 -0
  479. package/ppi-api/node_modules/object-inspect/test/fakes.js +29 -0
  480. package/ppi-api/node_modules/object-inspect/test/fn.js +76 -0
  481. package/ppi-api/node_modules/object-inspect/test/global.js +17 -0
  482. package/ppi-api/node_modules/object-inspect/test/has.js +15 -0
  483. package/ppi-api/node_modules/object-inspect/test/holes.js +15 -0
  484. package/ppi-api/node_modules/object-inspect/test/indent-option.js +271 -0
  485. package/ppi-api/node_modules/object-inspect/test/inspect.js +139 -0
  486. package/ppi-api/node_modules/object-inspect/test/lowbyte.js +12 -0
  487. package/ppi-api/node_modules/object-inspect/test/number.js +58 -0
  488. package/ppi-api/node_modules/object-inspect/test/quoteStyle.js +26 -0
  489. package/ppi-api/node_modules/object-inspect/test/toStringTag.js +40 -0
  490. package/ppi-api/node_modules/object-inspect/test/undef.js +12 -0
  491. package/ppi-api/node_modules/object-inspect/test/values.js +261 -0
  492. package/ppi-api/node_modules/object-inspect/test-core-js.js +26 -0
  493. package/ppi-api/node_modules/object-inspect/util.inspect.js +1 -0
  494. package/ppi-api/node_modules/on-finished/HISTORY.md +98 -0
  495. package/ppi-api/node_modules/on-finished/LICENSE +23 -0
  496. package/ppi-api/node_modules/on-finished/README.md +162 -0
  497. package/ppi-api/node_modules/on-finished/index.js +234 -0
  498. package/ppi-api/node_modules/on-finished/package.json +39 -0
  499. package/ppi-api/node_modules/parseurl/HISTORY.md +58 -0
  500. package/ppi-api/node_modules/parseurl/LICENSE +24 -0
  501. package/ppi-api/node_modules/parseurl/README.md +133 -0
  502. package/ppi-api/node_modules/parseurl/index.js +158 -0
  503. package/ppi-api/node_modules/parseurl/package.json +40 -0
  504. package/ppi-api/node_modules/path-to-regexp/LICENSE +21 -0
  505. package/ppi-api/node_modules/path-to-regexp/Readme.md +35 -0
  506. package/ppi-api/node_modules/path-to-regexp/index.js +156 -0
  507. package/ppi-api/node_modules/path-to-regexp/package.json +30 -0
  508. package/ppi-api/node_modules/proxy-addr/HISTORY.md +161 -0
  509. package/ppi-api/node_modules/proxy-addr/LICENSE +22 -0
  510. package/ppi-api/node_modules/proxy-addr/README.md +139 -0
  511. package/ppi-api/node_modules/proxy-addr/index.js +327 -0
  512. package/ppi-api/node_modules/proxy-addr/package.json +47 -0
  513. package/ppi-api/node_modules/qs/.editorconfig +46 -0
  514. package/ppi-api/node_modules/qs/.eslintrc +38 -0
  515. package/ppi-api/node_modules/qs/.github/FUNDING.yml +12 -0
  516. package/ppi-api/node_modules/qs/.nycrc +13 -0
  517. package/ppi-api/node_modules/qs/CHANGELOG.md +600 -0
  518. package/ppi-api/node_modules/qs/LICENSE.md +29 -0
  519. package/ppi-api/node_modules/qs/README.md +709 -0
  520. package/ppi-api/node_modules/qs/dist/qs.js +90 -0
  521. package/ppi-api/node_modules/qs/lib/formats.js +23 -0
  522. package/ppi-api/node_modules/qs/lib/index.js +11 -0
  523. package/ppi-api/node_modules/qs/lib/parse.js +296 -0
  524. package/ppi-api/node_modules/qs/lib/stringify.js +351 -0
  525. package/ppi-api/node_modules/qs/lib/utils.js +265 -0
  526. package/ppi-api/node_modules/qs/package.json +91 -0
  527. package/ppi-api/node_modules/qs/test/empty-keys-cases.js +267 -0
  528. package/ppi-api/node_modules/qs/test/parse.js +1170 -0
  529. package/ppi-api/node_modules/qs/test/stringify.js +1298 -0
  530. package/ppi-api/node_modules/qs/test/utils.js +136 -0
  531. package/ppi-api/node_modules/range-parser/HISTORY.md +56 -0
  532. package/ppi-api/node_modules/range-parser/LICENSE +23 -0
  533. package/ppi-api/node_modules/range-parser/README.md +84 -0
  534. package/ppi-api/node_modules/range-parser/index.js +162 -0
  535. package/ppi-api/node_modules/range-parser/package.json +44 -0
  536. package/ppi-api/node_modules/raw-body/HISTORY.md +308 -0
  537. package/ppi-api/node_modules/raw-body/LICENSE +22 -0
  538. package/ppi-api/node_modules/raw-body/README.md +223 -0
  539. package/ppi-api/node_modules/raw-body/SECURITY.md +24 -0
  540. package/ppi-api/node_modules/raw-body/index.d.ts +87 -0
  541. package/ppi-api/node_modules/raw-body/index.js +336 -0
  542. package/ppi-api/node_modules/raw-body/package.json +49 -0
  543. package/ppi-api/node_modules/safe-buffer/LICENSE +21 -0
  544. package/ppi-api/node_modules/safe-buffer/README.md +584 -0
  545. package/ppi-api/node_modules/safe-buffer/index.d.ts +187 -0
  546. package/ppi-api/node_modules/safe-buffer/index.js +65 -0
  547. package/ppi-api/node_modules/safe-buffer/package.json +51 -0
  548. package/ppi-api/node_modules/safer-buffer/LICENSE +21 -0
  549. package/ppi-api/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  550. package/ppi-api/node_modules/safer-buffer/Readme.md +156 -0
  551. package/ppi-api/node_modules/safer-buffer/dangerous.js +58 -0
  552. package/ppi-api/node_modules/safer-buffer/package.json +34 -0
  553. package/ppi-api/node_modules/safer-buffer/safer.js +77 -0
  554. package/ppi-api/node_modules/safer-buffer/tests.js +406 -0
  555. package/ppi-api/node_modules/send/HISTORY.md +526 -0
  556. package/ppi-api/node_modules/send/LICENSE +23 -0
  557. package/ppi-api/node_modules/send/README.md +327 -0
  558. package/ppi-api/node_modules/send/SECURITY.md +24 -0
  559. package/ppi-api/node_modules/send/index.js +1142 -0
  560. package/ppi-api/node_modules/send/node_modules/encodeurl/HISTORY.md +14 -0
  561. package/ppi-api/node_modules/send/node_modules/encodeurl/LICENSE +22 -0
  562. package/ppi-api/node_modules/send/node_modules/encodeurl/README.md +128 -0
  563. package/ppi-api/node_modules/send/node_modules/encodeurl/index.js +60 -0
  564. package/ppi-api/node_modules/send/node_modules/encodeurl/package.json +40 -0
  565. package/ppi-api/node_modules/send/node_modules/ms/index.js +162 -0
  566. package/ppi-api/node_modules/send/node_modules/ms/license.md +21 -0
  567. package/ppi-api/node_modules/send/node_modules/ms/package.json +38 -0
  568. package/ppi-api/node_modules/send/node_modules/ms/readme.md +59 -0
  569. package/ppi-api/node_modules/send/package.json +62 -0
  570. package/ppi-api/node_modules/serve-static/HISTORY.md +487 -0
  571. package/ppi-api/node_modules/serve-static/LICENSE +25 -0
  572. package/ppi-api/node_modules/serve-static/README.md +257 -0
  573. package/ppi-api/node_modules/serve-static/index.js +209 -0
  574. package/ppi-api/node_modules/serve-static/package.json +42 -0
  575. package/ppi-api/node_modules/setprototypeof/LICENSE +13 -0
  576. package/ppi-api/node_modules/setprototypeof/README.md +31 -0
  577. package/ppi-api/node_modules/setprototypeof/index.d.ts +2 -0
  578. package/ppi-api/node_modules/setprototypeof/index.js +17 -0
  579. package/ppi-api/node_modules/setprototypeof/package.json +38 -0
  580. package/ppi-api/node_modules/setprototypeof/test/index.js +24 -0
  581. package/ppi-api/node_modules/side-channel/.editorconfig +9 -0
  582. package/ppi-api/node_modules/side-channel/.eslintrc +12 -0
  583. package/ppi-api/node_modules/side-channel/.github/FUNDING.yml +12 -0
  584. package/ppi-api/node_modules/side-channel/.nycrc +13 -0
  585. package/ppi-api/node_modules/side-channel/CHANGELOG.md +110 -0
  586. package/ppi-api/node_modules/side-channel/LICENSE +21 -0
  587. package/ppi-api/node_modules/side-channel/README.md +61 -0
  588. package/ppi-api/node_modules/side-channel/index.d.ts +14 -0
  589. package/ppi-api/node_modules/side-channel/index.js +43 -0
  590. package/ppi-api/node_modules/side-channel/package.json +85 -0
  591. package/ppi-api/node_modules/side-channel/test/index.js +104 -0
  592. package/ppi-api/node_modules/side-channel/tsconfig.json +9 -0
  593. package/ppi-api/node_modules/side-channel-list/.editorconfig +9 -0
  594. package/ppi-api/node_modules/side-channel-list/.eslintrc +11 -0
  595. package/ppi-api/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  596. package/ppi-api/node_modules/side-channel-list/.nycrc +13 -0
  597. package/ppi-api/node_modules/side-channel-list/CHANGELOG.md +15 -0
  598. package/ppi-api/node_modules/side-channel-list/LICENSE +21 -0
  599. package/ppi-api/node_modules/side-channel-list/README.md +62 -0
  600. package/ppi-api/node_modules/side-channel-list/index.d.ts +13 -0
  601. package/ppi-api/node_modules/side-channel-list/index.js +113 -0
  602. package/ppi-api/node_modules/side-channel-list/list.d.ts +14 -0
  603. package/ppi-api/node_modules/side-channel-list/package.json +77 -0
  604. package/ppi-api/node_modules/side-channel-list/test/index.js +104 -0
  605. package/ppi-api/node_modules/side-channel-list/tsconfig.json +9 -0
  606. package/ppi-api/node_modules/side-channel-map/.editorconfig +9 -0
  607. package/ppi-api/node_modules/side-channel-map/.eslintrc +11 -0
  608. package/ppi-api/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  609. package/ppi-api/node_modules/side-channel-map/.nycrc +13 -0
  610. package/ppi-api/node_modules/side-channel-map/CHANGELOG.md +22 -0
  611. package/ppi-api/node_modules/side-channel-map/LICENSE +21 -0
  612. package/ppi-api/node_modules/side-channel-map/README.md +62 -0
  613. package/ppi-api/node_modules/side-channel-map/index.d.ts +15 -0
  614. package/ppi-api/node_modules/side-channel-map/index.js +68 -0
  615. package/ppi-api/node_modules/side-channel-map/package.json +80 -0
  616. package/ppi-api/node_modules/side-channel-map/test/index.js +114 -0
  617. package/ppi-api/node_modules/side-channel-map/tsconfig.json +9 -0
  618. package/ppi-api/node_modules/side-channel-weakmap/.editorconfig +9 -0
  619. package/ppi-api/node_modules/side-channel-weakmap/.eslintrc +12 -0
  620. package/ppi-api/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  621. package/ppi-api/node_modules/side-channel-weakmap/.nycrc +13 -0
  622. package/ppi-api/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  623. package/ppi-api/node_modules/side-channel-weakmap/LICENSE +21 -0
  624. package/ppi-api/node_modules/side-channel-weakmap/README.md +62 -0
  625. package/ppi-api/node_modules/side-channel-weakmap/index.d.ts +15 -0
  626. package/ppi-api/node_modules/side-channel-weakmap/index.js +84 -0
  627. package/ppi-api/node_modules/side-channel-weakmap/package.json +87 -0
  628. package/ppi-api/node_modules/side-channel-weakmap/test/index.js +114 -0
  629. package/ppi-api/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  630. package/ppi-api/node_modules/statuses/HISTORY.md +82 -0
  631. package/ppi-api/node_modules/statuses/LICENSE +23 -0
  632. package/ppi-api/node_modules/statuses/README.md +136 -0
  633. package/ppi-api/node_modules/statuses/codes.json +65 -0
  634. package/ppi-api/node_modules/statuses/index.js +146 -0
  635. package/ppi-api/node_modules/statuses/package.json +49 -0
  636. package/ppi-api/node_modules/toidentifier/HISTORY.md +9 -0
  637. package/ppi-api/node_modules/toidentifier/LICENSE +21 -0
  638. package/ppi-api/node_modules/toidentifier/README.md +61 -0
  639. package/ppi-api/node_modules/toidentifier/index.js +32 -0
  640. package/ppi-api/node_modules/toidentifier/package.json +38 -0
  641. package/ppi-api/node_modules/type-is/HISTORY.md +259 -0
  642. package/ppi-api/node_modules/type-is/LICENSE +23 -0
  643. package/ppi-api/node_modules/type-is/README.md +170 -0
  644. package/ppi-api/node_modules/type-is/index.js +266 -0
  645. package/ppi-api/node_modules/type-is/package.json +45 -0
  646. package/ppi-api/node_modules/unpipe/HISTORY.md +4 -0
  647. package/ppi-api/node_modules/unpipe/LICENSE +22 -0
  648. package/ppi-api/node_modules/unpipe/README.md +43 -0
  649. package/ppi-api/node_modules/unpipe/index.js +69 -0
  650. package/ppi-api/node_modules/unpipe/package.json +27 -0
  651. package/ppi-api/node_modules/utils-merge/LICENSE +20 -0
  652. package/ppi-api/node_modules/utils-merge/README.md +34 -0
  653. package/ppi-api/node_modules/utils-merge/index.js +23 -0
  654. package/ppi-api/node_modules/utils-merge/package.json +40 -0
  655. package/ppi-api/node_modules/vary/HISTORY.md +39 -0
  656. package/ppi-api/node_modules/vary/LICENSE +22 -0
  657. package/ppi-api/node_modules/vary/README.md +101 -0
  658. package/ppi-api/node_modules/vary/index.js +149 -0
  659. package/ppi-api/node_modules/vary/package.json +43 -0
  660. package/ppi-api/package-lock.json +856 -0
  661. package/ppi-api/package.json +53 -0
  662. package/ppi-api/ppi-api-server.js +480 -0
  663. package/ppi-api/ppi-protocol-demo.js +83 -0
  664. package/ppi-api/ppi-protocol.js +114 -0
  665. package/ppi-api/ppi-url-client.js +97 -0
  666. package/ppi-api/test-ppi-api.js +72 -0
  667. package/ppi-api/test-ppi-protocol.js +44 -0
  668. package/ppi-api/test-protocol-api.js +81 -0
  669. package/src/compiler/compiler.js +832 -0
  670. package/src/index.js +112 -0
  671. package/src/integration/dag-integration.js +122 -0
  672. package/src/primitives/CONDITIONS.js +100 -0
  673. package/src/primitives/ESCROW.js +143 -0
  674. package/src/primitives/IF.js +67 -0
  675. package/src/primitives/RECEIVE.js +62 -0
  676. package/src/primitives/SCHEDULE.js +96 -0
  677. package/src/primitives/SEND.js +65 -0
  678. package/src/primitives/SPLIT.js +55 -0
  679. package/src/primitives/STREAM.js +113 -0
  680. package/src/primitives/VOTE.js +109 -0
  681. package/test/backend-diagnostic.js +48 -0
  682. package/test/check-balance.js +28 -0
  683. package/test/debug-flow.js +58 -0
  684. package/test/find-users.js +74 -0
  685. package/test/live-test.js +40 -0
  686. package/test/multi-chain-test.js +76 -0
  687. package/test/quick-test.js +15 -0
  688. package/test/real-users-test.js +67 -0
  689. package/test/synchronized-test.js +40 -0
  690. package/test/universal-trifecta.js +83 -0
  691. package/test-all-primitives-real-users.js +125 -0
  692. package/test-all-primitives.js +58 -0
  693. package/test-compiler-integration.js +60 -0
  694. package/test-individual.js +37 -0
  695. package/test-live-ppi-real-users.js +82 -0
  696. package/test-ppi-sdk.js +142 -0
  697. package/tools/emergency-fix.js +31 -0
  698. package/tools/package-manager-simple.js +98 -0
  699. package/tools/ppi-cli.js +165 -0
  700. package/tools/ppi-playground-web.js +35 -0
  701. package/tools/ppi-playground.js +236 -0
  702. package/tools/test-cli.js +2 -0
  703. package/tools/test-fix.js +52 -0
@@ -0,0 +1,1179 @@
1
+ /*!
2
+ * express
3
+ * Copyright(c) 2009-2013 TJ Holowaychuk
4
+ * Copyright(c) 2014-2015 Douglas Christopher Wilson
5
+ * MIT Licensed
6
+ */
7
+
8
+ 'use strict';
9
+
10
+ /**
11
+ * Module dependencies.
12
+ * @private
13
+ */
14
+
15
+ var Buffer = require('safe-buffer').Buffer
16
+ var contentDisposition = require('content-disposition');
17
+ var createError = require('http-errors')
18
+ var deprecate = require('depd')('express');
19
+ var encodeUrl = require('encodeurl');
20
+ var escapeHtml = require('escape-html');
21
+ var http = require('http');
22
+ var isAbsolute = require('./utils').isAbsolute;
23
+ var onFinished = require('on-finished');
24
+ var path = require('path');
25
+ var statuses = require('statuses')
26
+ var merge = require('utils-merge');
27
+ var sign = require('cookie-signature').sign;
28
+ var normalizeType = require('./utils').normalizeType;
29
+ var normalizeTypes = require('./utils').normalizeTypes;
30
+ var setCharset = require('./utils').setCharset;
31
+ var cookie = require('cookie');
32
+ var send = require('send');
33
+ var extname = path.extname;
34
+ var mime = send.mime;
35
+ var resolve = path.resolve;
36
+ var vary = require('vary');
37
+
38
+ /**
39
+ * Response prototype.
40
+ * @public
41
+ */
42
+
43
+ var res = Object.create(http.ServerResponse.prototype)
44
+
45
+ /**
46
+ * Module exports.
47
+ * @public
48
+ */
49
+
50
+ module.exports = res
51
+
52
+ /**
53
+ * Module variables.
54
+ * @private
55
+ */
56
+
57
+ var charsetRegExp = /;\s*charset\s*=/;
58
+
59
+ /**
60
+ * Set status `code`.
61
+ *
62
+ * @param {Number} code
63
+ * @return {ServerResponse}
64
+ * @public
65
+ */
66
+
67
+ res.status = function status(code) {
68
+ if ((typeof code === 'string' || Math.floor(code) !== code) && code > 99 && code < 1000) {
69
+ deprecate('res.status(' + JSON.stringify(code) + '): use res.status(' + Math.floor(code) + ') instead')
70
+ }
71
+ this.statusCode = code;
72
+ return this;
73
+ };
74
+
75
+ /**
76
+ * Set Link header field with the given `links`.
77
+ *
78
+ * Examples:
79
+ *
80
+ * res.links({
81
+ * next: 'http://api.example.com/users?page=2',
82
+ * last: 'http://api.example.com/users?page=5'
83
+ * });
84
+ *
85
+ * @param {Object} links
86
+ * @return {ServerResponse}
87
+ * @public
88
+ */
89
+
90
+ res.links = function(links){
91
+ var link = this.get('Link') || '';
92
+ if (link) link += ', ';
93
+ return this.set('Link', link + Object.keys(links).map(function(rel){
94
+ return '<' + links[rel] + '>; rel="' + rel + '"';
95
+ }).join(', '));
96
+ };
97
+
98
+ /**
99
+ * Send a response.
100
+ *
101
+ * Examples:
102
+ *
103
+ * res.send(Buffer.from('wahoo'));
104
+ * res.send({ some: 'json' });
105
+ * res.send('<p>some html</p>');
106
+ *
107
+ * @param {string|number|boolean|object|Buffer} body
108
+ * @public
109
+ */
110
+
111
+ res.send = function send(body) {
112
+ var chunk = body;
113
+ var encoding;
114
+ var req = this.req;
115
+ var type;
116
+
117
+ // settings
118
+ var app = this.app;
119
+
120
+ // allow status / body
121
+ if (arguments.length === 2) {
122
+ // res.send(body, status) backwards compat
123
+ if (typeof arguments[0] !== 'number' && typeof arguments[1] === 'number') {
124
+ deprecate('res.send(body, status): Use res.status(status).send(body) instead');
125
+ this.statusCode = arguments[1];
126
+ } else {
127
+ deprecate('res.send(status, body): Use res.status(status).send(body) instead');
128
+ this.statusCode = arguments[0];
129
+ chunk = arguments[1];
130
+ }
131
+ }
132
+
133
+ // disambiguate res.send(status) and res.send(status, num)
134
+ if (typeof chunk === 'number' && arguments.length === 1) {
135
+ // res.send(status) will set status message as text string
136
+ if (!this.get('Content-Type')) {
137
+ this.type('txt');
138
+ }
139
+
140
+ deprecate('res.send(status): Use res.sendStatus(status) instead');
141
+ this.statusCode = chunk;
142
+ chunk = statuses.message[chunk]
143
+ }
144
+
145
+ switch (typeof chunk) {
146
+ // string defaulting to html
147
+ case 'string':
148
+ if (!this.get('Content-Type')) {
149
+ this.type('html');
150
+ }
151
+ break;
152
+ case 'boolean':
153
+ case 'number':
154
+ case 'object':
155
+ if (chunk === null) {
156
+ chunk = '';
157
+ } else if (Buffer.isBuffer(chunk)) {
158
+ if (!this.get('Content-Type')) {
159
+ this.type('bin');
160
+ }
161
+ } else {
162
+ return this.json(chunk);
163
+ }
164
+ break;
165
+ }
166
+
167
+ // write strings in utf-8
168
+ if (typeof chunk === 'string') {
169
+ encoding = 'utf8';
170
+ type = this.get('Content-Type');
171
+
172
+ // reflect this in content-type
173
+ if (typeof type === 'string') {
174
+ this.set('Content-Type', setCharset(type, 'utf-8'));
175
+ }
176
+ }
177
+
178
+ // determine if ETag should be generated
179
+ var etagFn = app.get('etag fn')
180
+ var generateETag = !this.get('ETag') && typeof etagFn === 'function'
181
+
182
+ // populate Content-Length
183
+ var len
184
+ if (chunk !== undefined) {
185
+ if (Buffer.isBuffer(chunk)) {
186
+ // get length of Buffer
187
+ len = chunk.length
188
+ } else if (!generateETag && chunk.length < 1000) {
189
+ // just calculate length when no ETag + small chunk
190
+ len = Buffer.byteLength(chunk, encoding)
191
+ } else {
192
+ // convert chunk to Buffer and calculate
193
+ chunk = Buffer.from(chunk, encoding)
194
+ encoding = undefined;
195
+ len = chunk.length
196
+ }
197
+
198
+ this.set('Content-Length', len);
199
+ }
200
+
201
+ // populate ETag
202
+ var etag;
203
+ if (generateETag && len !== undefined) {
204
+ if ((etag = etagFn(chunk, encoding))) {
205
+ this.set('ETag', etag);
206
+ }
207
+ }
208
+
209
+ // freshness
210
+ if (req.fresh) this.statusCode = 304;
211
+
212
+ // strip irrelevant headers
213
+ if (204 === this.statusCode || 304 === this.statusCode) {
214
+ this.removeHeader('Content-Type');
215
+ this.removeHeader('Content-Length');
216
+ this.removeHeader('Transfer-Encoding');
217
+ chunk = '';
218
+ }
219
+
220
+ // alter headers for 205
221
+ if (this.statusCode === 205) {
222
+ this.set('Content-Length', '0')
223
+ this.removeHeader('Transfer-Encoding')
224
+ chunk = ''
225
+ }
226
+
227
+ if (req.method === 'HEAD') {
228
+ // skip body for HEAD
229
+ this.end();
230
+ } else {
231
+ // respond
232
+ this.end(chunk, encoding);
233
+ }
234
+
235
+ return this;
236
+ };
237
+
238
+ /**
239
+ * Send JSON response.
240
+ *
241
+ * Examples:
242
+ *
243
+ * res.json(null);
244
+ * res.json({ user: 'tj' });
245
+ *
246
+ * @param {string|number|boolean|object} obj
247
+ * @public
248
+ */
249
+
250
+ res.json = function json(obj) {
251
+ var val = obj;
252
+
253
+ // allow status / body
254
+ if (arguments.length === 2) {
255
+ // res.json(body, status) backwards compat
256
+ if (typeof arguments[1] === 'number') {
257
+ deprecate('res.json(obj, status): Use res.status(status).json(obj) instead');
258
+ this.statusCode = arguments[1];
259
+ } else {
260
+ deprecate('res.json(status, obj): Use res.status(status).json(obj) instead');
261
+ this.statusCode = arguments[0];
262
+ val = arguments[1];
263
+ }
264
+ }
265
+
266
+ // settings
267
+ var app = this.app;
268
+ var escape = app.get('json escape')
269
+ var replacer = app.get('json replacer');
270
+ var spaces = app.get('json spaces');
271
+ var body = stringify(val, replacer, spaces, escape)
272
+
273
+ // content-type
274
+ if (!this.get('Content-Type')) {
275
+ this.set('Content-Type', 'application/json');
276
+ }
277
+
278
+ return this.send(body);
279
+ };
280
+
281
+ /**
282
+ * Send JSON response with JSONP callback support.
283
+ *
284
+ * Examples:
285
+ *
286
+ * res.jsonp(null);
287
+ * res.jsonp({ user: 'tj' });
288
+ *
289
+ * @param {string|number|boolean|object} obj
290
+ * @public
291
+ */
292
+
293
+ res.jsonp = function jsonp(obj) {
294
+ var val = obj;
295
+
296
+ // allow status / body
297
+ if (arguments.length === 2) {
298
+ // res.jsonp(body, status) backwards compat
299
+ if (typeof arguments[1] === 'number') {
300
+ deprecate('res.jsonp(obj, status): Use res.status(status).jsonp(obj) instead');
301
+ this.statusCode = arguments[1];
302
+ } else {
303
+ deprecate('res.jsonp(status, obj): Use res.status(status).jsonp(obj) instead');
304
+ this.statusCode = arguments[0];
305
+ val = arguments[1];
306
+ }
307
+ }
308
+
309
+ // settings
310
+ var app = this.app;
311
+ var escape = app.get('json escape')
312
+ var replacer = app.get('json replacer');
313
+ var spaces = app.get('json spaces');
314
+ var body = stringify(val, replacer, spaces, escape)
315
+ var callback = this.req.query[app.get('jsonp callback name')];
316
+
317
+ // content-type
318
+ if (!this.get('Content-Type')) {
319
+ this.set('X-Content-Type-Options', 'nosniff');
320
+ this.set('Content-Type', 'application/json');
321
+ }
322
+
323
+ // fixup callback
324
+ if (Array.isArray(callback)) {
325
+ callback = callback[0];
326
+ }
327
+
328
+ // jsonp
329
+ if (typeof callback === 'string' && callback.length !== 0) {
330
+ this.set('X-Content-Type-Options', 'nosniff');
331
+ this.set('Content-Type', 'text/javascript');
332
+
333
+ // restrict callback charset
334
+ callback = callback.replace(/[^\[\]\w$.]/g, '');
335
+
336
+ if (body === undefined) {
337
+ // empty argument
338
+ body = ''
339
+ } else if (typeof body === 'string') {
340
+ // replace chars not allowed in JavaScript that are in JSON
341
+ body = body
342
+ .replace(/\u2028/g, '\\u2028')
343
+ .replace(/\u2029/g, '\\u2029')
344
+ }
345
+
346
+ // the /**/ is a specific security mitigation for "Rosetta Flash JSONP abuse"
347
+ // the typeof check is just to reduce client error noise
348
+ body = '/**/ typeof ' + callback + ' === \'function\' && ' + callback + '(' + body + ');';
349
+ }
350
+
351
+ return this.send(body);
352
+ };
353
+
354
+ /**
355
+ * Send given HTTP status code.
356
+ *
357
+ * Sets the response status to `statusCode` and the body of the
358
+ * response to the standard description from node's http.STATUS_CODES
359
+ * or the statusCode number if no description.
360
+ *
361
+ * Examples:
362
+ *
363
+ * res.sendStatus(200);
364
+ *
365
+ * @param {number} statusCode
366
+ * @public
367
+ */
368
+
369
+ res.sendStatus = function sendStatus(statusCode) {
370
+ var body = statuses.message[statusCode] || String(statusCode)
371
+
372
+ this.statusCode = statusCode;
373
+ this.type('txt');
374
+
375
+ return this.send(body);
376
+ };
377
+
378
+ /**
379
+ * Transfer the file at the given `path`.
380
+ *
381
+ * Automatically sets the _Content-Type_ response header field.
382
+ * The callback `callback(err)` is invoked when the transfer is complete
383
+ * or when an error occurs. Be sure to check `res.headersSent`
384
+ * if you wish to attempt responding, as the header and some data
385
+ * may have already been transferred.
386
+ *
387
+ * Options:
388
+ *
389
+ * - `maxAge` defaulting to 0 (can be string converted by `ms`)
390
+ * - `root` root directory for relative filenames
391
+ * - `headers` object of headers to serve with file
392
+ * - `dotfiles` serve dotfiles, defaulting to false; can be `"allow"` to send them
393
+ *
394
+ * Other options are passed along to `send`.
395
+ *
396
+ * Examples:
397
+ *
398
+ * The following example illustrates how `res.sendFile()` may
399
+ * be used as an alternative for the `static()` middleware for
400
+ * dynamic situations. The code backing `res.sendFile()` is actually
401
+ * the same code, so HTTP cache support etc is identical.
402
+ *
403
+ * app.get('/user/:uid/photos/:file', function(req, res){
404
+ * var uid = req.params.uid
405
+ * , file = req.params.file;
406
+ *
407
+ * req.user.mayViewFilesFrom(uid, function(yes){
408
+ * if (yes) {
409
+ * res.sendFile('/uploads/' + uid + '/' + file);
410
+ * } else {
411
+ * res.send(403, 'Sorry! you cant see that.');
412
+ * }
413
+ * });
414
+ * });
415
+ *
416
+ * @public
417
+ */
418
+
419
+ res.sendFile = function sendFile(path, options, callback) {
420
+ var done = callback;
421
+ var req = this.req;
422
+ var res = this;
423
+ var next = req.next;
424
+ var opts = options || {};
425
+
426
+ if (!path) {
427
+ throw new TypeError('path argument is required to res.sendFile');
428
+ }
429
+
430
+ if (typeof path !== 'string') {
431
+ throw new TypeError('path must be a string to res.sendFile')
432
+ }
433
+
434
+ // support function as second arg
435
+ if (typeof options === 'function') {
436
+ done = options;
437
+ opts = {};
438
+ }
439
+
440
+ if (!opts.root && !isAbsolute(path)) {
441
+ throw new TypeError('path must be absolute or specify root to res.sendFile');
442
+ }
443
+
444
+ // create file stream
445
+ var pathname = encodeURI(path);
446
+ var file = send(req, pathname, opts);
447
+
448
+ // transfer
449
+ sendfile(res, file, opts, function (err) {
450
+ if (done) return done(err);
451
+ if (err && err.code === 'EISDIR') return next();
452
+
453
+ // next() all but write errors
454
+ if (err && err.code !== 'ECONNABORTED' && err.syscall !== 'write') {
455
+ next(err);
456
+ }
457
+ });
458
+ };
459
+
460
+ /**
461
+ * Transfer the file at the given `path`.
462
+ *
463
+ * Automatically sets the _Content-Type_ response header field.
464
+ * The callback `callback(err)` is invoked when the transfer is complete
465
+ * or when an error occurs. Be sure to check `res.headersSent`
466
+ * if you wish to attempt responding, as the header and some data
467
+ * may have already been transferred.
468
+ *
469
+ * Options:
470
+ *
471
+ * - `maxAge` defaulting to 0 (can be string converted by `ms`)
472
+ * - `root` root directory for relative filenames
473
+ * - `headers` object of headers to serve with file
474
+ * - `dotfiles` serve dotfiles, defaulting to false; can be `"allow"` to send them
475
+ *
476
+ * Other options are passed along to `send`.
477
+ *
478
+ * Examples:
479
+ *
480
+ * The following example illustrates how `res.sendfile()` may
481
+ * be used as an alternative for the `static()` middleware for
482
+ * dynamic situations. The code backing `res.sendfile()` is actually
483
+ * the same code, so HTTP cache support etc is identical.
484
+ *
485
+ * app.get('/user/:uid/photos/:file', function(req, res){
486
+ * var uid = req.params.uid
487
+ * , file = req.params.file;
488
+ *
489
+ * req.user.mayViewFilesFrom(uid, function(yes){
490
+ * if (yes) {
491
+ * res.sendfile('/uploads/' + uid + '/' + file);
492
+ * } else {
493
+ * res.send(403, 'Sorry! you cant see that.');
494
+ * }
495
+ * });
496
+ * });
497
+ *
498
+ * @public
499
+ */
500
+
501
+ res.sendfile = function (path, options, callback) {
502
+ var done = callback;
503
+ var req = this.req;
504
+ var res = this;
505
+ var next = req.next;
506
+ var opts = options || {};
507
+
508
+ // support function as second arg
509
+ if (typeof options === 'function') {
510
+ done = options;
511
+ opts = {};
512
+ }
513
+
514
+ // create file stream
515
+ var file = send(req, path, opts);
516
+
517
+ // transfer
518
+ sendfile(res, file, opts, function (err) {
519
+ if (done) return done(err);
520
+ if (err && err.code === 'EISDIR') return next();
521
+
522
+ // next() all but write errors
523
+ if (err && err.code !== 'ECONNABORTED' && err.syscall !== 'write') {
524
+ next(err);
525
+ }
526
+ });
527
+ };
528
+
529
+ res.sendfile = deprecate.function(res.sendfile,
530
+ 'res.sendfile: Use res.sendFile instead');
531
+
532
+ /**
533
+ * Transfer the file at the given `path` as an attachment.
534
+ *
535
+ * Optionally providing an alternate attachment `filename`,
536
+ * and optional callback `callback(err)`. The callback is invoked
537
+ * when the data transfer is complete, or when an error has
538
+ * occurred. Be sure to check `res.headersSent` if you plan to respond.
539
+ *
540
+ * Optionally providing an `options` object to use with `res.sendFile()`.
541
+ * This function will set the `Content-Disposition` header, overriding
542
+ * any `Content-Disposition` header passed as header options in order
543
+ * to set the attachment and filename.
544
+ *
545
+ * This method uses `res.sendFile()`.
546
+ *
547
+ * @public
548
+ */
549
+
550
+ res.download = function download (path, filename, options, callback) {
551
+ var done = callback;
552
+ var name = filename;
553
+ var opts = options || null
554
+
555
+ // support function as second or third arg
556
+ if (typeof filename === 'function') {
557
+ done = filename;
558
+ name = null;
559
+ opts = null
560
+ } else if (typeof options === 'function') {
561
+ done = options
562
+ opts = null
563
+ }
564
+
565
+ // support optional filename, where options may be in it's place
566
+ if (typeof filename === 'object' &&
567
+ (typeof options === 'function' || options === undefined)) {
568
+ name = null
569
+ opts = filename
570
+ }
571
+
572
+ // set Content-Disposition when file is sent
573
+ var headers = {
574
+ 'Content-Disposition': contentDisposition(name || path)
575
+ };
576
+
577
+ // merge user-provided headers
578
+ if (opts && opts.headers) {
579
+ var keys = Object.keys(opts.headers)
580
+ for (var i = 0; i < keys.length; i++) {
581
+ var key = keys[i]
582
+ if (key.toLowerCase() !== 'content-disposition') {
583
+ headers[key] = opts.headers[key]
584
+ }
585
+ }
586
+ }
587
+
588
+ // merge user-provided options
589
+ opts = Object.create(opts)
590
+ opts.headers = headers
591
+
592
+ // Resolve the full path for sendFile
593
+ var fullPath = !opts.root
594
+ ? resolve(path)
595
+ : path
596
+
597
+ // send file
598
+ return this.sendFile(fullPath, opts, done)
599
+ };
600
+
601
+ /**
602
+ * Set _Content-Type_ response header with `type` through `mime.lookup()`
603
+ * when it does not contain "/", or set the Content-Type to `type` otherwise.
604
+ *
605
+ * Examples:
606
+ *
607
+ * res.type('.html');
608
+ * res.type('html');
609
+ * res.type('json');
610
+ * res.type('application/json');
611
+ * res.type('png');
612
+ *
613
+ * @param {String} type
614
+ * @return {ServerResponse} for chaining
615
+ * @public
616
+ */
617
+
618
+ res.contentType =
619
+ res.type = function contentType(type) {
620
+ var ct = type.indexOf('/') === -1
621
+ ? mime.lookup(type)
622
+ : type;
623
+
624
+ return this.set('Content-Type', ct);
625
+ };
626
+
627
+ /**
628
+ * Respond to the Acceptable formats using an `obj`
629
+ * of mime-type callbacks.
630
+ *
631
+ * This method uses `req.accepted`, an array of
632
+ * acceptable types ordered by their quality values.
633
+ * When "Accept" is not present the _first_ callback
634
+ * is invoked, otherwise the first match is used. When
635
+ * no match is performed the server responds with
636
+ * 406 "Not Acceptable".
637
+ *
638
+ * Content-Type is set for you, however if you choose
639
+ * you may alter this within the callback using `res.type()`
640
+ * or `res.set('Content-Type', ...)`.
641
+ *
642
+ * res.format({
643
+ * 'text/plain': function(){
644
+ * res.send('hey');
645
+ * },
646
+ *
647
+ * 'text/html': function(){
648
+ * res.send('<p>hey</p>');
649
+ * },
650
+ *
651
+ * 'application/json': function () {
652
+ * res.send({ message: 'hey' });
653
+ * }
654
+ * });
655
+ *
656
+ * In addition to canonicalized MIME types you may
657
+ * also use extnames mapped to these types:
658
+ *
659
+ * res.format({
660
+ * text: function(){
661
+ * res.send('hey');
662
+ * },
663
+ *
664
+ * html: function(){
665
+ * res.send('<p>hey</p>');
666
+ * },
667
+ *
668
+ * json: function(){
669
+ * res.send({ message: 'hey' });
670
+ * }
671
+ * });
672
+ *
673
+ * By default Express passes an `Error`
674
+ * with a `.status` of 406 to `next(err)`
675
+ * if a match is not made. If you provide
676
+ * a `.default` callback it will be invoked
677
+ * instead.
678
+ *
679
+ * @param {Object} obj
680
+ * @return {ServerResponse} for chaining
681
+ * @public
682
+ */
683
+
684
+ res.format = function(obj){
685
+ var req = this.req;
686
+ var next = req.next;
687
+
688
+ var keys = Object.keys(obj)
689
+ .filter(function (v) { return v !== 'default' })
690
+
691
+ var key = keys.length > 0
692
+ ? req.accepts(keys)
693
+ : false;
694
+
695
+ this.vary("Accept");
696
+
697
+ if (key) {
698
+ this.set('Content-Type', normalizeType(key).value);
699
+ obj[key](req, this, next);
700
+ } else if (obj.default) {
701
+ obj.default(req, this, next)
702
+ } else {
703
+ next(createError(406, {
704
+ types: normalizeTypes(keys).map(function (o) { return o.value })
705
+ }))
706
+ }
707
+
708
+ return this;
709
+ };
710
+
711
+ /**
712
+ * Set _Content-Disposition_ header to _attachment_ with optional `filename`.
713
+ *
714
+ * @param {String} filename
715
+ * @return {ServerResponse}
716
+ * @public
717
+ */
718
+
719
+ res.attachment = function attachment(filename) {
720
+ if (filename) {
721
+ this.type(extname(filename));
722
+ }
723
+
724
+ this.set('Content-Disposition', contentDisposition(filename));
725
+
726
+ return this;
727
+ };
728
+
729
+ /**
730
+ * Append additional header `field` with value `val`.
731
+ *
732
+ * Example:
733
+ *
734
+ * res.append('Link', ['<http://localhost/>', '<http://localhost:3000/>']);
735
+ * res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly');
736
+ * res.append('Warning', '199 Miscellaneous warning');
737
+ *
738
+ * @param {String} field
739
+ * @param {String|Array} val
740
+ * @return {ServerResponse} for chaining
741
+ * @public
742
+ */
743
+
744
+ res.append = function append(field, val) {
745
+ var prev = this.get(field);
746
+ var value = val;
747
+
748
+ if (prev) {
749
+ // concat the new and prev vals
750
+ value = Array.isArray(prev) ? prev.concat(val)
751
+ : Array.isArray(val) ? [prev].concat(val)
752
+ : [prev, val]
753
+ }
754
+
755
+ return this.set(field, value);
756
+ };
757
+
758
+ /**
759
+ * Set header `field` to `val`, or pass
760
+ * an object of header fields.
761
+ *
762
+ * Examples:
763
+ *
764
+ * res.set('Foo', ['bar', 'baz']);
765
+ * res.set('Accept', 'application/json');
766
+ * res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });
767
+ *
768
+ * Aliased as `res.header()`.
769
+ *
770
+ * @param {String|Object} field
771
+ * @param {String|Array} val
772
+ * @return {ServerResponse} for chaining
773
+ * @public
774
+ */
775
+
776
+ res.set =
777
+ res.header = function header(field, val) {
778
+ if (arguments.length === 2) {
779
+ var value = Array.isArray(val)
780
+ ? val.map(String)
781
+ : String(val);
782
+
783
+ // add charset to content-type
784
+ if (field.toLowerCase() === 'content-type') {
785
+ if (Array.isArray(value)) {
786
+ throw new TypeError('Content-Type cannot be set to an Array');
787
+ }
788
+ if (!charsetRegExp.test(value)) {
789
+ var charset = mime.charsets.lookup(value.split(';')[0]);
790
+ if (charset) value += '; charset=' + charset.toLowerCase();
791
+ }
792
+ }
793
+
794
+ this.setHeader(field, value);
795
+ } else {
796
+ for (var key in field) {
797
+ this.set(key, field[key]);
798
+ }
799
+ }
800
+ return this;
801
+ };
802
+
803
+ /**
804
+ * Get value for header `field`.
805
+ *
806
+ * @param {String} field
807
+ * @return {String}
808
+ * @public
809
+ */
810
+
811
+ res.get = function(field){
812
+ return this.getHeader(field);
813
+ };
814
+
815
+ /**
816
+ * Clear cookie `name`.
817
+ *
818
+ * @param {String} name
819
+ * @param {Object} [options]
820
+ * @return {ServerResponse} for chaining
821
+ * @public
822
+ */
823
+
824
+ res.clearCookie = function clearCookie(name, options) {
825
+ if (options) {
826
+ if (options.maxAge) {
827
+ deprecate('res.clearCookie: Passing "options.maxAge" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.');
828
+ }
829
+ if (options.expires) {
830
+ deprecate('res.clearCookie: Passing "options.expires" is deprecated. In v5.0.0 of Express, this option will be ignored, as res.clearCookie will automatically set cookies to expire immediately. Please update your code to omit this option.');
831
+ }
832
+ }
833
+ var opts = merge({ expires: new Date(1), path: '/' }, options);
834
+
835
+ return this.cookie(name, '', opts);
836
+ };
837
+
838
+ /**
839
+ * Set cookie `name` to `value`, with the given `options`.
840
+ *
841
+ * Options:
842
+ *
843
+ * - `maxAge` max-age in milliseconds, converted to `expires`
844
+ * - `signed` sign the cookie
845
+ * - `path` defaults to "/"
846
+ *
847
+ * Examples:
848
+ *
849
+ * // "Remember Me" for 15 minutes
850
+ * res.cookie('rememberme', '1', { expires: new Date(Date.now() + 900000), httpOnly: true });
851
+ *
852
+ * // same as above
853
+ * res.cookie('rememberme', '1', { maxAge: 900000, httpOnly: true })
854
+ *
855
+ * @param {String} name
856
+ * @param {String|Object} value
857
+ * @param {Object} [options]
858
+ * @return {ServerResponse} for chaining
859
+ * @public
860
+ */
861
+
862
+ res.cookie = function (name, value, options) {
863
+ var opts = merge({}, options);
864
+ var secret = this.req.secret;
865
+ var signed = opts.signed;
866
+
867
+ if (signed && !secret) {
868
+ throw new Error('cookieParser("secret") required for signed cookies');
869
+ }
870
+
871
+ var val = typeof value === 'object'
872
+ ? 'j:' + JSON.stringify(value)
873
+ : String(value);
874
+
875
+ if (signed) {
876
+ val = 's:' + sign(val, secret);
877
+ }
878
+
879
+ if (opts.maxAge != null) {
880
+ var maxAge = opts.maxAge - 0
881
+
882
+ if (!isNaN(maxAge)) {
883
+ opts.expires = new Date(Date.now() + maxAge)
884
+ opts.maxAge = Math.floor(maxAge / 1000)
885
+ }
886
+ }
887
+
888
+ if (opts.path == null) {
889
+ opts.path = '/';
890
+ }
891
+
892
+ this.append('Set-Cookie', cookie.serialize(name, String(val), opts));
893
+
894
+ return this;
895
+ };
896
+
897
+ /**
898
+ * Set the location header to `url`.
899
+ *
900
+ * The given `url` can also be "back", which redirects
901
+ * to the _Referrer_ or _Referer_ headers or "/".
902
+ *
903
+ * Examples:
904
+ *
905
+ * res.location('/foo/bar').;
906
+ * res.location('http://example.com');
907
+ * res.location('../login');
908
+ *
909
+ * @param {String} url
910
+ * @return {ServerResponse} for chaining
911
+ * @public
912
+ */
913
+
914
+ res.location = function location(url) {
915
+ var loc;
916
+
917
+ // "back" is an alias for the referrer
918
+ if (url === 'back') {
919
+ deprecate('res.location("back"): use res.location(req.get("Referrer") || "/") and refer to https://dub.sh/security-redirect for best practices');
920
+ loc = this.req.get('Referrer') || '/';
921
+ } else {
922
+ loc = String(url);
923
+ }
924
+
925
+ return this.set('Location', encodeUrl(loc));
926
+ };
927
+
928
+ /**
929
+ * Redirect to the given `url` with optional response `status`
930
+ * defaulting to 302.
931
+ *
932
+ * The resulting `url` is determined by `res.location()`, so
933
+ * it will play nicely with mounted apps, relative paths,
934
+ * `"back"` etc.
935
+ *
936
+ * Examples:
937
+ *
938
+ * res.redirect('/foo/bar');
939
+ * res.redirect('http://example.com');
940
+ * res.redirect(301, 'http://example.com');
941
+ * res.redirect('../login'); // /blog/post/1 -> /blog/login
942
+ *
943
+ * @public
944
+ */
945
+
946
+ res.redirect = function redirect(url) {
947
+ var address = url;
948
+ var body;
949
+ var status = 302;
950
+
951
+ // allow status / url
952
+ if (arguments.length === 2) {
953
+ if (typeof arguments[0] === 'number') {
954
+ status = arguments[0];
955
+ address = arguments[1];
956
+ } else {
957
+ deprecate('res.redirect(url, status): Use res.redirect(status, url) instead');
958
+ status = arguments[1];
959
+ }
960
+ }
961
+
962
+ // Set location header
963
+ address = this.location(address).get('Location');
964
+
965
+ // Support text/{plain,html} by default
966
+ this.format({
967
+ text: function(){
968
+ body = statuses.message[status] + '. Redirecting to ' + address
969
+ },
970
+
971
+ html: function(){
972
+ var u = escapeHtml(address);
973
+ body = '<p>' + statuses.message[status] + '. Redirecting to ' + u + '</p>'
974
+ },
975
+
976
+ default: function(){
977
+ body = '';
978
+ }
979
+ });
980
+
981
+ // Respond
982
+ this.statusCode = status;
983
+ this.set('Content-Length', Buffer.byteLength(body));
984
+
985
+ if (this.req.method === 'HEAD') {
986
+ this.end();
987
+ } else {
988
+ this.end(body);
989
+ }
990
+ };
991
+
992
+ /**
993
+ * Add `field` to Vary. If already present in the Vary set, then
994
+ * this call is simply ignored.
995
+ *
996
+ * @param {Array|String} field
997
+ * @return {ServerResponse} for chaining
998
+ * @public
999
+ */
1000
+
1001
+ res.vary = function(field){
1002
+ // checks for back-compat
1003
+ if (!field || (Array.isArray(field) && !field.length)) {
1004
+ deprecate('res.vary(): Provide a field name');
1005
+ return this;
1006
+ }
1007
+
1008
+ vary(this, field);
1009
+
1010
+ return this;
1011
+ };
1012
+
1013
+ /**
1014
+ * Render `view` with the given `options` and optional callback `fn`.
1015
+ * When a callback function is given a response will _not_ be made
1016
+ * automatically, otherwise a response of _200_ and _text/html_ is given.
1017
+ *
1018
+ * Options:
1019
+ *
1020
+ * - `cache` boolean hinting to the engine it should cache
1021
+ * - `filename` filename of the view being rendered
1022
+ *
1023
+ * @public
1024
+ */
1025
+
1026
+ res.render = function render(view, options, callback) {
1027
+ var app = this.req.app;
1028
+ var done = callback;
1029
+ var opts = options || {};
1030
+ var req = this.req;
1031
+ var self = this;
1032
+
1033
+ // support callback function as second arg
1034
+ if (typeof options === 'function') {
1035
+ done = options;
1036
+ opts = {};
1037
+ }
1038
+
1039
+ // merge res.locals
1040
+ opts._locals = self.locals;
1041
+
1042
+ // default callback to respond
1043
+ done = done || function (err, str) {
1044
+ if (err) return req.next(err);
1045
+ self.send(str);
1046
+ };
1047
+
1048
+ // render
1049
+ app.render(view, opts, done);
1050
+ };
1051
+
1052
+ // pipe the send file stream
1053
+ function sendfile(res, file, options, callback) {
1054
+ var done = false;
1055
+ var streaming;
1056
+
1057
+ // request aborted
1058
+ function onaborted() {
1059
+ if (done) return;
1060
+ done = true;
1061
+
1062
+ var err = new Error('Request aborted');
1063
+ err.code = 'ECONNABORTED';
1064
+ callback(err);
1065
+ }
1066
+
1067
+ // directory
1068
+ function ondirectory() {
1069
+ if (done) return;
1070
+ done = true;
1071
+
1072
+ var err = new Error('EISDIR, read');
1073
+ err.code = 'EISDIR';
1074
+ callback(err);
1075
+ }
1076
+
1077
+ // errors
1078
+ function onerror(err) {
1079
+ if (done) return;
1080
+ done = true;
1081
+ callback(err);
1082
+ }
1083
+
1084
+ // ended
1085
+ function onend() {
1086
+ if (done) return;
1087
+ done = true;
1088
+ callback();
1089
+ }
1090
+
1091
+ // file
1092
+ function onfile() {
1093
+ streaming = false;
1094
+ }
1095
+
1096
+ // finished
1097
+ function onfinish(err) {
1098
+ if (err && err.code === 'ECONNRESET') return onaborted();
1099
+ if (err) return onerror(err);
1100
+ if (done) return;
1101
+
1102
+ setImmediate(function () {
1103
+ if (streaming !== false && !done) {
1104
+ onaborted();
1105
+ return;
1106
+ }
1107
+
1108
+ if (done) return;
1109
+ done = true;
1110
+ callback();
1111
+ });
1112
+ }
1113
+
1114
+ // streaming
1115
+ function onstream() {
1116
+ streaming = true;
1117
+ }
1118
+
1119
+ file.on('directory', ondirectory);
1120
+ file.on('end', onend);
1121
+ file.on('error', onerror);
1122
+ file.on('file', onfile);
1123
+ file.on('stream', onstream);
1124
+ onFinished(res, onfinish);
1125
+
1126
+ if (options.headers) {
1127
+ // set headers on successful transfer
1128
+ file.on('headers', function headers(res) {
1129
+ var obj = options.headers;
1130
+ var keys = Object.keys(obj);
1131
+
1132
+ for (var i = 0; i < keys.length; i++) {
1133
+ var k = keys[i];
1134
+ res.setHeader(k, obj[k]);
1135
+ }
1136
+ });
1137
+ }
1138
+
1139
+ // pipe
1140
+ file.pipe(res);
1141
+ }
1142
+
1143
+ /**
1144
+ * Stringify JSON, like JSON.stringify, but v8 optimized, with the
1145
+ * ability to escape characters that can trigger HTML sniffing.
1146
+ *
1147
+ * @param {*} value
1148
+ * @param {function} replacer
1149
+ * @param {number} spaces
1150
+ * @param {boolean} escape
1151
+ * @returns {string}
1152
+ * @private
1153
+ */
1154
+
1155
+ function stringify (value, replacer, spaces, escape) {
1156
+ // v8 checks arguments.length for optimizing simple call
1157
+ // https://bugs.chromium.org/p/v8/issues/detail?id=4730
1158
+ var json = replacer || spaces
1159
+ ? JSON.stringify(value, replacer, spaces)
1160
+ : JSON.stringify(value);
1161
+
1162
+ if (escape && typeof json === 'string') {
1163
+ json = json.replace(/[<>&]/g, function (c) {
1164
+ switch (c.charCodeAt(0)) {
1165
+ case 0x3c:
1166
+ return '\\u003c'
1167
+ case 0x3e:
1168
+ return '\\u003e'
1169
+ case 0x26:
1170
+ return '\\u0026'
1171
+ /* istanbul ignore next: unreachable default */
1172
+ default:
1173
+ return c
1174
+ }
1175
+ })
1176
+ }
1177
+
1178
+ return json
1179
+ }