@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,2465 @@
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/odata/caching/">
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>caching - 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/odata/caching/" 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="#pnpqueryablecaching" 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
+ caching
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
+ <li class="md-nav__item md-nav__item--nested">
313
+
314
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
315
+
316
+ <label class="md-nav__link" for="nav-5">
317
+ Library Concepts
318
+ <span class="md-nav__icon md-icon"></span>
319
+ </label>
320
+ <nav class="md-nav" aria-label="Library Concepts" data-md-level="1">
321
+ <label class="md-nav__title" for="nav-5">
322
+ <span class="md-nav__icon md-icon"></span>
323
+ Library Concepts
324
+ </label>
325
+ <ul class="md-nav__list" data-md-scrollfix>
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+ <li class="md-nav__item">
334
+ <a href="../../concepts/configuration/" class="md-nav__link">
335
+ Configuration
336
+ </a>
337
+ </li>
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+ <li class="md-nav__item">
346
+ <a href="../../concepts/selective-imports/" class="md-nav__link">
347
+ Selective Imports
348
+ </a>
349
+ </li>
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+ <li class="md-nav__item">
358
+ <a href="../../concepts/custom-bundle/" class="md-nav__link">
359
+ Custom Bundle
360
+ </a>
361
+ </li>
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+ <li class="md-nav__item">
370
+ <a href="../../concepts/ie11-mode/" class="md-nav__link">
371
+ IE11 Mode
372
+ </a>
373
+ </li>
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+ <li class="md-nav__item">
382
+ <a href="../../concepts/invokable/" class="md-nav__link">
383
+ Invokables
384
+ </a>
385
+ </li>
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+ <li class="md-nav__item">
394
+ <a href="../../concepts/polyfill/" class="md-nav__link">
395
+ Polyfills
396
+ </a>
397
+ </li>
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+ <li class="md-nav__item">
406
+ <a href="../../concepts/settings/" class="md-nav__link">
407
+ Settings
408
+ </a>
409
+ </li>
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+ <li class="md-nav__item">
418
+ <a href="../../concepts/error-handling/" class="md-nav__link">
419
+ Error Handling
420
+ </a>
421
+ </li>
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+ <li class="md-nav__item md-nav__item--nested">
430
+
431
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-5-9" type="checkbox" id="nav-5-9">
432
+
433
+ <label class="md-nav__link" for="nav-5-9">
434
+ Authentication
435
+ <span class="md-nav__icon md-icon"></span>
436
+ </label>
437
+ <nav class="md-nav" aria-label="Authentication" data-md-level="2">
438
+ <label class="md-nav__title" for="nav-5-9">
439
+ <span class="md-nav__icon md-icon"></span>
440
+ Authentication
441
+ </label>
442
+ <ul class="md-nav__list" data-md-scrollfix>
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+ <li class="md-nav__item">
451
+ <a href="../../authentication/" class="md-nav__link">
452
+ Getting Started
453
+ </a>
454
+ </li>
455
+
456
+
457
+
458
+
459
+
460
+
461
+
462
+ <li class="md-nav__item">
463
+ <a href="../../authentication/client-spfx/" class="md-nav__link">
464
+ SPFx Auth
465
+ </a>
466
+ </li>
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+ <li class="md-nav__item">
475
+ <a href="../../authentication/msaljsclient/" class="md-nav__link">
476
+ MSAL Client
477
+ </a>
478
+ </li>
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+ <li class="md-nav__item">
487
+ <a href="../../authentication/adaljsclient/" class="md-nav__link">
488
+ ADAL Client
489
+ </a>
490
+ </li>
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+ <li class="md-nav__item">
499
+ <a href="../../authentication/client-spa/" class="md-nav__link">
500
+ SPA Auth
501
+ </a>
502
+ </li>
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+ <li class="md-nav__item">
511
+ <a href="../../authentication/server-nodejs/" class="md-nav__link">
512
+ NodeJS Auth
513
+ </a>
514
+ </li>
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+ <li class="md-nav__item">
523
+ <a href="../../authentication/sp-app-registration/" class="md-nav__link">
524
+ SP App Reg
525
+ </a>
526
+ </li>
527
+
528
+
529
+
530
+
531
+
532
+
533
+
534
+ <li class="md-nav__item">
535
+ <a href="../../authentication/bearertokenclient/" class="md-nav__link">
536
+ Bearer Token Client
537
+ </a>
538
+ </li>
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+ <li class="md-nav__item">
547
+ <a href="../../authentication/lambdaclient/" class="md-nav__link">
548
+ Lambda Token Client
549
+ </a>
550
+ </li>
551
+
552
+
553
+ </ul>
554
+ </nav>
555
+ </li>
556
+
557
+
558
+ </ul>
559
+ </nav>
560
+ </li>
561
+
562
+
563
+
564
+
565
+
566
+
567
+
568
+
569
+
570
+ <li class="md-nav__item md-nav__item--active md-nav__item--nested">
571
+
572
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6" checked>
573
+
574
+ <label class="md-nav__link" for="nav-6">
575
+ Packages
576
+ <span class="md-nav__icon md-icon"></span>
577
+ </label>
578
+ <nav class="md-nav" aria-label="Packages" data-md-level="1">
579
+ <label class="md-nav__title" for="nav-6">
580
+ <span class="md-nav__icon md-icon"></span>
581
+ Packages
582
+ </label>
583
+ <ul class="md-nav__list" data-md-scrollfix>
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+ <li class="md-nav__item">
592
+ <a href="../../packages/" class="md-nav__link">
593
+ Packages
594
+ </a>
595
+ </li>
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+ <li class="md-nav__item md-nav__item--nested">
604
+
605
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-2" type="checkbox" id="nav-6-2">
606
+
607
+ <label class="md-nav__link" for="nav-6-2">
608
+ common
609
+ <span class="md-nav__icon md-icon"></span>
610
+ </label>
611
+ <nav class="md-nav" aria-label="common" data-md-level="2">
612
+ <label class="md-nav__title" for="nav-6-2">
613
+ <span class="md-nav__icon md-icon"></span>
614
+ common
615
+ </label>
616
+ <ul class="md-nav__list" data-md-scrollfix>
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+ <li class="md-nav__item">
625
+ <a href="../../common/" class="md-nav__link">
626
+ common
627
+ </a>
628
+ </li>
629
+
630
+
631
+
632
+
633
+
634
+
635
+
636
+ <li class="md-nav__item">
637
+ <a href="../../common/collections/" class="md-nav__link">
638
+ collections
639
+ </a>
640
+ </li>
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+ <li class="md-nav__item">
649
+ <a href="../../common/custom-httpclientimpl/" class="md-nav__link">
650
+ Custom HttpClientImpl
651
+ </a>
652
+ </li>
653
+
654
+
655
+
656
+
657
+
658
+
659
+
660
+ <li class="md-nav__item">
661
+ <a href="../../common/libconfig/" class="md-nav__link">
662
+ libconfig
663
+ </a>
664
+ </li>
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+ <li class="md-nav__item">
673
+ <a href="../../common/netutil/" class="md-nav__link">
674
+ netutil
675
+ </a>
676
+ </li>
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+ <li class="md-nav__item">
685
+ <a href="../../common/storage/" class="md-nav__link">
686
+ storage
687
+ </a>
688
+ </li>
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+ <li class="md-nav__item">
697
+ <a href="../../common/util/" class="md-nav__link">
698
+ util
699
+ </a>
700
+ </li>
701
+
702
+
703
+ </ul>
704
+ </nav>
705
+ </li>
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+ <li class="md-nav__item md-nav__item--nested">
714
+
715
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-3" type="checkbox" id="nav-6-3">
716
+
717
+ <label class="md-nav__link" for="nav-6-3">
718
+ config-store
719
+ <span class="md-nav__icon md-icon"></span>
720
+ </label>
721
+ <nav class="md-nav" aria-label="config-store" data-md-level="2">
722
+ <label class="md-nav__title" for="nav-6-3">
723
+ <span class="md-nav__icon md-icon"></span>
724
+ config-store
725
+ </label>
726
+ <ul class="md-nav__list" data-md-scrollfix>
727
+
728
+
729
+
730
+
731
+
732
+
733
+
734
+ <li class="md-nav__item">
735
+ <a href="../../config-store/" class="md-nav__link">
736
+ config-store
737
+ </a>
738
+ </li>
739
+
740
+
741
+
742
+
743
+
744
+
745
+
746
+ <li class="md-nav__item">
747
+ <a href="../../config-store/configuration/" class="md-nav__link">
748
+ configuration
749
+ </a>
750
+ </li>
751
+
752
+
753
+
754
+
755
+
756
+
757
+
758
+ <li class="md-nav__item">
759
+ <a href="../../config-store/providers/" class="md-nav__link">
760
+ providers
761
+ </a>
762
+ </li>
763
+
764
+
765
+ </ul>
766
+ </nav>
767
+ </li>
768
+
769
+
770
+
771
+
772
+
773
+
774
+
775
+ <li class="md-nav__item md-nav__item--nested">
776
+
777
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-4" type="checkbox" id="nav-6-4">
778
+
779
+ <label class="md-nav__link" for="nav-6-4">
780
+ graph
781
+ <span class="md-nav__icon md-icon"></span>
782
+ </label>
783
+ <nav class="md-nav" aria-label="graph" data-md-level="2">
784
+ <label class="md-nav__title" for="nav-6-4">
785
+ <span class="md-nav__icon md-icon"></span>
786
+ graph
787
+ </label>
788
+ <ul class="md-nav__list" data-md-scrollfix>
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+ <li class="md-nav__item">
797
+ <a href="../../graph/" class="md-nav__link">
798
+ graph
799
+ </a>
800
+ </li>
801
+
802
+
803
+
804
+
805
+
806
+
807
+
808
+ <li class="md-nav__item">
809
+ <a href="../../graph/groups/" class="md-nav__link">
810
+ groups
811
+ </a>
812
+ </li>
813
+
814
+
815
+
816
+
817
+
818
+
819
+
820
+ <li class="md-nav__item">
821
+ <a href="../../graph/insights/" class="md-nav__link">
822
+ insights
823
+ </a>
824
+ </li>
825
+
826
+
827
+
828
+
829
+
830
+
831
+
832
+ <li class="md-nav__item">
833
+ <a href="../../graph/contacts/" class="md-nav__link">
834
+ contacts
835
+ </a>
836
+ </li>
837
+
838
+
839
+
840
+
841
+
842
+
843
+
844
+ <li class="md-nav__item">
845
+ <a href="../../graph/calendars/" class="md-nav__link">
846
+ calendars
847
+ </a>
848
+ </li>
849
+
850
+
851
+
852
+
853
+
854
+
855
+
856
+ <li class="md-nav__item">
857
+ <a href="../../graph/directoryobjects/" class="md-nav__link">
858
+ directory objects
859
+ </a>
860
+ </li>
861
+
862
+
863
+
864
+
865
+
866
+
867
+
868
+ <li class="md-nav__item">
869
+ <a href="../../graph/invitations/" class="md-nav__link">
870
+ invitations
871
+ </a>
872
+ </li>
873
+
874
+
875
+
876
+
877
+
878
+
879
+
880
+ <li class="md-nav__item">
881
+ <a href="../../graph/onedrive/" class="md-nav__link">
882
+ onedrive
883
+ </a>
884
+ </li>
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+ <li class="md-nav__item">
893
+ <a href="../../graph/outlook/" class="md-nav__link">
894
+ outlook
895
+ </a>
896
+ </li>
897
+
898
+
899
+
900
+
901
+
902
+
903
+
904
+ <li class="md-nav__item">
905
+ <a href="../../graph/photos/" class="md-nav__link">
906
+ photos
907
+ </a>
908
+ </li>
909
+
910
+
911
+
912
+
913
+
914
+
915
+
916
+ <li class="md-nav__item">
917
+ <a href="../../graph/planner/" class="md-nav__link">
918
+ planner
919
+ </a>
920
+ </li>
921
+
922
+
923
+
924
+
925
+
926
+
927
+
928
+ <li class="md-nav__item">
929
+ <a href="../../graph/search/" class="md-nav__link">
930
+ search
931
+ </a>
932
+ </li>
933
+
934
+
935
+
936
+
937
+
938
+
939
+
940
+ <li class="md-nav__item">
941
+ <a href="../../graph/subscriptions/" class="md-nav__link">
942
+ subscriptions
943
+ </a>
944
+ </li>
945
+
946
+
947
+
948
+
949
+
950
+
951
+
952
+ <li class="md-nav__item">
953
+ <a href="../../graph/teams/" class="md-nav__link">
954
+ teams
955
+ </a>
956
+ </li>
957
+
958
+
959
+
960
+
961
+
962
+
963
+
964
+ <li class="md-nav__item">
965
+ <a href="../../graph/users/" class="md-nav__link">
966
+ users
967
+ </a>
968
+ </li>
969
+
970
+
971
+ </ul>
972
+ </nav>
973
+ </li>
974
+
975
+
976
+
977
+
978
+
979
+
980
+
981
+ <li class="md-nav__item">
982
+ <a href="../../logging/" class="md-nav__link">
983
+ logging
984
+ </a>
985
+ </li>
986
+
987
+
988
+
989
+
990
+
991
+
992
+
993
+ <li class="md-nav__item md-nav__item--nested">
994
+
995
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-6" type="checkbox" id="nav-6-6">
996
+
997
+ <label class="md-nav__link" for="nav-6-6">
998
+ nodejs
999
+ <span class="md-nav__icon md-icon"></span>
1000
+ </label>
1001
+ <nav class="md-nav" aria-label="nodejs" data-md-level="2">
1002
+ <label class="md-nav__title" for="nav-6-6">
1003
+ <span class="md-nav__icon md-icon"></span>
1004
+ nodejs
1005
+ </label>
1006
+ <ul class="md-nav__list" data-md-scrollfix>
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+ <li class="md-nav__item">
1015
+ <a href="../../nodejs/" class="md-nav__link">
1016
+ nodejs
1017
+ </a>
1018
+ </li>
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+ <li class="md-nav__item">
1027
+ <a href="../../nodejs/sp-fetch-client/" class="md-nav__link">
1028
+ SPFetchClient
1029
+ </a>
1030
+ </li>
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+ <li class="md-nav__item">
1039
+ <a href="../../nodejs/adal-fetch-client/" class="md-nav__link">
1040
+ AdalFetchClient
1041
+ </a>
1042
+ </li>
1043
+
1044
+
1045
+
1046
+
1047
+
1048
+
1049
+
1050
+ <li class="md-nav__item">
1051
+ <a href="../../nodejs/bearer-token-fetch-client/" class="md-nav__link">
1052
+ BearerTokenFetchClient
1053
+ </a>
1054
+ </li>
1055
+
1056
+
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+ <li class="md-nav__item">
1063
+ <a href="../../nodejs/provider-hosted-app/" class="md-nav__link">
1064
+ ProviderHostedRequestContext
1065
+ </a>
1066
+ </li>
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+
1073
+
1074
+ <li class="md-nav__item">
1075
+ <a href="../../nodejs/sp-extensions/" class="md-nav__link">
1076
+ sp Extensions
1077
+ </a>
1078
+ </li>
1079
+
1080
+
1081
+
1082
+
1083
+
1084
+
1085
+
1086
+ <li class="md-nav__item">
1087
+ <a href="../../nodejs/proxy/" class="md-nav__link">
1088
+ proxy
1089
+ </a>
1090
+ </li>
1091
+
1092
+
1093
+ </ul>
1094
+ </nav>
1095
+ </li>
1096
+
1097
+
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+ <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1106
+
1107
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-7" type="checkbox" id="nav-6-7" checked>
1108
+
1109
+ <label class="md-nav__link" for="nav-6-7">
1110
+ odata
1111
+ <span class="md-nav__icon md-icon"></span>
1112
+ </label>
1113
+ <nav class="md-nav" aria-label="odata" data-md-level="2">
1114
+ <label class="md-nav__title" for="nav-6-7">
1115
+ <span class="md-nav__icon md-icon"></span>
1116
+ odata
1117
+ </label>
1118
+ <ul class="md-nav__list" data-md-scrollfix>
1119
+
1120
+
1121
+
1122
+
1123
+
1124
+
1125
+
1126
+ <li class="md-nav__item">
1127
+ <a href="../" class="md-nav__link">
1128
+ odata
1129
+ </a>
1130
+ </li>
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+
1138
+
1139
+
1140
+ <li class="md-nav__item md-nav__item--active">
1141
+
1142
+ <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
1143
+
1144
+
1145
+
1146
+
1147
+ <label class="md-nav__link md-nav__link--active" for="__toc">
1148
+ caching
1149
+ <span class="md-nav__icon md-icon"></span>
1150
+ </label>
1151
+
1152
+ <a href="./" class="md-nav__link md-nav__link--active">
1153
+ caching
1154
+ </a>
1155
+
1156
+
1157
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1158
+
1159
+
1160
+
1161
+
1162
+
1163
+ <label class="md-nav__title" for="__toc">
1164
+ <span class="md-nav__icon md-icon"></span>
1165
+ Table of contents
1166
+ </label>
1167
+ <ul class="md-nav__list" data-md-scrollfix>
1168
+
1169
+ <li class="md-nav__item">
1170
+ <a href="#basic-example" class="md-nav__link">
1171
+ Basic example
1172
+ </a>
1173
+
1174
+ </li>
1175
+
1176
+ <li class="md-nav__item">
1177
+ <a href="#globally-configure-cache-settings" class="md-nav__link">
1178
+ Globally Configure Cache Settings
1179
+ </a>
1180
+
1181
+ </li>
1182
+
1183
+ <li class="md-nav__item">
1184
+ <a href="#per-call-configuration" class="md-nav__link">
1185
+ Per Call Configuration
1186
+ </a>
1187
+
1188
+ </li>
1189
+
1190
+ <li class="md-nav__item">
1191
+ <a href="#using-batching-with-caching" class="md-nav__link">
1192
+ Using Batching with Caching
1193
+ </a>
1194
+
1195
+ </li>
1196
+
1197
+ <li class="md-nav__item">
1198
+ <a href="#implement-custom-caching" class="md-nav__link">
1199
+ Implement Custom Caching
1200
+ </a>
1201
+
1202
+ <nav class="md-nav" aria-label="Implement Custom Caching">
1203
+ <ul class="md-nav__list">
1204
+
1205
+ <li class="md-nav__item">
1206
+ <a href="#implement-caching-helper-method" class="md-nav__link">
1207
+ Implement caching helper method
1208
+ </a>
1209
+
1210
+ </li>
1211
+
1212
+ <li class="md-nav__item">
1213
+ <a href="#usage" class="md-nav__link">
1214
+ Usage
1215
+ </a>
1216
+
1217
+ </li>
1218
+
1219
+ <li class="md-nav__item">
1220
+ <a href="#wrapper-function" class="md-nav__link">
1221
+ Wrapper Function
1222
+ </a>
1223
+
1224
+ </li>
1225
+
1226
+ </ul>
1227
+ </nav>
1228
+
1229
+ </li>
1230
+
1231
+ </ul>
1232
+
1233
+ </nav>
1234
+
1235
+ </li>
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+ <li class="md-nav__item">
1244
+ <a href="../core/" class="md-nav__link">
1245
+ core
1246
+ </a>
1247
+ </li>
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+
1255
+ <li class="md-nav__item">
1256
+ <a href="../odata-batch/" class="md-nav__link">
1257
+ OData Batching
1258
+ </a>
1259
+ </li>
1260
+
1261
+
1262
+
1263
+
1264
+
1265
+
1266
+
1267
+ <li class="md-nav__item">
1268
+ <a href="../extensions/" class="md-nav__link">
1269
+ Extending an OData library
1270
+ </a>
1271
+ </li>
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+ <li class="md-nav__item">
1280
+ <a href="../debug/" class="md-nav__link">
1281
+ Debugging Proxy Objects
1282
+ </a>
1283
+ </li>
1284
+
1285
+
1286
+
1287
+
1288
+
1289
+
1290
+
1291
+ <li class="md-nav__item">
1292
+ <a href="../parsers/" class="md-nav__link">
1293
+ Parsers
1294
+ </a>
1295
+ </li>
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1303
+ <li class="md-nav__item">
1304
+ <a href="../pipeline/" class="md-nav__link">
1305
+ Pipeline
1306
+ </a>
1307
+ </li>
1308
+
1309
+
1310
+
1311
+
1312
+
1313
+
1314
+
1315
+ <li class="md-nav__item">
1316
+ <a href="../queryable/" class="md-nav__link">
1317
+ Queryable
1318
+ </a>
1319
+ </li>
1320
+
1321
+
1322
+ </ul>
1323
+ </nav>
1324
+ </li>
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+
1332
+ <li class="md-nav__item md-nav__item--nested">
1333
+
1334
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-8" type="checkbox" id="nav-6-8">
1335
+
1336
+ <label class="md-nav__link" for="nav-6-8">
1337
+ pnpjs
1338
+ <span class="md-nav__icon md-icon"></span>
1339
+ </label>
1340
+ <nav class="md-nav" aria-label="pnpjs" data-md-level="2">
1341
+ <label class="md-nav__title" for="nav-6-8">
1342
+ <span class="md-nav__icon md-icon"></span>
1343
+ pnpjs
1344
+ </label>
1345
+ <ul class="md-nav__list" data-md-scrollfix>
1346
+
1347
+
1348
+
1349
+
1350
+
1351
+
1352
+
1353
+ <li class="md-nav__item">
1354
+ <a href="../../pnpjs/" class="md-nav__link">
1355
+ pnpjs
1356
+ </a>
1357
+ </li>
1358
+
1359
+
1360
+ </ul>
1361
+ </nav>
1362
+ </li>
1363
+
1364
+
1365
+
1366
+
1367
+
1368
+
1369
+
1370
+ <li class="md-nav__item md-nav__item--nested">
1371
+
1372
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-9" type="checkbox" id="nav-6-9">
1373
+
1374
+ <label class="md-nav__link" for="nav-6-9">
1375
+ sp
1376
+ <span class="md-nav__icon md-icon"></span>
1377
+ </label>
1378
+ <nav class="md-nav" aria-label="sp" data-md-level="2">
1379
+ <label class="md-nav__title" for="nav-6-9">
1380
+ <span class="md-nav__icon md-icon"></span>
1381
+ sp
1382
+ </label>
1383
+ <ul class="md-nav__list" data-md-scrollfix>
1384
+
1385
+
1386
+
1387
+
1388
+
1389
+
1390
+
1391
+ <li class="md-nav__item">
1392
+ <a href="../../sp/" class="md-nav__link">
1393
+ sp
1394
+ </a>
1395
+ </li>
1396
+
1397
+
1398
+
1399
+
1400
+
1401
+
1402
+
1403
+ <li class="md-nav__item">
1404
+ <a href="../../sp/alias-parameters/" class="md-nav__link">
1405
+ Alias Parameters
1406
+ </a>
1407
+ </li>
1408
+
1409
+
1410
+
1411
+
1412
+
1413
+
1414
+
1415
+ <li class="md-nav__item">
1416
+ <a href="../../sp/alm/" class="md-nav__link">
1417
+ ALM api
1418
+ </a>
1419
+ </li>
1420
+
1421
+
1422
+
1423
+
1424
+
1425
+
1426
+
1427
+ <li class="md-nav__item">
1428
+ <a href="../../sp/attachments/" class="md-nav__link">
1429
+ Attachments
1430
+ </a>
1431
+ </li>
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+
1439
+ <li class="md-nav__item">
1440
+ <a href="../../sp/clientside-pages/" class="md-nav__link">
1441
+ Client-side Pages
1442
+ </a>
1443
+ </li>
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+
1450
+
1451
+ <li class="md-nav__item">
1452
+ <a href="../../sp/column-defaults/" class="md-nav__link">
1453
+ Column Defaults
1454
+ </a>
1455
+ </li>
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+
1462
+
1463
+ <li class="md-nav__item">
1464
+ <a href="../../sp/comments-likes/" class="md-nav__link">
1465
+ Comments and Likes
1466
+ </a>
1467
+ </li>
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+ <li class="md-nav__item">
1476
+ <a href="../../sp/content-types/" class="md-nav__link">
1477
+ Content Types
1478
+ </a>
1479
+ </li>
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+ <li class="md-nav__item">
1488
+ <a href="../../sp/entity-merging/" class="md-nav__link">
1489
+ Entity Merging
1490
+ </a>
1491
+ </li>
1492
+
1493
+
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+ <li class="md-nav__item">
1500
+ <a href="../../sp/features/" class="md-nav__link">
1501
+ Features
1502
+ </a>
1503
+ </li>
1504
+
1505
+
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+ <li class="md-nav__item">
1512
+ <a href="../../sp/fields/" class="md-nav__link">
1513
+ Fields
1514
+ </a>
1515
+ </li>
1516
+
1517
+
1518
+
1519
+
1520
+
1521
+
1522
+
1523
+ <li class="md-nav__item">
1524
+ <a href="../../sp/files/" class="md-nav__link">
1525
+ Files
1526
+ </a>
1527
+ </li>
1528
+
1529
+
1530
+
1531
+
1532
+
1533
+
1534
+
1535
+ <li class="md-nav__item">
1536
+ <a href="../../sp/folders/" class="md-nav__link">
1537
+ Folders
1538
+ </a>
1539
+ </li>
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+
1547
+ <li class="md-nav__item">
1548
+ <a href="../../sp/forms/" class="md-nav__link">
1549
+ Forms
1550
+ </a>
1551
+ </li>
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+ <li class="md-nav__item">
1560
+ <a href="../../sp/hubsites/" class="md-nav__link">
1561
+ Hubsites
1562
+ </a>
1563
+ </li>
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+
1570
+
1571
+ <li class="md-nav__item">
1572
+ <a href="../../sp/items/" class="md-nav__link">
1573
+ List Items
1574
+ </a>
1575
+ </li>
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+
1583
+ <li class="md-nav__item">
1584
+ <a href="../../sp/lists/" class="md-nav__link">
1585
+ Lists
1586
+ </a>
1587
+ </li>
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+ <li class="md-nav__item">
1596
+ <a href="../../sp/navigation/" class="md-nav__link">
1597
+ Navigation
1598
+ </a>
1599
+ </li>
1600
+
1601
+
1602
+
1603
+
1604
+
1605
+
1606
+
1607
+ <li class="md-nav__item">
1608
+ <a href="../../sp/permissions/" class="md-nav__link">
1609
+ Permissions
1610
+ </a>
1611
+ </li>
1612
+
1613
+
1614
+
1615
+
1616
+
1617
+
1618
+
1619
+ <li class="md-nav__item">
1620
+ <a href="../../sp/profiles/" class="md-nav__link">
1621
+ Profiles
1622
+ </a>
1623
+ </li>
1624
+
1625
+
1626
+
1627
+
1628
+
1629
+
1630
+
1631
+ <li class="md-nav__item">
1632
+ <a href="../../sp/regional-settings/" class="md-nav__link">
1633
+ Regional Settings
1634
+ </a>
1635
+ </li>
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+
1643
+ <li class="md-nav__item">
1644
+ <a href="../../sp/related-items/" class="md-nav__link">
1645
+ Related Items
1646
+ </a>
1647
+ </li>
1648
+
1649
+
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+ <li class="md-nav__item">
1656
+ <a href="../../sp/search/" class="md-nav__link">
1657
+ Search
1658
+ </a>
1659
+ </li>
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+ <li class="md-nav__item">
1668
+ <a href="../../sp/security/" class="md-nav__link">
1669
+ Security
1670
+ </a>
1671
+ </li>
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+ <li class="md-nav__item">
1680
+ <a href="../../sp/sharing/" class="md-nav__link">
1681
+ Sharing
1682
+ </a>
1683
+ </li>
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1691
+ <li class="md-nav__item">
1692
+ <a href="../../sp/site-designs/" class="md-nav__link">
1693
+ Site Designs
1694
+ </a>
1695
+ </li>
1696
+
1697
+
1698
+
1699
+
1700
+
1701
+
1702
+
1703
+ <li class="md-nav__item">
1704
+ <a href="../../sp/site-groups/" class="md-nav__link">
1705
+ Site Groups
1706
+ </a>
1707
+ </li>
1708
+
1709
+
1710
+
1711
+
1712
+
1713
+
1714
+
1715
+ <li class="md-nav__item">
1716
+ <a href="../../sp/site-scripts/" class="md-nav__link">
1717
+ Site Scripts
1718
+ </a>
1719
+ </li>
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+
1727
+ <li class="md-nav__item">
1728
+ <a href="../../sp/site-users/" class="md-nav__link">
1729
+ Site Users
1730
+ </a>
1731
+ </li>
1732
+
1733
+
1734
+
1735
+
1736
+
1737
+
1738
+
1739
+ <li class="md-nav__item">
1740
+ <a href="../../sp/sites/" class="md-nav__link">
1741
+ Sites
1742
+ </a>
1743
+ </li>
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
1750
+
1751
+ <li class="md-nav__item">
1752
+ <a href="../../sp/social/" class="md-nav__link">
1753
+ Social
1754
+ </a>
1755
+ </li>
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+ <li class="md-nav__item">
1764
+ <a href="../../sp/sp-utilities-utility/" class="md-nav__link">
1765
+ SP.Utilities.Utility
1766
+ </a>
1767
+ </li>
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+ <li class="md-nav__item">
1776
+ <a href="../../sp/subscriptions/" class="md-nav__link">
1777
+ Subscriptions
1778
+ </a>
1779
+ </li>
1780
+
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+ <li class="md-nav__item">
1788
+ <a href="../../sp/taxonomy/" class="md-nav__link">
1789
+ Taxonomy
1790
+ </a>
1791
+ </li>
1792
+
1793
+
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+ <li class="md-nav__item">
1800
+ <a href="../../sp/tenant-properties/" class="md-nav__link">
1801
+ Tenant Properties
1802
+ </a>
1803
+ </li>
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+ <li class="md-nav__item">
1812
+ <a href="../../sp/user-custom-actions/" class="md-nav__link">
1813
+ User custom actions
1814
+ </a>
1815
+ </li>
1816
+
1817
+
1818
+
1819
+
1820
+
1821
+
1822
+
1823
+ <li class="md-nav__item">
1824
+ <a href="../../sp/views/" class="md-nav__link">
1825
+ Views
1826
+ </a>
1827
+ </li>
1828
+
1829
+
1830
+
1831
+
1832
+
1833
+
1834
+
1835
+ <li class="md-nav__item">
1836
+ <a href="../../sp/webs/" class="md-nav__link">
1837
+ Webs
1838
+ </a>
1839
+ </li>
1840
+
1841
+
1842
+
1843
+
1844
+
1845
+
1846
+
1847
+ <li class="md-nav__item">
1848
+ <a href="../../sp/custom-irequestclient/" class="md-nav__link">
1849
+ Custom Request Client
1850
+ </a>
1851
+ </li>
1852
+
1853
+
1854
+ </ul>
1855
+ </nav>
1856
+ </li>
1857
+
1858
+
1859
+
1860
+
1861
+
1862
+
1863
+
1864
+ <li class="md-nav__item md-nav__item--nested">
1865
+
1866
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-10" type="checkbox" id="nav-6-10">
1867
+
1868
+ <label class="md-nav__link" for="nav-6-10">
1869
+ sp-addinhelpers
1870
+ <span class="md-nav__icon md-icon"></span>
1871
+ </label>
1872
+ <nav class="md-nav" aria-label="sp-addinhelpers" data-md-level="2">
1873
+ <label class="md-nav__title" for="nav-6-10">
1874
+ <span class="md-nav__icon md-icon"></span>
1875
+ sp-addinhelpers
1876
+ </label>
1877
+ <ul class="md-nav__list" data-md-scrollfix>
1878
+
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+
1885
+ <li class="md-nav__item">
1886
+ <a href="../../sp-addinhelpers/" class="md-nav__link">
1887
+ sp-addinhelpers
1888
+ </a>
1889
+ </li>
1890
+
1891
+
1892
+
1893
+
1894
+
1895
+
1896
+
1897
+ <li class="md-nav__item">
1898
+ <a href="../../sp-addinhelpers/sp-request-executor-client/" class="md-nav__link">
1899
+ SPRequestExecutorClient
1900
+ </a>
1901
+ </li>
1902
+
1903
+
1904
+
1905
+
1906
+
1907
+
1908
+
1909
+ <li class="md-nav__item">
1910
+ <a href="../../sp-addinhelpers/sp-rest-addin/" class="md-nav__link">
1911
+ SPRestAddIn
1912
+ </a>
1913
+ </li>
1914
+
1915
+
1916
+ </ul>
1917
+ </nav>
1918
+ </li>
1919
+
1920
+
1921
+ </ul>
1922
+ </nav>
1923
+ </li>
1924
+
1925
+
1926
+
1927
+
1928
+
1929
+
1930
+
1931
+ <li class="md-nav__item md-nav__item--nested">
1932
+
1933
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
1934
+
1935
+ <label class="md-nav__link" for="nav-7">
1936
+ Contributing
1937
+ <span class="md-nav__icon md-icon"></span>
1938
+ </label>
1939
+ <nav class="md-nav" aria-label="Contributing" data-md-level="1">
1940
+ <label class="md-nav__title" for="nav-7">
1941
+ <span class="md-nav__icon md-icon"></span>
1942
+ Contributing
1943
+ </label>
1944
+ <ul class="md-nav__list" data-md-scrollfix>
1945
+
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+
1952
+ <li class="md-nav__item">
1953
+ <a href="../../contributing/" class="md-nav__link">
1954
+ Contributing
1955
+ </a>
1956
+ </li>
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+
1963
+
1964
+ <li class="md-nav__item">
1965
+ <a href="../../contributing/setup-dev-machine/" class="md-nav__link">
1966
+ Setup Dev Machine
1967
+ </a>
1968
+ </li>
1969
+
1970
+
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+ <li class="md-nav__item">
1977
+ <a href="../../contributing/local-debug-configuration/" class="md-nav__link">
1978
+ Local Debug Configuration
1979
+ </a>
1980
+ </li>
1981
+
1982
+
1983
+
1984
+
1985
+
1986
+
1987
+
1988
+ <li class="md-nav__item">
1989
+ <a href="../../contributing/debugging/" class="md-nav__link">
1990
+ Debugging
1991
+ </a>
1992
+ </li>
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+
1999
+
2000
+ <li class="md-nav__item">
2001
+ <a href="../../contributing/extending-the-library/" class="md-nav__link">
2002
+ Extending the library
2003
+ </a>
2004
+ </li>
2005
+
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+
2012
+ <li class="md-nav__item">
2013
+ <a href="../../contributing/debug-tests/" class="md-nav__link">
2014
+ Writing Tests
2015
+ </a>
2016
+ </li>
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+
2023
+
2024
+ <li class="md-nav__item">
2025
+ <a href="../../contributing/documentation/" class="md-nav__link">
2026
+ Update Documentation
2027
+ </a>
2028
+ </li>
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+
2035
+
2036
+ <li class="md-nav__item">
2037
+ <a href="../../contributing/pull-requests/" class="md-nav__link">
2038
+ Submit a Pull Request
2039
+ </a>
2040
+ </li>
2041
+
2042
+
2043
+ </ul>
2044
+ </nav>
2045
+ </li>
2046
+
2047
+
2048
+
2049
+
2050
+
2051
+
2052
+
2053
+ <li class="md-nav__item md-nav__item--nested">
2054
+
2055
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
2056
+
2057
+ <label class="md-nav__link" for="nav-8">
2058
+ Version 1 Docs
2059
+ <span class="md-nav__icon md-icon"></span>
2060
+ </label>
2061
+ <nav class="md-nav" aria-label="Version 1 Docs" data-md-level="1">
2062
+ <label class="md-nav__title" for="nav-8">
2063
+ <span class="md-nav__icon md-icon"></span>
2064
+ Version 1 Docs
2065
+ </label>
2066
+ <ul class="md-nav__list" data-md-scrollfix>
2067
+
2068
+
2069
+
2070
+
2071
+
2072
+
2073
+
2074
+ <li class="md-nav__item">
2075
+ <a href="../../v1/" class="md-nav__link">
2076
+ Home
2077
+ </a>
2078
+ </li>
2079
+
2080
+
2081
+ </ul>
2082
+ </nav>
2083
+ </li>
2084
+
2085
+
2086
+
2087
+
2088
+
2089
+
2090
+
2091
+ <li class="md-nav__item md-nav__item--nested">
2092
+
2093
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
2094
+
2095
+ <label class="md-nav__link" for="nav-9">
2096
+ Version 2 Docs
2097
+ <span class="md-nav__icon md-icon"></span>
2098
+ </label>
2099
+ <nav class="md-nav" aria-label="Version 2 Docs" data-md-level="1">
2100
+ <label class="md-nav__title" for="nav-9">
2101
+ <span class="md-nav__icon md-icon"></span>
2102
+ Version 2 Docs
2103
+ </label>
2104
+ <ul class="md-nav__list" data-md-scrollfix>
2105
+
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+
2112
+ <li class="md-nav__item">
2113
+ <a href="../../v2/index.html" class="md-nav__link">
2114
+ Home
2115
+ </a>
2116
+ </li>
2117
+
2118
+
2119
+ </ul>
2120
+ </nav>
2121
+ </li>
2122
+
2123
+
2124
+ </ul>
2125
+ </nav>
2126
+ </div>
2127
+ </div>
2128
+ </div>
2129
+
2130
+
2131
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
2132
+ <div class="md-sidebar__scrollwrap">
2133
+ <div class="md-sidebar__inner">
2134
+
2135
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2136
+
2137
+
2138
+
2139
+
2140
+
2141
+ <label class="md-nav__title" for="__toc">
2142
+ <span class="md-nav__icon md-icon"></span>
2143
+ Table of contents
2144
+ </label>
2145
+ <ul class="md-nav__list" data-md-scrollfix>
2146
+
2147
+ <li class="md-nav__item">
2148
+ <a href="#basic-example" class="md-nav__link">
2149
+ Basic example
2150
+ </a>
2151
+
2152
+ </li>
2153
+
2154
+ <li class="md-nav__item">
2155
+ <a href="#globally-configure-cache-settings" class="md-nav__link">
2156
+ Globally Configure Cache Settings
2157
+ </a>
2158
+
2159
+ </li>
2160
+
2161
+ <li class="md-nav__item">
2162
+ <a href="#per-call-configuration" class="md-nav__link">
2163
+ Per Call Configuration
2164
+ </a>
2165
+
2166
+ </li>
2167
+
2168
+ <li class="md-nav__item">
2169
+ <a href="#using-batching-with-caching" class="md-nav__link">
2170
+ Using Batching with Caching
2171
+ </a>
2172
+
2173
+ </li>
2174
+
2175
+ <li class="md-nav__item">
2176
+ <a href="#implement-custom-caching" class="md-nav__link">
2177
+ Implement Custom Caching
2178
+ </a>
2179
+
2180
+ <nav class="md-nav" aria-label="Implement Custom Caching">
2181
+ <ul class="md-nav__list">
2182
+
2183
+ <li class="md-nav__item">
2184
+ <a href="#implement-caching-helper-method" class="md-nav__link">
2185
+ Implement caching helper method
2186
+ </a>
2187
+
2188
+ </li>
2189
+
2190
+ <li class="md-nav__item">
2191
+ <a href="#usage" class="md-nav__link">
2192
+ Usage
2193
+ </a>
2194
+
2195
+ </li>
2196
+
2197
+ <li class="md-nav__item">
2198
+ <a href="#wrapper-function" class="md-nav__link">
2199
+ Wrapper Function
2200
+ </a>
2201
+
2202
+ </li>
2203
+
2204
+ </ul>
2205
+ </nav>
2206
+
2207
+ </li>
2208
+
2209
+ </ul>
2210
+
2211
+ </nav>
2212
+ </div>
2213
+ </div>
2214
+ </div>
2215
+
2216
+
2217
+ <div class="md-content">
2218
+ <article class="md-content__inner md-typeset">
2219
+
2220
+
2221
+ <a href="https://github.com/pnp/pnpjs/tree/version-2/docs/odata/caching.md" title="Edit this page" class="md-content__button md-icon">
2222
+ <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>
2223
+ </a>
2224
+
2225
+
2226
+ <h1 id="pnpqueryablecaching">@pnp/queryable/caching<a class="headerlink" href="#pnpqueryablecaching" title="Permanent link">&para;</a></h1>
2227
+ <p>Often times data doesn't change that quickly, especially in the case of rolling up corporate news or upcoming events. These types of things can be cached for minutes if not hours. To help make caching easy you just need to insert the usingCaching method in your chain. This only applies to get requests. The usingCaching method can be used with the inBatch method as well to cache the results of batched requests.</p>
2228
+ <p>The below examples uses the @pnp/sp library as the example - but this works equally well for any library making use of the @pnp/queryable base classes, such as @pnp/graph.</p>
2229
+ <h2 id="basic-example">Basic example<a class="headerlink" href="#basic-example" title="Permanent link">&para;</a></h2>
2230
+ <p>You can use the method without any additional configuration. We have made some default choices for you and will discuss ways to override them later. The code below will get items from a list, first checking the cache for the value. You can also use it with OData operators such as top and orderBy. The usingCaching() method should always be the last method in the chain before the get() (OR if you are using <a href="../odata-batch/">batching</a> these methods can be transposed, more details below).</p>
2231
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
2232
+
2233
+ const r = await sp.web.lists.getByTitle(&quot;Tasks&quot;).items.usingCaching()();
2234
+ console.log(r);
2235
+
2236
+ const r2 = await sp.web.lists.getByTitle(&quot;Tasks&quot;).items.top(5).orderBy(&quot;Modified&quot;).usingCaching()();
2237
+ console.log(r2);
2238
+ </code></pre>
2239
+ <h2 id="globally-configure-cache-settings">Globally Configure Cache Settings<a class="headerlink" href="#globally-configure-cache-settings" title="Permanent link">&para;</a></h2>
2240
+ <p>If you would not like to use the default values, but don't want to clutter your code by setting the caching values on each request you can configure custom options globally. These will be applied to all calls to usingCaching() throughout your application.</p>
2241
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
2242
+
2243
+ sp.setup({
2244
+ defaultCachingStore: &quot;session&quot;, // or &quot;local&quot;
2245
+ defaultCachingTimeoutSeconds: 30,
2246
+ globalCacheDisable: false // or true to disable caching in case of debugging/testing
2247
+ });
2248
+
2249
+ const r = await sp.web.lists.getByTitle(&quot;Tasks&quot;).items.top(5).orderBy(&quot;Modified&quot;).usingCaching()();
2250
+ console.log(r);
2251
+ </code></pre>
2252
+ <h2 id="per-call-configuration">Per Call Configuration<a class="headerlink" href="#per-call-configuration" title="Permanent link">&para;</a></h2>
2253
+ <p>If you prefer more verbose code or have a need to manage the cache settings on a per request basis you can include individual caching settings for each request. These settings are passed to the usingCaching method call and are defined in the following interface. If you want to use the per-request options you must include the key.</p>
2254
+ <pre><code class="language-TypeScript">export interface ICachingOptions {
2255
+ expiration?: Date;
2256
+ storeName?: &quot;session&quot; | &quot;local&quot;;
2257
+ key: string;
2258
+ }
2259
+ </code></pre>
2260
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
2261
+ import { dateAdd } from &quot;@pnp/core&quot;;
2262
+
2263
+ const r = await sp.web.lists.getByTitle(&quot;Tasks&quot;).items.top(5).orderBy(&quot;Modified&quot;).usingCaching({
2264
+ expiration: dateAdd(new Date(), &quot;minute&quot;, 20),
2265
+ key: &quot;My Key&quot;,
2266
+ storeName: &quot;local&quot;
2267
+ })();
2268
+ console.log(r);
2269
+ </code></pre>
2270
+ <h2 id="using-batching-with-caching">Using <a href="../odata-batch/">Batching</a> with Caching<a class="headerlink" href="#using-batching-with-caching" title="Permanent link">&para;</a></h2>
2271
+ <p>You can use batching and caching together, but remember caching is only applied to get requests. When you use them together the methods can be transposed, the below example is valid.</p>
2272
+ <pre><code class="language-TypeScript">import { sp } from &quot;@pnp/sp&quot;;
2273
+
2274
+ let batch = sp.createBatch();
2275
+
2276
+ sp.web.lists.inBatch(batch).usingCaching()().then(r =&gt; {
2277
+ console.log(r)
2278
+ });
2279
+
2280
+ sp.web.lists.getByTitle(&quot;Tasks&quot;).items.usingCaching().inBatch(batch)().then(r =&gt; {
2281
+ console.log(r)
2282
+ });
2283
+
2284
+ batch.execute().then(() =&gt; console.log(&quot;All done!&quot;));
2285
+ </code></pre>
2286
+ <h2 id="implement-custom-caching">Implement Custom Caching<a class="headerlink" href="#implement-custom-caching" title="Permanent link">&para;</a></h2>
2287
+ <p>You may desire to use a different caching strategy than the one we implemented within the library. The easiest way to achieve this is to wrap the request in your custom caching functionality using the unresolved promise as needed. Here we show how to implement the Stale While Revalidate pattern <a href="https://github.com/pnp/pnpjs/issues/371">as discussed here</a>.</p>
2288
+ <h3 id="implement-caching-helper-method">Implement caching helper method<a class="headerlink" href="#implement-caching-helper-method" title="Permanent link">&para;</a></h3>
2289
+ <p>We create a map to act as our cache storage and a function to wrap the request caching logic</p>
2290
+ <pre><code class="language-TypeScript">const map = new Map&lt;string, any&gt;();
2291
+
2292
+ async function staleWhileRevalidate&lt;T&gt;(key: string, p: Promise&lt;T&gt;): Promise&lt;T&gt; {
2293
+
2294
+ if (map.has(key)) {
2295
+
2296
+ // In Cache
2297
+ p.then(u =&gt; {
2298
+ // Update Cache once we have a result
2299
+ map.set(key, u);
2300
+ });
2301
+
2302
+ // Return from Cache
2303
+ return map.get(key);
2304
+ }
2305
+
2306
+ // Not In Cache so we need to wait for the value
2307
+ const r = await p;
2308
+
2309
+ // Set Cache
2310
+ map.set(key, r);
2311
+
2312
+ // Return from Promise
2313
+ return r;
2314
+ }
2315
+ </code></pre>
2316
+ <h3 id="usage">Usage<a class="headerlink" href="#usage" title="Permanent link">&para;</a></h3>
2317
+ <blockquote>
2318
+ <p>Don't call usingCaching just apply the helper method</p>
2319
+ </blockquote>
2320
+ <pre><code class="language-TypeScript">// this one will wait for the request to finish
2321
+ const r1 = await staleWhileRevalidate(&quot;test1&quot;, sp.web.select(&quot;Title&quot;, &quot;Description&quot;)());
2322
+
2323
+ console.log(JSON.stringify(r1, null, 2));
2324
+
2325
+ // this one will return the result from cache and then update the cache in the background
2326
+ const r2 = await staleWhileRevalidate(&quot;test1&quot;, sp.web.select(&quot;Title&quot;, &quot;Description&quot;)());
2327
+
2328
+ console.log(JSON.stringify(r2, null, 2));
2329
+ </code></pre>
2330
+ <h3 id="wrapper-function">Wrapper Function<a class="headerlink" href="#wrapper-function" title="Permanent link">&para;</a></h3>
2331
+ <p>You can wrap this call into a single function you can reuse within your application each time you need the web data for example. You can update the select and interface to match your needs as well.</p>
2332
+ <pre><code class="language-TypeScript">interface WebData {
2333
+ Title: string;
2334
+ Description: string;
2335
+ }
2336
+
2337
+ function getWebData(): Promise&lt;WebData&gt; {
2338
+
2339
+ return staleWhileRevalidate(&quot;test1&quot;, sp.web.select(&quot;Title&quot;, &quot;Description&quot;)());
2340
+ }
2341
+
2342
+
2343
+ // this one will wait for the request to finish
2344
+ const r1 = await getWebData();
2345
+
2346
+ console.log(JSON.stringify(r1, null, 2));
2347
+
2348
+ // this one will return the result from cache and then update the cache in the background
2349
+ const r2 = await getWebData();
2350
+
2351
+ console.log(JSON.stringify(r2, null, 2));
2352
+ </code></pre>
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+
2360
+ </article>
2361
+ </div>
2362
+ </div>
2363
+ </main>
2364
+
2365
+
2366
+ <footer class="md-footer">
2367
+
2368
+ <div class="md-footer-nav">
2369
+ <nav class="md-footer-nav__inner md-grid" aria-label="Footer">
2370
+
2371
+ <a href="../" class="md-footer-nav__link md-footer-nav__link--prev" rel="prev">
2372
+ <div class="md-footer-nav__button md-icon">
2373
+ <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>
2374
+ </div>
2375
+ <div class="md-footer-nav__title">
2376
+ <div class="md-ellipsis">
2377
+ <span class="md-footer-nav__direction">
2378
+ Previous
2379
+ </span>
2380
+ odata
2381
+ </div>
2382
+ </div>
2383
+ </a>
2384
+
2385
+
2386
+ <a href="../core/" class="md-footer-nav__link md-footer-nav__link--next" rel="next">
2387
+ <div class="md-footer-nav__title">
2388
+ <div class="md-ellipsis">
2389
+ <span class="md-footer-nav__direction">
2390
+ Next
2391
+ </span>
2392
+ core
2393
+ </div>
2394
+ </div>
2395
+ <div class="md-footer-nav__button md-icon">
2396
+ <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>
2397
+ </div>
2398
+ </a>
2399
+
2400
+ </nav>
2401
+ </div>
2402
+
2403
+ <div class="md-footer-meta md-typeset">
2404
+ <div class="md-footer-meta__inner md-grid">
2405
+ <div class="md-footer-copyright">
2406
+
2407
+ Made with
2408
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2409
+ Material for MkDocs
2410
+ </a>
2411
+ </div>
2412
+
2413
+ <div class="md-footer-social">
2414
+
2415
+
2416
+
2417
+
2418
+
2419
+
2420
+ <a href="https://twitter.com/m365pnpjs" target="_blank" rel="noopener" title="twitter.com" class="md-footer-social__link">
2421
+ <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>
2422
+ </a>
2423
+
2424
+
2425
+
2426
+
2427
+
2428
+
2429
+ <a href="http://aka.ms/sppnp-videos" target="_blank" rel="noopener" title="aka.ms" class="md-footer-social__link">
2430
+ <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>
2431
+ </a>
2432
+
2433
+
2434
+
2435
+
2436
+
2437
+
2438
+ <a href="https://aka.ms/sppnp" target="_blank" rel="noopener" title="aka.ms" class="md-footer-social__link">
2439
+ <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>
2440
+ </a>
2441
+
2442
+ </div>
2443
+
2444
+ </div>
2445
+ </div>
2446
+ </footer>
2447
+
2448
+ </div>
2449
+
2450
+ <script src="../../assets/javascripts/vendor.77e55a48.min.js"></script>
2451
+ <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>
2452
+
2453
+ <script>
2454
+ app = initialize({
2455
+ base: "../..",
2456
+ features: [],
2457
+ search: Object.assign({
2458
+ worker: "../../assets/javascripts/worker/search.4ac00218.min.js"
2459
+ }, typeof search !== "undefined" && search)
2460
+ })
2461
+ </script>
2462
+
2463
+
2464
+ </body>
2465
+ </html>