@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,2581 @@
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/extensions/">
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>Extending an OData library - 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/extensions/" 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="#extensions" 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
+ Extending an OData library
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
+ <li class="md-nav__item">
1139
+ <a href="../caching/" class="md-nav__link">
1140
+ caching
1141
+ </a>
1142
+ </li>
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+ <li class="md-nav__item">
1151
+ <a href="../core/" class="md-nav__link">
1152
+ core
1153
+ </a>
1154
+ </li>
1155
+
1156
+
1157
+
1158
+
1159
+
1160
+
1161
+
1162
+ <li class="md-nav__item">
1163
+ <a href="../odata-batch/" class="md-nav__link">
1164
+ OData Batching
1165
+ </a>
1166
+ </li>
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+ <li class="md-nav__item md-nav__item--active">
1177
+
1178
+ <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
1179
+
1180
+
1181
+
1182
+
1183
+ <label class="md-nav__link md-nav__link--active" for="__toc">
1184
+ Extending an OData library
1185
+ <span class="md-nav__icon md-icon"></span>
1186
+ </label>
1187
+
1188
+ <a href="./" class="md-nav__link md-nav__link--active">
1189
+ Extending an OData library
1190
+ </a>
1191
+
1192
+
1193
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
1194
+
1195
+
1196
+
1197
+
1198
+
1199
+ <label class="md-nav__title" for="__toc">
1200
+ <span class="md-nav__icon md-icon"></span>
1201
+ Table of contents
1202
+ </label>
1203
+ <ul class="md-nav__list" data-md-scrollfix>
1204
+
1205
+ <li class="md-nav__item">
1206
+ <a href="#types-of-extensions" class="md-nav__link">
1207
+ Types of Extensions
1208
+ </a>
1209
+
1210
+ <nav class="md-nav" aria-label="Types of Extensions">
1211
+ <ul class="md-nav__list">
1212
+
1213
+ <li class="md-nav__item">
1214
+ <a href="#function-extensions" class="md-nav__link">
1215
+ Function Extensions
1216
+ </a>
1217
+
1218
+ </li>
1219
+
1220
+ <li class="md-nav__item">
1221
+ <a href="#named-extensions" class="md-nav__link">
1222
+ Named Extensions
1223
+ </a>
1224
+
1225
+ </li>
1226
+
1227
+ <li class="md-nav__item">
1228
+ <a href="#proxyhandler-extensions" class="md-nav__link">
1229
+ ProxyHandler Extensions
1230
+ </a>
1231
+
1232
+ </li>
1233
+
1234
+ </ul>
1235
+ </nav>
1236
+
1237
+ </li>
1238
+
1239
+ <li class="md-nav__item">
1240
+ <a href="#registering-extensions" class="md-nav__link">
1241
+ Registering Extensions
1242
+ </a>
1243
+
1244
+ <nav class="md-nav" aria-label="Registering Extensions">
1245
+ <ul class="md-nav__list">
1246
+
1247
+ <li class="md-nav__item">
1248
+ <a href="#global-registration" class="md-nav__link">
1249
+ Global Registration
1250
+ </a>
1251
+
1252
+ </li>
1253
+
1254
+ <li class="md-nav__item">
1255
+ <a href="#factory-registration" class="md-nav__link">
1256
+ Factory Registration
1257
+ </a>
1258
+
1259
+ </li>
1260
+
1261
+ <li class="md-nav__item">
1262
+ <a href="#instance-registration" class="md-nav__link">
1263
+ Instance Registration
1264
+ </a>
1265
+
1266
+ </li>
1267
+
1268
+ </ul>
1269
+ </nav>
1270
+
1271
+ </li>
1272
+
1273
+ <li class="md-nav__item">
1274
+ <a href="#enable-disable-extensions-and-clear-global-extensions" class="md-nav__link">
1275
+ Enable &amp; Disable Extensions and Clear Global Extensions
1276
+ </a>
1277
+
1278
+ </li>
1279
+
1280
+ <li class="md-nav__item">
1281
+ <a href="#order-of-operations" class="md-nav__link">
1282
+ Order of Operations
1283
+ </a>
1284
+
1285
+ </li>
1286
+
1287
+ </ul>
1288
+
1289
+ </nav>
1290
+
1291
+ </li>
1292
+
1293
+
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+ <li class="md-nav__item">
1300
+ <a href="../debug/" class="md-nav__link">
1301
+ Debugging Proxy Objects
1302
+ </a>
1303
+ </li>
1304
+
1305
+
1306
+
1307
+
1308
+
1309
+
1310
+
1311
+ <li class="md-nav__item">
1312
+ <a href="../parsers/" class="md-nav__link">
1313
+ Parsers
1314
+ </a>
1315
+ </li>
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+ <li class="md-nav__item">
1324
+ <a href="../pipeline/" class="md-nav__link">
1325
+ Pipeline
1326
+ </a>
1327
+ </li>
1328
+
1329
+
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+ <li class="md-nav__item">
1336
+ <a href="../queryable/" class="md-nav__link">
1337
+ Queryable
1338
+ </a>
1339
+ </li>
1340
+
1341
+
1342
+ </ul>
1343
+ </nav>
1344
+ </li>
1345
+
1346
+
1347
+
1348
+
1349
+
1350
+
1351
+
1352
+ <li class="md-nav__item md-nav__item--nested">
1353
+
1354
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-8" type="checkbox" id="nav-6-8">
1355
+
1356
+ <label class="md-nav__link" for="nav-6-8">
1357
+ pnpjs
1358
+ <span class="md-nav__icon md-icon"></span>
1359
+ </label>
1360
+ <nav class="md-nav" aria-label="pnpjs" data-md-level="2">
1361
+ <label class="md-nav__title" for="nav-6-8">
1362
+ <span class="md-nav__icon md-icon"></span>
1363
+ pnpjs
1364
+ </label>
1365
+ <ul class="md-nav__list" data-md-scrollfix>
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+
1372
+
1373
+ <li class="md-nav__item">
1374
+ <a href="../../pnpjs/" class="md-nav__link">
1375
+ pnpjs
1376
+ </a>
1377
+ </li>
1378
+
1379
+
1380
+ </ul>
1381
+ </nav>
1382
+ </li>
1383
+
1384
+
1385
+
1386
+
1387
+
1388
+
1389
+
1390
+ <li class="md-nav__item md-nav__item--nested">
1391
+
1392
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-9" type="checkbox" id="nav-6-9">
1393
+
1394
+ <label class="md-nav__link" for="nav-6-9">
1395
+ sp
1396
+ <span class="md-nav__icon md-icon"></span>
1397
+ </label>
1398
+ <nav class="md-nav" aria-label="sp" data-md-level="2">
1399
+ <label class="md-nav__title" for="nav-6-9">
1400
+ <span class="md-nav__icon md-icon"></span>
1401
+ sp
1402
+ </label>
1403
+ <ul class="md-nav__list" data-md-scrollfix>
1404
+
1405
+
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+ <li class="md-nav__item">
1412
+ <a href="../../sp/" class="md-nav__link">
1413
+ sp
1414
+ </a>
1415
+ </li>
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+ <li class="md-nav__item">
1424
+ <a href="../../sp/alias-parameters/" class="md-nav__link">
1425
+ Alias Parameters
1426
+ </a>
1427
+ </li>
1428
+
1429
+
1430
+
1431
+
1432
+
1433
+
1434
+
1435
+ <li class="md-nav__item">
1436
+ <a href="../../sp/alm/" class="md-nav__link">
1437
+ ALM api
1438
+ </a>
1439
+ </li>
1440
+
1441
+
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+ <li class="md-nav__item">
1448
+ <a href="../../sp/attachments/" class="md-nav__link">
1449
+ Attachments
1450
+ </a>
1451
+ </li>
1452
+
1453
+
1454
+
1455
+
1456
+
1457
+
1458
+
1459
+ <li class="md-nav__item">
1460
+ <a href="../../sp/clientside-pages/" class="md-nav__link">
1461
+ Client-side Pages
1462
+ </a>
1463
+ </li>
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+ <li class="md-nav__item">
1472
+ <a href="../../sp/column-defaults/" class="md-nav__link">
1473
+ Column Defaults
1474
+ </a>
1475
+ </li>
1476
+
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+ <li class="md-nav__item">
1484
+ <a href="../../sp/comments-likes/" class="md-nav__link">
1485
+ Comments and Likes
1486
+ </a>
1487
+ </li>
1488
+
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+
1495
+ <li class="md-nav__item">
1496
+ <a href="../../sp/content-types/" class="md-nav__link">
1497
+ Content Types
1498
+ </a>
1499
+ </li>
1500
+
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+
1507
+ <li class="md-nav__item">
1508
+ <a href="../../sp/entity-merging/" class="md-nav__link">
1509
+ Entity Merging
1510
+ </a>
1511
+ </li>
1512
+
1513
+
1514
+
1515
+
1516
+
1517
+
1518
+
1519
+ <li class="md-nav__item">
1520
+ <a href="../../sp/features/" class="md-nav__link">
1521
+ Features
1522
+ </a>
1523
+ </li>
1524
+
1525
+
1526
+
1527
+
1528
+
1529
+
1530
+
1531
+ <li class="md-nav__item">
1532
+ <a href="../../sp/fields/" class="md-nav__link">
1533
+ Fields
1534
+ </a>
1535
+ </li>
1536
+
1537
+
1538
+
1539
+
1540
+
1541
+
1542
+
1543
+ <li class="md-nav__item">
1544
+ <a href="../../sp/files/" class="md-nav__link">
1545
+ Files
1546
+ </a>
1547
+ </li>
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+
1555
+ <li class="md-nav__item">
1556
+ <a href="../../sp/folders/" class="md-nav__link">
1557
+ Folders
1558
+ </a>
1559
+ </li>
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+ <li class="md-nav__item">
1568
+ <a href="../../sp/forms/" class="md-nav__link">
1569
+ Forms
1570
+ </a>
1571
+ </li>
1572
+
1573
+
1574
+
1575
+
1576
+
1577
+
1578
+
1579
+ <li class="md-nav__item">
1580
+ <a href="../../sp/hubsites/" class="md-nav__link">
1581
+ Hubsites
1582
+ </a>
1583
+ </li>
1584
+
1585
+
1586
+
1587
+
1588
+
1589
+
1590
+
1591
+ <li class="md-nav__item">
1592
+ <a href="../../sp/items/" class="md-nav__link">
1593
+ List Items
1594
+ </a>
1595
+ </li>
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
1603
+ <li class="md-nav__item">
1604
+ <a href="../../sp/lists/" class="md-nav__link">
1605
+ Lists
1606
+ </a>
1607
+ </li>
1608
+
1609
+
1610
+
1611
+
1612
+
1613
+
1614
+
1615
+ <li class="md-nav__item">
1616
+ <a href="../../sp/navigation/" class="md-nav__link">
1617
+ Navigation
1618
+ </a>
1619
+ </li>
1620
+
1621
+
1622
+
1623
+
1624
+
1625
+
1626
+
1627
+ <li class="md-nav__item">
1628
+ <a href="../../sp/permissions/" class="md-nav__link">
1629
+ Permissions
1630
+ </a>
1631
+ </li>
1632
+
1633
+
1634
+
1635
+
1636
+
1637
+
1638
+
1639
+ <li class="md-nav__item">
1640
+ <a href="../../sp/profiles/" class="md-nav__link">
1641
+ Profiles
1642
+ </a>
1643
+ </li>
1644
+
1645
+
1646
+
1647
+
1648
+
1649
+
1650
+
1651
+ <li class="md-nav__item">
1652
+ <a href="../../sp/regional-settings/" class="md-nav__link">
1653
+ Regional Settings
1654
+ </a>
1655
+ </li>
1656
+
1657
+
1658
+
1659
+
1660
+
1661
+
1662
+
1663
+ <li class="md-nav__item">
1664
+ <a href="../../sp/related-items/" class="md-nav__link">
1665
+ Related Items
1666
+ </a>
1667
+ </li>
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+ <li class="md-nav__item">
1676
+ <a href="../../sp/search/" class="md-nav__link">
1677
+ Search
1678
+ </a>
1679
+ </li>
1680
+
1681
+
1682
+
1683
+
1684
+
1685
+
1686
+
1687
+ <li class="md-nav__item">
1688
+ <a href="../../sp/security/" class="md-nav__link">
1689
+ Security
1690
+ </a>
1691
+ </li>
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+ <li class="md-nav__item">
1700
+ <a href="../../sp/sharing/" class="md-nav__link">
1701
+ Sharing
1702
+ </a>
1703
+ </li>
1704
+
1705
+
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+ <li class="md-nav__item">
1712
+ <a href="../../sp/site-designs/" class="md-nav__link">
1713
+ Site Designs
1714
+ </a>
1715
+ </li>
1716
+
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+
1723
+ <li class="md-nav__item">
1724
+ <a href="../../sp/site-groups/" class="md-nav__link">
1725
+ Site Groups
1726
+ </a>
1727
+ </li>
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+
1734
+
1735
+ <li class="md-nav__item">
1736
+ <a href="../../sp/site-scripts/" class="md-nav__link">
1737
+ Site Scripts
1738
+ </a>
1739
+ </li>
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+ <li class="md-nav__item">
1748
+ <a href="../../sp/site-users/" class="md-nav__link">
1749
+ Site Users
1750
+ </a>
1751
+ </li>
1752
+
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+
1759
+ <li class="md-nav__item">
1760
+ <a href="../../sp/sites/" class="md-nav__link">
1761
+ Sites
1762
+ </a>
1763
+ </li>
1764
+
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+ <li class="md-nav__item">
1772
+ <a href="../../sp/social/" class="md-nav__link">
1773
+ Social
1774
+ </a>
1775
+ </li>
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+ <li class="md-nav__item">
1784
+ <a href="../../sp/sp-utilities-utility/" class="md-nav__link">
1785
+ SP.Utilities.Utility
1786
+ </a>
1787
+ </li>
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+ <li class="md-nav__item">
1796
+ <a href="../../sp/subscriptions/" class="md-nav__link">
1797
+ Subscriptions
1798
+ </a>
1799
+ </li>
1800
+
1801
+
1802
+
1803
+
1804
+
1805
+
1806
+
1807
+ <li class="md-nav__item">
1808
+ <a href="../../sp/taxonomy/" class="md-nav__link">
1809
+ Taxonomy
1810
+ </a>
1811
+ </li>
1812
+
1813
+
1814
+
1815
+
1816
+
1817
+
1818
+
1819
+ <li class="md-nav__item">
1820
+ <a href="../../sp/tenant-properties/" class="md-nav__link">
1821
+ Tenant Properties
1822
+ </a>
1823
+ </li>
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+ <li class="md-nav__item">
1832
+ <a href="../../sp/user-custom-actions/" class="md-nav__link">
1833
+ User custom actions
1834
+ </a>
1835
+ </li>
1836
+
1837
+
1838
+
1839
+
1840
+
1841
+
1842
+
1843
+ <li class="md-nav__item">
1844
+ <a href="../../sp/views/" class="md-nav__link">
1845
+ Views
1846
+ </a>
1847
+ </li>
1848
+
1849
+
1850
+
1851
+
1852
+
1853
+
1854
+
1855
+ <li class="md-nav__item">
1856
+ <a href="../../sp/webs/" class="md-nav__link">
1857
+ Webs
1858
+ </a>
1859
+ </li>
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+
1867
+ <li class="md-nav__item">
1868
+ <a href="../../sp/custom-irequestclient/" class="md-nav__link">
1869
+ Custom Request Client
1870
+ </a>
1871
+ </li>
1872
+
1873
+
1874
+ </ul>
1875
+ </nav>
1876
+ </li>
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+ <li class="md-nav__item md-nav__item--nested">
1885
+
1886
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-6-10" type="checkbox" id="nav-6-10">
1887
+
1888
+ <label class="md-nav__link" for="nav-6-10">
1889
+ sp-addinhelpers
1890
+ <span class="md-nav__icon md-icon"></span>
1891
+ </label>
1892
+ <nav class="md-nav" aria-label="sp-addinhelpers" data-md-level="2">
1893
+ <label class="md-nav__title" for="nav-6-10">
1894
+ <span class="md-nav__icon md-icon"></span>
1895
+ sp-addinhelpers
1896
+ </label>
1897
+ <ul class="md-nav__list" data-md-scrollfix>
1898
+
1899
+
1900
+
1901
+
1902
+
1903
+
1904
+
1905
+ <li class="md-nav__item">
1906
+ <a href="../../sp-addinhelpers/" class="md-nav__link">
1907
+ sp-addinhelpers
1908
+ </a>
1909
+ </li>
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+
1916
+
1917
+ <li class="md-nav__item">
1918
+ <a href="../../sp-addinhelpers/sp-request-executor-client/" class="md-nav__link">
1919
+ SPRequestExecutorClient
1920
+ </a>
1921
+ </li>
1922
+
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+
1929
+ <li class="md-nav__item">
1930
+ <a href="../../sp-addinhelpers/sp-rest-addin/" class="md-nav__link">
1931
+ SPRestAddIn
1932
+ </a>
1933
+ </li>
1934
+
1935
+
1936
+ </ul>
1937
+ </nav>
1938
+ </li>
1939
+
1940
+
1941
+ </ul>
1942
+ </nav>
1943
+ </li>
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+ <li class="md-nav__item md-nav__item--nested">
1952
+
1953
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
1954
+
1955
+ <label class="md-nav__link" for="nav-7">
1956
+ Contributing
1957
+ <span class="md-nav__icon md-icon"></span>
1958
+ </label>
1959
+ <nav class="md-nav" aria-label="Contributing" data-md-level="1">
1960
+ <label class="md-nav__title" for="nav-7">
1961
+ <span class="md-nav__icon md-icon"></span>
1962
+ Contributing
1963
+ </label>
1964
+ <ul class="md-nav__list" data-md-scrollfix>
1965
+
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+
1972
+ <li class="md-nav__item">
1973
+ <a href="../../contributing/" class="md-nav__link">
1974
+ Contributing
1975
+ </a>
1976
+ </li>
1977
+
1978
+
1979
+
1980
+
1981
+
1982
+
1983
+
1984
+ <li class="md-nav__item">
1985
+ <a href="../../contributing/setup-dev-machine/" class="md-nav__link">
1986
+ Setup Dev Machine
1987
+ </a>
1988
+ </li>
1989
+
1990
+
1991
+
1992
+
1993
+
1994
+
1995
+
1996
+ <li class="md-nav__item">
1997
+ <a href="../../contributing/local-debug-configuration/" class="md-nav__link">
1998
+ Local Debug Configuration
1999
+ </a>
2000
+ </li>
2001
+
2002
+
2003
+
2004
+
2005
+
2006
+
2007
+
2008
+ <li class="md-nav__item">
2009
+ <a href="../../contributing/debugging/" class="md-nav__link">
2010
+ Debugging
2011
+ </a>
2012
+ </li>
2013
+
2014
+
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+ <li class="md-nav__item">
2021
+ <a href="../../contributing/extending-the-library/" class="md-nav__link">
2022
+ Extending the library
2023
+ </a>
2024
+ </li>
2025
+
2026
+
2027
+
2028
+
2029
+
2030
+
2031
+
2032
+ <li class="md-nav__item">
2033
+ <a href="../../contributing/debug-tests/" class="md-nav__link">
2034
+ Writing Tests
2035
+ </a>
2036
+ </li>
2037
+
2038
+
2039
+
2040
+
2041
+
2042
+
2043
+
2044
+ <li class="md-nav__item">
2045
+ <a href="../../contributing/documentation/" class="md-nav__link">
2046
+ Update Documentation
2047
+ </a>
2048
+ </li>
2049
+
2050
+
2051
+
2052
+
2053
+
2054
+
2055
+
2056
+ <li class="md-nav__item">
2057
+ <a href="../../contributing/pull-requests/" class="md-nav__link">
2058
+ Submit a Pull Request
2059
+ </a>
2060
+ </li>
2061
+
2062
+
2063
+ </ul>
2064
+ </nav>
2065
+ </li>
2066
+
2067
+
2068
+
2069
+
2070
+
2071
+
2072
+
2073
+ <li class="md-nav__item md-nav__item--nested">
2074
+
2075
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
2076
+
2077
+ <label class="md-nav__link" for="nav-8">
2078
+ Version 1 Docs
2079
+ <span class="md-nav__icon md-icon"></span>
2080
+ </label>
2081
+ <nav class="md-nav" aria-label="Version 1 Docs" data-md-level="1">
2082
+ <label class="md-nav__title" for="nav-8">
2083
+ <span class="md-nav__icon md-icon"></span>
2084
+ Version 1 Docs
2085
+ </label>
2086
+ <ul class="md-nav__list" data-md-scrollfix>
2087
+
2088
+
2089
+
2090
+
2091
+
2092
+
2093
+
2094
+ <li class="md-nav__item">
2095
+ <a href="../../v1/" class="md-nav__link">
2096
+ Home
2097
+ </a>
2098
+ </li>
2099
+
2100
+
2101
+ </ul>
2102
+ </nav>
2103
+ </li>
2104
+
2105
+
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+ <li class="md-nav__item md-nav__item--nested">
2112
+
2113
+ <input class="md-nav__toggle md-toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
2114
+
2115
+ <label class="md-nav__link" for="nav-9">
2116
+ Version 2 Docs
2117
+ <span class="md-nav__icon md-icon"></span>
2118
+ </label>
2119
+ <nav class="md-nav" aria-label="Version 2 Docs" data-md-level="1">
2120
+ <label class="md-nav__title" for="nav-9">
2121
+ <span class="md-nav__icon md-icon"></span>
2122
+ Version 2 Docs
2123
+ </label>
2124
+ <ul class="md-nav__list" data-md-scrollfix>
2125
+
2126
+
2127
+
2128
+
2129
+
2130
+
2131
+
2132
+ <li class="md-nav__item">
2133
+ <a href="../../v2/index.html" class="md-nav__link">
2134
+ Home
2135
+ </a>
2136
+ </li>
2137
+
2138
+
2139
+ </ul>
2140
+ </nav>
2141
+ </li>
2142
+
2143
+
2144
+ </ul>
2145
+ </nav>
2146
+ </div>
2147
+ </div>
2148
+ </div>
2149
+
2150
+
2151
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
2152
+ <div class="md-sidebar__scrollwrap">
2153
+ <div class="md-sidebar__inner">
2154
+
2155
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2156
+
2157
+
2158
+
2159
+
2160
+
2161
+ <label class="md-nav__title" for="__toc">
2162
+ <span class="md-nav__icon md-icon"></span>
2163
+ Table of contents
2164
+ </label>
2165
+ <ul class="md-nav__list" data-md-scrollfix>
2166
+
2167
+ <li class="md-nav__item">
2168
+ <a href="#types-of-extensions" class="md-nav__link">
2169
+ Types of Extensions
2170
+ </a>
2171
+
2172
+ <nav class="md-nav" aria-label="Types of Extensions">
2173
+ <ul class="md-nav__list">
2174
+
2175
+ <li class="md-nav__item">
2176
+ <a href="#function-extensions" class="md-nav__link">
2177
+ Function Extensions
2178
+ </a>
2179
+
2180
+ </li>
2181
+
2182
+ <li class="md-nav__item">
2183
+ <a href="#named-extensions" class="md-nav__link">
2184
+ Named Extensions
2185
+ </a>
2186
+
2187
+ </li>
2188
+
2189
+ <li class="md-nav__item">
2190
+ <a href="#proxyhandler-extensions" class="md-nav__link">
2191
+ ProxyHandler Extensions
2192
+ </a>
2193
+
2194
+ </li>
2195
+
2196
+ </ul>
2197
+ </nav>
2198
+
2199
+ </li>
2200
+
2201
+ <li class="md-nav__item">
2202
+ <a href="#registering-extensions" class="md-nav__link">
2203
+ Registering Extensions
2204
+ </a>
2205
+
2206
+ <nav class="md-nav" aria-label="Registering Extensions">
2207
+ <ul class="md-nav__list">
2208
+
2209
+ <li class="md-nav__item">
2210
+ <a href="#global-registration" class="md-nav__link">
2211
+ Global Registration
2212
+ </a>
2213
+
2214
+ </li>
2215
+
2216
+ <li class="md-nav__item">
2217
+ <a href="#factory-registration" class="md-nav__link">
2218
+ Factory Registration
2219
+ </a>
2220
+
2221
+ </li>
2222
+
2223
+ <li class="md-nav__item">
2224
+ <a href="#instance-registration" class="md-nav__link">
2225
+ Instance Registration
2226
+ </a>
2227
+
2228
+ </li>
2229
+
2230
+ </ul>
2231
+ </nav>
2232
+
2233
+ </li>
2234
+
2235
+ <li class="md-nav__item">
2236
+ <a href="#enable-disable-extensions-and-clear-global-extensions" class="md-nav__link">
2237
+ Enable &amp; Disable Extensions and Clear Global Extensions
2238
+ </a>
2239
+
2240
+ </li>
2241
+
2242
+ <li class="md-nav__item">
2243
+ <a href="#order-of-operations" class="md-nav__link">
2244
+ Order of Operations
2245
+ </a>
2246
+
2247
+ </li>
2248
+
2249
+ </ul>
2250
+
2251
+ </nav>
2252
+ </div>
2253
+ </div>
2254
+ </div>
2255
+
2256
+
2257
+ <div class="md-content">
2258
+ <article class="md-content__inner md-typeset">
2259
+
2260
+
2261
+ <a href="https://github.com/pnp/pnpjs/tree/version-2/docs/odata/extensions.md" title="Edit this page" class="md-content__button md-icon">
2262
+ <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>
2263
+ </a>
2264
+
2265
+
2266
+ <h1 id="extensions">Extensions<a class="headerlink" href="#extensions" title="Permanent link">&para;</a></h1>
2267
+ <p><em>introduced in 2.0.0</em></p>
2268
+ <p>Extending is the concept of overriding or adding functionality into an object or environment without altering the underlying class instances. This can be useful for debugging, testing, or injecting custom functionality. Extensions work with any <a href="../../concepts/invokable/">invocable</a>. You can control any behavior of the library with extensions.</p>
2269
+ <blockquote>
2270
+ <p>Extensions do not work in ie11 compatibility mode. This is by design.</p>
2271
+ </blockquote>
2272
+ <h2 id="types-of-extensions">Types of Extensions<a class="headerlink" href="#types-of-extensions" title="Permanent link">&para;</a></h2>
2273
+ <p>There are three types of Extensions available as well as three methods for registration. You can register any type of extension with any of the registration options.</p>
2274
+ <h3 id="function-extensions">Function Extensions<a class="headerlink" href="#function-extensions" title="Permanent link">&para;</a></h3>
2275
+ <p>The first type is a simple function with a signature:</p>
2276
+ <pre><code class="language-TypeScript">(op: &quot;apply&quot; | &quot;get&quot; | &quot;has&quot; | &quot;set&quot;, target: T, ...rest: any[]): void
2277
+ </code></pre>
2278
+ <p>This function is passed the current operation as the first argument, currently one of "apply", "get", "has", or "set". The second argument is the target instance upon which the operation is being invoked. The remaining parameters vary by the operation being performed, but will match their respective ProxyHandler method signatures.</p>
2279
+ <h3 id="named-extensions">Named Extensions<a class="headerlink" href="#named-extensions" title="Permanent link">&para;</a></h3>
2280
+ <p>Named extensions are designed to add or replace a single property or method, though you can register multiple using the same object. These extensions are defined by using an object which has the property/methods you want to override described. Registering named extensions globally will override that operation to all invokables.</p>
2281
+ <pre><code class="language-TypeScript">import { extendFactory } from &quot;@pnp/queryable&quot;;
2282
+ import { sp, List, Lists, IWeb, ILists, List, IList, Web } from &quot;@pnp/sp/presets/all&quot;;
2283
+ import { escapeQueryStrValue } from &quot;@pnp/sp/utils/escapeQueryStrValue&quot;;
2284
+
2285
+ // create a plain object with the props and methods we want to add/change
2286
+ const myExtensions = {
2287
+ // override the lists property
2288
+ get lists(this: IWeb): ILists {
2289
+ // we will always order our lists by title and select just the Title for ALL calls (just as an example)
2290
+ return Lists(this).orderBy(&quot;Title&quot;).select(&quot;Title&quot;);
2291
+ },
2292
+ // override the getByTitle method
2293
+ getByTitle: function (this: ILists, title: string): IList {
2294
+ // in our example our list has moved, so we rewrite the request on the fly
2295
+ if (title === &quot;List1&quot;) {
2296
+ return List(this, `getByTitle('List2')`);
2297
+ } else {
2298
+ // you can't at this point call the &quot;base&quot; method as you will end up in loop within the proxy
2299
+ // so you need to ensure you patch/include any original functionality you need
2300
+ return List(this, `getByTitle('${escapeQueryStrValue(title)}')`);
2301
+ }
2302
+ },
2303
+ };
2304
+
2305
+ // register all the named Extensions
2306
+ extendFactory(Web, myExtensions);
2307
+
2308
+ // this will use our extension to ensure the lists are ordered
2309
+ const lists = await sp.web.lists();
2310
+
2311
+ console.log(JSON.stringify(lists, null, 2));
2312
+
2313
+ // we will get the items from List1 but within the extension it is rewritten as List2
2314
+ const items = await sp.web.lists.getByTitle(&quot;List1&quot;).items();
2315
+
2316
+ console.log(JSON.stringify(items.length, null, 2));
2317
+ </code></pre>
2318
+ <h3 id="proxyhandler-extensions">ProxyHandler Extensions<a class="headerlink" href="#proxyhandler-extensions" title="Permanent link">&para;</a></h3>
2319
+ <p>You can also register a partial ProxyHandler implementation as an extension. You can implement one or more of the ProxyHandler methods as needed. Here we implement the same override of getByTitle globally. This is the most complicated method of creating an extension and assumes an understanding of how ProxyHandlers work.</p>
2320
+ <pre><code class="language-TypeScript">import { extendFactory } from &quot;@pnp/queryable&quot;;
2321
+ import { sp, Lists, IWeb, ILists, Web } from &quot;@pnp/sp/presets/all&quot;;
2322
+ import { escapeQueryStrValue } from &quot;@pnp/sp/utils/escapeSingleQuote&quot;;
2323
+
2324
+ const myExtensions = {
2325
+ get: (target, p: string | number | symbol, _receiver: any) =&gt; {
2326
+ switch (p) {
2327
+ case &quot;getByTitle&quot;:
2328
+ return (title: string) =&gt; {
2329
+
2330
+ // in our example our list has moved, so we rewrite the request on the fly
2331
+ if (title === &quot;LookupList&quot;) {
2332
+ return List(target, `getByTitle('OrderByList')`);
2333
+ } else {
2334
+ // you can't at this point call the &quot;base&quot; method as you will end up in loop within the proxy
2335
+ // so you need to ensure you patch/include any original functionality you need
2336
+ return List(target, `getByTitle('${escapeQueryStrValue(title)}')`);
2337
+ }
2338
+ };
2339
+ }
2340
+ },
2341
+ };
2342
+
2343
+ extendFactory(Web, myExtensions);
2344
+
2345
+ const lists = sp.web.lists;
2346
+ const items = await lists.getByTitle(&quot;LookupList&quot;).items();
2347
+
2348
+ console.log(JSON.stringify(items.length, null, 2));
2349
+ </code></pre>
2350
+ <h2 id="registering-extensions">Registering Extensions<a class="headerlink" href="#registering-extensions" title="Permanent link">&para;</a></h2>
2351
+ <p>You can register Extensions either globally, on an invocable factory, or on a per-object basis, and you can register a single extension or an array of Extensions.</p>
2352
+ <h3 id="global-registration">Global Registration<a class="headerlink" href="#global-registration" title="Permanent link">&para;</a></h3>
2353
+ <p>Globally registering an extension allows you to inject functionality into every invocable that is instantiated within your application. It is important to remember that processing extensions happens on ALL property access and method invocation operations - so global extensions should be used sparingly.</p>
2354
+ <pre><code class="language-TypeScript">import { extendGlobal } from &quot;@pnp/queryable&quot;;
2355
+
2356
+ // we can add a logging method to very verbosely track what things are called in our application
2357
+ extendGlobal((op: string, _target: any, ...rest: any[]): void =&gt; {
2358
+ switch (op) {
2359
+ case &quot;apply&quot;:
2360
+ Logger.write(`${op} ::&gt; ()`, LogLevel.Info);
2361
+ break;
2362
+ case &quot;has&quot;:
2363
+ case &quot;get&quot;:
2364
+ case &quot;set&quot;:
2365
+ Logger.write(`${op} ::&gt; ${rest[0]}`, LogLevel.Info);
2366
+ break;
2367
+ default:
2368
+ Logger.write(`unknown ${op}`, LogLevel.Info);
2369
+ }
2370
+ });
2371
+ </code></pre>
2372
+ <h3 id="factory-registration">Factory Registration<a class="headerlink" href="#factory-registration" title="Permanent link">&para;</a></h3>
2373
+ <p>The pattern you will likely find most useful is the ability to extend an invocable factory. This will apply your extensions to all instances created with that factory, meaning all IWebs or ILists will have the extension methods. The example below shows how to add a property to IWeb as well as a method to IList.</p>
2374
+ <pre><code class="language-TypeScript">import &quot;@pnp/sp/webs&quot;;
2375
+ import &quot;@pnp/sp/lists/web&quot;;
2376
+ import { IWeb, Web } from &quot;@pnp/sp/webs&quot;;
2377
+ import { ILists, Lists } from &quot;@pnp/sp/lists&quot;;
2378
+ import { extendFactory } from &quot;@pnp/queryable&quot;;
2379
+ import { sp } from &quot;@pnp/sp&quot;;
2380
+
2381
+ // sets up the types correctly when importing across your application
2382
+ declare module &quot;@pnp/sp/webs/types&quot; {
2383
+
2384
+ // we need to extend the interface
2385
+ interface IWeb {
2386
+ orderedLists: ILists;
2387
+ }
2388
+ }
2389
+
2390
+ // sets up the types correctly when importing across your application
2391
+ declare module &quot;@pnp/sp/lists/types&quot; {
2392
+
2393
+ // we need to extend the interface
2394
+ interface ILists {
2395
+ getOrderedListsQuery: (this: ILists) =&gt; ILists;
2396
+ }
2397
+ }
2398
+
2399
+ extendFactory(Web, {
2400
+ // add an ordered lists property
2401
+ get orderedLists(this: IWeb): ILists {
2402
+ return this.lists.getOrderedListsQuery();
2403
+ },
2404
+ });
2405
+
2406
+ extendFactory(Lists, {
2407
+ // add an ordered lists property
2408
+ getOrderedListsQuery(this: ILists): ILists {
2409
+ return this.top(10).orderBy(&quot;Title&quot;).select(&quot;Title&quot;);
2410
+ },
2411
+ });
2412
+
2413
+ // regardless of how we access the web and lists collections our extensions remain with all new instance based on
2414
+ const web = Web(&quot;https://tenant.sharepoint.com/sites/dev/&quot;);
2415
+ const lists1 = await web.orderedLists();
2416
+ console.log(JSON.stringify(lists1, null, 2));
2417
+
2418
+ const lists2 = await Web(&quot;https://tenant.sharepoint.com/sites/dev/&quot;).orderedLists();
2419
+ console.log(JSON.stringify(lists2, null, 2));
2420
+
2421
+ const lists3 = await sp.web.orderedLists();
2422
+ console.log(JSON.stringify(lists3, null, 2));
2423
+ </code></pre>
2424
+ <h3 id="instance-registration">Instance Registration<a class="headerlink" href="#instance-registration" title="Permanent link">&para;</a></h3>
2425
+ <p>You can also register Extensions on a single object instance, which is often the preferred approach as it will have less of a performance impact across your whole application. This is useful for debugging, overriding methods/properties, or controlling the behavior of specific object instances.</p>
2426
+ <blockquote>
2427
+ <p>Extensions are not transferred to child objects in a fluent chain, be sure you are extending the instance you think you are.</p>
2428
+ </blockquote>
2429
+ <p>Here we show the same override operation of getByTitle on the lists collection, but safely only overriding the single instance.</p>
2430
+ <pre><code class="language-TypeScript">import { extendObj } from &quot;@pnp/queryable&quot;;
2431
+ import { sp, List, ILists } from &quot;@pnp/sp/presets/all&quot;;
2432
+
2433
+ const myExtensions = {
2434
+ getByTitle: function (this: ILists, title: string) {
2435
+ // in our example our list has moved, so we rewrite the request on the fly
2436
+ if (title === &quot;List1&quot;) {
2437
+ return List(this, &quot;getByTitle('List2')&quot;);
2438
+ } else {
2439
+ // you can't at this point call the &quot;base&quot; method as you will end up in loop within the proxy
2440
+ // so you need to ensure you patch/include any original functionality you need
2441
+ return List(this, `getByTitle('${escapeQueryStrValue(title)}')`);
2442
+ }
2443
+ },
2444
+ };
2445
+
2446
+ const lists = extendObj(sp.web.lists, myExtensions);
2447
+ const items = await lists.getByTitle(&quot;LookupList&quot;).items();
2448
+
2449
+ console.log(JSON.stringify(items.length, null, 2));
2450
+ </code></pre>
2451
+ <h2 id="enable-disable-extensions-and-clear-global-extensions">Enable &amp; Disable Extensions and Clear Global Extensions<a class="headerlink" href="#enable-disable-extensions-and-clear-global-extensions" title="Permanent link">&para;</a></h2>
2452
+ <p>Extensions are automatically enabled when you set an extension through any of the above outlined methods. You can disable and enable extensions on demand if needed.</p>
2453
+ <pre><code class="language-TypeScript">import { enableExtensions, disableExtensions, clearGlobalExtensions } from &quot;@pnp/queryable&quot;;
2454
+
2455
+ // disable Extensions
2456
+ disableExtensions();
2457
+
2458
+ // enable Extensions
2459
+ enableExtensions();
2460
+
2461
+ // clear all the globally registered extensions
2462
+ clearGlobalExtensions();
2463
+ </code></pre>
2464
+ <h2 id="order-of-operations">Order of Operations<a class="headerlink" href="#order-of-operations" title="Permanent link">&para;</a></h2>
2465
+ <p>It is important to understand the order in which extensions are executed and when a value is returned. Instance extensions* are always called first, followed by global Extensions - in both cases they are called in the order they were registered. This allows you to perhaps have some global functionality while maintaining the ability to override it again at the instance level. IF an extension returns a value other than <code>undefined</code> that value is returned and no other extensions are processed.</p>
2466
+ <blockquote>
2467
+ <p>*extensions applied via an extended factory are considered instance extensions</p>
2468
+ </blockquote>
2469
+
2470
+
2471
+
2472
+
2473
+
2474
+
2475
+
2476
+ </article>
2477
+ </div>
2478
+ </div>
2479
+ </main>
2480
+
2481
+
2482
+ <footer class="md-footer">
2483
+
2484
+ <div class="md-footer-nav">
2485
+ <nav class="md-footer-nav__inner md-grid" aria-label="Footer">
2486
+
2487
+ <a href="../odata-batch/" class="md-footer-nav__link md-footer-nav__link--prev" rel="prev">
2488
+ <div class="md-footer-nav__button md-icon">
2489
+ <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>
2490
+ </div>
2491
+ <div class="md-footer-nav__title">
2492
+ <div class="md-ellipsis">
2493
+ <span class="md-footer-nav__direction">
2494
+ Previous
2495
+ </span>
2496
+ OData Batching
2497
+ </div>
2498
+ </div>
2499
+ </a>
2500
+
2501
+
2502
+ <a href="../debug/" class="md-footer-nav__link md-footer-nav__link--next" rel="next">
2503
+ <div class="md-footer-nav__title">
2504
+ <div class="md-ellipsis">
2505
+ <span class="md-footer-nav__direction">
2506
+ Next
2507
+ </span>
2508
+ Debugging Proxy Objects
2509
+ </div>
2510
+ </div>
2511
+ <div class="md-footer-nav__button md-icon">
2512
+ <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>
2513
+ </div>
2514
+ </a>
2515
+
2516
+ </nav>
2517
+ </div>
2518
+
2519
+ <div class="md-footer-meta md-typeset">
2520
+ <div class="md-footer-meta__inner md-grid">
2521
+ <div class="md-footer-copyright">
2522
+
2523
+ Made with
2524
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2525
+ Material for MkDocs
2526
+ </a>
2527
+ </div>
2528
+
2529
+ <div class="md-footer-social">
2530
+
2531
+
2532
+
2533
+
2534
+
2535
+
2536
+ <a href="https://twitter.com/m365pnpjs" target="_blank" rel="noopener" title="twitter.com" class="md-footer-social__link">
2537
+ <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>
2538
+ </a>
2539
+
2540
+
2541
+
2542
+
2543
+
2544
+
2545
+ <a href="http://aka.ms/sppnp-videos" target="_blank" rel="noopener" title="aka.ms" class="md-footer-social__link">
2546
+ <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>
2547
+ </a>
2548
+
2549
+
2550
+
2551
+
2552
+
2553
+
2554
+ <a href="https://aka.ms/sppnp" target="_blank" rel="noopener" title="aka.ms" class="md-footer-social__link">
2555
+ <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>
2556
+ </a>
2557
+
2558
+ </div>
2559
+
2560
+ </div>
2561
+ </div>
2562
+ </footer>
2563
+
2564
+ </div>
2565
+
2566
+ <script src="../../assets/javascripts/vendor.77e55a48.min.js"></script>
2567
+ <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>
2568
+
2569
+ <script>
2570
+ app = initialize({
2571
+ base: "../..",
2572
+ features: [],
2573
+ search: Object.assign({
2574
+ worker: "../../assets/javascripts/worker/search.4ac00218.min.js"
2575
+ }, typeof search !== "undefined" && search)
2576
+ })
2577
+ </script>
2578
+
2579
+
2580
+ </body>
2581
+ </html>