@zxncij2390/monorepo3 3.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (921) hide show
  1. package/.eslintignore +16 -0
  2. package/.eslintrc.cjs +150 -0
  3. package/.github/ISSUE_TEMPLATE/bug-report.yml +178 -0
  4. package/.github/ISSUE_TEMPLATE/enhancement.yml +99 -0
  5. package/.github/ISSUE_TEMPLATE/question.yml +72 -0
  6. package/.github/ISSUE_TEMPLATE.md +39 -0
  7. package/.github/PULL_REQUEST_TEMPLATE.md +24 -0
  8. package/.github/workflows/lock.yml +18 -0
  9. package/.github/workflows/publish-buildsystem.yml +34 -0
  10. package/.github/workflows/publish-docs.yml +21 -0
  11. package/.github/workflows/publish.yml +40 -0
  12. package/.github/workflows/pull_request.yaml +28 -0
  13. package/.github/workflows/push.yaml +32 -0
  14. package/.github/workflows/v3-nightly.yml +40 -0
  15. package/.mocharc.cjs +68 -0
  16. package/.vscode/launch.json +103 -0
  17. package/.vscode/settings.json +17 -0
  18. package/.vscode/tasks.json +124 -0
  19. package/AUTHORS +13 -0
  20. package/CHANGELOG.md +33 -0
  21. package/CODE_OF_CONDUCT.md +6 -0
  22. package/CONTRIBUTING.md +9 -0
  23. package/LICENSE +25 -0
  24. package/README.md +66 -0
  25. package/buildsystem-config.ts +146 -0
  26. package/debug/launch/graph.ts +20 -0
  27. package/debug/launch/main.ts +38 -0
  28. package/debug/launch/setup.ts +50 -0
  29. package/debug/launch/sp.ts +21 -0
  30. package/debug/launch/tsconfig.json +27 -0
  31. package/debug/serve/main.ts +47 -0
  32. package/debug/serve/plumbing/local-module-resolver-plugin.ts +68 -0
  33. package/debug/serve/plumbing/run.ts +24 -0
  34. package/debug/serve/plumbing/serve.ts +27 -0
  35. package/debug/serve/plumbing/webpack.config.ts +43 -0
  36. package/debug/serve/spa.html +12 -0
  37. package/debug/serve/tsconfig.json +15 -0
  38. package/debug/spfx/.eslintrc.js +352 -0
  39. package/debug/spfx/README.md +73 -0
  40. package/debug/spfx/package-lock.json +57299 -0
  41. package/debug/spfx/package.json +38 -0
  42. package/debug/spfx/pnpjs-local-debug-start.js +19 -0
  43. package/debug/spfx/teams/f4c0e5ff-c402-46b7-8073-8cc506808d06_color.png +0 -0
  44. package/debug/spfx/teams/f4c0e5ff-c402-46b7-8073-8cc506808d06_outline.png +0 -0
  45. package/docs/_theme/main.html +5 -0
  46. package/docs/azidjsclient/index.md +36 -0
  47. package/docs/concepts/adv-clientside-pages.md +169 -0
  48. package/docs/concepts/auth-browser.md +42 -0
  49. package/docs/concepts/auth-nodejs.md +101 -0
  50. package/docs/concepts/auth-spfx.md +76 -0
  51. package/docs/concepts/authentication.md +42 -0
  52. package/docs/concepts/batching-caching.md +77 -0
  53. package/docs/concepts/batching.md +257 -0
  54. package/docs/concepts/calling-other-endpoints.md +213 -0
  55. package/docs/concepts/custom-bundle.md +15 -0
  56. package/docs/concepts/error-handling.md +245 -0
  57. package/docs/concepts/invokable.md +7 -0
  58. package/docs/concepts/nightly-builds.md +19 -0
  59. package/docs/concepts/project-preset.md +123 -0
  60. package/docs/concepts/selective-imports.md +106 -0
  61. package/docs/concepts/typings.md +23 -0
  62. package/docs/contributing/debug-tests.md +76 -0
  63. package/docs/contributing/debugging.md +135 -0
  64. package/docs/contributing/documentation.md +34 -0
  65. package/docs/contributing/extending-the-library.md +223 -0
  66. package/docs/contributing/index.md +22 -0
  67. package/docs/contributing/local-debug-configuration.md +28 -0
  68. package/docs/contributing/npm-scripts.md +148 -0
  69. package/docs/contributing/pull-requests.md +27 -0
  70. package/docs/contributing/settings.md +98 -0
  71. package/docs/contributing/setup-dev-machine.md +36 -0
  72. package/docs/core/behavior-recipes.md +199 -0
  73. package/docs/core/behaviors.md +179 -0
  74. package/docs/core/moments.md +215 -0
  75. package/docs/core/observers.md +100 -0
  76. package/docs/core/storage.md +90 -0
  77. package/docs/core/timeline.md +190 -0
  78. package/docs/core/util.md +191 -0
  79. package/docs/css/extra.css +33 -0
  80. package/docs/getting-started.md +361 -0
  81. package/docs/graph/behaviors.md +267 -0
  82. package/docs/graph/bookings.md +180 -0
  83. package/docs/graph/calendars.md +270 -0
  84. package/docs/graph/cloud-communications.md +40 -0
  85. package/docs/graph/columns.md +125 -0
  86. package/docs/graph/contacts.md +298 -0
  87. package/docs/graph/content-types.md +193 -0
  88. package/docs/graph/directoryobjects.md +106 -0
  89. package/docs/graph/groups.md +164 -0
  90. package/docs/graph/insights.md +151 -0
  91. package/docs/graph/invitations.md +22 -0
  92. package/docs/graph/items.md +38 -0
  93. package/docs/graph/lists.md +87 -0
  94. package/docs/graph/messages.md +20 -0
  95. package/docs/graph/onedrive.md +614 -0
  96. package/docs/graph/outlook.md +82 -0
  97. package/docs/graph/photos.md +71 -0
  98. package/docs/graph/planner.md +249 -0
  99. package/docs/graph/search.md +25 -0
  100. package/docs/graph/shares.md +44 -0
  101. package/docs/graph/sites.md +47 -0
  102. package/docs/graph/subscriptions.md +79 -0
  103. package/docs/graph/teams.md +293 -0
  104. package/docs/graph/users.md +134 -0
  105. package/docs/img/ConsoleListenerColors.png +0 -0
  106. package/docs/img/Logo.png +0 -0
  107. package/docs/img/PnPJS_FluentAPI.gif +0 -0
  108. package/docs/img/SPFx-On-Premesis-2016-1.png +0 -0
  109. package/docs/img/TimelineArchitecture.jpg +0 -0
  110. package/docs/img/csp_copyccvalue.png +0 -0
  111. package/docs/img/csp_networktab.png +0 -0
  112. package/docs/img/office365-header-icon.png +0 -0
  113. package/docs/img/usage-2020-eoy.png +0 -0
  114. package/docs/img/usage-2021-eoy.png +0 -0
  115. package/docs/img/usage-2022-eoy.png +0 -0
  116. package/docs/index.md +56 -0
  117. package/docs/logging/index.md +262 -0
  118. package/docs/msaljsclient/index.md +33 -0
  119. package/docs/news/2020-year-in-review.md +162 -0
  120. package/docs/news/2021-year-in-review.md +148 -0
  121. package/docs/news/2022-year-in-review.md +122 -0
  122. package/docs/nodejs/behaviors.md +164 -0
  123. package/docs/nodejs/sp-extensions.md +99 -0
  124. package/docs/packages.md +53 -0
  125. package/docs/queryable/behaviors.md +496 -0
  126. package/docs/queryable/extensions.md +204 -0
  127. package/docs/queryable/queryable.md +385 -0
  128. package/docs/sp/alias-parameters.md +76 -0
  129. package/docs/sp/alm.md +139 -0
  130. package/docs/sp/attachments.md +157 -0
  131. package/docs/sp/behaviors.md +142 -0
  132. package/docs/sp/clientside-pages.md +1048 -0
  133. package/docs/sp/column-defaults.md +241 -0
  134. package/docs/sp/comments-likes.md +302 -0
  135. package/docs/sp/content-types.md +131 -0
  136. package/docs/sp/context-info.md +67 -0
  137. package/docs/sp/favorites.md +91 -0
  138. package/docs/sp/features.md +83 -0
  139. package/docs/sp/fields.md +668 -0
  140. package/docs/sp/files.md +559 -0
  141. package/docs/sp/folders.md +532 -0
  142. package/docs/sp/forms.md +22 -0
  143. package/docs/sp/groupSiteManager.md +40 -0
  144. package/docs/sp/hubsites.md +140 -0
  145. package/docs/sp/items.md +601 -0
  146. package/docs/sp/lists.md +572 -0
  147. package/docs/sp/navigation.md +171 -0
  148. package/docs/sp/permissions.md +82 -0
  149. package/docs/sp/profiles.md +407 -0
  150. package/docs/sp/publishing-sitepageservice.md +16 -0
  151. package/docs/sp/recycle-bin.md +72 -0
  152. package/docs/sp/regional-settings.md +108 -0
  153. package/docs/sp/related-items.md +136 -0
  154. package/docs/sp/search.md +207 -0
  155. package/docs/sp/security.md +196 -0
  156. package/docs/sp/sharing.md +273 -0
  157. package/docs/sp/site-designs.md +117 -0
  158. package/docs/sp/site-groups.md +144 -0
  159. package/docs/sp/site-scripts.md +123 -0
  160. package/docs/sp/site-users.md +211 -0
  161. package/docs/sp/sites.md +269 -0
  162. package/docs/sp/social.md +182 -0
  163. package/docs/sp/sp-utilities-utility.md +159 -0
  164. package/docs/sp/subscriptions.md +79 -0
  165. package/docs/sp/taxonomy.md +470 -0
  166. package/docs/sp/tenant-properties.md +55 -0
  167. package/docs/sp/user-custom-actions.md +95 -0
  168. package/docs/sp/views.md +226 -0
  169. package/docs/sp/webs.md +947 -0
  170. package/docs/sp-admin/index.md +139 -0
  171. package/docs/transition-guide.md +87 -0
  172. package/docs/v1/404.html +1611 -0
  173. package/docs/v1/assets/fonts/font-awesome.css +4 -0
  174. package/docs/v1/assets/fonts/material-icons.css +13 -0
  175. package/docs/v1/assets/fonts/specimen/FontAwesome.ttf +0 -0
  176. package/docs/v1/assets/fonts/specimen/FontAwesome.woff +0 -0
  177. package/docs/v1/assets/fonts/specimen/FontAwesome.woff2 +0 -0
  178. package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.ttf +0 -0
  179. package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.woff +0 -0
  180. package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.woff2 +0 -0
  181. package/docs/v1/assets/images/favicon.png +0 -0
  182. package/docs/v1/assets/images/icons/bitbucket.1b09e088.svg +20 -0
  183. package/docs/v1/assets/images/icons/github.f0b8504a.svg +18 -0
  184. package/docs/v1/assets/images/icons/gitlab.6dd19c00.svg +38 -0
  185. package/docs/v1/assets/javascripts/application.583bbe55.js +1 -0
  186. package/docs/v1/assets/javascripts/lunr/lunr.da.js +1 -0
  187. package/docs/v1/assets/javascripts/lunr/lunr.de.js +1 -0
  188. package/docs/v1/assets/javascripts/lunr/lunr.du.js +1 -0
  189. package/docs/v1/assets/javascripts/lunr/lunr.es.js +1 -0
  190. package/docs/v1/assets/javascripts/lunr/lunr.fi.js +1 -0
  191. package/docs/v1/assets/javascripts/lunr/lunr.fr.js +1 -0
  192. package/docs/v1/assets/javascripts/lunr/lunr.hu.js +1 -0
  193. package/docs/v1/assets/javascripts/lunr/lunr.it.js +1 -0
  194. package/docs/v1/assets/javascripts/lunr/lunr.jp.js +1 -0
  195. package/docs/v1/assets/javascripts/lunr/lunr.multi.js +1 -0
  196. package/docs/v1/assets/javascripts/lunr/lunr.no.js +1 -0
  197. package/docs/v1/assets/javascripts/lunr/lunr.pt.js +1 -0
  198. package/docs/v1/assets/javascripts/lunr/lunr.ro.js +1 -0
  199. package/docs/v1/assets/javascripts/lunr/lunr.ru.js +1 -0
  200. package/docs/v1/assets/javascripts/lunr/lunr.stemmer.support.js +1 -0
  201. package/docs/v1/assets/javascripts/lunr/lunr.sv.js +1 -0
  202. package/docs/v1/assets/javascripts/lunr/lunr.tr.js +1 -0
  203. package/docs/v1/assets/javascripts/lunr/tinyseg.js +1 -0
  204. package/docs/v1/assets/javascripts/modernizr.1aa3b519.js +1 -0
  205. package/docs/v1/assets/stylesheets/application-palette.22915126.css +1176 -0
  206. package/docs/v1/assets/stylesheets/application.451f80e5.css +2552 -0
  207. package/docs/v1/common/docs/adalclient/index.html +1994 -0
  208. package/docs/v1/common/docs/collections/index.html +1786 -0
  209. package/docs/v1/common/docs/custom-httpclientimpl/index.html +1798 -0
  210. package/docs/v1/common/docs/index.html +1787 -0
  211. package/docs/v1/common/docs/libconfig/index.html +1930 -0
  212. package/docs/v1/common/docs/netutil/index.html +1860 -0
  213. package/docs/v1/common/docs/storage/index.html +1850 -0
  214. package/docs/v1/common/docs/util/index.html +2058 -0
  215. package/docs/v1/config-store/docs/configuration/index.html +1730 -0
  216. package/docs/v1/config-store/docs/index.html +1761 -0
  217. package/docs/v1/config-store/docs/providers/index.html +1782 -0
  218. package/docs/v1/documentation/SPFx-On-Premesis-2016/index.html +1720 -0
  219. package/docs/v1/documentation/beta-versions/index.html +1742 -0
  220. package/docs/v1/documentation/css/extra.css +33 -0
  221. package/docs/v1/documentation/debugging/index.html +2098 -0
  222. package/docs/v1/documentation/deployment/index.html +1972 -0
  223. package/docs/v1/documentation/documentation/index.html +1760 -0
  224. package/docs/v1/documentation/getting-started/index.html +2280 -0
  225. package/docs/v1/documentation/getting-started-dev/index.html +1799 -0
  226. package/docs/v1/documentation/gulp-commands/index.html +2100 -0
  227. package/docs/v1/documentation/img/Logo.png +0 -0
  228. package/docs/v1/documentation/img/PnPJS_FluentAPI.gif +0 -0
  229. package/docs/v1/documentation/img/SPFx-On-Premesis-2016-1.png +0 -0
  230. package/docs/v1/documentation/img/office365-header-icon.png +0 -0
  231. package/docs/v1/documentation/img/pnpjs-common-uml.svg +220 -0
  232. package/docs/v1/documentation/img/pnpjs-config-store-uml.svg +56 -0
  233. package/docs/v1/documentation/img/pnpjs-graph-uml.svg +602 -0
  234. package/docs/v1/documentation/img/pnpjs-logging-uml.svg +59 -0
  235. package/docs/v1/documentation/img/pnpjs-nodejs-uml.svg +85 -0
  236. package/docs/v1/documentation/img/pnpjs-odata-uml.svg +253 -0
  237. package/docs/v1/documentation/img/pnpjs-sp-addinhelpers-uml.svg +48 -0
  238. package/docs/v1/documentation/img/pnpjs-sp-clientsvc-uml.svg +167 -0
  239. package/docs/v1/documentation/img/pnpjs-sp-taxonomy-uml.svg +458 -0
  240. package/docs/v1/documentation/img/pnpjs-sp-uml.svg +2833 -0
  241. package/docs/v1/documentation/package-structure/index.html +1875 -0
  242. package/docs/v1/documentation/packages/index.html +1741 -0
  243. package/docs/v1/documentation/polyfill/index.html +1877 -0
  244. package/docs/v1/documentation/theme/main.html +5 -0
  245. package/docs/v1/documentation/transition-guide/index.html +1977 -0
  246. package/docs/v1/graph/docs/contacts/index.html +2080 -0
  247. package/docs/v1/graph/docs/directoryobjects/index.html +1865 -0
  248. package/docs/v1/graph/docs/index.html +1858 -0
  249. package/docs/v1/graph/docs/insights/index.html +1698 -0
  250. package/docs/v1/graph/docs/invitations/index.html +1742 -0
  251. package/docs/v1/graph/docs/onedrive/index.html +2086 -0
  252. package/docs/v1/graph/docs/people/index.html +1664 -0
  253. package/docs/v1/graph/docs/planner/index.html +2097 -0
  254. package/docs/v1/graph/docs/security/index.html +1692 -0
  255. package/docs/v1/graph/docs/sites/index.html +2043 -0
  256. package/docs/v1/graph/docs/subscriptions/index.html +1835 -0
  257. package/docs/v1/graph/docs/teams/index.html +2097 -0
  258. package/docs/v1/index.html +1889 -0
  259. package/docs/v1/logging/docs/index.html +2045 -0
  260. package/docs/v1/nodejs/docs/adal-certificate-fetch-client/index.html +1676 -0
  261. package/docs/v1/nodejs/docs/adal-fetch-client/index.html +1713 -0
  262. package/docs/v1/nodejs/docs/bearer-token-fetch-client/index.html +1712 -0
  263. package/docs/v1/nodejs/docs/index.html +1764 -0
  264. package/docs/v1/nodejs/docs/provider-hosted-app/index.html +1725 -0
  265. package/docs/v1/nodejs/docs/proxy/index.html +1699 -0
  266. package/docs/v1/nodejs/docs/sp-fetch-client/index.html +1895 -0
  267. package/docs/v1/odata/docs/caching/index.html +1988 -0
  268. package/docs/v1/odata/docs/core/index.html +1829 -0
  269. package/docs/v1/odata/docs/index.html +1781 -0
  270. package/docs/v1/odata/docs/odata-batch/index.html +1755 -0
  271. package/docs/v1/odata/docs/parsers/index.html +1862 -0
  272. package/docs/v1/odata/docs/pipeline/index.html +1811 -0
  273. package/docs/v1/odata/docs/queryable/index.html +1967 -0
  274. package/docs/v1/pnpjs/docs/index.html +1814 -0
  275. package/docs/v1/search/search_index.json +1 -0
  276. package/docs/v1/sitemap.xml +428 -0
  277. package/docs/v1/sitemap.xml.gz +0 -0
  278. package/docs/v1/sp/docs/alias-parameters/index.html +1830 -0
  279. package/docs/v1/sp/docs/alm/index.html +1920 -0
  280. package/docs/v1/sp/docs/attachments/index.html +1998 -0
  281. package/docs/v1/sp/docs/client-side-pages/index.html +2031 -0
  282. package/docs/v1/sp/docs/comments-likes/index.html +1958 -0
  283. package/docs/v1/sp/docs/content-types/index.html +1758 -0
  284. package/docs/v1/sp/docs/entity-merging/index.html +1838 -0
  285. package/docs/v1/sp/docs/features/index.html +1824 -0
  286. package/docs/v1/sp/docs/fields/index.html +2031 -0
  287. package/docs/v1/sp/docs/files/index.html +2178 -0
  288. package/docs/v1/sp/docs/index.html +1894 -0
  289. package/docs/v1/sp/docs/items/index.html +2362 -0
  290. package/docs/v1/sp/docs/navigation-service/index.html +1791 -0
  291. package/docs/v1/sp/docs/permissions/index.html +1860 -0
  292. package/docs/v1/sp/docs/profiles/index.html +1794 -0
  293. package/docs/v1/sp/docs/related-items/index.html +1886 -0
  294. package/docs/v1/sp/docs/search/index.html +1830 -0
  295. package/docs/v1/sp/docs/sharing/index.html +2058 -0
  296. package/docs/v1/sp/docs/sitedesigns/index.html +1851 -0
  297. package/docs/v1/sp/docs/sites/index.html +2186 -0
  298. package/docs/v1/sp/docs/social/index.html +2011 -0
  299. package/docs/v1/sp/docs/sp-utilities-utility/index.html +2061 -0
  300. package/docs/v1/sp/docs/tenant-properties/index.html +1795 -0
  301. package/docs/v1/sp/docs/views/index.html +1869 -0
  302. package/docs/v1/sp/docs/webs/index.html +1972 -0
  303. package/docs/v1/sp-addinhelpers/docs/index.html +1771 -0
  304. package/docs/v1/sp-addinhelpers/docs/sp-request-executor-client/index.html +1760 -0
  305. package/docs/v1/sp-addinhelpers/docs/sp-rest-addin/index.html +1711 -0
  306. package/docs/v1/sp-clientsvc/docs/index.html +1736 -0
  307. package/docs/v1/sp-taxonomy/docs/index.html +1887 -0
  308. package/docs/v1/sp-taxonomy/docs/labels/index.html +1827 -0
  309. package/docs/v1/sp-taxonomy/docs/term-groups/index.html +1875 -0
  310. package/docs/v1/sp-taxonomy/docs/term-sets/index.html +1946 -0
  311. package/docs/v1/sp-taxonomy/docs/term-stores/index.html +2111 -0
  312. package/docs/v1/sp-taxonomy/docs/terms/index.html +2036 -0
  313. package/docs/v1/sp-taxonomy/docs/utilities/index.html +1783 -0
  314. package/docs/v2/404.html +2108 -0
  315. package/docs/v2/SPFx-on-premises/index.html +2278 -0
  316. package/docs/v2/_theme/main.html +5 -0
  317. package/docs/v2/adaljsclient/adalclient/index.html +15 -0
  318. package/docs/v2/adaljsclient/index.html +15 -0
  319. package/docs/v2/assets/images/favicon.png +0 -0
  320. package/docs/v2/assets/javascripts/bundle.9554a270.min.js +2 -0
  321. package/docs/v2/assets/javascripts/bundle.9554a270.min.js.map +1 -0
  322. package/docs/v2/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  323. package/docs/v2/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  324. package/docs/v2/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  325. package/docs/v2/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  326. package/docs/v2/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  327. package/docs/v2/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  328. package/docs/v2/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  329. package/docs/v2/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  330. package/docs/v2/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  331. package/docs/v2/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  332. package/docs/v2/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  333. package/docs/v2/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  334. package/docs/v2/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  335. package/docs/v2/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  336. package/docs/v2/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  337. package/docs/v2/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  338. package/docs/v2/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  339. package/docs/v2/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  340. package/docs/v2/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  341. package/docs/v2/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  342. package/docs/v2/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  343. package/docs/v2/assets/javascripts/lunr/tinyseg.min.js +1 -0
  344. package/docs/v2/assets/javascripts/vendor.77e55a48.min.js +30 -0
  345. package/docs/v2/assets/javascripts/vendor.77e55a48.min.js.map +1 -0
  346. package/docs/v2/assets/javascripts/worker/search.4ac00218.min.js +59 -0
  347. package/docs/v2/assets/javascripts/worker/search.4ac00218.min.js.map +1 -0
  348. package/docs/v2/assets/stylesheets/main.38780c08.min.css +3 -0
  349. package/docs/v2/assets/stylesheets/main.38780c08.min.css.map +1 -0
  350. package/docs/v2/assets/stylesheets/palette.3f72e892.min.css +3 -0
  351. package/docs/v2/assets/stylesheets/palette.3f72e892.min.css.map +1 -0
  352. package/docs/v2/authentication/adaljsclient/index.html +2510 -0
  353. package/docs/v2/authentication/bearertokenclient/index.html +2251 -0
  354. package/docs/v2/authentication/client-spa/index.html +2206 -0
  355. package/docs/v2/authentication/client-spfx/index.html +2397 -0
  356. package/docs/v2/authentication/index.html +2307 -0
  357. package/docs/v2/authentication/lambdaclient/index.html +2304 -0
  358. package/docs/v2/authentication/msaljsclient/index.html +2413 -0
  359. package/docs/v2/authentication/server-nodejs/index.html +2404 -0
  360. package/docs/v2/authentication/sp-app-registration/index.html +2273 -0
  361. package/docs/v2/common/collections/index.html +2277 -0
  362. package/docs/v2/common/custom-httpclientimpl/index.html +2300 -0
  363. package/docs/v2/common/index.html +2262 -0
  364. package/docs/v2/common/libconfig/index.html +2413 -0
  365. package/docs/v2/common/netutil/index.html +2350 -0
  366. package/docs/v2/common/storage/index.html +2339 -0
  367. package/docs/v2/common/util/index.html +2638 -0
  368. package/docs/v2/concepts/configuration/index.html +2685 -0
  369. package/docs/v2/concepts/custom-bundle/index.html +2279 -0
  370. package/docs/v2/concepts/error-handling/index.html +2539 -0
  371. package/docs/v2/concepts/ie11-mode/index.html +2278 -0
  372. package/docs/v2/concepts/invokable/index.html +2254 -0
  373. package/docs/v2/concepts/polyfill/index.html +2401 -0
  374. package/docs/v2/concepts/selective-imports/index.html +2360 -0
  375. package/docs/v2/concepts/settings/index.html +2551 -0
  376. package/docs/v2/config-store/configuration/index.html +2226 -0
  377. package/docs/v2/config-store/index.html +2239 -0
  378. package/docs/v2/config-store/providers/index.html +2275 -0
  379. package/docs/v2/contributing/debug-tests/index.html +2323 -0
  380. package/docs/v2/contributing/debugging/index.html +2514 -0
  381. package/docs/v2/contributing/documentation/index.html +2291 -0
  382. package/docs/v2/contributing/extending-the-library/index.html +2521 -0
  383. package/docs/v2/contributing/index.html +2270 -0
  384. package/docs/v2/contributing/local-debug-configuration/index.html +2284 -0
  385. package/docs/v2/contributing/pull-requests/index.html +2261 -0
  386. package/docs/v2/contributing/setup-dev-machine/index.html +2284 -0
  387. package/docs/v2/css/extra.css +33 -0
  388. package/docs/v2/debug-tests/index.html +15 -0
  389. package/docs/v2/debugging/index.html +15 -0
  390. package/docs/v2/documentation/index.html +15 -0
  391. package/docs/v2/getting-started/index.html +2789 -0
  392. package/docs/v2/getting-started-dev/index.html +15 -0
  393. package/docs/v2/graph/calendars/index.html +2569 -0
  394. package/docs/v2/graph/contacts/index.html +2673 -0
  395. package/docs/v2/graph/directoryobjects/index.html +2402 -0
  396. package/docs/v2/graph/groups/index.html +2488 -0
  397. package/docs/v2/graph/index.html +2333 -0
  398. package/docs/v2/graph/insights/index.html +2478 -0
  399. package/docs/v2/graph/invitations/index.html +2273 -0
  400. package/docs/v2/graph/onedrive/index.html +2617 -0
  401. package/docs/v2/graph/outlook/index.html +2363 -0
  402. package/docs/v2/graph/photos/index.html +2351 -0
  403. package/docs/v2/graph/planner/index.html +2628 -0
  404. package/docs/v2/graph/search/index.html +2264 -0
  405. package/docs/v2/graph/subscriptions/index.html +2333 -0
  406. package/docs/v2/graph/teams/index.html +2619 -0
  407. package/docs/v2/graph/users/index.html +2461 -0
  408. package/docs/v2/img/ConsoleListenerColors.png +0 -0
  409. package/docs/v2/img/Logo.png +0 -0
  410. package/docs/v2/img/PnPJS_FluentAPI.gif +0 -0
  411. package/docs/v2/img/SPFx-On-Premesis-2016-1.png +0 -0
  412. package/docs/v2/img/office365-header-icon.png +0 -0
  413. package/docs/v2/img/usage-2020-eoy.png +0 -0
  414. package/docs/v2/index.html +2410 -0
  415. package/docs/v2/logging/index.html +2622 -0
  416. package/docs/v2/news/2020-year-in-review/index.html +2525 -0
  417. package/docs/v2/nodejs/adal-fetch-client/index.html +2204 -0
  418. package/docs/v2/nodejs/bearer-token-fetch-client/index.html +2203 -0
  419. package/docs/v2/nodejs/index.html +2261 -0
  420. package/docs/v2/nodejs/provider-hosted-app/index.html +2220 -0
  421. package/docs/v2/nodejs/proxy/index.html +2238 -0
  422. package/docs/v2/nodejs/sp-extensions/index.html +2362 -0
  423. package/docs/v2/nodejs/sp-fetch-client/index.html +2294 -0
  424. package/docs/v2/nodejs-support/index.html +2398 -0
  425. package/docs/v2/npm-scripts/index.html +2521 -0
  426. package/docs/v2/odata/caching/index.html +2465 -0
  427. package/docs/v2/odata/core/index.html +2322 -0
  428. package/docs/v2/odata/debug/index.html +2358 -0
  429. package/docs/v2/odata/extensions/index.html +2581 -0
  430. package/docs/v2/odata/index.html +2259 -0
  431. package/docs/v2/odata/odata-batch/index.html +2250 -0
  432. package/docs/v2/odata/parsers/index.html +2355 -0
  433. package/docs/v2/odata/pipeline/index.html +2297 -0
  434. package/docs/v2/odata/queryable/index.html +2455 -0
  435. package/docs/v2/packages/index.html +2251 -0
  436. package/docs/v2/pnpjs/index.html +2281 -0
  437. package/docs/v2/search/search_index.json +1 -0
  438. package/docs/v2/sitemap.xml +483 -0
  439. package/docs/v2/sitemap.xml.gz +0 -0
  440. package/docs/v2/sp/alias-parameters/index.html +2330 -0
  441. package/docs/v2/sp/alm/index.html +2433 -0
  442. package/docs/v2/sp/attachments/index.html +2504 -0
  443. package/docs/v2/sp/clientside-pages/index.html +3477 -0
  444. package/docs/v2/sp/column-defaults/index.html +2540 -0
  445. package/docs/v2/sp/comments-likes/index.html +2646 -0
  446. package/docs/v2/sp/content-types/index.html +2462 -0
  447. package/docs/v2/sp/custom-irequestclient/index.html +2339 -0
  448. package/docs/v2/sp/entity-merging/index.html +2325 -0
  449. package/docs/v2/sp/features/index.html +2440 -0
  450. package/docs/v2/sp/fields/index.html +3103 -0
  451. package/docs/v2/sp/files/index.html +2949 -0
  452. package/docs/v2/sp/folders/index.html +2968 -0
  453. package/docs/v2/sp/forms/index.html +2289 -0
  454. package/docs/v2/sp/hubsites/index.html +2485 -0
  455. package/docs/v2/sp/index.html +2328 -0
  456. package/docs/v2/sp/items/index.html +2974 -0
  457. package/docs/v2/sp/lists/index.html +3387 -0
  458. package/docs/v2/sp/navigation/index.html +2535 -0
  459. package/docs/v2/sp/permissions/index.html +2338 -0
  460. package/docs/v2/sp/profiles/index.html +2806 -0
  461. package/docs/v2/sp/regional-settings/index.html +2394 -0
  462. package/docs/v2/sp/related-items/index.html +2417 -0
  463. package/docs/v2/sp/search/index.html +2474 -0
  464. package/docs/v2/sp/security/index.html +2432 -0
  465. package/docs/v2/sp/sharing/index.html +2589 -0
  466. package/docs/v2/sp/site-designs/index.html +2414 -0
  467. package/docs/v2/sp/site-groups/index.html +2504 -0
  468. package/docs/v2/sp/site-scripts/index.html +2433 -0
  469. package/docs/v2/sp/site-users/index.html +2641 -0
  470. package/docs/v2/sp/sites/index.html +2727 -0
  471. package/docs/v2/sp/social/index.html +2517 -0
  472. package/docs/v2/sp/sp-utilities-utility/index.html +2460 -0
  473. package/docs/v2/sp/subscriptions/index.html +2395 -0
  474. package/docs/v2/sp/taxonomy/index.html +2565 -0
  475. package/docs/v2/sp/tenant-properties/index.html +2286 -0
  476. package/docs/v2/sp/user-custom-actions/index.html +2424 -0
  477. package/docs/v2/sp/views/index.html +2652 -0
  478. package/docs/v2/sp/webs/index.html +4190 -0
  479. package/docs/v2/sp-addinhelpers/index.html +2274 -0
  480. package/docs/v2/sp-addinhelpers/sp-request-executor-client/index.html +2253 -0
  481. package/docs/v2/sp-addinhelpers/sp-rest-addin/index.html +2206 -0
  482. package/docs/v2/transition-guide/index.html +2435 -0
  483. package/mkdocs-requirements.txt +2 -0
  484. package/mkdocs.yml +188 -0
  485. package/package.json +96 -0
  486. package/packages/azidjsclient/index.ts +68 -0
  487. package/packages/azidjsclient/package.json +13 -0
  488. package/packages/azidjsclient/tsconfig.json +12 -0
  489. package/packages/core/behaviors/assign-from.ts +17 -0
  490. package/packages/core/behaviors/copy-from.ts +58 -0
  491. package/packages/core/extendable.ts +193 -0
  492. package/packages/core/index.ts +11 -0
  493. package/packages/core/moments.ts +117 -0
  494. package/packages/core/package.json +10 -0
  495. package/packages/core/storage.ts +274 -0
  496. package/packages/core/timeline.ts +387 -0
  497. package/packages/core/tsconfig.json +10 -0
  498. package/packages/core/util.ts +169 -0
  499. package/packages/graph/attachments/conversations.ts +14 -0
  500. package/packages/graph/attachments/index.ts +8 -0
  501. package/packages/graph/attachments/types.ts +37 -0
  502. package/packages/graph/batching.ts +408 -0
  503. package/packages/graph/behaviors/consistency-level.ts +17 -0
  504. package/packages/graph/behaviors/defaults.ts +41 -0
  505. package/packages/graph/behaviors/endpoint.ts +22 -0
  506. package/packages/graph/behaviors/graphbrowser.ts +38 -0
  507. package/packages/graph/behaviors/paged.ts +109 -0
  508. package/packages/graph/behaviors/spfx.ts +46 -0
  509. package/packages/graph/behaviors/telemetry.ts +19 -0
  510. package/packages/graph/bookings/funcs.ts +18 -0
  511. package/packages/graph/bookings/index.ts +62 -0
  512. package/packages/graph/bookings/types.ts +352 -0
  513. package/packages/graph/calendars/funcs.ts +58 -0
  514. package/packages/graph/calendars/groups.ts +19 -0
  515. package/packages/graph/calendars/index.ts +18 -0
  516. package/packages/graph/calendars/types.ts +73 -0
  517. package/packages/graph/calendars/users.ts +28 -0
  518. package/packages/graph/cloud-communications/index.ts +24 -0
  519. package/packages/graph/cloud-communications/types.ts +32 -0
  520. package/packages/graph/cloud-communications/users.ts +15 -0
  521. package/packages/graph/columns/addColumns.ts +28 -0
  522. package/packages/graph/columns/content-types.ts +44 -0
  523. package/packages/graph/columns/index.ts +14 -0
  524. package/packages/graph/columns/lists.ts +33 -0
  525. package/packages/graph/columns/sites.ts +32 -0
  526. package/packages/graph/columns/types.ts +24 -0
  527. package/packages/graph/contacts/index.ts +14 -0
  528. package/packages/graph/contacts/types.ts +126 -0
  529. package/packages/graph/contacts/users.ts +17 -0
  530. package/packages/graph/content-types/index.ts +11 -0
  531. package/packages/graph/content-types/lists.ts +44 -0
  532. package/packages/graph/content-types/sites.ts +70 -0
  533. package/packages/graph/content-types/types.ts +112 -0
  534. package/packages/graph/conversations/groups.ts +20 -0
  535. package/packages/graph/conversations/index.ts +19 -0
  536. package/packages/graph/conversations/types.ts +147 -0
  537. package/packages/graph/decorators.ts +164 -0
  538. package/packages/graph/directory-objects/index.ts +24 -0
  539. package/packages/graph/directory-objects/types.ts +94 -0
  540. package/packages/graph/fi.ts +46 -0
  541. package/packages/graph/graphqueryable.ts +193 -0
  542. package/packages/graph/groups/index.ts +25 -0
  543. package/packages/graph/groups/types.ts +130 -0
  544. package/packages/graph/index.ts +21 -0
  545. package/packages/graph/insights/index.ts +20 -0
  546. package/packages/graph/insights/types.ts +105 -0
  547. package/packages/graph/insights/users.ts +14 -0
  548. package/packages/graph/invitations/index.ts +22 -0
  549. package/packages/graph/invitations/types.ts +41 -0
  550. package/packages/graph/lists/drive.ts +21 -0
  551. package/packages/graph/lists/index.ts +10 -0
  552. package/packages/graph/lists/sites.ts +16 -0
  553. package/packages/graph/lists/types.ts +47 -0
  554. package/packages/graph/members/groups.ts +17 -0
  555. package/packages/graph/members/index.ts +8 -0
  556. package/packages/graph/members/types.ts +40 -0
  557. package/packages/graph/messages/index.ts +14 -0
  558. package/packages/graph/messages/types.ts +46 -0
  559. package/packages/graph/messages/users.ts +27 -0
  560. package/packages/graph/onedrive/funcs.ts +40 -0
  561. package/packages/graph/onedrive/groups.ts +33 -0
  562. package/packages/graph/onedrive/index.ts +48 -0
  563. package/packages/graph/onedrive/sites.ts +35 -0
  564. package/packages/graph/onedrive/types.ts +482 -0
  565. package/packages/graph/onedrive/users.ts +56 -0
  566. package/packages/graph/onenote/index.ts +16 -0
  567. package/packages/graph/onenote/types.ts +119 -0
  568. package/packages/graph/onenote/users.ts +14 -0
  569. package/packages/graph/operations.ts +22 -0
  570. package/packages/graph/outlook/index.ts +11 -0
  571. package/packages/graph/outlook/types.ts +58 -0
  572. package/packages/graph/outlook/users.ts +14 -0
  573. package/packages/graph/package.json +16 -0
  574. package/packages/graph/photos/groups.ts +14 -0
  575. package/packages/graph/photos/index.ts +7 -0
  576. package/packages/graph/photos/types.ts +33 -0
  577. package/packages/graph/photos/users.ts +14 -0
  578. package/packages/graph/planner/groups.ts +14 -0
  579. package/packages/graph/planner/index.ts +42 -0
  580. package/packages/graph/planner/types.ts +213 -0
  581. package/packages/graph/planner/users.ts +14 -0
  582. package/packages/graph/post-install.cjs +20 -0
  583. package/packages/graph/presets/all.ts +42 -0
  584. package/packages/graph/search/index.ts +18 -0
  585. package/packages/graph/search/types.ts +20 -0
  586. package/packages/graph/shares/index.ts +23 -0
  587. package/packages/graph/shares/types.ts +47 -0
  588. package/packages/graph/sites/group.ts +14 -0
  589. package/packages/graph/sites/index.ts +25 -0
  590. package/packages/graph/sites/types.ts +45 -0
  591. package/packages/graph/subscriptions/index.ts +24 -0
  592. package/packages/graph/subscriptions/types.ts +59 -0
  593. package/packages/graph/teams/index.ts +68 -0
  594. package/packages/graph/teams/types.ts +333 -0
  595. package/packages/graph/teams/users.ts +14 -0
  596. package/packages/graph/tsconfig.json +16 -0
  597. package/packages/graph/users/index.ts +34 -0
  598. package/packages/graph/users/types.ts +56 -0
  599. package/packages/graph/utils/type.ts +3 -0
  600. package/packages/logging/index.ts +145 -0
  601. package/packages/logging/listeners.ts +134 -0
  602. package/packages/logging/package.json +10 -0
  603. package/packages/logging/tsconfig.json +7 -0
  604. package/packages/msaljsclient/index.ts +40 -0
  605. package/packages/msaljsclient/package.json +12 -0
  606. package/packages/msaljsclient/tsconfig.json +12 -0
  607. package/packages/nodejs/behaviors/fetch.ts +130 -0
  608. package/packages/nodejs/behaviors/graphdefault.ts +50 -0
  609. package/packages/nodejs/behaviors/msal.ts +24 -0
  610. package/packages/nodejs/behaviors/spdefault.ts +45 -0
  611. package/packages/nodejs/behaviors/stream-parse.ts +7 -0
  612. package/packages/nodejs/index.ts +33 -0
  613. package/packages/nodejs/package.json +17 -0
  614. package/packages/nodejs/sp-extensions/stream.ts +136 -0
  615. package/packages/nodejs/tsconfig.json +28 -0
  616. package/packages/queryable/add-prop.ts +18 -0
  617. package/packages/queryable/behaviors/bearer-token.ts +15 -0
  618. package/packages/queryable/behaviors/browser-fetch.ts +131 -0
  619. package/packages/queryable/behaviors/caching-pessimistic.ts +67 -0
  620. package/packages/queryable/behaviors/caching.ts +149 -0
  621. package/packages/queryable/behaviors/cancelable.ts +264 -0
  622. package/packages/queryable/behaviors/inject-headers.ts +23 -0
  623. package/packages/queryable/behaviors/parsers.ts +134 -0
  624. package/packages/queryable/behaviors/resolvers.ts +28 -0
  625. package/packages/queryable/behaviors/timeout.ts +24 -0
  626. package/packages/queryable/index.ts +19 -0
  627. package/packages/queryable/invokable.ts +42 -0
  628. package/packages/queryable/operations.ts +32 -0
  629. package/packages/queryable/package.json +11 -0
  630. package/packages/queryable/queryable-factory.ts +19 -0
  631. package/packages/queryable/queryable.ts +239 -0
  632. package/packages/queryable/request-builders.ts +20 -0
  633. package/packages/queryable/tsconfig.json +11 -0
  634. package/packages/readme.md +21 -0
  635. package/packages/sp/appcatalog/index.ts +35 -0
  636. package/packages/sp/appcatalog/types.ts +176 -0
  637. package/packages/sp/appcatalog/web.ts +19 -0
  638. package/packages/sp/attachments/index.ts +11 -0
  639. package/packages/sp/attachments/item.ts +17 -0
  640. package/packages/sp/attachments/types.ts +95 -0
  641. package/packages/sp/batching.ts +483 -0
  642. package/packages/sp/behaviors/defaults.ts +38 -0
  643. package/packages/sp/behaviors/request-digest.ts +78 -0
  644. package/packages/sp/behaviors/spbrowser.ts +40 -0
  645. package/packages/sp/behaviors/spfx.ts +83 -0
  646. package/packages/sp/behaviors/telemetry.ts +35 -0
  647. package/packages/sp/clientside-pages/funcs.ts +27 -0
  648. package/packages/sp/clientside-pages/index.ts +27 -0
  649. package/packages/sp/clientside-pages/types.ts +1661 -0
  650. package/packages/sp/clientside-pages/web.ts +93 -0
  651. package/packages/sp/column-defaults/folder.ts +89 -0
  652. package/packages/sp/column-defaults/index.ts +8 -0
  653. package/packages/sp/column-defaults/list.ts +219 -0
  654. package/packages/sp/column-defaults/types.ts +19 -0
  655. package/packages/sp/comments/clientside-page.ts +120 -0
  656. package/packages/sp/comments/index.ts +14 -0
  657. package/packages/sp/comments/item.ts +77 -0
  658. package/packages/sp/comments/types.ts +160 -0
  659. package/packages/sp/content-types/index.ts +17 -0
  660. package/packages/sp/content-types/item.ts +17 -0
  661. package/packages/sp/content-types/list.ts +17 -0
  662. package/packages/sp/content-types/types.ts +181 -0
  663. package/packages/sp/content-types/web.ts +17 -0
  664. package/packages/sp/context-info/index.ts +40 -0
  665. package/packages/sp/decorators.ts +18 -0
  666. package/packages/sp/favorites/index.ts +32 -0
  667. package/packages/sp/favorites/types.ts +187 -0
  668. package/packages/sp/features/index.ts +11 -0
  669. package/packages/sp/features/site.ts +17 -0
  670. package/packages/sp/features/types.ts +73 -0
  671. package/packages/sp/features/web.ts +17 -0
  672. package/packages/sp/fi.ts +46 -0
  673. package/packages/sp/fields/index.ts +22 -0
  674. package/packages/sp/fields/list.ts +17 -0
  675. package/packages/sp/fields/types.ts +648 -0
  676. package/packages/sp/fields/web.ts +23 -0
  677. package/packages/sp/files/folder.ts +17 -0
  678. package/packages/sp/files/index.ts +25 -0
  679. package/packages/sp/files/item.ts +17 -0
  680. package/packages/sp/files/readable-file.ts +40 -0
  681. package/packages/sp/files/types.ts +771 -0
  682. package/packages/sp/files/web.ts +46 -0
  683. package/packages/sp/folders/index.ts +19 -0
  684. package/packages/sp/folders/item.ts +16 -0
  685. package/packages/sp/folders/list.ts +17 -0
  686. package/packages/sp/folders/types.ts +439 -0
  687. package/packages/sp/folders/web.ts +50 -0
  688. package/packages/sp/forms/index.ts +9 -0
  689. package/packages/sp/forms/list.ts +14 -0
  690. package/packages/sp/forms/types.ts +41 -0
  691. package/packages/sp/groupsitemanager/index.ts +18 -0
  692. package/packages/sp/groupsitemanager/types.ts +433 -0
  693. package/packages/sp/hubsites/index.ts +31 -0
  694. package/packages/sp/hubsites/site.ts +43 -0
  695. package/packages/sp/hubsites/types.ts +71 -0
  696. package/packages/sp/hubsites/web.ts +38 -0
  697. package/packages/sp/index.ts +24 -0
  698. package/packages/sp/items/get-all.ts +52 -0
  699. package/packages/sp/items/index.ts +18 -0
  700. package/packages/sp/items/list.ts +14 -0
  701. package/packages/sp/items/types.ts +405 -0
  702. package/packages/sp/lists/index.ts +23 -0
  703. package/packages/sp/lists/types.ts +851 -0
  704. package/packages/sp/lists/web.ts +68 -0
  705. package/packages/sp/navigation/index.ts +35 -0
  706. package/packages/sp/navigation/types.ts +243 -0
  707. package/packages/sp/navigation/web.ts +19 -0
  708. package/packages/sp/operations.ts +33 -0
  709. package/packages/sp/package.json +15 -0
  710. package/packages/sp/post-install.cjs +20 -0
  711. package/packages/sp/presets/all.ts +75 -0
  712. package/packages/sp/profiles/index.ts +30 -0
  713. package/packages/sp/profiles/types.ts +595 -0
  714. package/packages/sp/publishing-sitepageservice/index.ts +22 -0
  715. package/packages/sp/publishing-sitepageservice/types.ts +18 -0
  716. package/packages/sp/recycle-bin/index.ts +36 -0
  717. package/packages/sp/recycle-bin/types.ts +113 -0
  718. package/packages/sp/regional-settings/content-type.ts +11 -0
  719. package/packages/sp/regional-settings/field.ts +11 -0
  720. package/packages/sp/regional-settings/funcs.ts +10 -0
  721. package/packages/sp/regional-settings/index.ts +18 -0
  722. package/packages/sp/regional-settings/list.ts +11 -0
  723. package/packages/sp/regional-settings/types.ts +159 -0
  724. package/packages/sp/regional-settings/user-custom-actions.ts +11 -0
  725. package/packages/sp/regional-settings/web.ts +21 -0
  726. package/packages/sp/related-items/index.ts +7 -0
  727. package/packages/sp/related-items/types.ts +194 -0
  728. package/packages/sp/related-items/web.ts +22 -0
  729. package/packages/sp/search/index.ts +48 -0
  730. package/packages/sp/search/query.ts +254 -0
  731. package/packages/sp/search/suggest.ts +130 -0
  732. package/packages/sp/search/types.ts +480 -0
  733. package/packages/sp/security/funcs.ts +94 -0
  734. package/packages/sp/security/index.ts +21 -0
  735. package/packages/sp/security/item.ts +29 -0
  736. package/packages/sp/security/list.ts +29 -0
  737. package/packages/sp/security/types.ts +440 -0
  738. package/packages/sp/security/web.ts +34 -0
  739. package/packages/sp/sharing/file.ts +75 -0
  740. package/packages/sp/sharing/folder.ts +69 -0
  741. package/packages/sp/sharing/funcs.ts +258 -0
  742. package/packages/sp/sharing/index.ts +27 -0
  743. package/packages/sp/sharing/item.ts +53 -0
  744. package/packages/sp/sharing/types.ts +626 -0
  745. package/packages/sp/sharing/web.ts +109 -0
  746. package/packages/sp/site-designs/index.ts +29 -0
  747. package/packages/sp/site-designs/types.ts +456 -0
  748. package/packages/sp/site-designs/web.ts +41 -0
  749. package/packages/sp/site-groups/index.ts +11 -0
  750. package/packages/sp/site-groups/types.ts +133 -0
  751. package/packages/sp/site-groups/web.ts +73 -0
  752. package/packages/sp/site-scripts/index.ts +27 -0
  753. package/packages/sp/site-scripts/list.ts +27 -0
  754. package/packages/sp/site-scripts/types.ts +243 -0
  755. package/packages/sp/site-scripts/web.ts +24 -0
  756. package/packages/sp/site-users/index.ts +12 -0
  757. package/packages/sp/site-users/types.ts +195 -0
  758. package/packages/sp/site-users/web.ts +56 -0
  759. package/packages/sp/sites/index.ts +26 -0
  760. package/packages/sp/sites/types.ts +422 -0
  761. package/packages/sp/social/index.ts +33 -0
  762. package/packages/sp/social/types.ts +381 -0
  763. package/packages/sp/spqueryable.ts +244 -0
  764. package/packages/sp/sputilities/index.ts +23 -0
  765. package/packages/sp/sputilities/types.ts +197 -0
  766. package/packages/sp/subscriptions/index.ts +10 -0
  767. package/packages/sp/subscriptions/list.ts +18 -0
  768. package/packages/sp/subscriptions/types.ts +107 -0
  769. package/packages/sp/taxonomy/index.ts +50 -0
  770. package/packages/sp/taxonomy/types.ts +508 -0
  771. package/packages/sp/tsconfig.json +16 -0
  772. package/packages/sp/types.ts +283 -0
  773. package/packages/sp/user-custom-actions/index.ts +15 -0
  774. package/packages/sp/user-custom-actions/list.ts +18 -0
  775. package/packages/sp/user-custom-actions/site.ts +18 -0
  776. package/packages/sp/user-custom-actions/types.ts +133 -0
  777. package/packages/sp/user-custom-actions/web.ts +21 -0
  778. package/packages/sp/utils/encode-path-str.ts +29 -0
  779. package/packages/sp/utils/extract-web-url.ts +21 -0
  780. package/packages/sp/utils/file-names.ts +35 -0
  781. package/packages/sp/utils/metadata.ts +5 -0
  782. package/packages/sp/utils/odata-url-from.ts +42 -0
  783. package/packages/sp/utils/to-resource-path.ts +9 -0
  784. package/packages/sp/views/index.ts +14 -0
  785. package/packages/sp/views/list.ts +33 -0
  786. package/packages/sp/views/types.ts +210 -0
  787. package/packages/sp/webparts/file.ts +21 -0
  788. package/packages/sp/webparts/index.ts +11 -0
  789. package/packages/sp/webparts/types.ts +141 -0
  790. package/packages/sp/webs/index.ts +32 -0
  791. package/packages/sp/webs/types.ts +350 -0
  792. package/packages/sp-admin/index.ts +46 -0
  793. package/packages/sp-admin/office-tenant.ts +567 -0
  794. package/packages/sp-admin/package.json +13 -0
  795. package/packages/sp-admin/site-properties.ts +45 -0
  796. package/packages/sp-admin/tenant.ts +595 -0
  797. package/packages/sp-admin/tsconfig.json +20 -0
  798. package/packages/sp-admin/types.ts +1679 -0
  799. package/packages/tsconfig-watch.json +9 -0
  800. package/packages/tsconfig.json +37 -0
  801. package/pre-install.cjs +1 -0
  802. package/samples/custom-bundle-webpack/index.ts +33 -0
  803. package/samples/custom-bundle-webpack/package-lock.json +4601 -0
  804. package/samples/custom-bundle-webpack/package.json +18 -0
  805. package/samples/custom-bundle-webpack/readme.md +102 -0
  806. package/samples/custom-bundle-webpack/tsconfig.json +12 -0
  807. package/samples/custom-bundle-webpack/webpack.config.js +27 -0
  808. package/samples/nodejs-app/.vscode/launch.json +27 -0
  809. package/samples/nodejs-app/.vscode/settings.json +10 -0
  810. package/samples/nodejs-app/.vscode/tasks.json +22 -0
  811. package/samples/nodejs-app/index.ts +63 -0
  812. package/samples/nodejs-app/package-lock.json +259 -0
  813. package/samples/nodejs-app/package.json +21 -0
  814. package/samples/nodejs-app/readme.md +140 -0
  815. package/samples/nodejs-app/tsconfig.json +14 -0
  816. package/samples/nodejs-commonjs/package-lock.json +702 -0
  817. package/samples/nodejs-commonjs/package.json +21 -0
  818. package/samples/nodejs-commonjs/readme.md +58 -0
  819. package/samples/nodejs-commonjs/src/index.ts +23 -0
  820. package/samples/nodejs-commonjs/src/settings.ts +35 -0
  821. package/samples/nodejs-commonjs/tsconfig.json +35 -0
  822. package/samples/project-preset/README.md +73 -0
  823. package/samples/project-preset/package-lock.json +21097 -0
  824. package/samples/project-preset/package.json +29 -0
  825. package/samples/project-preset/teams/4530a515-8ba7-45bb-9a27-be06b33c59d4_color.png +0 -0
  826. package/samples/project-preset/teams/4530a515-8ba7-45bb-9a27-be06b33c59d4_outline.png +0 -0
  827. package/samples/readme.md +16 -0
  828. package/settings.example.js +57 -0
  829. package/test/args.ts +107 -0
  830. package/test/clean-subsite.ts +36 -0
  831. package/test/core/assumptions.ts +99 -0
  832. package/test/core/storage.ts +60 -0
  833. package/test/core/timeline.ts +205 -0
  834. package/test/core/util.ts +205 -0
  835. package/test/graph/assets/testconvert.docx +0 -0
  836. package/test/graph/batch.ts +125 -0
  837. package/test/graph/calendars.ts +234 -0
  838. package/test/graph/columns.ts +247 -0
  839. package/test/graph/contacts.ts +254 -0
  840. package/test/graph/content-types.ts +206 -0
  841. package/test/graph/directoryobjects.ts +115 -0
  842. package/test/graph/groups.ts +130 -0
  843. package/test/graph/lists.ts +72 -0
  844. package/test/graph/onedrive.ts +365 -0
  845. package/test/graph/outlook.ts +95 -0
  846. package/test/graph/paging.ts +91 -0
  847. package/test/graph/planner.ts +160 -0
  848. package/test/graph/querable.ts +97 -0
  849. package/test/graph/search.ts +4 -0
  850. package/test/graph/shares.ts +26 -0
  851. package/test/graph/sites.ts +40 -0
  852. package/test/graph/teams.ts +76 -0
  853. package/test/graph/utilities/getTestingGraphSPSite.ts +27 -0
  854. package/test/graph/utilities/getValidUser.ts +37 -0
  855. package/test/load-settings.ts +103 -0
  856. package/test/logging/logging.ts +86 -0
  857. package/test/mocha-root-hooks.ts +227 -0
  858. package/test/nodejs/sp-extensions.ts +86 -0
  859. package/test/pnp-test.ts +60 -0
  860. package/test/queryable/add-prop.ts +24 -0
  861. package/test/queryable/behaviors.ts +188 -0
  862. package/test/queryable/invokable.ts +35 -0
  863. package/test/queryable/queryable.ts +118 -0
  864. package/test/sp/alias.ts +46 -0
  865. package/test/sp/appcatalog.ts +142 -0
  866. package/test/sp/assets/helloworld.sppkg +0 -0
  867. package/test/sp/assets/sample_file.jpg +0 -0
  868. package/test/sp/attachments.ts +134 -0
  869. package/test/sp/batch.ts +362 -0
  870. package/test/sp/clientside-pages.ts +426 -0
  871. package/test/sp/column-defaults.ts +225 -0
  872. package/test/sp/comments.ts +202 -0
  873. package/test/sp/content-types.ts +68 -0
  874. package/test/sp/favorites.ts +2 -0
  875. package/test/sp/features.ts +201 -0
  876. package/test/sp/fields.ts +396 -0
  877. package/test/sp/files.ts +338 -0
  878. package/test/sp/folders.ts +242 -0
  879. package/test/sp/forms.ts +22 -0
  880. package/test/sp/groupsitemanager.ts +88 -0
  881. package/test/sp/hubsites.ts +41 -0
  882. package/test/sp/items.ts +179 -0
  883. package/test/sp/lists.ts +319 -0
  884. package/test/sp/navigation.ts +167 -0
  885. package/test/sp/profiles.ts +2 -0
  886. package/test/sp/query-escaping.ts +94 -0
  887. package/test/sp/recycle-bin.ts +1 -0
  888. package/test/sp/regional-settings.ts +58 -0
  889. package/test/sp/related-items.ts +94 -0
  890. package/test/sp/search.ts +39 -0
  891. package/test/sp/security.ts +90 -0
  892. package/test/sp/sharing.ts +313 -0
  893. package/test/sp/site-designs.ts +224 -0
  894. package/test/sp/site-groups.ts +98 -0
  895. package/test/sp/site-scripts.ts +162 -0
  896. package/test/sp/site-users.ts +93 -0
  897. package/test/sp/sites.ts +156 -0
  898. package/test/sp/social.ts +2 -0
  899. package/test/sp/spfx.ts +52 -0
  900. package/test/sp/sputilities.ts +78 -0
  901. package/test/sp/subscriptions.ts +64 -0
  902. package/test/sp/taxonomy.ts +178 -0
  903. package/test/sp/user-custom-actions.ts +31 -0
  904. package/test/sp/views.ts +117 -0
  905. package/test/sp/webparts.ts +38 -0
  906. package/test/sp/webs.ts +249 -0
  907. package/test/test-invokable-props.ts +35 -0
  908. package/test/test-props.ts +90 -0
  909. package/test/test-recording.ts +171 -0
  910. package/test/tsconfig.json +18 -0
  911. package/tools/buildsystem/package-lock.json +4404 -0
  912. package/tools/buildsystem/package.json +56 -0
  913. package/tools/buildsystem/readme.md +23 -0
  914. package/tools/config.js +34 -0
  915. package/tools/local-module-resolver/cjs.ts +33 -0
  916. package/tools/local-module-resolver/esm-debug.ts +2 -0
  917. package/tools/local-module-resolver/esm-test.ts +2 -0
  918. package/tools/local-module-resolver/esm.ts +112 -0
  919. package/tools/local-module-resolver/readme.md +8 -0
  920. package/tsconfig.buildsystem.json +17 -0
  921. package/tsconfig.json +42 -0
