@zxncij2390/monorepo3 3.18.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintignore +16 -0
- package/.eslintrc.cjs +150 -0
- package/.github/ISSUE_TEMPLATE/bug-report.yml +178 -0
- package/.github/ISSUE_TEMPLATE/enhancement.yml +99 -0
- package/.github/ISSUE_TEMPLATE/question.yml +72 -0
- package/.github/ISSUE_TEMPLATE.md +39 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +24 -0
- package/.github/workflows/lock.yml +18 -0
- package/.github/workflows/publish-buildsystem.yml +34 -0
- package/.github/workflows/publish-docs.yml +21 -0
- package/.github/workflows/publish.yml +40 -0
- package/.github/workflows/pull_request.yaml +28 -0
- package/.github/workflows/push.yaml +32 -0
- package/.github/workflows/v3-nightly.yml +40 -0
- package/.mocharc.cjs +68 -0
- package/.vscode/launch.json +103 -0
- package/.vscode/settings.json +17 -0
- package/.vscode/tasks.json +124 -0
- package/AUTHORS +13 -0
- package/CHANGELOG.md +33 -0
- package/CODE_OF_CONDUCT.md +6 -0
- package/CONTRIBUTING.md +9 -0
- package/LICENSE +25 -0
- package/README.md +66 -0
- package/buildsystem-config.ts +146 -0
- package/debug/launch/graph.ts +20 -0
- package/debug/launch/main.ts +38 -0
- package/debug/launch/setup.ts +50 -0
- package/debug/launch/sp.ts +21 -0
- package/debug/launch/tsconfig.json +27 -0
- package/debug/serve/main.ts +47 -0
- package/debug/serve/plumbing/local-module-resolver-plugin.ts +68 -0
- package/debug/serve/plumbing/run.ts +24 -0
- package/debug/serve/plumbing/serve.ts +27 -0
- package/debug/serve/plumbing/webpack.config.ts +43 -0
- package/debug/serve/spa.html +12 -0
- package/debug/serve/tsconfig.json +15 -0
- package/debug/spfx/.eslintrc.js +352 -0
- package/debug/spfx/README.md +73 -0
- package/debug/spfx/package-lock.json +57299 -0
- package/debug/spfx/package.json +38 -0
- package/debug/spfx/pnpjs-local-debug-start.js +19 -0
- package/debug/spfx/teams/f4c0e5ff-c402-46b7-8073-8cc506808d06_color.png +0 -0
- package/debug/spfx/teams/f4c0e5ff-c402-46b7-8073-8cc506808d06_outline.png +0 -0
- package/docs/_theme/main.html +5 -0
- package/docs/azidjsclient/index.md +36 -0
- package/docs/concepts/adv-clientside-pages.md +169 -0
- package/docs/concepts/auth-browser.md +42 -0
- package/docs/concepts/auth-nodejs.md +101 -0
- package/docs/concepts/auth-spfx.md +76 -0
- package/docs/concepts/authentication.md +42 -0
- package/docs/concepts/batching-caching.md +77 -0
- package/docs/concepts/batching.md +257 -0
- package/docs/concepts/calling-other-endpoints.md +213 -0
- package/docs/concepts/custom-bundle.md +15 -0
- package/docs/concepts/error-handling.md +245 -0
- package/docs/concepts/invokable.md +7 -0
- package/docs/concepts/nightly-builds.md +19 -0
- package/docs/concepts/project-preset.md +123 -0
- package/docs/concepts/selective-imports.md +106 -0
- package/docs/concepts/typings.md +23 -0
- package/docs/contributing/debug-tests.md +76 -0
- package/docs/contributing/debugging.md +135 -0
- package/docs/contributing/documentation.md +34 -0
- package/docs/contributing/extending-the-library.md +223 -0
- package/docs/contributing/index.md +22 -0
- package/docs/contributing/local-debug-configuration.md +28 -0
- package/docs/contributing/npm-scripts.md +148 -0
- package/docs/contributing/pull-requests.md +27 -0
- package/docs/contributing/settings.md +98 -0
- package/docs/contributing/setup-dev-machine.md +36 -0
- package/docs/core/behavior-recipes.md +199 -0
- package/docs/core/behaviors.md +179 -0
- package/docs/core/moments.md +215 -0
- package/docs/core/observers.md +100 -0
- package/docs/core/storage.md +90 -0
- package/docs/core/timeline.md +190 -0
- package/docs/core/util.md +191 -0
- package/docs/css/extra.css +33 -0
- package/docs/getting-started.md +361 -0
- package/docs/graph/behaviors.md +267 -0
- package/docs/graph/bookings.md +180 -0
- package/docs/graph/calendars.md +270 -0
- package/docs/graph/cloud-communications.md +40 -0
- package/docs/graph/columns.md +125 -0
- package/docs/graph/contacts.md +298 -0
- package/docs/graph/content-types.md +193 -0
- package/docs/graph/directoryobjects.md +106 -0
- package/docs/graph/groups.md +164 -0
- package/docs/graph/insights.md +151 -0
- package/docs/graph/invitations.md +22 -0
- package/docs/graph/items.md +38 -0
- package/docs/graph/lists.md +87 -0
- package/docs/graph/messages.md +20 -0
- package/docs/graph/onedrive.md +614 -0
- package/docs/graph/outlook.md +82 -0
- package/docs/graph/photos.md +71 -0
- package/docs/graph/planner.md +249 -0
- package/docs/graph/search.md +25 -0
- package/docs/graph/shares.md +44 -0
- package/docs/graph/sites.md +47 -0
- package/docs/graph/subscriptions.md +79 -0
- package/docs/graph/teams.md +293 -0
- package/docs/graph/users.md +134 -0
- package/docs/img/ConsoleListenerColors.png +0 -0
- package/docs/img/Logo.png +0 -0
- package/docs/img/PnPJS_FluentAPI.gif +0 -0
- package/docs/img/SPFx-On-Premesis-2016-1.png +0 -0
- package/docs/img/TimelineArchitecture.jpg +0 -0
- package/docs/img/csp_copyccvalue.png +0 -0
- package/docs/img/csp_networktab.png +0 -0
- package/docs/img/office365-header-icon.png +0 -0
- package/docs/img/usage-2020-eoy.png +0 -0
- package/docs/img/usage-2021-eoy.png +0 -0
- package/docs/img/usage-2022-eoy.png +0 -0
- package/docs/index.md +56 -0
- package/docs/logging/index.md +262 -0
- package/docs/msaljsclient/index.md +33 -0
- package/docs/news/2020-year-in-review.md +162 -0
- package/docs/news/2021-year-in-review.md +148 -0
- package/docs/news/2022-year-in-review.md +122 -0
- package/docs/nodejs/behaviors.md +164 -0
- package/docs/nodejs/sp-extensions.md +99 -0
- package/docs/packages.md +53 -0
- package/docs/queryable/behaviors.md +496 -0
- package/docs/queryable/extensions.md +204 -0
- package/docs/queryable/queryable.md +385 -0
- package/docs/sp/alias-parameters.md +76 -0
- package/docs/sp/alm.md +139 -0
- package/docs/sp/attachments.md +157 -0
- package/docs/sp/behaviors.md +142 -0
- package/docs/sp/clientside-pages.md +1048 -0
- package/docs/sp/column-defaults.md +241 -0
- package/docs/sp/comments-likes.md +302 -0
- package/docs/sp/content-types.md +131 -0
- package/docs/sp/context-info.md +67 -0
- package/docs/sp/favorites.md +91 -0
- package/docs/sp/features.md +83 -0
- package/docs/sp/fields.md +668 -0
- package/docs/sp/files.md +559 -0
- package/docs/sp/folders.md +532 -0
- package/docs/sp/forms.md +22 -0
- package/docs/sp/groupSiteManager.md +40 -0
- package/docs/sp/hubsites.md +140 -0
- package/docs/sp/items.md +601 -0
- package/docs/sp/lists.md +572 -0
- package/docs/sp/navigation.md +171 -0
- package/docs/sp/permissions.md +82 -0
- package/docs/sp/profiles.md +407 -0
- package/docs/sp/publishing-sitepageservice.md +16 -0
- package/docs/sp/recycle-bin.md +72 -0
- package/docs/sp/regional-settings.md +108 -0
- package/docs/sp/related-items.md +136 -0
- package/docs/sp/search.md +207 -0
- package/docs/sp/security.md +196 -0
- package/docs/sp/sharing.md +273 -0
- package/docs/sp/site-designs.md +117 -0
- package/docs/sp/site-groups.md +144 -0
- package/docs/sp/site-scripts.md +123 -0
- package/docs/sp/site-users.md +211 -0
- package/docs/sp/sites.md +269 -0
- package/docs/sp/social.md +182 -0
- package/docs/sp/sp-utilities-utility.md +159 -0
- package/docs/sp/subscriptions.md +79 -0
- package/docs/sp/taxonomy.md +470 -0
- package/docs/sp/tenant-properties.md +55 -0
- package/docs/sp/user-custom-actions.md +95 -0
- package/docs/sp/views.md +226 -0
- package/docs/sp/webs.md +947 -0
- package/docs/sp-admin/index.md +139 -0
- package/docs/transition-guide.md +87 -0
- package/docs/v1/404.html +1611 -0
- package/docs/v1/assets/fonts/font-awesome.css +4 -0
- package/docs/v1/assets/fonts/material-icons.css +13 -0
- package/docs/v1/assets/fonts/specimen/FontAwesome.ttf +0 -0
- package/docs/v1/assets/fonts/specimen/FontAwesome.woff +0 -0
- package/docs/v1/assets/fonts/specimen/FontAwesome.woff2 +0 -0
- package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.ttf +0 -0
- package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.woff +0 -0
- package/docs/v1/assets/fonts/specimen/MaterialIcons-Regular.woff2 +0 -0
- package/docs/v1/assets/images/favicon.png +0 -0
- package/docs/v1/assets/images/icons/bitbucket.1b09e088.svg +20 -0
- package/docs/v1/assets/images/icons/github.f0b8504a.svg +18 -0
- package/docs/v1/assets/images/icons/gitlab.6dd19c00.svg +38 -0
- package/docs/v1/assets/javascripts/application.583bbe55.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.da.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.de.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.du.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.es.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.fi.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.fr.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.hu.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.it.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.jp.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.multi.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.no.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.pt.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.ro.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.ru.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.stemmer.support.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.sv.js +1 -0
- package/docs/v1/assets/javascripts/lunr/lunr.tr.js +1 -0
- package/docs/v1/assets/javascripts/lunr/tinyseg.js +1 -0
- package/docs/v1/assets/javascripts/modernizr.1aa3b519.js +1 -0
- package/docs/v1/assets/stylesheets/application-palette.22915126.css +1176 -0
- package/docs/v1/assets/stylesheets/application.451f80e5.css +2552 -0
- package/docs/v1/common/docs/adalclient/index.html +1994 -0
- package/docs/v1/common/docs/collections/index.html +1786 -0
- package/docs/v1/common/docs/custom-httpclientimpl/index.html +1798 -0
- package/docs/v1/common/docs/index.html +1787 -0
- package/docs/v1/common/docs/libconfig/index.html +1930 -0
- package/docs/v1/common/docs/netutil/index.html +1860 -0
- package/docs/v1/common/docs/storage/index.html +1850 -0
- package/docs/v1/common/docs/util/index.html +2058 -0
- package/docs/v1/config-store/docs/configuration/index.html +1730 -0
- package/docs/v1/config-store/docs/index.html +1761 -0
- package/docs/v1/config-store/docs/providers/index.html +1782 -0
- package/docs/v1/documentation/SPFx-On-Premesis-2016/index.html +1720 -0
- package/docs/v1/documentation/beta-versions/index.html +1742 -0
- package/docs/v1/documentation/css/extra.css +33 -0
- package/docs/v1/documentation/debugging/index.html +2098 -0
- package/docs/v1/documentation/deployment/index.html +1972 -0
- package/docs/v1/documentation/documentation/index.html +1760 -0
- package/docs/v1/documentation/getting-started/index.html +2280 -0
- package/docs/v1/documentation/getting-started-dev/index.html +1799 -0
- package/docs/v1/documentation/gulp-commands/index.html +2100 -0
- package/docs/v1/documentation/img/Logo.png +0 -0
- package/docs/v1/documentation/img/PnPJS_FluentAPI.gif +0 -0
- package/docs/v1/documentation/img/SPFx-On-Premesis-2016-1.png +0 -0
- package/docs/v1/documentation/img/office365-header-icon.png +0 -0
- package/docs/v1/documentation/img/pnpjs-common-uml.svg +220 -0
- package/docs/v1/documentation/img/pnpjs-config-store-uml.svg +56 -0
- package/docs/v1/documentation/img/pnpjs-graph-uml.svg +602 -0
- package/docs/v1/documentation/img/pnpjs-logging-uml.svg +59 -0
- package/docs/v1/documentation/img/pnpjs-nodejs-uml.svg +85 -0
- package/docs/v1/documentation/img/pnpjs-odata-uml.svg +253 -0
- package/docs/v1/documentation/img/pnpjs-sp-addinhelpers-uml.svg +48 -0
- package/docs/v1/documentation/img/pnpjs-sp-clientsvc-uml.svg +167 -0
- package/docs/v1/documentation/img/pnpjs-sp-taxonomy-uml.svg +458 -0
- package/docs/v1/documentation/img/pnpjs-sp-uml.svg +2833 -0
- package/docs/v1/documentation/package-structure/index.html +1875 -0
- package/docs/v1/documentation/packages/index.html +1741 -0
- package/docs/v1/documentation/polyfill/index.html +1877 -0
- package/docs/v1/documentation/theme/main.html +5 -0
- package/docs/v1/documentation/transition-guide/index.html +1977 -0
- package/docs/v1/graph/docs/contacts/index.html +2080 -0
- package/docs/v1/graph/docs/directoryobjects/index.html +1865 -0
- package/docs/v1/graph/docs/index.html +1858 -0
- package/docs/v1/graph/docs/insights/index.html +1698 -0
- package/docs/v1/graph/docs/invitations/index.html +1742 -0
- package/docs/v1/graph/docs/onedrive/index.html +2086 -0
- package/docs/v1/graph/docs/people/index.html +1664 -0
- package/docs/v1/graph/docs/planner/index.html +2097 -0
- package/docs/v1/graph/docs/security/index.html +1692 -0
- package/docs/v1/graph/docs/sites/index.html +2043 -0
- package/docs/v1/graph/docs/subscriptions/index.html +1835 -0
- package/docs/v1/graph/docs/teams/index.html +2097 -0
- package/docs/v1/index.html +1889 -0
- package/docs/v1/logging/docs/index.html +2045 -0
- package/docs/v1/nodejs/docs/adal-certificate-fetch-client/index.html +1676 -0
- package/docs/v1/nodejs/docs/adal-fetch-client/index.html +1713 -0
- package/docs/v1/nodejs/docs/bearer-token-fetch-client/index.html +1712 -0
- package/docs/v1/nodejs/docs/index.html +1764 -0
- package/docs/v1/nodejs/docs/provider-hosted-app/index.html +1725 -0
- package/docs/v1/nodejs/docs/proxy/index.html +1699 -0
- package/docs/v1/nodejs/docs/sp-fetch-client/index.html +1895 -0
- package/docs/v1/odata/docs/caching/index.html +1988 -0
- package/docs/v1/odata/docs/core/index.html +1829 -0
- package/docs/v1/odata/docs/index.html +1781 -0
- package/docs/v1/odata/docs/odata-batch/index.html +1755 -0
- package/docs/v1/odata/docs/parsers/index.html +1862 -0
- package/docs/v1/odata/docs/pipeline/index.html +1811 -0
- package/docs/v1/odata/docs/queryable/index.html +1967 -0
- package/docs/v1/pnpjs/docs/index.html +1814 -0
- package/docs/v1/search/search_index.json +1 -0
- package/docs/v1/sitemap.xml +428 -0
- package/docs/v1/sitemap.xml.gz +0 -0
- package/docs/v1/sp/docs/alias-parameters/index.html +1830 -0
- package/docs/v1/sp/docs/alm/index.html +1920 -0
- package/docs/v1/sp/docs/attachments/index.html +1998 -0
- package/docs/v1/sp/docs/client-side-pages/index.html +2031 -0
- package/docs/v1/sp/docs/comments-likes/index.html +1958 -0
- package/docs/v1/sp/docs/content-types/index.html +1758 -0
- package/docs/v1/sp/docs/entity-merging/index.html +1838 -0
- package/docs/v1/sp/docs/features/index.html +1824 -0
- package/docs/v1/sp/docs/fields/index.html +2031 -0
- package/docs/v1/sp/docs/files/index.html +2178 -0
- package/docs/v1/sp/docs/index.html +1894 -0
- package/docs/v1/sp/docs/items/index.html +2362 -0
- package/docs/v1/sp/docs/navigation-service/index.html +1791 -0
- package/docs/v1/sp/docs/permissions/index.html +1860 -0
- package/docs/v1/sp/docs/profiles/index.html +1794 -0
- package/docs/v1/sp/docs/related-items/index.html +1886 -0
- package/docs/v1/sp/docs/search/index.html +1830 -0
- package/docs/v1/sp/docs/sharing/index.html +2058 -0
- package/docs/v1/sp/docs/sitedesigns/index.html +1851 -0
- package/docs/v1/sp/docs/sites/index.html +2186 -0
- package/docs/v1/sp/docs/social/index.html +2011 -0
- package/docs/v1/sp/docs/sp-utilities-utility/index.html +2061 -0
- package/docs/v1/sp/docs/tenant-properties/index.html +1795 -0
- package/docs/v1/sp/docs/views/index.html +1869 -0
- package/docs/v1/sp/docs/webs/index.html +1972 -0
- package/docs/v1/sp-addinhelpers/docs/index.html +1771 -0
- package/docs/v1/sp-addinhelpers/docs/sp-request-executor-client/index.html +1760 -0
- package/docs/v1/sp-addinhelpers/docs/sp-rest-addin/index.html +1711 -0
- package/docs/v1/sp-clientsvc/docs/index.html +1736 -0
- package/docs/v1/sp-taxonomy/docs/index.html +1887 -0
- package/docs/v1/sp-taxonomy/docs/labels/index.html +1827 -0
- package/docs/v1/sp-taxonomy/docs/term-groups/index.html +1875 -0
- package/docs/v1/sp-taxonomy/docs/term-sets/index.html +1946 -0
- package/docs/v1/sp-taxonomy/docs/term-stores/index.html +2111 -0
- package/docs/v1/sp-taxonomy/docs/terms/index.html +2036 -0
- package/docs/v1/sp-taxonomy/docs/utilities/index.html +1783 -0
- package/docs/v2/404.html +2108 -0
- package/docs/v2/SPFx-on-premises/index.html +2278 -0
- package/docs/v2/_theme/main.html +5 -0
- package/docs/v2/adaljsclient/adalclient/index.html +15 -0
- package/docs/v2/adaljsclient/index.html +15 -0
- package/docs/v2/assets/images/favicon.png +0 -0
- package/docs/v2/assets/javascripts/bundle.9554a270.min.js +2 -0
- package/docs/v2/assets/javascripts/bundle.9554a270.min.js.map +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
- package/docs/v2/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
- package/docs/v2/assets/javascripts/lunr/tinyseg.min.js +1 -0
- package/docs/v2/assets/javascripts/vendor.77e55a48.min.js +30 -0
- package/docs/v2/assets/javascripts/vendor.77e55a48.min.js.map +1 -0
- package/docs/v2/assets/javascripts/worker/search.4ac00218.min.js +59 -0
- package/docs/v2/assets/javascripts/worker/search.4ac00218.min.js.map +1 -0
- package/docs/v2/assets/stylesheets/main.38780c08.min.css +3 -0
- package/docs/v2/assets/stylesheets/main.38780c08.min.css.map +1 -0
- package/docs/v2/assets/stylesheets/palette.3f72e892.min.css +3 -0
- package/docs/v2/assets/stylesheets/palette.3f72e892.min.css.map +1 -0
- package/docs/v2/authentication/adaljsclient/index.html +2510 -0
- package/docs/v2/authentication/bearertokenclient/index.html +2251 -0
- package/docs/v2/authentication/client-spa/index.html +2206 -0
- package/docs/v2/authentication/client-spfx/index.html +2397 -0
- package/docs/v2/authentication/index.html +2307 -0
- package/docs/v2/authentication/lambdaclient/index.html +2304 -0
- package/docs/v2/authentication/msaljsclient/index.html +2413 -0
- package/docs/v2/authentication/server-nodejs/index.html +2404 -0
- package/docs/v2/authentication/sp-app-registration/index.html +2273 -0
- package/docs/v2/common/collections/index.html +2277 -0
- package/docs/v2/common/custom-httpclientimpl/index.html +2300 -0
- package/docs/v2/common/index.html +2262 -0
- package/docs/v2/common/libconfig/index.html +2413 -0
- package/docs/v2/common/netutil/index.html +2350 -0
- package/docs/v2/common/storage/index.html +2339 -0
- package/docs/v2/common/util/index.html +2638 -0
- package/docs/v2/concepts/configuration/index.html +2685 -0
- package/docs/v2/concepts/custom-bundle/index.html +2279 -0
- package/docs/v2/concepts/error-handling/index.html +2539 -0
- package/docs/v2/concepts/ie11-mode/index.html +2278 -0
- package/docs/v2/concepts/invokable/index.html +2254 -0
- package/docs/v2/concepts/polyfill/index.html +2401 -0
- package/docs/v2/concepts/selective-imports/index.html +2360 -0
- package/docs/v2/concepts/settings/index.html +2551 -0
- package/docs/v2/config-store/configuration/index.html +2226 -0
- package/docs/v2/config-store/index.html +2239 -0
- package/docs/v2/config-store/providers/index.html +2275 -0
- package/docs/v2/contributing/debug-tests/index.html +2323 -0
- package/docs/v2/contributing/debugging/index.html +2514 -0
- package/docs/v2/contributing/documentation/index.html +2291 -0
- package/docs/v2/contributing/extending-the-library/index.html +2521 -0
- package/docs/v2/contributing/index.html +2270 -0
- package/docs/v2/contributing/local-debug-configuration/index.html +2284 -0
- package/docs/v2/contributing/pull-requests/index.html +2261 -0
- package/docs/v2/contributing/setup-dev-machine/index.html +2284 -0
- package/docs/v2/css/extra.css +33 -0
- package/docs/v2/debug-tests/index.html +15 -0
- package/docs/v2/debugging/index.html +15 -0
- package/docs/v2/documentation/index.html +15 -0
- package/docs/v2/getting-started/index.html +2789 -0
- package/docs/v2/getting-started-dev/index.html +15 -0
- package/docs/v2/graph/calendars/index.html +2569 -0
- package/docs/v2/graph/contacts/index.html +2673 -0
- package/docs/v2/graph/directoryobjects/index.html +2402 -0
- package/docs/v2/graph/groups/index.html +2488 -0
- package/docs/v2/graph/index.html +2333 -0
- package/docs/v2/graph/insights/index.html +2478 -0
- package/docs/v2/graph/invitations/index.html +2273 -0
- package/docs/v2/graph/onedrive/index.html +2617 -0
- package/docs/v2/graph/outlook/index.html +2363 -0
- package/docs/v2/graph/photos/index.html +2351 -0
- package/docs/v2/graph/planner/index.html +2628 -0
- package/docs/v2/graph/search/index.html +2264 -0
- package/docs/v2/graph/subscriptions/index.html +2333 -0
- package/docs/v2/graph/teams/index.html +2619 -0
- package/docs/v2/graph/users/index.html +2461 -0
- package/docs/v2/img/ConsoleListenerColors.png +0 -0
- package/docs/v2/img/Logo.png +0 -0
- package/docs/v2/img/PnPJS_FluentAPI.gif +0 -0
- package/docs/v2/img/SPFx-On-Premesis-2016-1.png +0 -0
- package/docs/v2/img/office365-header-icon.png +0 -0
- package/docs/v2/img/usage-2020-eoy.png +0 -0
- package/docs/v2/index.html +2410 -0
- package/docs/v2/logging/index.html +2622 -0
- package/docs/v2/news/2020-year-in-review/index.html +2525 -0
- package/docs/v2/nodejs/adal-fetch-client/index.html +2204 -0
- package/docs/v2/nodejs/bearer-token-fetch-client/index.html +2203 -0
- package/docs/v2/nodejs/index.html +2261 -0
- package/docs/v2/nodejs/provider-hosted-app/index.html +2220 -0
- package/docs/v2/nodejs/proxy/index.html +2238 -0
- package/docs/v2/nodejs/sp-extensions/index.html +2362 -0
- package/docs/v2/nodejs/sp-fetch-client/index.html +2294 -0
- package/docs/v2/nodejs-support/index.html +2398 -0
- package/docs/v2/npm-scripts/index.html +2521 -0
- package/docs/v2/odata/caching/index.html +2465 -0
- package/docs/v2/odata/core/index.html +2322 -0
- package/docs/v2/odata/debug/index.html +2358 -0
- package/docs/v2/odata/extensions/index.html +2581 -0
- package/docs/v2/odata/index.html +2259 -0
- package/docs/v2/odata/odata-batch/index.html +2250 -0
- package/docs/v2/odata/parsers/index.html +2355 -0
- package/docs/v2/odata/pipeline/index.html +2297 -0
- package/docs/v2/odata/queryable/index.html +2455 -0
- package/docs/v2/packages/index.html +2251 -0
- package/docs/v2/pnpjs/index.html +2281 -0
- package/docs/v2/search/search_index.json +1 -0
- package/docs/v2/sitemap.xml +483 -0
- package/docs/v2/sitemap.xml.gz +0 -0
- package/docs/v2/sp/alias-parameters/index.html +2330 -0
- package/docs/v2/sp/alm/index.html +2433 -0
- package/docs/v2/sp/attachments/index.html +2504 -0
- package/docs/v2/sp/clientside-pages/index.html +3477 -0
- package/docs/v2/sp/column-defaults/index.html +2540 -0
- package/docs/v2/sp/comments-likes/index.html +2646 -0
- package/docs/v2/sp/content-types/index.html +2462 -0
- package/docs/v2/sp/custom-irequestclient/index.html +2339 -0
- package/docs/v2/sp/entity-merging/index.html +2325 -0
- package/docs/v2/sp/features/index.html +2440 -0
- package/docs/v2/sp/fields/index.html +3103 -0
- package/docs/v2/sp/files/index.html +2949 -0
- package/docs/v2/sp/folders/index.html +2968 -0
- package/docs/v2/sp/forms/index.html +2289 -0
- package/docs/v2/sp/hubsites/index.html +2485 -0
- package/docs/v2/sp/index.html +2328 -0
- package/docs/v2/sp/items/index.html +2974 -0
- package/docs/v2/sp/lists/index.html +3387 -0
- package/docs/v2/sp/navigation/index.html +2535 -0
- package/docs/v2/sp/permissions/index.html +2338 -0
- package/docs/v2/sp/profiles/index.html +2806 -0
- package/docs/v2/sp/regional-settings/index.html +2394 -0
- package/docs/v2/sp/related-items/index.html +2417 -0
- package/docs/v2/sp/search/index.html +2474 -0
- package/docs/v2/sp/security/index.html +2432 -0
- package/docs/v2/sp/sharing/index.html +2589 -0
- package/docs/v2/sp/site-designs/index.html +2414 -0
- package/docs/v2/sp/site-groups/index.html +2504 -0
- package/docs/v2/sp/site-scripts/index.html +2433 -0
- package/docs/v2/sp/site-users/index.html +2641 -0
- package/docs/v2/sp/sites/index.html +2727 -0
- package/docs/v2/sp/social/index.html +2517 -0
- package/docs/v2/sp/sp-utilities-utility/index.html +2460 -0
- package/docs/v2/sp/subscriptions/index.html +2395 -0
- package/docs/v2/sp/taxonomy/index.html +2565 -0
- package/docs/v2/sp/tenant-properties/index.html +2286 -0
- package/docs/v2/sp/user-custom-actions/index.html +2424 -0
- package/docs/v2/sp/views/index.html +2652 -0
- package/docs/v2/sp/webs/index.html +4190 -0
- package/docs/v2/sp-addinhelpers/index.html +2274 -0
- package/docs/v2/sp-addinhelpers/sp-request-executor-client/index.html +2253 -0
- package/docs/v2/sp-addinhelpers/sp-rest-addin/index.html +2206 -0
- package/docs/v2/transition-guide/index.html +2435 -0
- package/mkdocs-requirements.txt +2 -0
- package/mkdocs.yml +188 -0
- package/package.json +96 -0
- package/packages/azidjsclient/index.ts +68 -0
- package/packages/azidjsclient/package.json +13 -0
- package/packages/azidjsclient/tsconfig.json +12 -0
- package/packages/core/behaviors/assign-from.ts +17 -0
- package/packages/core/behaviors/copy-from.ts +58 -0
- package/packages/core/extendable.ts +193 -0
- package/packages/core/index.ts +11 -0
- package/packages/core/moments.ts +117 -0
- package/packages/core/package.json +10 -0
- package/packages/core/storage.ts +274 -0
- package/packages/core/timeline.ts +387 -0
- package/packages/core/tsconfig.json +10 -0
- package/packages/core/util.ts +169 -0
- package/packages/graph/attachments/conversations.ts +14 -0
- package/packages/graph/attachments/index.ts +8 -0
- package/packages/graph/attachments/types.ts +37 -0
- package/packages/graph/batching.ts +408 -0
- package/packages/graph/behaviors/consistency-level.ts +17 -0
- package/packages/graph/behaviors/defaults.ts +41 -0
- package/packages/graph/behaviors/endpoint.ts +22 -0
- package/packages/graph/behaviors/graphbrowser.ts +38 -0
- package/packages/graph/behaviors/paged.ts +109 -0
- package/packages/graph/behaviors/spfx.ts +46 -0
- package/packages/graph/behaviors/telemetry.ts +19 -0
- package/packages/graph/bookings/funcs.ts +18 -0
- package/packages/graph/bookings/index.ts +62 -0
- package/packages/graph/bookings/types.ts +352 -0
- package/packages/graph/calendars/funcs.ts +58 -0
- package/packages/graph/calendars/groups.ts +19 -0
- package/packages/graph/calendars/index.ts +18 -0
- package/packages/graph/calendars/types.ts +73 -0
- package/packages/graph/calendars/users.ts +28 -0
- package/packages/graph/cloud-communications/index.ts +24 -0
- package/packages/graph/cloud-communications/types.ts +32 -0
- package/packages/graph/cloud-communications/users.ts +15 -0
- package/packages/graph/columns/addColumns.ts +28 -0
- package/packages/graph/columns/content-types.ts +44 -0
- package/packages/graph/columns/index.ts +14 -0
- package/packages/graph/columns/lists.ts +33 -0
- package/packages/graph/columns/sites.ts +32 -0
- package/packages/graph/columns/types.ts +24 -0
- package/packages/graph/contacts/index.ts +14 -0
- package/packages/graph/contacts/types.ts +126 -0
- package/packages/graph/contacts/users.ts +17 -0
- package/packages/graph/content-types/index.ts +11 -0
- package/packages/graph/content-types/lists.ts +44 -0
- package/packages/graph/content-types/sites.ts +70 -0
- package/packages/graph/content-types/types.ts +112 -0
- package/packages/graph/conversations/groups.ts +20 -0
- package/packages/graph/conversations/index.ts +19 -0
- package/packages/graph/conversations/types.ts +147 -0
- package/packages/graph/decorators.ts +164 -0
- package/packages/graph/directory-objects/index.ts +24 -0
- package/packages/graph/directory-objects/types.ts +94 -0
- package/packages/graph/fi.ts +46 -0
- package/packages/graph/graphqueryable.ts +193 -0
- package/packages/graph/groups/index.ts +25 -0
- package/packages/graph/groups/types.ts +130 -0
- package/packages/graph/index.ts +21 -0
- package/packages/graph/insights/index.ts +20 -0
- package/packages/graph/insights/types.ts +105 -0
- package/packages/graph/insights/users.ts +14 -0
- package/packages/graph/invitations/index.ts +22 -0
- package/packages/graph/invitations/types.ts +41 -0
- package/packages/graph/lists/drive.ts +21 -0
- package/packages/graph/lists/index.ts +10 -0
- package/packages/graph/lists/sites.ts +16 -0
- package/packages/graph/lists/types.ts +47 -0
- package/packages/graph/members/groups.ts +17 -0
- package/packages/graph/members/index.ts +8 -0
- package/packages/graph/members/types.ts +40 -0
- package/packages/graph/messages/index.ts +14 -0
- package/packages/graph/messages/types.ts +46 -0
- package/packages/graph/messages/users.ts +27 -0
- package/packages/graph/onedrive/funcs.ts +40 -0
- package/packages/graph/onedrive/groups.ts +33 -0
- package/packages/graph/onedrive/index.ts +48 -0
- package/packages/graph/onedrive/sites.ts +35 -0
- package/packages/graph/onedrive/types.ts +482 -0
- package/packages/graph/onedrive/users.ts +56 -0
- package/packages/graph/onenote/index.ts +16 -0
- package/packages/graph/onenote/types.ts +119 -0
- package/packages/graph/onenote/users.ts +14 -0
- package/packages/graph/operations.ts +22 -0
- package/packages/graph/outlook/index.ts +11 -0
- package/packages/graph/outlook/types.ts +58 -0
- package/packages/graph/outlook/users.ts +14 -0
- package/packages/graph/package.json +16 -0
- package/packages/graph/photos/groups.ts +14 -0
- package/packages/graph/photos/index.ts +7 -0
- package/packages/graph/photos/types.ts +33 -0
- package/packages/graph/photos/users.ts +14 -0
- package/packages/graph/planner/groups.ts +14 -0
- package/packages/graph/planner/index.ts +42 -0
- package/packages/graph/planner/types.ts +213 -0
- package/packages/graph/planner/users.ts +14 -0
- package/packages/graph/post-install.cjs +20 -0
- package/packages/graph/presets/all.ts +42 -0
- package/packages/graph/search/index.ts +18 -0
- package/packages/graph/search/types.ts +20 -0
- package/packages/graph/shares/index.ts +23 -0
- package/packages/graph/shares/types.ts +47 -0
- package/packages/graph/sites/group.ts +14 -0
- package/packages/graph/sites/index.ts +25 -0
- package/packages/graph/sites/types.ts +45 -0
- package/packages/graph/subscriptions/index.ts +24 -0
- package/packages/graph/subscriptions/types.ts +59 -0
- package/packages/graph/teams/index.ts +68 -0
- package/packages/graph/teams/types.ts +333 -0
- package/packages/graph/teams/users.ts +14 -0
- package/packages/graph/tsconfig.json +16 -0
- package/packages/graph/users/index.ts +34 -0
- package/packages/graph/users/types.ts +56 -0
- package/packages/graph/utils/type.ts +3 -0
- package/packages/logging/index.ts +145 -0
- package/packages/logging/listeners.ts +134 -0
- package/packages/logging/package.json +10 -0
- package/packages/logging/tsconfig.json +7 -0
- package/packages/msaljsclient/index.ts +40 -0
- package/packages/msaljsclient/package.json +12 -0
- package/packages/msaljsclient/tsconfig.json +12 -0
- package/packages/nodejs/behaviors/fetch.ts +130 -0
- package/packages/nodejs/behaviors/graphdefault.ts +50 -0
- package/packages/nodejs/behaviors/msal.ts +24 -0
- package/packages/nodejs/behaviors/spdefault.ts +45 -0
- package/packages/nodejs/behaviors/stream-parse.ts +7 -0
- package/packages/nodejs/index.ts +33 -0
- package/packages/nodejs/package.json +17 -0
- package/packages/nodejs/sp-extensions/stream.ts +136 -0
- package/packages/nodejs/tsconfig.json +28 -0
- package/packages/queryable/add-prop.ts +18 -0
- package/packages/queryable/behaviors/bearer-token.ts +15 -0
- package/packages/queryable/behaviors/browser-fetch.ts +131 -0
- package/packages/queryable/behaviors/caching-pessimistic.ts +67 -0
- package/packages/queryable/behaviors/caching.ts +149 -0
- package/packages/queryable/behaviors/cancelable.ts +264 -0
- package/packages/queryable/behaviors/inject-headers.ts +23 -0
- package/packages/queryable/behaviors/parsers.ts +134 -0
- package/packages/queryable/behaviors/resolvers.ts +28 -0
- package/packages/queryable/behaviors/timeout.ts +24 -0
- package/packages/queryable/index.ts +19 -0
- package/packages/queryable/invokable.ts +42 -0
- package/packages/queryable/operations.ts +32 -0
- package/packages/queryable/package.json +11 -0
- package/packages/queryable/queryable-factory.ts +19 -0
- package/packages/queryable/queryable.ts +239 -0
- package/packages/queryable/request-builders.ts +20 -0
- package/packages/queryable/tsconfig.json +11 -0
- package/packages/readme.md +21 -0
- package/packages/sp/appcatalog/index.ts +35 -0
- package/packages/sp/appcatalog/types.ts +176 -0
- package/packages/sp/appcatalog/web.ts +19 -0
- package/packages/sp/attachments/index.ts +11 -0
- package/packages/sp/attachments/item.ts +17 -0
- package/packages/sp/attachments/types.ts +95 -0
- package/packages/sp/batching.ts +483 -0
- package/packages/sp/behaviors/defaults.ts +38 -0
- package/packages/sp/behaviors/request-digest.ts +78 -0
- package/packages/sp/behaviors/spbrowser.ts +40 -0
- package/packages/sp/behaviors/spfx.ts +83 -0
- package/packages/sp/behaviors/telemetry.ts +35 -0
- package/packages/sp/clientside-pages/funcs.ts +27 -0
- package/packages/sp/clientside-pages/index.ts +27 -0
- package/packages/sp/clientside-pages/types.ts +1661 -0
- package/packages/sp/clientside-pages/web.ts +93 -0
- package/packages/sp/column-defaults/folder.ts +89 -0
- package/packages/sp/column-defaults/index.ts +8 -0
- package/packages/sp/column-defaults/list.ts +219 -0
- package/packages/sp/column-defaults/types.ts +19 -0
- package/packages/sp/comments/clientside-page.ts +120 -0
- package/packages/sp/comments/index.ts +14 -0
- package/packages/sp/comments/item.ts +77 -0
- package/packages/sp/comments/types.ts +160 -0
- package/packages/sp/content-types/index.ts +17 -0
- package/packages/sp/content-types/item.ts +17 -0
- package/packages/sp/content-types/list.ts +17 -0
- package/packages/sp/content-types/types.ts +181 -0
- package/packages/sp/content-types/web.ts +17 -0
- package/packages/sp/context-info/index.ts +40 -0
- package/packages/sp/decorators.ts +18 -0
- package/packages/sp/favorites/index.ts +32 -0
- package/packages/sp/favorites/types.ts +187 -0
- package/packages/sp/features/index.ts +11 -0
- package/packages/sp/features/site.ts +17 -0
- package/packages/sp/features/types.ts +73 -0
- package/packages/sp/features/web.ts +17 -0
- package/packages/sp/fi.ts +46 -0
- package/packages/sp/fields/index.ts +22 -0
- package/packages/sp/fields/list.ts +17 -0
- package/packages/sp/fields/types.ts +648 -0
- package/packages/sp/fields/web.ts +23 -0
- package/packages/sp/files/folder.ts +17 -0
- package/packages/sp/files/index.ts +25 -0
- package/packages/sp/files/item.ts +17 -0
- package/packages/sp/files/readable-file.ts +40 -0
- package/packages/sp/files/types.ts +771 -0
- package/packages/sp/files/web.ts +46 -0
- package/packages/sp/folders/index.ts +19 -0
- package/packages/sp/folders/item.ts +16 -0
- package/packages/sp/folders/list.ts +17 -0
- package/packages/sp/folders/types.ts +439 -0
- package/packages/sp/folders/web.ts +50 -0
- package/packages/sp/forms/index.ts +9 -0
- package/packages/sp/forms/list.ts +14 -0
- package/packages/sp/forms/types.ts +41 -0
- package/packages/sp/groupsitemanager/index.ts +18 -0
- package/packages/sp/groupsitemanager/types.ts +433 -0
- package/packages/sp/hubsites/index.ts +31 -0
- package/packages/sp/hubsites/site.ts +43 -0
- package/packages/sp/hubsites/types.ts +71 -0
- package/packages/sp/hubsites/web.ts +38 -0
- package/packages/sp/index.ts +24 -0
- package/packages/sp/items/get-all.ts +52 -0
- package/packages/sp/items/index.ts +18 -0
- package/packages/sp/items/list.ts +14 -0
- package/packages/sp/items/types.ts +405 -0
- package/packages/sp/lists/index.ts +23 -0
- package/packages/sp/lists/types.ts +851 -0
- package/packages/sp/lists/web.ts +68 -0
- package/packages/sp/navigation/index.ts +35 -0
- package/packages/sp/navigation/types.ts +243 -0
- package/packages/sp/navigation/web.ts +19 -0
- package/packages/sp/operations.ts +33 -0
- package/packages/sp/package.json +15 -0
- package/packages/sp/post-install.cjs +20 -0
- package/packages/sp/presets/all.ts +75 -0
- package/packages/sp/profiles/index.ts +30 -0
- package/packages/sp/profiles/types.ts +595 -0
- package/packages/sp/publishing-sitepageservice/index.ts +22 -0
- package/packages/sp/publishing-sitepageservice/types.ts +18 -0
- package/packages/sp/recycle-bin/index.ts +36 -0
- package/packages/sp/recycle-bin/types.ts +113 -0
- package/packages/sp/regional-settings/content-type.ts +11 -0
- package/packages/sp/regional-settings/field.ts +11 -0
- package/packages/sp/regional-settings/funcs.ts +10 -0
- package/packages/sp/regional-settings/index.ts +18 -0
- package/packages/sp/regional-settings/list.ts +11 -0
- package/packages/sp/regional-settings/types.ts +159 -0
- package/packages/sp/regional-settings/user-custom-actions.ts +11 -0
- package/packages/sp/regional-settings/web.ts +21 -0
- package/packages/sp/related-items/index.ts +7 -0
- package/packages/sp/related-items/types.ts +194 -0
- package/packages/sp/related-items/web.ts +22 -0
- package/packages/sp/search/index.ts +48 -0
- package/packages/sp/search/query.ts +254 -0
- package/packages/sp/search/suggest.ts +130 -0
- package/packages/sp/search/types.ts +480 -0
- package/packages/sp/security/funcs.ts +94 -0
- package/packages/sp/security/index.ts +21 -0
- package/packages/sp/security/item.ts +29 -0
- package/packages/sp/security/list.ts +29 -0
- package/packages/sp/security/types.ts +440 -0
- package/packages/sp/security/web.ts +34 -0
- package/packages/sp/sharing/file.ts +75 -0
- package/packages/sp/sharing/folder.ts +69 -0
- package/packages/sp/sharing/funcs.ts +258 -0
- package/packages/sp/sharing/index.ts +27 -0
- package/packages/sp/sharing/item.ts +53 -0
- package/packages/sp/sharing/types.ts +626 -0
- package/packages/sp/sharing/web.ts +109 -0
- package/packages/sp/site-designs/index.ts +29 -0
- package/packages/sp/site-designs/types.ts +456 -0
- package/packages/sp/site-designs/web.ts +41 -0
- package/packages/sp/site-groups/index.ts +11 -0
- package/packages/sp/site-groups/types.ts +133 -0
- package/packages/sp/site-groups/web.ts +73 -0
- package/packages/sp/site-scripts/index.ts +27 -0
- package/packages/sp/site-scripts/list.ts +27 -0
- package/packages/sp/site-scripts/types.ts +243 -0
- package/packages/sp/site-scripts/web.ts +24 -0
- package/packages/sp/site-users/index.ts +12 -0
- package/packages/sp/site-users/types.ts +195 -0
- package/packages/sp/site-users/web.ts +56 -0
- package/packages/sp/sites/index.ts +26 -0
- package/packages/sp/sites/types.ts +422 -0
- package/packages/sp/social/index.ts +33 -0
- package/packages/sp/social/types.ts +381 -0
- package/packages/sp/spqueryable.ts +244 -0
- package/packages/sp/sputilities/index.ts +23 -0
- package/packages/sp/sputilities/types.ts +197 -0
- package/packages/sp/subscriptions/index.ts +10 -0
- package/packages/sp/subscriptions/list.ts +18 -0
- package/packages/sp/subscriptions/types.ts +107 -0
- package/packages/sp/taxonomy/index.ts +50 -0
- package/packages/sp/taxonomy/types.ts +508 -0
- package/packages/sp/tsconfig.json +16 -0
- package/packages/sp/types.ts +283 -0
- package/packages/sp/user-custom-actions/index.ts +15 -0
- package/packages/sp/user-custom-actions/list.ts +18 -0
- package/packages/sp/user-custom-actions/site.ts +18 -0
- package/packages/sp/user-custom-actions/types.ts +133 -0
- package/packages/sp/user-custom-actions/web.ts +21 -0
- package/packages/sp/utils/encode-path-str.ts +29 -0
- package/packages/sp/utils/extract-web-url.ts +21 -0
- package/packages/sp/utils/file-names.ts +35 -0
- package/packages/sp/utils/metadata.ts +5 -0
- package/packages/sp/utils/odata-url-from.ts +42 -0
- package/packages/sp/utils/to-resource-path.ts +9 -0
- package/packages/sp/views/index.ts +14 -0
- package/packages/sp/views/list.ts +33 -0
- package/packages/sp/views/types.ts +210 -0
- package/packages/sp/webparts/file.ts +21 -0
- package/packages/sp/webparts/index.ts +11 -0
- package/packages/sp/webparts/types.ts +141 -0
- package/packages/sp/webs/index.ts +32 -0
- package/packages/sp/webs/types.ts +350 -0
- package/packages/sp-admin/index.ts +46 -0
- package/packages/sp-admin/office-tenant.ts +567 -0
- package/packages/sp-admin/package.json +13 -0
- package/packages/sp-admin/site-properties.ts +45 -0
- package/packages/sp-admin/tenant.ts +595 -0
- package/packages/sp-admin/tsconfig.json +20 -0
- package/packages/sp-admin/types.ts +1679 -0
- package/packages/tsconfig-watch.json +9 -0
- package/packages/tsconfig.json +37 -0
- package/pre-install.cjs +1 -0
- package/samples/custom-bundle-webpack/index.ts +33 -0
- package/samples/custom-bundle-webpack/package-lock.json +4601 -0
- package/samples/custom-bundle-webpack/package.json +18 -0
- package/samples/custom-bundle-webpack/readme.md +102 -0
- package/samples/custom-bundle-webpack/tsconfig.json +12 -0
- package/samples/custom-bundle-webpack/webpack.config.js +27 -0
- package/samples/nodejs-app/.vscode/launch.json +27 -0
- package/samples/nodejs-app/.vscode/settings.json +10 -0
- package/samples/nodejs-app/.vscode/tasks.json +22 -0
- package/samples/nodejs-app/index.ts +63 -0
- package/samples/nodejs-app/package-lock.json +259 -0
- package/samples/nodejs-app/package.json +21 -0
- package/samples/nodejs-app/readme.md +140 -0
- package/samples/nodejs-app/tsconfig.json +14 -0
- package/samples/nodejs-commonjs/package-lock.json +702 -0
- package/samples/nodejs-commonjs/package.json +21 -0
- package/samples/nodejs-commonjs/readme.md +58 -0
- package/samples/nodejs-commonjs/src/index.ts +23 -0
- package/samples/nodejs-commonjs/src/settings.ts +35 -0
- package/samples/nodejs-commonjs/tsconfig.json +35 -0
- package/samples/project-preset/README.md +73 -0
- package/samples/project-preset/package-lock.json +21097 -0
- package/samples/project-preset/package.json +29 -0
- package/samples/project-preset/teams/4530a515-8ba7-45bb-9a27-be06b33c59d4_color.png +0 -0
- package/samples/project-preset/teams/4530a515-8ba7-45bb-9a27-be06b33c59d4_outline.png +0 -0
- package/samples/readme.md +16 -0
- package/settings.example.js +57 -0
- package/test/args.ts +107 -0
- package/test/clean-subsite.ts +36 -0
- package/test/core/assumptions.ts +99 -0
- package/test/core/storage.ts +60 -0
- package/test/core/timeline.ts +205 -0
- package/test/core/util.ts +205 -0
- package/test/graph/assets/testconvert.docx +0 -0
- package/test/graph/batch.ts +125 -0
- package/test/graph/calendars.ts +234 -0
- package/test/graph/columns.ts +247 -0
- package/test/graph/contacts.ts +254 -0
- package/test/graph/content-types.ts +206 -0
- package/test/graph/directoryobjects.ts +115 -0
- package/test/graph/groups.ts +130 -0
- package/test/graph/lists.ts +72 -0
- package/test/graph/onedrive.ts +365 -0
- package/test/graph/outlook.ts +95 -0
- package/test/graph/paging.ts +91 -0
- package/test/graph/planner.ts +160 -0
- package/test/graph/querable.ts +97 -0
- package/test/graph/search.ts +4 -0
- package/test/graph/shares.ts +26 -0
- package/test/graph/sites.ts +40 -0
- package/test/graph/teams.ts +76 -0
- package/test/graph/utilities/getTestingGraphSPSite.ts +27 -0
- package/test/graph/utilities/getValidUser.ts +37 -0
- package/test/load-settings.ts +103 -0
- package/test/logging/logging.ts +86 -0
- package/test/mocha-root-hooks.ts +227 -0
- package/test/nodejs/sp-extensions.ts +86 -0
- package/test/pnp-test.ts +60 -0
- package/test/queryable/add-prop.ts +24 -0
- package/test/queryable/behaviors.ts +188 -0
- package/test/queryable/invokable.ts +35 -0
- package/test/queryable/queryable.ts +118 -0
- package/test/sp/alias.ts +46 -0
- package/test/sp/appcatalog.ts +142 -0
- package/test/sp/assets/helloworld.sppkg +0 -0
- package/test/sp/assets/sample_file.jpg +0 -0
- package/test/sp/attachments.ts +134 -0
- package/test/sp/batch.ts +362 -0
- package/test/sp/clientside-pages.ts +426 -0
- package/test/sp/column-defaults.ts +225 -0
- package/test/sp/comments.ts +202 -0
- package/test/sp/content-types.ts +68 -0
- package/test/sp/favorites.ts +2 -0
- package/test/sp/features.ts +201 -0
- package/test/sp/fields.ts +396 -0
- package/test/sp/files.ts +338 -0
- package/test/sp/folders.ts +242 -0
- package/test/sp/forms.ts +22 -0
- package/test/sp/groupsitemanager.ts +88 -0
- package/test/sp/hubsites.ts +41 -0
- package/test/sp/items.ts +179 -0
- package/test/sp/lists.ts +319 -0
- package/test/sp/navigation.ts +167 -0
- package/test/sp/profiles.ts +2 -0
- package/test/sp/query-escaping.ts +94 -0
- package/test/sp/recycle-bin.ts +1 -0
- package/test/sp/regional-settings.ts +58 -0
- package/test/sp/related-items.ts +94 -0
- package/test/sp/search.ts +39 -0
- package/test/sp/security.ts +90 -0
- package/test/sp/sharing.ts +313 -0
- package/test/sp/site-designs.ts +224 -0
- package/test/sp/site-groups.ts +98 -0
- package/test/sp/site-scripts.ts +162 -0
- package/test/sp/site-users.ts +93 -0
- package/test/sp/sites.ts +156 -0
- package/test/sp/social.ts +2 -0
- package/test/sp/spfx.ts +52 -0
- package/test/sp/sputilities.ts +78 -0
- package/test/sp/subscriptions.ts +64 -0
- package/test/sp/taxonomy.ts +178 -0
- package/test/sp/user-custom-actions.ts +31 -0
- package/test/sp/views.ts +117 -0
- package/test/sp/webparts.ts +38 -0
- package/test/sp/webs.ts +249 -0
- package/test/test-invokable-props.ts +35 -0
- package/test/test-props.ts +90 -0
- package/test/test-recording.ts +171 -0
- package/test/tsconfig.json +18 -0
- package/tools/buildsystem/package-lock.json +4404 -0
- package/tools/buildsystem/package.json +56 -0
- package/tools/buildsystem/readme.md +23 -0
- package/tools/config.js +34 -0
- package/tools/local-module-resolver/cjs.ts +33 -0
- package/tools/local-module-resolver/esm-debug.ts +2 -0
- package/tools/local-module-resolver/esm-test.ts +2 -0
- package/tools/local-module-resolver/esm.ts +112 -0
- package/tools/local-module-resolver/readme.md +8 -0
- package/tsconfig.buildsystem.json +17 -0
- package/tsconfig.json +42 -0
@@ -0,0 +1,257 @@
|
|
1
|
+
# Batching
|
2
|
+
|
3
|
+
Where possible batching can significantly increase application performance by combining multiple requests to the server into one. This is especially useful when first establishing state, but applies for any scenario where you need to make multiple requests before loading or based on a user action. Batching is supported within the sp and graph libraries as shown below.
|
4
|
+
|
5
|
+
## SP Example
|
6
|
+
|
7
|
+
```TypeScript
|
8
|
+
import { spfi } from "@pnp/sp";
|
9
|
+
import "@pnp/sp/webs";
|
10
|
+
import "@pnp/sp/lists";
|
11
|
+
import "@pnp/sp/batching";
|
12
|
+
|
13
|
+
const sp = spfi(...);
|
14
|
+
|
15
|
+
const [batchedSP, execute] = sp.batched();
|
16
|
+
|
17
|
+
let res = [];
|
18
|
+
|
19
|
+
// you need to use .then syntax here as otherwise the application will stop and await the result
|
20
|
+
batchedSP.web().then(r => res.push(r));
|
21
|
+
|
22
|
+
// you need to use .then syntax here as otherwise the application will stop and await the result
|
23
|
+
// ODATA operations such as select, filter, and expand are supported as normal
|
24
|
+
batchedSP.web.lists.select("Title")().then(r => res.push(r));
|
25
|
+
|
26
|
+
// Executes the batched calls
|
27
|
+
await execute();
|
28
|
+
|
29
|
+
// Results for all batched calls are available
|
30
|
+
for(let i = 0; i < res.length; i++) {
|
31
|
+
///Do something with the results
|
32
|
+
}
|
33
|
+
```
|
34
|
+
|
35
|
+
### Using a batched web
|
36
|
+
|
37
|
+
```TypeScript
|
38
|
+
import { spfi } from "@pnp/sp";
|
39
|
+
import "@pnp/sp/webs";
|
40
|
+
import "@pnp/sp/lists";
|
41
|
+
import "@pnp/sp/batching";
|
42
|
+
|
43
|
+
const sp = spfi(...);
|
44
|
+
|
45
|
+
const [batchedWeb, execute] = sp.web.batched();
|
46
|
+
|
47
|
+
let res = [];
|
48
|
+
|
49
|
+
// you need to use .then syntax here as otherwise the application will stop and await the result
|
50
|
+
batchedWeb().then(r => res.push(r));
|
51
|
+
|
52
|
+
// you need to use .then syntax here as otherwise the application will stop and await the result
|
53
|
+
// ODATA operations such as select, filter, and expand are supported as normal
|
54
|
+
batchedWeb.lists.select("Title")().then(r => res.push(r));
|
55
|
+
|
56
|
+
// Executes the batched calls
|
57
|
+
await execute();
|
58
|
+
|
59
|
+
// Results for all batched calls are available
|
60
|
+
for(let i = 0; i < res.length; i++) {
|
61
|
+
///Do something with the results
|
62
|
+
}
|
63
|
+
```
|
64
|
+
|
65
|
+
> Batches must be for the same web, you cannot combine requests from multiple webs into a batch.
|
66
|
+
|
67
|
+
## Graph Example
|
68
|
+
|
69
|
+
```TypeScript
|
70
|
+
import { graphfi } from "@pnp/graph";
|
71
|
+
import { GraphDefault } from "@pnp/nodejs";
|
72
|
+
import "@pnp/graph/users";
|
73
|
+
import "@pnp/graph/groups";
|
74
|
+
import "@pnp/graph/batching";
|
75
|
+
|
76
|
+
const graph = graphfi().using(GraphDefault({ /* ... */ }));
|
77
|
+
|
78
|
+
const [batchedGraph, execute] = graph.batched();
|
79
|
+
|
80
|
+
let res = [];
|
81
|
+
|
82
|
+
// Pushes the results of these calls to an array
|
83
|
+
// you need to use .then syntax here as otherwise the application will stop and await the result
|
84
|
+
batchedGraph.users().then(r => res.push(r));
|
85
|
+
|
86
|
+
// you need to use .then syntax here as otherwise the application will stop and await the result
|
87
|
+
// ODATA operations such as select, filter, and expand are supported as normal
|
88
|
+
batchedGraph.groups.select("Id")().then(r => res.push(r));
|
89
|
+
|
90
|
+
// Executes the batched calls
|
91
|
+
await execute();
|
92
|
+
|
93
|
+
// Results for all batched calls are available
|
94
|
+
for(let i=0; i<res.length; i++){
|
95
|
+
// Do something with the results
|
96
|
+
}
|
97
|
+
```
|
98
|
+
|
99
|
+
## Advanced Batching
|
100
|
+
|
101
|
+
For most cases the above usage should be sufficient, however you may be in a situation where you do not have convenient access to either an spfi instance or a web. Let's say for example you want to add a lot of items to a list and have an IList. You can in these cases use the createBatch function directly. We recommend as much as possible using the sp or web or graph batched method, but also provide this additional flexibility if you need it.
|
102
|
+
|
103
|
+
```TypeScript
|
104
|
+
import { createBatch } from "@pnp/sp/batching";
|
105
|
+
import { SPDefault } from "@pnp/nodejs";
|
106
|
+
import { IList } from "@pnp/sp/lists";
|
107
|
+
import "@pnp/sp/items/list";
|
108
|
+
|
109
|
+
const sp = spfi("https://tenant.sharepoint.com/sites/dev").using(SPDefault({ /* ... */ }));
|
110
|
+
|
111
|
+
// in one part of your application you setup a list instance
|
112
|
+
const list: IList = sp.web.lists.getByTitle("MyList");
|
113
|
+
|
114
|
+
|
115
|
+
// in another part of your application you want to batch requests, but do not have the sp instance available, just the IList
|
116
|
+
|
117
|
+
// note here the first part of the tuple is NOT the object, rather the behavior that enables batching. You must still register it with `using`.
|
118
|
+
const [batchedListBehavior, execute] = createBatch(list);
|
119
|
+
// this list is now batching all its requests
|
120
|
+
list.using(batchedListBehavior);
|
121
|
+
|
122
|
+
// these will all occur within a single batch
|
123
|
+
list.items.add({ Title: `1: ${getRandomString(4)}` });
|
124
|
+
list.items.add({ Title: `2: ${getRandomString(4)}` });
|
125
|
+
list.items.add({ Title: `3: ${getRandomString(4)}` });
|
126
|
+
list.items.add({ Title: `4: ${getRandomString(4)}` });
|
127
|
+
|
128
|
+
await execute();
|
129
|
+
```
|
130
|
+
|
131
|
+
This is of course also possible with the graph library as shown below.
|
132
|
+
|
133
|
+
```TypeScript
|
134
|
+
import { graphfi } from "@pnp/graph";
|
135
|
+
import { createBatch } from "@pnp/graph/batching";
|
136
|
+
import { GraphDefault } from "@pnp/nodejs";
|
137
|
+
import "@pnp/graph/users";
|
138
|
+
|
139
|
+
const graph = graphfi().using(GraphDefault({ /* ... */ }));
|
140
|
+
|
141
|
+
const users = graph.users;
|
142
|
+
|
143
|
+
const [batchedBehavior, execute] = createBatch(users);
|
144
|
+
users.using(batchedBehavior);
|
145
|
+
|
146
|
+
users();
|
147
|
+
// we can only place the 'users' instance into the batch once
|
148
|
+
graph.users.using(batchedBehavior)();
|
149
|
+
graph.users.using(batchedBehavior)();
|
150
|
+
graph.users.using(batchedBehavior)();
|
151
|
+
|
152
|
+
await execute();
|
153
|
+
```
|
154
|
+
|
155
|
+
[](#reuse)
|
156
|
+
|
157
|
+
## Don't reuse objects in Batching
|
158
|
+
|
159
|
+
It shouldn't come up often, but you can not make multiple requests using the same instance of a queryable in a batch. Let's consider the **incorrect** example below:
|
160
|
+
|
161
|
+
> The error message will be "This instance is already part of a batch. Please review the docs at <https://pnp.github.io/pnpjs/concepts/batching#reuse>."
|
162
|
+
|
163
|
+
```TypeScript
|
164
|
+
import { graphfi } from "@pnp/graph";
|
165
|
+
import { createBatch } from "@pnp/graph/batching";
|
166
|
+
import { GraphDefault } from "@pnp/nodejs";
|
167
|
+
import "@pnp/graph/users";
|
168
|
+
|
169
|
+
const graph = graphfi().using(GraphDefault({ /* ... */ }));
|
170
|
+
|
171
|
+
// gain a batched instance of the graph
|
172
|
+
const [batchedGraph, execute] = graph.batched();
|
173
|
+
|
174
|
+
// we take a reference to the value returned from .users
|
175
|
+
const users = batchedGraph.users;
|
176
|
+
|
177
|
+
// we invoke it, adding it to the batch (this is a request to /users), it will succeed
|
178
|
+
users();
|
179
|
+
|
180
|
+
// we invoke it again, because this instance has already been added to the batch, this request will throw an error
|
181
|
+
users();
|
182
|
+
|
183
|
+
// we execute the batch, this promise will resolve
|
184
|
+
await execute();
|
185
|
+
```
|
186
|
+
|
187
|
+
To overcome this you can either start a new fluent chain or use the factory method. Starting a new fluent chain at any point will create a new instance. Please review the **corrected** sample below.
|
188
|
+
|
189
|
+
```TypeScript
|
190
|
+
import { graphfi } from "@pnp/graph";
|
191
|
+
import { createBatch } from "@pnp/graph/batching";
|
192
|
+
import { GraphDefault } from "@pnp/nodejs";
|
193
|
+
import { Users } from "@pnp/graph/users";
|
194
|
+
|
195
|
+
const graph = graphfi().using(GraphDefault({ /* ... */ }));
|
196
|
+
|
197
|
+
// gain a batched instance of the graph
|
198
|
+
const [batchedGraph, execute] = graph.batched();
|
199
|
+
|
200
|
+
// we invoke a new instance of users from the batchedGraph
|
201
|
+
batchedGraph.users();
|
202
|
+
|
203
|
+
// we again invoke a new instance of users from the batchedGraph, this is fine
|
204
|
+
batchedGraph.users();
|
205
|
+
|
206
|
+
const users = batchedGraph.users;
|
207
|
+
// we can do this once
|
208
|
+
users();
|
209
|
+
|
210
|
+
// by creating a new users instance using the Users factory we can keep adding things to the batch
|
211
|
+
// users2 will be part of the same batch
|
212
|
+
const users2 = Users(users);
|
213
|
+
users2();
|
214
|
+
|
215
|
+
// we execute the batch, this promise will resolve
|
216
|
+
await execute();
|
217
|
+
```
|
218
|
+
|
219
|
+
> In addition you cannot continue using a batch after execute. Once execute has resolved the batch is done. You should create a new batch using one of the described methods to conduct another batched call.
|
220
|
+
|
221
|
+
## Case where batch result returns an object that can be invoked
|
222
|
+
|
223
|
+
In the following example, the results of adding items to the list is an object with a type of **IItemAddResult** which is `{data: any, item: IItem}`. Since version v1 the expectation is that the `item` object is immediately usable to make additional queries. When this object is the result of a batched call, this was not the case so we have added additional code to reset the observers using the original base from witch the batch was created, mimicing the behavior had the **IItem** been created from that base withyout a batch involved. We use [CopyFrom](../core/behaviors.md#CopyFrom) to ensure that we maintain the references to the InternalResolve and InternalReject events through the end of this timelines lifecycle.
|
224
|
+
|
225
|
+
```TypeScript
|
226
|
+
import { createBatch } from "@pnp/sp/batching";
|
227
|
+
import { SPDefault } from "@pnp/nodejs";
|
228
|
+
import { IList } from "@pnp/sp/lists";
|
229
|
+
import "@pnp/sp/items/list";
|
230
|
+
|
231
|
+
const sp = spfi("https://tenant.sharepoint.com/sites/dev").using(SPDefault({ /* ... */ }));
|
232
|
+
|
233
|
+
// in one part of your application you setup a list instance
|
234
|
+
const list: IList = sp.web.lists.getByTitle("MyList");
|
235
|
+
|
236
|
+
const [batchedListBehavior, execute] = createBatch(list);
|
237
|
+
// this list is now batching all its requests
|
238
|
+
list.using(batchedListBehavior);
|
239
|
+
|
240
|
+
let res: IItemAddResult[] = [];
|
241
|
+
|
242
|
+
// these will all occur within a single batch
|
243
|
+
list.items.add({ Title: `1: ${getRandomString(4)}` }).then(r => res.push(r));
|
244
|
+
list.items.add({ Title: `2: ${getRandomString(4)}` }).then(r => res.push(r));
|
245
|
+
list.items.add({ Title: `3: ${getRandomString(4)}` }).then(r => res.push(r));
|
246
|
+
list.items.add({ Title: `4: ${getRandomString(4)}` }).then(r => res.push(r));
|
247
|
+
|
248
|
+
await execute();
|
249
|
+
|
250
|
+
let newItems: IItem[] = [];
|
251
|
+
|
252
|
+
for(let i=0; i<res.length; i++){
|
253
|
+
//This line will correctly resolve
|
254
|
+
const newItem = await res[i].item.select("Title")<{Title: string}>();
|
255
|
+
newItems.push(newItem);
|
256
|
+
}
|
257
|
+
```
|
@@ -0,0 +1,213 @@
|
|
1
|
+
# Calling other endpoints not currently implemented in PnPjs library
|
2
|
+
|
3
|
+
If you find that there are endpoints that have not yet been implemented, or have changed in such a way that there are issues using the implemented endpoint, you can still make those calls and take advantage of the plumbing provided by the library.
|
4
|
+
|
5
|
+
## SharePoint
|
6
|
+
|
7
|
+
To issue calls against the SharePoint REST endpoints you would use one of the existing [operations](https://github.com/pnp/pnpjs/blob/version-3/packages/sp/operations.ts):
|
8
|
+
|
9
|
+
- spGet
|
10
|
+
- spPost
|
11
|
+
- spDelete
|
12
|
+
- spPatch
|
13
|
+
and the extended post methods with additional headers.
|
14
|
+
- spPostMerge
|
15
|
+
- spPostDelete
|
16
|
+
- spPostDeleteETag
|
17
|
+
|
18
|
+
To construct a call you will need to pass, to the operation call an SPQueryable and optionally a RequestInit object which will be merged with any existing registered init object. To learn more about queryable and the options for constructing one, check out the [documentation](../queryable/queryable.md).
|
19
|
+
|
20
|
+
Below are a couple of examples to get you started.
|
21
|
+
|
22
|
+
### Example spGet
|
23
|
+
|
24
|
+
Let's pretend that the getById method didn't exist on a lists items. The example below shows two methods for constructing our SPQueryable method.
|
25
|
+
|
26
|
+
The first is the easiest to use because, as the queryable documentation tells us, this will maintain all the registered observers on the original queryable instance. We would start with the queryable object closest to the endpoint we want to use, in this case `list`. We do this because we need to construct the full URL that will be called. Using `list` in this instance gives us the first part of the URL (e.g. `https://contoso.sharepoint.com/sites/testsite/_api/web/lists/getByTitle('My List')`) and then we can construct the remainder of the call by passing in a string.
|
27
|
+
|
28
|
+
The second method essentially starts from scratch where the user constructs the entire url and then registers observers on the SPQuerable instance. Then uses spGet to execute the call. There are many other variations to arrive at the same outcome, all are dependent on your requirements.
|
29
|
+
|
30
|
+
```TypeScript
|
31
|
+
import { spfi } from "@pnp/sp";
|
32
|
+
import { AssignFrom } from "@pnp/core";
|
33
|
+
import "@pnp/sp/webs";
|
34
|
+
import "@pnp/sp/lists";
|
35
|
+
import { spGet, SPQueryable, SPFx } from "@pnp/sp";
|
36
|
+
|
37
|
+
// Establish SPFI instance passing in the appropriate behavior to register the initial observers.
|
38
|
+
const sp = spfi(...);
|
39
|
+
|
40
|
+
// create an instance of the items queryable
|
41
|
+
|
42
|
+
const list = sp.web.lists.getByTitle("My List");
|
43
|
+
|
44
|
+
// get the item with an id of 1, easiest method
|
45
|
+
const item: any = await spGet(SPQueryable(list, "items(1)"));
|
46
|
+
|
47
|
+
// get the item with an id of 1, constructing a new queryable and registering behaviors
|
48
|
+
const spQueryable = SPQueryable("https://contoso.sharepoint.com/sites/testsite/_api/web/lists/getByTitle('My List')/items(1)").using(SPFx(this.context));
|
49
|
+
|
50
|
+
// ***or***
|
51
|
+
|
52
|
+
// For v3 the full url is require for SPQuerable when providing just a string
|
53
|
+
const spQueryable = SPQueryable("https://contoso.sharepoint.com/sites/testsite/_api/web/lists/getByTitle('My List')/items(1)").using(AssignFrom(sp.web));
|
54
|
+
|
55
|
+
// and then use spQueryable to make the request
|
56
|
+
const item: any = await spGet(spQueryable);
|
57
|
+
```
|
58
|
+
|
59
|
+
The resulting call will be to the endpoint:
|
60
|
+
`https://contoso.sharepoint.com/sites/testsite/_api/web/lists/getByTitle('My List')/items(1)`
|
61
|
+
|
62
|
+
### Example spPost
|
63
|
+
|
64
|
+
Let's now pretend that we need to get the changes on a list and want to call the `getchanges` method off list.
|
65
|
+
|
66
|
+
```TypeScript
|
67
|
+
import { spfi } from "@pnp/sp";
|
68
|
+
import "@pnp/sp/webs";
|
69
|
+
import "@pnp/sp/lists";
|
70
|
+
import { IChangeQuery, spPost, SPQueryable } from "@pnp/sp";
|
71
|
+
import { body } from "@pnp/queryable";
|
72
|
+
|
73
|
+
// Establish SPFI instance passing in the appropriate behavior to register the initial observers.
|
74
|
+
const sp = spfi(...);
|
75
|
+
|
76
|
+
|
77
|
+
// build the changeQuery object, here we look att changes regarding Add, DeleteObject and Restore
|
78
|
+
const query: IChangeQuery = {
|
79
|
+
Add: true,
|
80
|
+
ChangeTokenEnd: null,
|
81
|
+
ChangeTokenStart: null,
|
82
|
+
DeleteObject: true,
|
83
|
+
Rename: true,
|
84
|
+
Restore: true,
|
85
|
+
};
|
86
|
+
|
87
|
+
// create an instance of the items queryable
|
88
|
+
const list = sp.web.lists.getByTitle("My List");
|
89
|
+
|
90
|
+
// get the item with an id of 1
|
91
|
+
const changes: any = await spPost(SPQueryable(list, "getchanges"), body({query}));
|
92
|
+
|
93
|
+
```
|
94
|
+
|
95
|
+
The resulting call will be to the endpoint:
|
96
|
+
`https://contoso.sharepoint.com/sites/testsite/_api/web/lists/getByTitle('My List')/getchanges`
|
97
|
+
|
98
|
+
## Microsoft Graph
|
99
|
+
|
100
|
+
To issue calls against the Microsoft Graph REST endpoints you would use one of the existing [operations](https://github.com/pnp/pnpjs/blob/version-3/packages/graph/operations.ts):
|
101
|
+
|
102
|
+
- graphGet
|
103
|
+
- graphPost
|
104
|
+
- graphDelete
|
105
|
+
- graphPatch
|
106
|
+
- graphPut
|
107
|
+
|
108
|
+
To construct a call you will need to pass, to the operation call an GraphQueryable and optionally a RequestInit object which will be merged with any existing registered init object. To learn more about queryable and the options for constructing one, check out the [documentation](../queryable/queryable.md).
|
109
|
+
|
110
|
+
Below are a couple of examples to get you started.
|
111
|
+
|
112
|
+
### Example graphGet
|
113
|
+
|
114
|
+
Here's an example for getting the chats for a particular user. This uses the simplest method for constructing the graphQueryable which is to start with a instance of a queryable that is close to the endpoint we want to call, in this case `user` and then adding the additional path as a string. For a more advanced example see `spGet` above.
|
115
|
+
|
116
|
+
```TypeScript
|
117
|
+
import { graphfi } from "@pnp/graph";
|
118
|
+
import "@pnp/graph/users";
|
119
|
+
import { GraphQueryable, graphGet } from "@pnp/graph";
|
120
|
+
|
121
|
+
// Establish GRAPHFI instance passing in the appropriate behavior to register the initial observers.
|
122
|
+
const graph = graphfi(...);
|
123
|
+
|
124
|
+
// create an instance of the user queryable
|
125
|
+
const user = graph.users.getById('jane@contoso.com');
|
126
|
+
|
127
|
+
// get the chats for the user
|
128
|
+
const chat: any = await graphGet(GraphQueryable(user, "chats"));
|
129
|
+
```
|
130
|
+
|
131
|
+
The results call will be to the endpoint:
|
132
|
+
`https://graph.microsoft.com/v1.0/users/jane@contoso.com/chats`
|
133
|
+
|
134
|
+
### Example graphPost
|
135
|
+
|
136
|
+
This is an example of adding an event to a calendar.
|
137
|
+
|
138
|
+
```TypeScript
|
139
|
+
import { graphfi } from "@pnp/graph";
|
140
|
+
import "@pnp/graph/users";
|
141
|
+
import "@pnp/graph/calendars";
|
142
|
+
import { GraphQueryable, graphPost } from "@pnp/graph";
|
143
|
+
import { body, InjectHeaders } from "@pnp/queryable";
|
144
|
+
|
145
|
+
// Establish GRAPHFI instance passing in the appropriate behavior to register the initial observers.
|
146
|
+
const graph = graphfi(...);
|
147
|
+
|
148
|
+
// create an instance of the user queryable
|
149
|
+
const calendar = graph.users.getById('jane@contoso.com').calendar;
|
150
|
+
|
151
|
+
const props = {
|
152
|
+
"subject": "Let's go for lunch",
|
153
|
+
"body": {
|
154
|
+
"contentType": "HTML",
|
155
|
+
"content": "Does noon work for you?"
|
156
|
+
},
|
157
|
+
"start": {
|
158
|
+
"dateTime": "2017-04-15T12:00:00",
|
159
|
+
"timeZone": "Pacific Standard Time"
|
160
|
+
},
|
161
|
+
"end": {
|
162
|
+
"dateTime": "2017-04-15T14:00:00",
|
163
|
+
"timeZone": "Pacific Standard Time"
|
164
|
+
},
|
165
|
+
"location":{
|
166
|
+
"displayName":"Harry's Bar"
|
167
|
+
},
|
168
|
+
"attendees": [
|
169
|
+
{
|
170
|
+
"emailAddress": {
|
171
|
+
"address":"samanthab@contoso.onmicrosoft.com",
|
172
|
+
"name": "Samantha Booth"
|
173
|
+
},
|
174
|
+
"type": "required"
|
175
|
+
}
|
176
|
+
],
|
177
|
+
"allowNewTimeProposals": true,
|
178
|
+
"transactionId":"7E163156-7762-4BEB-A1C6-729EA81755A7"
|
179
|
+
};
|
180
|
+
|
181
|
+
// custom request init to add timezone header.
|
182
|
+
const graphQueryable = GraphQueryable(calendar, "events").using(InjectHeaders({
|
183
|
+
"Prefer": 'outlook.timezone="Pacific Standard Time"',
|
184
|
+
}));
|
185
|
+
|
186
|
+
// adds a new event to the user's calendar
|
187
|
+
const event: any = await graphPost(graphQueryable, body(props));
|
188
|
+
```
|
189
|
+
|
190
|
+
The results call will be to the endpoint:
|
191
|
+
`https://graph.microsoft.com/v1.0/users/jane@contoso.com/calendar/events`
|
192
|
+
|
193
|
+
## Advanced Scenario
|
194
|
+
|
195
|
+
If you find you need to create an instance of Queryable (for either graph or SharePoint) that would hang off the root of the url you can use the `AssignFrom` or `CopyFrom` [behaviors](../core/behaviors.md).
|
196
|
+
|
197
|
+
```TypeScript
|
198
|
+
import { graphfi } from "@pnp/graph";
|
199
|
+
import "@pnp/graph/users";
|
200
|
+
import { GraphQueryable, graphPost } from "@pnp/graph";
|
201
|
+
import { body, InjectHeaders } from "@pnp/queryable";
|
202
|
+
import { AssignFrom } from "@pnp/core";
|
203
|
+
|
204
|
+
// Establish GRAPHFI instance passing in the appropriate behavior to register the initial observers.
|
205
|
+
const graph = graphfi(...);
|
206
|
+
|
207
|
+
const chatsQueryable = GraphQueryable("chats").using(AssignFrom(graph.me));
|
208
|
+
|
209
|
+
const chat: any = await graphPost(chatsQueryable, body(chatBody));
|
210
|
+
```
|
211
|
+
|
212
|
+
The results call will be to the endpoint:
|
213
|
+
`https://graph.microsoft.com/v1.0/chats`
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Custom Bundling
|
2
|
+
|
3
|
+
With the introduction of [selective imports](./selective-imports.md) it is now possible to create your own bundle to exactly fit your needs. This provides much greater control over how your solutions are deployed and what is included in your bundles.
|
4
|
+
|
5
|
+
Scenarios could include:
|
6
|
+
|
7
|
+
- Deploying a company-wide PnPjs custom bundle shared by all your components so it only needs to be downloaded once.
|
8
|
+
- Creating SPFx libraries either for one project or a single webpart.
|
9
|
+
- Create a single library containing the PnPjs code you need bundled along with your custom [extensions](../queryable/extensions.md).
|
10
|
+
|
11
|
+
## Create a custom bundle
|
12
|
+
|
13
|
+
### Webpack
|
14
|
+
|
15
|
+
You can see/clone a [sample project of this example here](https://github.com/pnp/pnpjs/tree/version-3/samples/custom-bundle-webpack).
|