@@ -0,0 +1,2539 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en" class="no-js">
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta name="viewport" content="width=device-width,initial-scale=1">
8
+
9
+
10
+ <link rel="canonical" href="https://pnp.github.io/pnpjs/concepts/error-handling/">
11
+
12
+
13
+ <link rel="shortcut icon" href="../../assets/images/favicon.png">
14
+ <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-6.0.2">
15
+
16
+
17
+
18
+ <title>Error Handling - PnP/PnPjs</title>
19
+
20
+
21
+
22
+ <link rel="stylesheet" href="../../assets/stylesheets/main.38780c08.min.css">
23
+
24
+
25
+ <link rel="stylesheet" href="../../assets/stylesheets/palette.3f72e892.min.css">
26
+
27
+
28
+
29
+ <meta name="theme-color" content="#2094f3">
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+ <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
38
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
39
+ <style>body,input{font-family:"Roboto",-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono",SFMono-Regular,Consolas,Menlo,monospace}</style>
40
+
41
+
42
+
43
+
44
+ <link rel="stylesheet" href="../../css/extra.css">
45
+
46
+
47
+ <img src="https://telemetry.sharepointpnp.com/@pnp/pnpjs/ghpages/pnpjs/concepts/error-handling/" alt="spacer" width="1" height="1" />
48
+
49
+
50
+ </head>
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+ <body dir="ltr" data-md-color-scheme="" data-md-color-primary="blue" data-md-color-accent="">
59
+
60
+
61
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
62
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
63
+ <label class="md-overlay" for="__drawer"></label>
64
+ <div data-md-component="skip">
65
+
66
+
67
+ <a href="#error-handling" class="md-skip">
68
+ Skip to content
69
+ </a>
70
+
71
+ </div>
72
+ <div data-md-component="announce">
73
+
74
+ </div>
75
+
76
+ <header class="md-header" data-md-component="header">
77
+ <nav class="md-header-nav md-grid" aria-label="Header">
78
+ <a href="https://pnp.github.io/pnpjs/" title="PnP/PnPjs" class="md-header-nav__button md-logo" aria-label="PnP/PnPjs">
79
+
80
+ <img src="../../img/Logo.png" alt="logo">
81
+
82
+ </a>
83
+ <label class="md-header-nav__button md-icon" for="__drawer">
84
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
85
+ </label>
86
+ <div class="md-header-nav__title" data-md-component="header-title">
87
+
88
+ <div class="md-header-nav__ellipsis">
89
+ <span class="md-header-nav__topic md-ellipsis">
90
+ PnP/PnPjs
91
+ </span>
92
+ <span class="md-header-nav__topic md-ellipsis">
93
+
94
+ Error Handling
95
+
96
+ </span>
97
+ </div>
98
+
99
+ </div>
100
+
101
+ <label class="md-header-nav__button md-icon" for="__search">
102
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
103
+ </label>
104
+
105
+ <div class="md-search" data-md-component="search" role="dialog">
106
+ <label class="md-search__overlay" for="__search"></label>
107
+ <div class="md-search__inner" role="search">
108
+ <form class="md-search__form" name="search">
109
+ <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active">
110
+ <label class="md-search__icon md-icon" for="__search">
111
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0116 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 019.5 16 6.5 6.5 0 013 9.5 6.5 6.5 0 019.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
112
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
113
+ </label>
114
+ <button type="reset" class="md-search__icon md-icon" aria-label="Clear" data-md-component="search-reset" tabindex="-1">
115
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
116
+ </button>
117
+ </form>
118
+ <div class="md-search__output">
119
+ <div class="md-search__scrollwrap" data-md-scrollfix>
120
+ <div class="md-search-result" data-md-component="search-result">
121
+ <div class="md-search-result__meta">
122
+ Initializing search
123
+ </div>
124
+ <ol class="md-search-result__list"></ol>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ </div>
130
+
131
+
132
+ <div class="md-header-nav__source">
133
+
134
+ <a href="https://github.com/pnp/pnpjs/" title="Go to repository" class="md-source">
135
+ <div class="md-source__icon md-icon">
136
+
137
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05L244 40.45a28.87 28.87 0 00-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 01-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 000 40.81l195.61 195.6a28.86 28.86 0 0040.8 0l194.69-194.69a28.86 28.86 0 000-40.81z"/></svg>
138
+ </div>
139
+ <div class="md-source__repository">
140
+ GitHub
141
+ </div>
142
+ </a>
143
+ </div>
144
+
145
+ </nav>
146
+ </header>
147
+
148
+ <div class="md-container" data-md-component="container">
149
+
150
+
151
+
152
+
153
+ <main class="md-main" data-md-component="main">
154
+ <div class="md-main__inner md-grid">
155
+
156
+
157
+ <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
158
+ <div class="md-sidebar__scrollwrap">
159
+ <div class="md-sidebar__inner">
160
+ <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
161
+ <label class="md-nav__title" for="__drawer">
162
+ <a href="https://pnp.github.io/pnpjs/" title="PnP/PnPjs" class="md-nav__button md-logo" aria-label="PnP/PnPjs">
163
+
164
+ <img src="../../img/Logo.png" alt="logo">
165
+
166
+ </a>
167
+ PnP/PnPjs
168
+ </label>
169
+
170
+ <div class="md-nav__source">
171
+
172
+ <a href="https://github.com/pnp/pnpjs/" title="Go to repository" class="md-source">
173
+ <div class="md-source__icon md-icon">
174
+
175
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05L244 40.45a28.87 28.87 0 00-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 01-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 000 40.81l195.61 195.6a28.86 28.86 0 0040.8 0l194.69-194.69a28.86 28.86 0 000-40.81z"/></svg>
176
+ </div>
177
+ <div class="md-source__repository">
178
+ GitHub
179
+ </div>
180
+ </a>
181
+ </div>
182
+
183
+ <ul class="md-nav__list" data-md-scrollfix>
184
+
185
+
186
+
187
+
188
+
189
+
190
+ <li class="md-nav__item">
191
+ <a href="../.." class="md-nav__link">
192
+ Home
193
+ </a>
194
+ </li>
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+ <li class="md-nav__item">
203
+ <a href="../../getting-started/" class="md-nav__link">
204
+ Getting Started
205
+ </a>
206
+ </li>
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+ <li class="md-nav__item">
215
+ <a href="../../news/2020-year-in-review/" class="md-nav__link">
216
+ 2020 Year In Review
217
+ </a>
218
+ </li>
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+ <li class="md-nav__item md-nav__item--nested">
227
+
228
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
229
+
230
+ <label class="md-nav__link" for="nav-4">
231
+ General
232
+ <span class="md-nav__icon md-icon"></span>
233
+ </label>
234
+ <nav class="md-nav" aria-label="General" data-md-level="1">
235
+ <label class="md-nav__title" for="nav-4">
236
+ <span class="md-nav__icon md-icon"></span>
237
+ General
238
+ </label>
239
+ <ul class="md-nav__list" data-md-scrollfix>
240
+
241
+
242
+
243
+
244
+
245
+
246
+
247
+ <li class="md-nav__item">
248
+ <a href="../../getting-started/" class="md-nav__link">
249
+ Getting Started
250
+ </a>
251
+ </li>
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+ <li class="md-nav__item">
260
+ <a href="../../transition-guide/" class="md-nav__link">
261
+ Transition Guide
262
+ </a>
263
+ </li>
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+ <li class="md-nav__item">
272
+ <a href="../../npm-scripts/" class="md-nav__link">
273
+ Npm Scripts
274
+ </a>
275
+ </li>
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+ <li class="md-nav__item">
284
+ <a href="../../SPFx-on-premises/" class="md-nav__link">
285
+ SPFx On-Premises
286
+ </a>
287
+ </li>
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+ <li class="md-nav__item">
296
+ <a href="../../nodejs-support/" class="md-nav__link">
297
+ Working in Nodejs
298
+ </a>
299
+ </li>
300
+
301
+
302
+ </ul>
303
+ </nav>
304
+ </li>
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+ <li class="md-nav__item md-nav__item--active md-nav__item--nested">
315
+
316
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5" checked>
317
+
318
+ <label class="md-nav__link" for="nav-5">
319
+ Library Concepts
320
+ <span class="md-nav__icon md-icon"></span>
321
+ </label>
322
+ <nav class="md-nav" aria-label="Library Concepts" data-md-level="1">
323
+ <label class="md-nav__title" for="nav-5">
324
+ <span class="md-nav__icon md-icon"></span>
325
+ Library Concepts
326
+ </label>
327
+ <ul class="md-nav__list" data-md-scrollfix>
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+ <li class="md-nav__item">
336
+ <a href="../configuration/" class="md-nav__link">
337
+ Configuration
338
+ </a>
339
+ </li>
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+ <li class="md-nav__item">
348
+ <a href="../selective-imports/" class="md-nav__link">
349
+ Selective Imports
350
+ </a>
351
+ </li>
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+ <li class="md-nav__item">
360
+ <a href="../custom-bundle/" class="md-nav__link">
361
+ Custom Bundle
362
+ </a>
363
+ </li>
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+ <li class="md-nav__item">
372
+ <a href="../ie11-mode/" class="md-nav__link">
373
+ IE11 Mode
374
+ </a>
375
+ </li>
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+ <li class="md-nav__item">
384
+ <a href="../invokable/" class="md-nav__link">
385
+ Invokables
386
+ </a>
387
+ </li>
388
+
389
+
390
+
391
+
392
+
393
+
394
+
395
+ <li class="md-nav__item">
396
+ <a href="../polyfill/" class="md-nav__link">
397
+ Polyfills
398
+ </a>
399
+ </li>
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+ <li class="md-nav__item">
408
+ <a href="../settings/" class="md-nav__link">
409
+ Settings
410
+ </a>
411
+ </li>
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+ <li class="md-nav__item md-nav__item--active">
422
+
423
+ <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
424
+
425
+
426
+
427
+
428
+ <label class="md-nav__link md-nav__link--active" for="__toc">
429
+ Error Handling
430
+ <span class="md-nav__icon md-icon"></span>
431
+ </label>
432
+
433
+ <a href="./" class="md-nav__link md-nav__link--active">
434
+ Error Handling
435
+ </a>
436
+
437
+
438
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
439
+
440
+
441
+
442
+
443
+
444
+ <label class="md-nav__title" for="__toc">
445
+ <span class="md-nav__icon md-icon"></span>
446
+ Table of contents
447
+ </label>
448
+ <ul class="md-nav__list" data-md-scrollfix>
449
+
450
+ <li class="md-nav__item">
451
+ <a href="#the-httprequesterror" class="md-nav__link">
452
+ The HttpRequestError
453
+ </a>
454
+
455
+ </li>
456
+
457
+ <li class="md-nav__item">
458
+ <a href="#basic-handling" class="md-nav__link">
459
+ Basic Handling
460
+ </a>
461
+
462
+ </li>
463
+
464
+ <li class="md-nav__item">
465
+ <a href="#reading-the-response" class="md-nav__link">
466
+ Reading the Response
467
+ </a>
468
+
469
+ </li>
470
+
471
+ <li class="md-nav__item">
472
+ <a href="#logging-errors" class="md-nav__link">
473
+ Logging errors
474
+ </a>
475
+
476
+ </li>
477
+
478
+ <li class="md-nav__item">
479
+ <a href="#putting-it-all-together" class="md-nav__link">
480
+ Putting it All Together
481
+ </a>
482
+
483
+ <nav class="md-nav" aria-label="Putting it All Together">
484
+ <ul class="md-nav__list">
485
+
486
+ <li class="md-nav__item">
487
+ <a href="#errorhandlerts" class="md-nav__link">
488
+ errorhandler.ts
489
+ </a>
490
+
491
+ </li>
492
+
493
+ <li class="md-nav__item">
494
+ <a href="#web-requestts" class="md-nav__link">
495
+ web-request.ts
496
+ </a>
497
+
498
+ </li>
499
+
500
+ <li class="md-nav__item">
501
+ <a href="#web-request2ts" class="md-nav__link">
502
+ web-request2.ts
503
+ </a>
504
+
505
+ </li>
506
+
507
+ </ul>
508
+ </nav>
509
+
510
+ </li>
511
+
512
+ </ul>
513
+
514
+ </nav>
515
+
516
+ </li>
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+ <li class="md-nav__item md-nav__item--nested">
525
+
526
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-5-9" type="checkbox" id="nav-5-9">
527
+
528
+ <label class="md-nav__link" for="nav-5-9">
529
+ Authentication
530
+ <span class="md-nav__icon md-icon"></span>
531
+ </label>
532
+ <nav class="md-nav" aria-label="Authentication" data-md-level="2">
533
+ <label class="md-nav__title" for="nav-5-9">
534
+ <span class="md-nav__icon md-icon"></span>
535
+ Authentication
536
+ </label>
537
+ <ul class="md-nav__list" data-md-scrollfix>
538
+
539
+
540
+
541
+
542
+
543
+
544
+
545
+ <li class="md-nav__item">
546
+ <a href="../../authentication/" class="md-nav__link">
547
+ Getting Started
548
+ </a>
549
+ </li>
550
+
551
+
552
+
553
+
554
+
555
+
556
+
557
+ <li class="md-nav__item">
558
+ <a href="../../authentication/client-spfx/" class="md-nav__link">
559
+ SPFx Auth
560
+ </a>
561
+ </li>
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+ <li class="md-nav__item">
570
+ <a href="../../authentication/msaljsclient/" class="md-nav__link">
571
+ MSAL Client
572
+ </a>
573
+ </li>
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+ <li class="md-nav__item">
582
+ <a href="../../authentication/adaljsclient/" class="md-nav__link">
583
+ ADAL Client
584
+ </a>
585
+ </li>
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+ <li class="md-nav__item">
594
+ <a href="../../authentication/client-spa/" class="md-nav__link">
595
+ SPA Auth
596
+ </a>
597
+ </li>
598
+
599
+
600
+
601
+
602
+
603
+
604
+
605
+ <li class="md-nav__item">
606
+ <a href="../../authentication/server-nodejs/" class="md-nav__link">
607
+ NodeJS Auth
608
+ </a>
609
+ </li>
610
+
611
+
612
+
613
+
614
+
615
+
616
+
617
+ <li class="md-nav__item">
618
+ <a href="../../authentication/sp-app-registration/" class="md-nav__link">
619
+ SP App Reg
620
+ </a>
621
+ </li>
622
+
623
+
624
+
625
+
626
+
627
+
628
+
629
+ <li class="md-nav__item">
630
+ <a href="../../authentication/bearertokenclient/" class="md-nav__link">
631
+ Bearer Token Client
632
+ </a>
633
+ </li>
634
+
635
+
636
+
637
+
638
+
639
+
640
+
641
+ <li class="md-nav__item">
642
+ <a href="../../authentication/lambdaclient/" class="md-nav__link">
643
+ Lambda Token Client
644
+ </a>
645
+ </li>
646
+
647
+
648
+ </ul>
649
+ </nav>
650
+ </li>
651
+
652
+
653
+ </ul>
654
+ </nav>
655
+ </li>
656
+
657
+
658
+
659
+
660
+
661
+
662
+
663
+ <li class="md-nav__item md-nav__item--nested">
664
+
665
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
666
+
667
+ <label class="md-nav__link" for="nav-6">
668
+ Packages
669
+ <span class="md-nav__icon md-icon"></span>
670
+ </label>
671
+ <nav class="md-nav" aria-label="Packages" data-md-level="1">
672
+ <label class="md-nav__title" for="nav-6">
673
+ <span class="md-nav__icon md-icon"></span>
674
+ Packages
675
+ </label>
676
+ <ul class="md-nav__list" data-md-scrollfix>
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+ <li class="md-nav__item">
685
+ <a href="../../packages/" class="md-nav__link">
686
+ Packages
687
+ </a>
688
+ </li>
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+ <li class="md-nav__item md-nav__item--nested">
697
+
698
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-2" type="checkbox" id="nav-6-2">
699
+
700
+ <label class="md-nav__link" for="nav-6-2">
701
+ common
702
+ <span class="md-nav__icon md-icon"></span>
703
+ </label>
704
+ <nav class="md-nav" aria-label="common" data-md-level="2">
705
+ <label class="md-nav__title" for="nav-6-2">
706
+ <span class="md-nav__icon md-icon"></span>
707
+ common
708
+ </label>
709
+ <ul class="md-nav__list" data-md-scrollfix>
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+ <li class="md-nav__item">
718
+ <a href="../../common/" class="md-nav__link">
719
+ common
720
+ </a>
721
+ </li>
722
+
723
+
724
+
725
+
726
+
727
+
728
+
729
+ <li class="md-nav__item">
730
+ <a href="../../common/collections/" class="md-nav__link">
731
+ collections
732
+ </a>
733
+ </li>
734
+
735
+
736
+
737
+
738
+
739
+
740
+
741
+ <li class="md-nav__item">
742
+ <a href="../../common/custom-httpclientimpl/" class="md-nav__link">
743
+ Custom HttpClientImpl
744
+ </a>
745
+ </li>
746
+
747
+
748
+
749
+
750
+
751
+
752
+
753
+ <li class="md-nav__item">
754
+ <a href="../../common/libconfig/" class="md-nav__link">
755
+ libconfig
756
+ </a>
757
+ </li>
758
+
759
+
760
+
761
+
762
+
763
+
764
+
765
+ <li class="md-nav__item">
766
+ <a href="../../common/netutil/" class="md-nav__link">
767
+ netutil
768
+ </a>
769
+ </li>
770
+
771
+
772
+
773
+
774
+
775
+
776
+
777
+ <li class="md-nav__item">
778
+ <a href="../../common/storage/" class="md-nav__link">
779
+ storage
780
+ </a>
781
+ </li>
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+ <li class="md-nav__item">
790
+ <a href="../../common/util/" class="md-nav__link">
791
+ util
792
+ </a>
793
+ </li>
794
+
795
+
796
+ </ul>
797
+ </nav>
798
+ </li>
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+ <li class="md-nav__item md-nav__item--nested">
807
+
808
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-3" type="checkbox" id="nav-6-3">
809
+
810
+ <label class="md-nav__link" for="nav-6-3">
811
+ config-store
812
+ <span class="md-nav__icon md-icon"></span>
813
+ </label>
814
+ <nav class="md-nav" aria-label="config-store" data-md-level="2">
815
+ <label class="md-nav__title" for="nav-6-3">
816
+ <span class="md-nav__icon md-icon"></span>
817
+ config-store
818
+ </label>
819
+ <ul class="md-nav__list" data-md-scrollfix>
820
+
821
+
822
+
823
+
824
+
825
+
826
+
827
+ <li class="md-nav__item">
828
+ <a href="../../config-store/" class="md-nav__link">
829
+ config-store
830
+ </a>
831
+ </li>
832
+
833
+
834
+
835
+
836
+
837
+
838
+
839
+ <li class="md-nav__item">
840
+ <a href="../../config-store/configuration/" class="md-nav__link">
841
+ configuration
842
+ </a>
843
+ </li>
844
+
845
+
846
+
847
+
848
+
849
+
850
+
851
+ <li class="md-nav__item">
852
+ <a href="../../config-store/providers/" class="md-nav__link">
853
+ providers
854
+ </a>
855
+ </li>
856
+
857
+
858
+ </ul>
859
+ </nav>
860
+ </li>
861
+
862
+
863
+
864
+
865
+
866
+
867
+
868
+ <li class="md-nav__item md-nav__item--nested">
869
+
870
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-4" type="checkbox" id="nav-6-4">
871
+
872
+ <label class="md-nav__link" for="nav-6-4">
873
+ graph
874
+ <span class="md-nav__icon md-icon"></span>
875
+ </label>
876
+ <nav class="md-nav" aria-label="graph" data-md-level="2">
877
+ <label class="md-nav__title" for="nav-6-4">
878
+ <span class="md-nav__icon md-icon"></span>
879
+ graph
880
+ </label>
881
+ <ul class="md-nav__list" data-md-scrollfix>
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+ <li class="md-nav__item">
890
+ <a href="../../graph/" class="md-nav__link">
891
+ graph
892
+ </a>
893
+ </li>
894
+
895
+
896
+
897
+
898
+
899
+
900
+
901
+ <li class="md-nav__item">
902
+ <a href="../../graph/groups/" class="md-nav__link">
903
+ groups
904
+ </a>
905
+ </li>
906
+
907
+
908
+
909
+
910
+
911
+
912
+
913
+ <li class="md-nav__item">
914
+ <a href="../../graph/insights/" class="md-nav__link">
915
+ insights
916
+ </a>
917
+ </li>
918
+
919
+
920
+
921
+
922
+
923
+
924
+
925
+ <li class="md-nav__item">
926
+ <a href="../../graph/contacts/" class="md-nav__link">
927
+ contacts
928
+ </a>
929
+ </li>
930
+
931
+
932
+
933
+
934
+
935
+
936
+
937
+ <li class="md-nav__item">
938
+ <a href="../../graph/calendars/" class="md-nav__link">
939
+ calendars
940
+ </a>
941
+ </li>
942
+
943
+
944
+
945
+
946
+
947
+
948
+
949
+ <li class="md-nav__item">
950
+ <a href="../../graph/directoryobjects/" class="md-nav__link">
951
+ directory objects
952
+ </a>
953
+ </li>
954
+
955
+
956
+
957
+
958
+
959
+
960
+
961
+ <li class="md-nav__item">
962
+ <a href="../../graph/invitations/" class="md-nav__link">
963
+ invitations
964
+ </a>
965
+ </li>
966
+
967
+
968
+
969
+
970
+
971
+
972
+
973
+ <li class="md-nav__item">
974
+ <a href="../../graph/onedrive/" class="md-nav__link">
975
+ onedrive
976
+ </a>
977
+ </li>
978
+
979
+
980
+
981
+
982
+
983
+
984
+
985
+ <li class="md-nav__item">
986
+ <a href="../../graph/outlook/" class="md-nav__link">
987
+ outlook
988
+ </a>
989
+ </li>
990
+
991
+
992
+
993
+
994
+
995
+
996
+
997
+ <li class="md-nav__item">
998
+ <a href="../../graph/photos/" class="md-nav__link">
999
+ photos
1000
+ </a>
1001
+ </li>
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+ <li class="md-nav__item">
1010
+ <a href="../../graph/planner/" class="md-nav__link">
1011
+ planner
1012
+ </a>
1013
+ </li>
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+
1021
+ <li class="md-nav__item">
1022
+ <a href="../../graph/search/" class="md-nav__link">
1023
+ search
1024
+ </a>
1025
+ </li>
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+ <li class="md-nav__item">
1034
+ <a href="../../graph/subscriptions/" class="md-nav__link">
1035
+ subscriptions
1036
+ </a>
1037
+ </li>
1038
+
1039
+
1040
+
1041
+
1042
+
1043
+
1044
+
1045
+ <li class="md-nav__item">
1046
+ <a href="../../graph/teams/" class="md-nav__link">
1047
+ teams
1048
+ </a>
1049
+ </li>
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+ <li class="md-nav__item">
1058
+ <a href="../../graph/users/" class="md-nav__link">
1059
+ users
1060
+ </a>
1061
+ </li>
1062
+
1063
+
1064
+ </ul>
1065
+ </nav>
1066
+ </li>
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+ <li class="md-nav__item">
1075
+ <a href="../../logging/" class="md-nav__link">
1076
+ logging
1077
+ </a>
1078
+ </li>
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+ <li class="md-nav__item md-nav__item--nested">
1087
+
1088
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-6" type="checkbox" id="nav-6-6">
1089
+
1090
+ <label class="md-nav__link" for="nav-6-6">
1091
+ nodejs
1092
+ <span class="md-nav__icon md-icon"></span>
1093
+ </label>
1094
+ <nav class="md-nav" aria-label="nodejs" data-md-level="2">
1095
+ <label class="md-nav__title" for="nav-6-6">
1096
+ <span class="md-nav__icon md-icon"></span>
1097
+ nodejs
1098
+ </label>
1099
+ <ul class="md-nav__list" data-md-scrollfix>
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+ <li class="md-nav__item">
1108
+ <a href="../../nodejs/" class="md-nav__link">
1109
+ nodejs
1110
+ </a>
1111
+ </li>
1112
+
1113
+
1114
+
1115
+
1116
+
1117
+
1118
+
1119
+ <li class="md-nav__item">
1120
+ <a href="../../nodejs/sp-fetch-client/" class="md-nav__link">
1121
+ SPFetchClient
1122
+ </a>
1123
+ </li>
1124
+
1125
+
1126
+
1127
+
1128
+
1129
+
1130
+
1131
+ <li class="md-nav__item">
1132
+ <a href="../../nodejs/adal-fetch-client/" class="md-nav__link">
1133
+ AdalFetchClient
1134
+ </a>
1135
+ </li>
1136
+
1137
+
1138
+
1139
+
1140
+
1141
+
1142
+
1143
+ <li class="md-nav__item">
1144
+ <a href="../../nodejs/bearer-token-fetch-client/" class="md-nav__link">
1145
+ BearerTokenFetchClient
1146
+ </a>
1147
+ </li>
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+
1154
+
1155
+ <li class="md-nav__item">
1156
+ <a href="../../nodejs/provider-hosted-app/" class="md-nav__link">
1157
+ ProviderHostedRequestContext
1158
+ </a>
1159
+ </li>
1160
+
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+ <li class="md-nav__item">
1168
+ <a href="../../nodejs/sp-extensions/" class="md-nav__link">
1169
+ sp Extensions
1170
+ </a>
1171
+ </li>
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+ <li class="md-nav__item">
1180
+ <a href="../../nodejs/proxy/" class="md-nav__link">
1181
+ proxy
1182
+ </a>
1183
+ </li>
1184
+
1185
+
1186
+ </ul>
1187
+ </nav>
1188
+ </li>
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+ <li class="md-nav__item md-nav__item--nested">
1197
+
1198
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-7" type="checkbox" id="nav-6-7">
1199
+
1200
+ <label class="md-nav__link" for="nav-6-7">
1201
+ odata
1202
+ <span class="md-nav__icon md-icon"></span>
1203
+ </label>
1204
+ <nav class="md-nav" aria-label="odata" data-md-level="2">
1205
+ <label class="md-nav__title" for="nav-6-7">
1206
+ <span class="md-nav__icon md-icon"></span>
1207
+ odata
1208
+ </label>
1209
+ <ul class="md-nav__list" data-md-scrollfix>
1210
+
1211
+
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+ <li class="md-nav__item">
1218
+ <a href="../../odata/" class="md-nav__link">
1219
+ odata
1220
+ </a>
1221
+ </li>
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+ <li class="md-nav__item">
1230
+ <a href="../../odata/caching/" class="md-nav__link">
1231
+ caching
1232
+ </a>
1233
+ </li>
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+ <li class="md-nav__item">
1242
+ <a href="../../odata/core/" class="md-nav__link">
1243
+ core
1244
+ </a>
1245
+ </li>
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+ <li class="md-nav__item">
1254
+ <a href="../../odata/odata-batch/" class="md-nav__link">
1255
+ OData Batching
1256
+ </a>
1257
+ </li>
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+
1264
+
1265
+ <li class="md-nav__item">
1266
+ <a href="../../odata/extensions/" class="md-nav__link">
1267
+ Extending an OData library
1268
+ </a>
1269
+ </li>
1270
+
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+ <li class="md-nav__item">
1278
+ <a href="../../odata/debug/" class="md-nav__link">
1279
+ Debugging Proxy Objects
1280
+ </a>
1281
+ </li>
1282
+
1283
+
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+ <li class="md-nav__item">
1290
+ <a href="../../odata/parsers/" class="md-nav__link">
1291
+ Parsers
1292
+ </a>
1293
+ </li>
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+ <li class="md-nav__item">
1302
+ <a href="../../odata/pipeline/" class="md-nav__link">
1303
+ Pipeline
1304
+ </a>
1305
+ </li>
1306
+
1307
+
1308
+
1309
+
1310
+
1311
+
1312
+
1313
+ <li class="md-nav__item">
1314
+ <a href="../../odata/queryable/" class="md-nav__link">
1315
+ Queryable
1316
+ </a>
1317
+ </li>
1318
+
1319
+
1320
+ </ul>
1321
+ </nav>
1322
+ </li>
1323
+
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+ <li class="md-nav__item md-nav__item--nested">
1331
+
1332
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-8" type="checkbox" id="nav-6-8">
1333
+
1334
+ <label class="md-nav__link" for="nav-6-8">
1335
+ pnpjs
1336
+ <span class="md-nav__icon md-icon"></span>
1337
+ </label>
1338
+ <nav class="md-nav" aria-label="pnpjs" data-md-level="2">
1339
+ <label class="md-nav__title" for="nav-6-8">
1340
+ <span class="md-nav__icon md-icon"></span>
1341
+ pnpjs
1342
+ </label>
1343
+ <ul class="md-nav__list" data-md-scrollfix>
1344
+
1345
+
1346
+
1347
+
1348
+
1349
+
1350
+
1351
+ <li class="md-nav__item">
1352
+ <a href="../../pnpjs/" class="md-nav__link">
1353
+ pnpjs
1354
+ </a>
1355
+ </li>
1356
+
1357
+
1358
+ </ul>
1359
+ </nav>
1360
+ </li>
1361
+
1362
+
1363
+
1364
+
1365
+
1366
+
1367
+
1368
+ <li class="md-nav__item md-nav__item--nested">
1369
+
1370
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-9" type="checkbox" id="nav-6-9">
1371
+
1372
+ <label class="md-nav__link" for="nav-6-9">
1373
+ sp
1374
+ <span class="md-nav__icon md-icon"></span>
1375
+ </label>
1376
+ <nav class="md-nav" aria-label="sp" data-md-level="2">
1377
+ <label class="md-nav__title" for="nav-6-9">
1378
+ <span class="md-nav__icon md-icon"></span>
1379
+ sp
1380
+ </label>
1381
+ <ul class="md-nav__list" data-md-scrollfix>
1382
+
1383
+
1384
+
1385
+
1386
+
1387
+
1388
+
1389
+ <li class="md-nav__item">
1390
+ <a href="../../sp/" class="md-nav__link">
1391
+ sp
1392
+ </a>
1393
+ </li>
1394
+
1395
+
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+ <li class="md-nav__item">
1402
+ <a href="../../sp/alias-parameters/" class="md-nav__link">
1403
+ Alias Parameters
1404
+ </a>
1405
+ </li>
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+
1412
+
1413
+ <li class="md-nav__item">
1414
+ <a href="../../sp/alm/" class="md-nav__link">
1415
+ ALM api
1416
+ </a>
1417
+ </li>
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+
1424
+
1425
+ <li class="md-nav__item">
1426
+ <a href="../../sp/attachments/" class="md-nav__link">
1427
+ Attachments
1428
+ </a>
1429
+ </li>
1430
+
1431
+
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+ <li class="md-nav__item">
1438
+ <a href="../../sp/clientside-pages/" class="md-nav__link">
1439
+ Client-side Pages
1440
+ </a>
1441
+ </li>
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+ <li class="md-nav__item">
1450
+ <a href="../../sp/column-defaults/" class="md-nav__link">
1451
+ Column Defaults
1452
+ </a>
1453
+ </li>
1454
+
1455
+
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+ <li class="md-nav__item">
1462
+ <a href="../../sp/comments-likes/" class="md-nav__link">
1463
+ Comments and Likes
1464
+ </a>
1465
+ </li>
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+ <li class="md-nav__item">
1474
+ <a href="../../sp/content-types/" class="md-nav__link">
1475
+ Content Types
1476
+ </a>
1477
+ </li>
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+ <li class="md-nav__item">
1486
+ <a href="../../sp/entity-merging/" class="md-nav__link">
1487
+ Entity Merging
1488
+ </a>
1489
+ </li>
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+
1496
+
1497
+ <li class="md-nav__item">
1498
+ <a href="../../sp/features/" class="md-nav__link">
1499
+ Features
1500
+ </a>
1501
+ </li>
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+
1508
+
1509
+ <li class="md-nav__item">
1510
+ <a href="../../sp/fields/" class="md-nav__link">
1511
+ Fields
1512
+ </a>
1513
+ </li>
1514
+
1515
+
1516
+
1517
+
1518
+
1519
+
1520
+
1521
+ <li class="md-nav__item">
1522
+ <a href="../../sp/files/" class="md-nav__link">
1523
+ Files
1524
+ </a>
1525
+ </li>
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+
1532
+
1533
+ <li class="md-nav__item">
1534
+ <a href="../../sp/folders/" class="md-nav__link">
1535
+ Folders
1536
+ </a>
1537
+ </li>
1538
+
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+ <li class="md-nav__item">
1546
+ <a href="../../sp/forms/" class="md-nav__link">
1547
+ Forms
1548
+ </a>
1549
+ </li>
1550
+
1551
+
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+ <li class="md-nav__item">
1558
+ <a href="../../sp/hubsites/" class="md-nav__link">
1559
+ Hubsites
1560
+ </a>
1561
+ </li>
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+ <li class="md-nav__item">
1570
+ <a href="../../sp/items/" class="md-nav__link">
1571
+ List Items
1572
+ </a>
1573
+ </li>
1574
+
1575
+
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+ <li class="md-nav__item">
1582
+ <a href="../../sp/lists/" class="md-nav__link">
1583
+ Lists
1584
+ </a>
1585
+ </li>
1586
+
1587
+
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+ <li class="md-nav__item">
1594
+ <a href="../../sp/navigation/" class="md-nav__link">
1595
+ Navigation
1596
+ </a>
1597
+ </li>
1598
+
1599
+
1600
+
1601
+
1602
+
1603
+
1604
+
1605
+ <li class="md-nav__item">
1606
+ <a href="../../sp/permissions/" class="md-nav__link">
1607
+ Permissions
1608
+ </a>
1609
+ </li>
1610
+
1611
+
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+ <li class="md-nav__item">
1618
+ <a href="../../sp/profiles/" class="md-nav__link">
1619
+ Profiles
1620
+ </a>
1621
+ </li>
1622
+
1623
+
1624
+
1625
+
1626
+
1627
+
1628
+
1629
+ <li class="md-nav__item">
1630
+ <a href="../../sp/regional-settings/" class="md-nav__link">
1631
+ Regional Settings
1632
+ </a>
1633
+ </li>
1634
+
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+ <li class="md-nav__item">
1642
+ <a href="../../sp/related-items/" class="md-nav__link">
1643
+ Related Items
1644
+ </a>
1645
+ </li>
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+ <li class="md-nav__item">
1654
+ <a href="../../sp/search/" class="md-nav__link">
1655
+ Search
1656
+ </a>
1657
+ </li>
1658
+
1659
+
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+ <li class="md-nav__item">
1666
+ <a href="../../sp/security/" class="md-nav__link">
1667
+ Security
1668
+ </a>
1669
+ </li>
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+ <li class="md-nav__item">
1678
+ <a href="../../sp/sharing/" class="md-nav__link">
1679
+ Sharing
1680
+ </a>
1681
+ </li>
1682
+
1683
+
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+ <li class="md-nav__item">
1690
+ <a href="../../sp/site-designs/" class="md-nav__link">
1691
+ Site Designs
1692
+ </a>
1693
+ </li>
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+
1700
+
1701
+ <li class="md-nav__item">
1702
+ <a href="../../sp/site-groups/" class="md-nav__link">
1703
+ Site Groups
1704
+ </a>
1705
+ </li>
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+
1712
+
1713
+ <li class="md-nav__item">
1714
+ <a href="../../sp/site-scripts/" class="md-nav__link">
1715
+ Site Scripts
1716
+ </a>
1717
+ </li>
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+ <li class="md-nav__item">
1726
+ <a href="../../sp/site-users/" class="md-nav__link">
1727
+ Site Users
1728
+ </a>
1729
+ </li>
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+ <li class="md-nav__item">
1738
+ <a href="../../sp/sites/" class="md-nav__link">
1739
+ Sites
1740
+ </a>
1741
+ </li>
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+ <li class="md-nav__item">
1750
+ <a href="../../sp/social/" class="md-nav__link">
1751
+ Social
1752
+ </a>
1753
+ </li>
1754
+
1755
+
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+ <li class="md-nav__item">
1762
+ <a href="../../sp/sp-utilities-utility/" class="md-nav__link">
1763
+ SP.Utilities.Utility
1764
+ </a>
1765
+ </li>
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+ <li class="md-nav__item">
1774
+ <a href="../../sp/subscriptions/" class="md-nav__link">
1775
+ Subscriptions
1776
+ </a>
1777
+ </li>
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+
1784
+
1785
+ <li class="md-nav__item">
1786
+ <a href="../../sp/taxonomy/" class="md-nav__link">
1787
+ Taxonomy
1788
+ </a>
1789
+ </li>
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+
1797
+ <li class="md-nav__item">
1798
+ <a href="../../sp/tenant-properties/" class="md-nav__link">
1799
+ Tenant Properties
1800
+ </a>
1801
+ </li>
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+ <li class="md-nav__item">
1810
+ <a href="../../sp/user-custom-actions/" class="md-nav__link">
1811
+ User custom actions
1812
+ </a>
1813
+ </li>
1814
+
1815
+
1816
+
1817
+
1818
+
1819
+
1820
+
1821
+ <li class="md-nav__item">
1822
+ <a href="../../sp/views/" class="md-nav__link">
1823
+ Views
1824
+ </a>
1825
+ </li>
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+ <li class="md-nav__item">
1834
+ <a href="../../sp/webs/" class="md-nav__link">
1835
+ Webs
1836
+ </a>
1837
+ </li>
1838
+
1839
+
1840
+
1841
+
1842
+
1843
+
1844
+
1845
+ <li class="md-nav__item">
1846
+ <a href="../../sp/custom-irequestclient/" class="md-nav__link">
1847
+ Custom Request Client
1848
+ </a>
1849
+ </li>
1850
+
1851
+
1852
+ </ul>
1853
+ </nav>
1854
+ </li>
1855
+
1856
+
1857
+
1858
+
1859
+
1860
+
1861
+
1862
+ <li class="md-nav__item md-nav__item--nested">
1863
+
1864
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-10" type="checkbox" id="nav-6-10">
1865
+
1866
+ <label class="md-nav__link" for="nav-6-10">
1867
+ sp-addinhelpers
1868
+ <span class="md-nav__icon md-icon"></span>
1869
+ </label>
1870
+ <nav class="md-nav" aria-label="sp-addinhelpers" data-md-level="2">
1871
+ <label class="md-nav__title" for="nav-6-10">
1872
+ <span class="md-nav__icon md-icon"></span>
1873
+ sp-addinhelpers
1874
+ </label>
1875
+ <ul class="md-nav__list" data-md-scrollfix>
1876
+
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+
1883
+ <li class="md-nav__item">
1884
+ <a href="../../sp-addinhelpers/" class="md-nav__link">
1885
+ sp-addinhelpers
1886
+ </a>
1887
+ </li>
1888
+
1889
+
1890
+
1891
+
1892
+
1893
+
1894
+
1895
+ <li class="md-nav__item">
1896
+ <a href="../../sp-addinhelpers/sp-request-executor-client/" class="md-nav__link">
1897
+ SPRequestExecutorClient
1898
+ </a>
1899
+ </li>
1900
+
1901
+
1902
+
1903
+
1904
+
1905
+
1906
+
1907
+ <li class="md-nav__item">
1908
+ <a href="../../sp-addinhelpers/sp-rest-addin/" class="md-nav__link">
1909
+ SPRestAddIn
1910
+ </a>
1911
+ </li>
1912
+
1913
+
1914
+ </ul>
1915
+ </nav>
1916
+ </li>
1917
+
1918
+
1919
+ </ul>
1920
+ </nav>
1921
+ </li>
1922
+
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+
1929
+ <li class="md-nav__item md-nav__item--nested">
1930
+
1931
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
1932
+
1933
+ <label class="md-nav__link" for="nav-7">
1934
+ Contributing
1935
+ <span class="md-nav__icon md-icon"></span>
1936
+ </label>
1937
+ <nav class="md-nav" aria-label="Contributing" data-md-level="1">
1938
+ <label class="md-nav__title" for="nav-7">
1939
+ <span class="md-nav__icon md-icon"></span>
1940
+ Contributing
1941
+ </label>
1942
+ <ul class="md-nav__list" data-md-scrollfix>
1943
+
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+
1950
+ <li class="md-nav__item">
1951
+ <a href="../../contributing/" class="md-nav__link">
1952
+ Contributing
1953
+ </a>
1954
+ </li>
1955
+
1956
+
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+ <li class="md-nav__item">
1963
+ <a href="../../contributing/setup-dev-machine/" class="md-nav__link">
1964
+ Setup Dev Machine
1965
+ </a>
1966
+ </li>
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+ <li class="md-nav__item">
1975
+ <a href="../../contributing/local-debug-configuration/" class="md-nav__link">
1976
+ Local Debug Configuration
1977
+ </a>
1978
+ </li>
1979
+
1980
+
1981
+
1982
+
1983
+
1984
+
1985
+
1986
+ <li class="md-nav__item">
1987
+ <a href="../../contributing/debugging/" class="md-nav__link">
1988
+ Debugging
1989
+ </a>
1990
+ </li>
1991
+
1992
+
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+ <li class="md-nav__item">
1999
+ <a href="../../contributing/extending-the-library/" class="md-nav__link">
2000
+ Extending the library
2001
+ </a>
2002
+ </li>
2003
+
2004
+
2005
+
2006
+
2007
+
2008
+
2009
+
2010
+ <li class="md-nav__item">
2011
+ <a href="../../contributing/debug-tests/" class="md-nav__link">
2012
+ Writing Tests
2013
+ </a>
2014
+ </li>
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+ <li class="md-nav__item">
2023
+ <a href="../../contributing/documentation/" class="md-nav__link">
2024
+ Update Documentation
2025
+ </a>
2026
+ </li>
2027
+
2028
+
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+ <li class="md-nav__item">
2035
+ <a href="../../contributing/pull-requests/" class="md-nav__link">
2036
+ Submit a Pull Request
2037
+ </a>
2038
+ </li>
2039
+
2040
+
2041
+ </ul>
2042
+ </nav>
2043
+ </li>
2044
+
2045
+
2046
+
2047
+
2048
+
2049
+
2050
+
2051
+ <li class="md-nav__item md-nav__item--nested">
2052
+
2053
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
2054
+
2055
+ <label class="md-nav__link" for="nav-8">
2056
+ Version 1 Docs
2057
+ <span class="md-nav__icon md-icon"></span>
2058
+ </label>
2059
+ <nav class="md-nav" aria-label="Version 1 Docs" data-md-level="1">
2060
+ <label class="md-nav__title" for="nav-8">
2061
+ <span class="md-nav__icon md-icon"></span>
2062
+ Version 1 Docs
2063
+ </label>
2064
+ <ul class="md-nav__list" data-md-scrollfix>
2065
+
2066
+
2067
+
2068
+
2069
+
2070
+
2071
+
2072
+ <li class="md-nav__item">
2073
+ <a href="../../v1/" class="md-nav__link">
2074
+ Home
2075
+ </a>
2076
+ </li>
2077
+
2078
+
2079
+ </ul>
2080
+ </nav>
2081
+ </li>
2082
+
2083
+
2084
+
2085
+
2086
+
2087
+
2088
+
2089
+ <li class="md-nav__item md-nav__item--nested">
2090
+
2091
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
2092
+
2093
+ <label class="md-nav__link" for="nav-9">
2094
+ Version 2 Docs
2095
+ <span class="md-nav__icon md-icon"></span>
2096
+ </label>
2097
+ <nav class="md-nav" aria-label="Version 2 Docs" data-md-level="1">
2098
+ <label class="md-nav__title" for="nav-9">
2099
+ <span class="md-nav__icon md-icon"></span>
2100
+ Version 2 Docs
2101
+ </label>
2102
+ <ul class="md-nav__list" data-md-scrollfix>
2103
+
2104
+
2105
+
2106
+
2107
+
2108
+
2109
+
2110
+ <li class="md-nav__item">
2111
+ <a href="../../v2/index.html" class="md-nav__link">
2112
+ Home
2113
+ </a>
2114
+ </li>
2115
+
2116
+
2117
+ </ul>
2118
+ </nav>
2119
+ </li>
2120
+
2121
+
2122
+ </ul>
2123
+ </nav>
2124
+ </div>
2125
+ </div>
2126
+ </div>
2127
+
2128
+
2129
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
2130
+ <div class="md-sidebar__scrollwrap">
2131
+ <div class="md-sidebar__inner">
2132
+
2133
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2134
+
2135
+
2136
+
2137
+
2138
+
2139
+ <label class="md-nav__title" for="__toc">
2140
+ <span class="md-nav__icon md-icon"></span>
2141
+ Table of contents
2142
+ </label>
2143
+ <ul class="md-nav__list" data-md-scrollfix>
2144
+
2145
+ <li class="md-nav__item">
2146
+ <a href="#the-httprequesterror" class="md-nav__link">
2147
+ The HttpRequestError
2148
+ </a>
2149
+
2150
+ </li>
2151
+
2152
+ <li class="md-nav__item">
2153
+ <a href="#basic-handling" class="md-nav__link">
2154
+ Basic Handling
2155
+ </a>
2156
+
2157
+ </li>
2158
+
2159
+ <li class="md-nav__item">
2160
+ <a href="#reading-the-response" class="md-nav__link">
2161
+ Reading the Response
2162
+ </a>
2163
+
2164
+ </li>
2165
+
2166
+ <li class="md-nav__item">
2167
+ <a href="#logging-errors" class="md-nav__link">
2168
+ Logging errors
2169
+ </a>
2170
+
2171
+ </li>
2172
+
2173
+ <li class="md-nav__item">
2174
+ <a href="#putting-it-all-together" class="md-nav__link">
2175
+ Putting it All Together
2176
+ </a>
2177
+
2178
+ <nav class="md-nav" aria-label="Putting it All Together">
2179
+ <ul class="md-nav__list">
2180
+
2181
+ <li class="md-nav__item">
2182
+ <a href="#errorhandlerts" class="md-nav__link">
2183
+ errorhandler.ts
2184
+ </a>
2185
+
2186
+ </li>
2187
+
2188
+ <li class="md-nav__item">
2189
+ <a href="#web-requestts" class="md-nav__link">
2190
+ web-request.ts
2191
+ </a>
2192
+
2193
+ </li>
2194
+
2195
+ <li class="md-nav__item">
2196
+ <a href="#web-request2ts" class="md-nav__link">
2197
+ web-request2.ts
2198
+ </a>
2199
+
2200
+ </li>
2201
+
2202
+ </ul>
2203
+ </nav>
2204
+
2205
+ </li>
2206
+
2207
+ </ul>
2208
+
2209
+ </nav>
2210
+ </div>
2211
+ </div>
2212
+ </div>
2213
+
2214
+
2215
+ <div class="md-content">
2216
+ <article class="md-content__inner md-typeset">
2217
+
2218
+
2219
+ <a href="https://github.com/pnp/pnpjs/tree/version-2/docs/concepts/error-handling.md" title="Edit this page" class="md-content__button md-icon">
2220
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
2221
+ </a>
2222
+
2223
+
2224
+ <h1 id="error-handling">Error Handling<a class="headerlink" href="#error-handling" title="Permanent link">&para;</a></h1>
2225
+ <p>This article describes the most common types of errors generated by the library. It provides context on the error object, and ways to handle the errors. As always you should tailor your error handling to what your application needs. These are ideas that can be applied to many different patterns.</p>
2226
+ <blockquote>
2227
+ <p>For 429, 503, and 504 errors we include retry logic within the library</p>
2228
+ </blockquote>
2229
+ <h2 id="the-httprequesterror">The HttpRequestError<a class="headerlink" href="#the-httprequesterror" title="Permanent link">&para;</a></h2>
2230
+ <p>All errors resulting from executed web requests will be returned as an <code>HttpRequestError</code> object which extends the base <code>Error</code>. In addition to the standard Error properties it has some other properties to help you figure out what went wrong. We used a custom error to attempt to normalize what can be a wide assortment of http related errors, while also seeking to provide as much information to library consumers as possible.</p>
2231
+ <table>
2232
+ <thead>
2233
+ <tr>
2234
+ <th>Property Name</th>
2235
+ <th>Description</th>
2236
+ </tr>
2237
+ </thead>
2238
+ <tbody>
2239
+ <tr>
2240
+ <td>name</td>
2241
+ <td>Standard Error.name property. Always 'Error'</td>
2242
+ </tr>
2243
+ <tr>
2244
+ <td>message</td>
2245
+ <td>Normalized string containing the status, status text, and the full response text</td>
2246
+ </tr>
2247
+ <tr>
2248
+ <td>stack</td>
2249
+ <td>The callstack producing the error</td>
2250
+ </tr>
2251
+ <tr>
2252
+ <td>isHttpRequestError</td>
2253
+ <td>Always true, allows you to reliably determine if you have an HttpRequestError instance</td>
2254
+ </tr>
2255
+ <tr>
2256
+ <td>response</td>
2257
+ <td>Unread copy of the Response object resulting in the thrown error</td>
2258
+ </tr>
2259
+ <tr>
2260
+ <td>status</td>
2261
+ <td>The Response.status value (such as 404)</td>
2262
+ </tr>
2263
+ <tr>
2264
+ <td>statusText</td>
2265
+ <td>The Response.statusText value (such as 'Not Found')</td>
2266
+ </tr>
2267
+ </tbody>
2268
+ </table>
2269
+ <h2 id="basic-handling">Basic Handling<a class="headerlink" href="#basic-handling" title="Permanent link">&para;</a></h2>
2270
+ <p>For all operations involving a web request you should account for the possibility they might fail. That failure might be transient or permanent - you won't know until they happen 😉. The most basic type of error handling involves a simple try-catch.</p>
2271
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp/presets/all&quot;;
2272
+
2273
+ try {
2274
+
2275
+ // get a list that doesn't exist
2276
+ const w = await sp.web.lists.getByTitle(&quot;no&quot;)();
2277
+
2278
+ } catch (e) {
2279
+
2280
+ console.error(e);
2281
+ }
2282
+ </code></pre>
2283
+ <p>This will produce output like:</p>
2284
+ <pre><code>Error making HttpClient request in queryable [404] Not Found ::&gt; {&quot;odata.error&quot;:{&quot;code&quot;:&quot;-1, System.ArgumentException&quot;,&quot;message&quot;:{&quot;lang&quot;:&quot;en-US&quot;,&quot;value&quot;:&quot;List 'no' does not exist at site with URL 'https://tenant.sharepoint.com/sites/dev'.&quot;}}} Data: {&quot;response&quot;:{&quot;size&quot;:0,&quot;timeout&quot;:0},&quot;status&quot;:404,&quot;statusText&quot;:&quot;Not Found&quot;,&quot;isHttpRequestError&quot;:true}
2285
+ </code></pre>
2286
+ <p>This is very descriptive and provides full details as to what happened, but you might want to handle things a little more cleanly.</p>
2287
+ <h2 id="reading-the-response">Reading the Response<a class="headerlink" href="#reading-the-response" title="Permanent link">&para;</a></h2>
2288
+ <p>In some cases the response body will have additional details such as a localized error messages which can be nicer to display rather than our normalized string. You can read the response directly and process it however you desire:</p>
2289
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp/presets/all&quot;;
2290
+ import { HttpRequestError } from &quot;@pnp/queryable&quot;;
2291
+
2292
+ try {
2293
+
2294
+ // get a list that doesn't exist
2295
+ const w = await sp.web.lists.getByTitle(&quot;no&quot;)();
2296
+
2297
+ } catch (e) {
2298
+
2299
+ // are we dealing with an HttpRequestError?
2300
+ if (e?.isHttpRequestError) {
2301
+
2302
+ // we can read the json from the response
2303
+ const json = await (&lt;HttpRequestError&gt;e).response.json();
2304
+
2305
+ // if we have a value property we can show it
2306
+ console.log(typeof json[&quot;odata.error&quot;] === &quot;object&quot; ? json[&quot;odata.error&quot;].message.value : e.message);
2307
+
2308
+ // add of course you have access to the other properties and can make choices on how to act
2309
+ if ((&lt;HttpRequestError&gt;e).status === 404) {
2310
+ console.error((&lt;HttpRequestError&gt;e).statusText);
2311
+ // maybe create the resource, or redirect, or fallback to a secondary data source
2312
+ // just ideas, handle any of the status codes uniquely as needed
2313
+ }
2314
+
2315
+ } else {
2316
+ // not an HttpRequestError so we just log message
2317
+ console.log(e.message);
2318
+ }
2319
+ }
2320
+ </code></pre>
2321
+ <h2 id="logging-errors">Logging errors<a class="headerlink" href="#logging-errors" title="Permanent link">&para;</a></h2>
2322
+ <p>Using the <a href="../../logging/">PnPjs Logging Framework</a> you can directly pass the error object and the normalized message will be logged. These techniques can be applied to any logging framework.</p>
2323
+ <pre><code class="language-TypeScript">import { Logger } from &quot;@pnp/logging&quot;;
2324
+ import { sp } from &quot;@pnp/sp/presets/all&quot;;
2325
+
2326
+ try {
2327
+ // get a list that doesn't exist
2328
+ const w = await sp.web.lists.getByTitle(&quot;no&quot;)();
2329
+ } catch (e) {
2330
+
2331
+ Logger.error(e);
2332
+ }
2333
+ </code></pre>
2334
+ <p>You may want to read the response and customize the message as described above:</p>
2335
+ <pre><code class="language-TypeScript">import { Logger } from &quot;@pnp/logging&quot;;
2336
+ import { sp } from &quot;@pnp/sp/presets/all&quot;;
2337
+ import { HttpRequestError } from &quot;@pnp/queryable&quot;;
2338
+
2339
+ try {
2340
+ // get a list that doesn't exist
2341
+ const w = await sp.web.lists.getByTitle(&quot;no&quot;)();
2342
+ } catch (e) {
2343
+
2344
+ if (e?.isHttpRequestError) {
2345
+
2346
+ // we can read the json from the response
2347
+ const data = await (&lt;HttpRequestError&gt;e).response.json();
2348
+
2349
+ // parse this however you want
2350
+ const message = typeof data[&quot;odata.error&quot;] === &quot;object&quot; ? data[&quot;odata.error&quot;].message.value : e.message;
2351
+
2352
+ // we use the status to determine a custom logging level
2353
+ const level: LogLevel = (&lt;HttpRequestError&gt;e).status === 404 ? LogLevel.Warning : LogLevel.Info;
2354
+
2355
+ // create a custom log entry
2356
+ Logger.log({
2357
+ data,
2358
+ level,
2359
+ message,
2360
+ });
2361
+
2362
+ } else {
2363
+ // not an HttpRequestError so we just log message
2364
+ Logger.error(e);
2365
+ }
2366
+ }
2367
+ </code></pre>
2368
+ <h2 id="putting-it-all-together">Putting it All Together<a class="headerlink" href="#putting-it-all-together" title="Permanent link">&para;</a></h2>
2369
+ <p>After reviewing the above section you might have thought it seems like a lot of work to include all that logic for every error. One approach is to establish a single function you use application wide to process errors. This allows all the error handling logic to be easily updated and consistent across the application.</p>
2370
+ <h3 id="errorhandlerts">errorhandler.ts<a class="headerlink" href="#errorhandlerts" title="Permanent link">&para;</a></h3>
2371
+ <pre><code class="language-TypeScript">import { Logger } from &quot;@pnp/logging&quot;;
2372
+ import { HttpRequestError } from &quot;@pnp/queryable&quot;;
2373
+ import { hOP } from &quot;@pnp/core&quot;;
2374
+
2375
+ export async function handleError(e: Error | HttpRequestError): Promise&lt;void&gt; {
2376
+
2377
+ if (hOP(e, &quot;isHttpRequestError&quot;)) {
2378
+
2379
+ // we can read the json from the response
2380
+ const data = await (&lt;HttpRequestError&gt;e).response.json();
2381
+
2382
+ // parse this however you want
2383
+ const message = typeof data[&quot;odata.error&quot;] === &quot;object&quot; ? data[&quot;odata.error&quot;].message.value : e.message;
2384
+
2385
+ // we use the status to determine a custom logging level
2386
+ const level: LogLevel = (&lt;HttpRequestError&gt;e).status === 404 ? LogLevel.Warning : LogLevel.Info;
2387
+
2388
+ // create a custom log entry
2389
+ Logger.log({
2390
+ data,
2391
+ level,
2392
+ message,
2393
+ });
2394
+
2395
+ } else {
2396
+ // not an HttpRequestError so we just log message
2397
+ Logger.error(e);
2398
+ }
2399
+ }
2400
+ </code></pre>
2401
+ <h3 id="web-requestts">web-request.ts<a class="headerlink" href="#web-requestts" title="Permanent link">&para;</a></h3>
2402
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp/presets/all&quot;;
2403
+ import { handleError } from &quot;./errorhandler&quot;;
2404
+
2405
+ try {
2406
+
2407
+ const w = await sp.web.lists.getByTitle(&quot;no&quot;)();
2408
+
2409
+ } catch (e) {
2410
+
2411
+ await handleError(e);
2412
+ }
2413
+ </code></pre>
2414
+ <h3 id="web-request2ts">web-request2.ts<a class="headerlink" href="#web-request2ts" title="Permanent link">&para;</a></h3>
2415
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp/presets/all&quot;;
2416
+ import { handleError } from &quot;./errorhandler&quot;;
2417
+
2418
+ try {
2419
+
2420
+ const w = await sp.web.lists();
2421
+
2422
+ } catch (e) {
2423
+
2424
+ await handleError(e);
2425
+ }
2426
+ </code></pre>
2427
+
2428
+
2429
+
2430
+
2431
+
2432
+
2433
+
2434
+ </article>
2435
+ </div>
2436
+ </div>
2437
+ </main>
2438
+
2439
+
2440
+ <footer class="md-footer">
2441
+
2442
+ <div class="md-footer-nav">
2443
+ <nav class="md-footer-nav__inner md-grid" aria-label="Footer">
2444
+
2445
+ <a href="../settings/" class="md-footer-nav__link md-footer-nav__link--prev" rel="prev">
2446
+ <div class="md-footer-nav__button md-icon">
2447
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
2448
+ </div>
2449
+ <div class="md-footer-nav__title">
2450
+ <div class="md-ellipsis">
2451
+ <span class="md-footer-nav__direction">
2452
+ Previous
2453
+ </span>
2454
+ Settings
2455
+ </div>
2456
+ </div>
2457
+ </a>
2458
+
2459
+
2460
+ <a href="../../authentication/" class="md-footer-nav__link md-footer-nav__link--next" rel="next">
2461
+ <div class="md-footer-nav__title">
2462
+ <div class="md-ellipsis">
2463
+ <span class="md-footer-nav__direction">
2464
+ Next
2465
+ </span>
2466
+ Getting Started
2467
+ </div>
2468
+ </div>
2469
+ <div class="md-footer-nav__button md-icon">
2470
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
2471
+ </div>
2472
+ </a>
2473
+
2474
+ </nav>
2475
+ </div>
2476
+
2477
+ <div class="md-footer-meta md-typeset">
2478
+ <div class="md-footer-meta__inner md-grid">
2479
+ <div class="md-footer-copyright">
2480
+
2481
+ Made with
2482
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2483
+ Material for MkDocs
2484
+ </a>
2485
+ </div>
2486
+
2487
+ <div class="md-footer-social">
2488
+
2489
+
2490
+
2491
+
2492
+
2493
+
2494
+ <a href="https://twitter.com/m365pnpjs" target="_blank" rel="noopener" title="twitter.com" class="md-footer-social__link">
2495
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
2496
+ </a>
2497
+
2498
+
2499
+
2500
+
2501
+
2502
+
2503
+ <a href="http://aka.ms/sppnp-videos" target="_blank" rel="noopener" title="aka.ms" class="md-footer-social__link">
2504
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
2505
+ </a>
2506
+
2507
+
2508
+
2509
+
2510
+
2511
+
2512
+ <a href="https://aka.ms/sppnp" target="_blank" rel="noopener" title="aka.ms" class="md-footer-social__link">
2513
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z"/></svg>
2514
+ </a>
2515
+
2516
+ </div>
2517
+
2518
+ </div>
2519
+ </div>
2520
+ </footer>
2521
+
2522
+ </div>
2523
+
2524
+ <script src="../../assets/javascripts/vendor.77e55a48.min.js"></script>
2525
+ <script src="../../assets/javascripts/bundle.9554a270.min.js"></script><script id="__lang" type="application/json">{"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}</script>
2526
+
2527
+ <script>
2528
+ app = initialize({
2529
+ base: "../..",
2530
+ features: [],
2531
+ search: Object.assign({
2532
+ worker: "../../assets/javascripts/worker/search.4ac00218.min.js"
2533
+ }, typeof search !== "undefined" && search)
2534
+ })
2535
+ </script>
2536
+
2537
+
2538
+ </body>
2539
+ </html>