@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,239 @@
|
|
1
|
+
import { combine, getGUID, Timeline, asyncReduce, reduce, broadcast, request, extendable, isArray, TimelinePipe, lifecycle, stringIsNullOrEmpty } from "@pnp/core";
|
2
|
+
import { IInvokable, invokable } from "./invokable.js";
|
3
|
+
|
4
|
+
export type QueryableConstructObserver = (this: IQueryableInternal, init: QueryableInit, path?: string) => void;
|
5
|
+
|
6
|
+
export type QueryablePreObserver = (this: IQueryableInternal, url: string, init: RequestInit, result: any) => Promise<[string, RequestInit, any]>;
|
7
|
+
|
8
|
+
export type QueryableAuthObserver = (this: IQueryableInternal, url: URL, init: RequestInit) => Promise<[URL, RequestInit]>;
|
9
|
+
|
10
|
+
export type QueryableSendObserver = (this: IQueryableInternal, url: URL, init: RequestInit) => Promise<Response>;
|
11
|
+
|
12
|
+
export type QueryableParseObserver = (this: IQueryableInternal, url: URL, response: Response, result: any | undefined) => Promise<[URL, Response, any]>;
|
13
|
+
|
14
|
+
export type QueryablePostObserver = (this: IQueryableInternal, url: URL, result: any | undefined) => Promise<[URL, any]>;
|
15
|
+
|
16
|
+
export type QueryableDataObserver<T = any> = (this: IQueryableInternal, result: T) => void;
|
17
|
+
|
18
|
+
type QueryablePromiseObserver = (this: IQueryableInternal, promise: Promise<any>) => Promise<[Promise<any>]>;
|
19
|
+
|
20
|
+
const DefaultMoments = {
|
21
|
+
construct: lifecycle<QueryableConstructObserver>(),
|
22
|
+
pre: asyncReduce<QueryablePreObserver>(),
|
23
|
+
auth: asyncReduce<QueryableAuthObserver>(),
|
24
|
+
send: request<QueryableSendObserver>(),
|
25
|
+
parse: asyncReduce<QueryableParseObserver>(),
|
26
|
+
post: asyncReduce<QueryablePostObserver>(),
|
27
|
+
data: broadcast<QueryableDataObserver>(),
|
28
|
+
} as const;
|
29
|
+
|
30
|
+
export type QueryableInit = Queryable<any> | string | [Queryable<any>, string];
|
31
|
+
|
32
|
+
@extendable()
|
33
|
+
@invokable()
|
34
|
+
export class Queryable<R> extends Timeline<typeof DefaultMoments> implements IQueryableInternal<R> {
|
35
|
+
|
36
|
+
// tracks any query paramters which will be appended to the request url
|
37
|
+
private _query: URLSearchParams;
|
38
|
+
|
39
|
+
// tracks the current url for a given Queryable
|
40
|
+
protected _url: string;
|
41
|
+
|
42
|
+
// these keys represent internal events for Queryable, users are not expected to
|
43
|
+
// subscribe directly to these, rather they enable functionality within Queryable
|
44
|
+
// they are Symbols such that there are NOT cloned between queryables as we only grab string keys (by design)
|
45
|
+
protected InternalResolve = Symbol.for("Queryable_Resolve");
|
46
|
+
protected InternalReject = Symbol.for("Queryable_Reject");
|
47
|
+
protected InternalPromise = Symbol.for("Queryable_Promise");
|
48
|
+
|
49
|
+
constructor(init: QueryableInit, path?: string) {
|
50
|
+
|
51
|
+
super(DefaultMoments);
|
52
|
+
|
53
|
+
this._query = new URLSearchParams();
|
54
|
+
|
55
|
+
// add an intneral moment with specific implementaion for promise creation
|
56
|
+
this.moments[this.InternalPromise] = reduce<QueryablePromiseObserver>();
|
57
|
+
|
58
|
+
let parent: Queryable<any>;
|
59
|
+
|
60
|
+
if (typeof init === "string") {
|
61
|
+
|
62
|
+
this._url = combine(init, path);
|
63
|
+
|
64
|
+
} else if (isArray(init)) {
|
65
|
+
|
66
|
+
if (init.length !== 2) {
|
67
|
+
throw Error("When using the tuple param exactly two arguments are expected.");
|
68
|
+
}
|
69
|
+
|
70
|
+
if (typeof init[1] !== "string") {
|
71
|
+
throw Error("Expected second tuple param to be a string.");
|
72
|
+
}
|
73
|
+
|
74
|
+
parent = init[0];
|
75
|
+
this._url = combine(init[1], path);
|
76
|
+
|
77
|
+
} else {
|
78
|
+
|
79
|
+
parent = init as Queryable<any>;
|
80
|
+
this._url = combine(parent._url, path);
|
81
|
+
}
|
82
|
+
|
83
|
+
if (typeof parent !== "undefined") {
|
84
|
+
this.observers = parent.observers;
|
85
|
+
this._inheritingObservers = true;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
/**
|
90
|
+
* Directly concatenates the supplied string to the current url, not normalizing "/" chars
|
91
|
+
*
|
92
|
+
* @param pathPart The string to concatenate to the url
|
93
|
+
*/
|
94
|
+
public concat(pathPart: string): this {
|
95
|
+
this._url += pathPart;
|
96
|
+
return this;
|
97
|
+
}
|
98
|
+
|
99
|
+
/**
|
100
|
+
* Gets the full url with query information
|
101
|
+
*
|
102
|
+
*/
|
103
|
+
public toRequestUrl(): string {
|
104
|
+
|
105
|
+
let url = this.toUrl();
|
106
|
+
|
107
|
+
const query = this.query.toString();
|
108
|
+
if (!stringIsNullOrEmpty(query)) {
|
109
|
+
url += `${url.indexOf("?") > -1 ? "&" : "?"}${query}`;
|
110
|
+
}
|
111
|
+
|
112
|
+
return url;
|
113
|
+
}
|
114
|
+
|
115
|
+
/**
|
116
|
+
* Querystring key, value pairs which will be included in the request
|
117
|
+
*/
|
118
|
+
public get query(): URLSearchParams {
|
119
|
+
return this._query;
|
120
|
+
}
|
121
|
+
|
122
|
+
/**
|
123
|
+
* Gets the current url
|
124
|
+
*
|
125
|
+
*/
|
126
|
+
public toUrl(): string {
|
127
|
+
return this._url;
|
128
|
+
}
|
129
|
+
|
130
|
+
protected execute(userInit: RequestInit): Promise<void> {
|
131
|
+
|
132
|
+
// if there are NO observers registered this is likely either a bug in the library or a user error, direct to docs
|
133
|
+
if (Reflect.ownKeys(this.observers).length < 1) {
|
134
|
+
throw Error("No observers registered for this request. (https://pnp.github.io/pnpjs/queryable/queryable#no-observers-registered-for-this-request)");
|
135
|
+
}
|
136
|
+
|
137
|
+
// schedule the execution after we return the promise below in the next event loop
|
138
|
+
setTimeout(async () => {
|
139
|
+
|
140
|
+
const requestId = getGUID();
|
141
|
+
let requestUrl: URL;
|
142
|
+
|
143
|
+
const log = (msg: string, level?: number) => {
|
144
|
+
// this allows us to easily and consistently format our messages
|
145
|
+
this.log(`[${requestId}] ${msg}`, level);
|
146
|
+
};
|
147
|
+
|
148
|
+
try {
|
149
|
+
|
150
|
+
log("Beginning request", 0);
|
151
|
+
|
152
|
+
// include the request id in the headers to assist with debugging against logs
|
153
|
+
const initSeed = {
|
154
|
+
...userInit,
|
155
|
+
headers: { ...userInit.headers, "X-PnPjs-RequestId": requestId },
|
156
|
+
};
|
157
|
+
|
158
|
+
// eslint-disable-next-line prefer-const
|
159
|
+
let [url, init, result] = await this.emit.pre(this.toRequestUrl(), initSeed, undefined);
|
160
|
+
|
161
|
+
log(`Url: ${url}`, 1);
|
162
|
+
|
163
|
+
if (typeof result !== "undefined") {
|
164
|
+
|
165
|
+
log("Result returned from pre, Emitting data");
|
166
|
+
this.emit.data(result);
|
167
|
+
log("Emitted data");
|
168
|
+
return;
|
169
|
+
}
|
170
|
+
|
171
|
+
log("Emitting auth");
|
172
|
+
[requestUrl, init] = await this.emit.auth(new URL(url), init);
|
173
|
+
log("Emitted auth");
|
174
|
+
|
175
|
+
// we always resepect user supplied init over observer modified init
|
176
|
+
init = { ...init, ...userInit, headers: { ...init.headers, ...userInit.headers } };
|
177
|
+
|
178
|
+
log("Emitting send");
|
179
|
+
let response = await this.emit.send(requestUrl, init);
|
180
|
+
log("Emitted send");
|
181
|
+
|
182
|
+
log("Emitting parse");
|
183
|
+
[requestUrl, response, result] = await this.emit.parse(requestUrl, response, result);
|
184
|
+
log("Emitted parse");
|
185
|
+
|
186
|
+
log("Emitting post");
|
187
|
+
[requestUrl, result] = await this.emit.post(requestUrl, result);
|
188
|
+
log("Emitted post");
|
189
|
+
|
190
|
+
log("Emitting data");
|
191
|
+
this.emit.data(result);
|
192
|
+
log("Emitted data");
|
193
|
+
|
194
|
+
} catch (e) {
|
195
|
+
|
196
|
+
log(`Emitting error: "${e.message || e}"`, 3);
|
197
|
+
// anything that throws we emit and continue
|
198
|
+
this.error(e);
|
199
|
+
log("Emitted error", 3);
|
200
|
+
|
201
|
+
} finally {
|
202
|
+
|
203
|
+
log("Finished request", 0);
|
204
|
+
}
|
205
|
+
|
206
|
+
}, 0);
|
207
|
+
|
208
|
+
// this is the promise that the calling code will recieve and await
|
209
|
+
let promise = new Promise<void>((resolve, reject) => {
|
210
|
+
|
211
|
+
// we overwrite any pre-existing internal events as a
|
212
|
+
// given queryable only processes a single request at a time
|
213
|
+
this.on[this.InternalResolve].replace(resolve);
|
214
|
+
this.on[this.InternalReject].replace(reject);
|
215
|
+
});
|
216
|
+
|
217
|
+
// this allows us to internally hook the promise creation and modify it. This was introduced to allow for
|
218
|
+
// cancelable to work as envisioned, but may have other users. Meant for internal use in the library accessed via behaviors.
|
219
|
+
[promise] = this.emit[this.InternalPromise](promise);
|
220
|
+
|
221
|
+
return promise;
|
222
|
+
}
|
223
|
+
}
|
224
|
+
|
225
|
+
/**
|
226
|
+
* This interface adds the invokable method to Queryable allowing obj() to be called correctly
|
227
|
+
* The code is contained in invokable decorator
|
228
|
+
*/
|
229
|
+
// eslint-disable-next-line no-redeclare
|
230
|
+
export interface Queryable<R = any> extends IInvokable<R> { }
|
231
|
+
|
232
|
+
// this interface is required to stop the class from recursively referencing itself through the DefaultBehaviors type
|
233
|
+
export interface IQueryableInternal<R = any> extends Timeline<any>, IInvokable {
|
234
|
+
readonly query: URLSearchParams;
|
235
|
+
<T = R>(this: IQueryableInternal, init?: RequestInit): Promise<T>;
|
236
|
+
using(...behaviors: TimelinePipe[]): this;
|
237
|
+
toRequestUrl(): string;
|
238
|
+
toUrl(): string;
|
239
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { jsS } from "@pnp/core";
|
2
|
+
|
3
|
+
/**
|
4
|
+
* takes the supplied object of type U, JSON.stringify's it, and sets it as the value of a "body" property
|
5
|
+
*/
|
6
|
+
export function body<T extends Partial<RequestInit>, U = any>(o: U, previous?: T): T & { body: string } {
|
7
|
+
return Object.assign({ body: jsS(o) }, previous);
|
8
|
+
}
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Adds headers to an new/existing RequestInit
|
12
|
+
*
|
13
|
+
* @param o Headers to add
|
14
|
+
* @param previous Any previous partial RequestInit
|
15
|
+
* @returns RequestInit combining previous and specified headers
|
16
|
+
*/
|
17
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
18
|
+
export function headers<T extends Partial<RequestInit>, U extends Record<string, string> = {}>(o: U, previous?: T): T & { headers: U } {
|
19
|
+
return Object.assign({}, previous, { headers: { ...previous?.headers, ...o } });
|
20
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
![SharePoint Patterns and Practices](https://devofficecdn.azureedge.net/media/Default/PnP/sppnp.png)
|
2
|
+
|
3
|
+
The SharePoint Patterns and Practices client side libraries were created to help enable developers to do their best work, without worrying about the exact
|
4
|
+
REST api details. Built with feedback from the community they represent a way to simplify your day-to-day dev cycle while relying on tested and proven
|
5
|
+
patterns.
|
6
|
+
|
7
|
+
Please use [http://aka.ms/community/home](http://aka.ms/community/home) for the latest updates around the whole *Microsoft 365 and Power Platform Community(PnP)* initiative.
|
8
|
+
## Source & Docs
|
9
|
+
|
10
|
+
This code is managed within the [main pnp repo](https://github.com/pnp/pnpjs), please report issues and submit pull requests there.
|
11
|
+
|
12
|
+
Please see the public site for [package documentation](https://pnp.github.io/pnpjs/).
|
13
|
+
|
14
|
+
### Code of Conduct
|
15
|
+
|
16
|
+
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
17
|
+
|
18
|
+
### "Sharing is Caring"
|
19
|
+
|
20
|
+
### Disclaimer
|
21
|
+
**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { SPFI } from "../fi.js";
|
2
|
+
import { IWeb, Web } from "../webs/types.js";
|
3
|
+
import { AppCatalog, IAppCatalog } from "./types.js";
|
4
|
+
|
5
|
+
import "./web.js";
|
6
|
+
|
7
|
+
export {
|
8
|
+
IAppAddResult,
|
9
|
+
IApp,
|
10
|
+
IAppCatalog,
|
11
|
+
App,
|
12
|
+
AppCatalog,
|
13
|
+
} from "./types.js";
|
14
|
+
|
15
|
+
declare module "../fi" {
|
16
|
+
interface SPFI {
|
17
|
+
tenantAppcatalog: IAppCatalog;
|
18
|
+
getTenantAppCatalogWeb(): Promise<IWeb>;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
Reflect.defineProperty(SPFI.prototype, "tenantAppcatalog", {
|
23
|
+
configurable: true,
|
24
|
+
enumerable: true,
|
25
|
+
get: function (this: SPFI) {
|
26
|
+
return this.create(AppCatalog, "_api/web/tenantappcatalog/AvailableApps");
|
27
|
+
},
|
28
|
+
});
|
29
|
+
|
30
|
+
SPFI.prototype.getTenantAppCatalogWeb = async function (this: SPFI): Promise<IWeb> {
|
31
|
+
|
32
|
+
const data = await Web(this._root, "_api/SP_TenantSettings_Current")<{ CorporateCatalogUrl: string }>();
|
33
|
+
|
34
|
+
return Web([this._root, data.CorporateCatalogUrl]);
|
35
|
+
};
|
@@ -0,0 +1,176 @@
|
|
1
|
+
import {
|
2
|
+
_SPCollection,
|
3
|
+
spInvokableFactory,
|
4
|
+
_SPInstance,
|
5
|
+
ISPQueryable,
|
6
|
+
SPCollection,
|
7
|
+
} from "../spqueryable.js";
|
8
|
+
import { spPost } from "../operations.js";
|
9
|
+
import { odataUrlFrom } from "../utils/odata-url-from.js";
|
10
|
+
import { extractWebUrl } from "../utils/extract-web-url.js";
|
11
|
+
import { File, IFile } from "../files/types.js";
|
12
|
+
import { combine } from "@pnp/core";
|
13
|
+
import { defaultPath } from "../decorators.js";
|
14
|
+
|
15
|
+
function getAppCatalogPath(base: string, path: string): string {
|
16
|
+
|
17
|
+
const paths = ["_api/web/tenantappcatalog/", "_api/web/sitecollectionappcatalog/"];
|
18
|
+
|
19
|
+
for (let i = 0; i < paths.length; i++) {
|
20
|
+
const index = base.indexOf(paths[i]);
|
21
|
+
if (index > -1) {
|
22
|
+
return combine(base.substring(index, index + paths[i].length), path);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
return combine(base, path);
|
27
|
+
}
|
28
|
+
|
29
|
+
@defaultPath("_api/web/tenantappcatalog/AvailableApps")
|
30
|
+
export class _AppCatalog extends _SPCollection {
|
31
|
+
|
32
|
+
constructor(base: string | ISPQueryable, path?: string) {
|
33
|
+
super(base, null);
|
34
|
+
this._url = combine(extractWebUrl(this._url), path);
|
35
|
+
}
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Get details of specific app from the app catalog
|
39
|
+
* @param id - Specify the guid of the app
|
40
|
+
*/
|
41
|
+
public getAppById(id: string): IApp {
|
42
|
+
return App(this, `getById('${id}')`);
|
43
|
+
}
|
44
|
+
|
45
|
+
/**
|
46
|
+
* Synchronize a solution to the Microsoft Teams App Catalog
|
47
|
+
* @param id - Specify the guid of the app
|
48
|
+
* @param useSharePointItemId (optional) - By default this REST call requires the SP Item id of the app, not the app id.
|
49
|
+
* PnPjs will try to fetch the item id, you can still use this parameter to pass your own item id in the first parameter
|
50
|
+
*/
|
51
|
+
public async syncSolutionToTeams(id: string | number, useSharePointItemId = false): Promise<void> {
|
52
|
+
|
53
|
+
// This REST call requires that you refer the list item id of the solution in the app catalog site.
|
54
|
+
let appId = null;
|
55
|
+
const webUrl = combine(extractWebUrl(this.toUrl()), "_api/web");
|
56
|
+
|
57
|
+
if (useSharePointItemId) {
|
58
|
+
|
59
|
+
appId = id;
|
60
|
+
|
61
|
+
} else {
|
62
|
+
|
63
|
+
const listId = (await SPCollection([this, webUrl], "lists").select("Id").filter("EntityTypeName eq 'AppCatalog'")<{ Id: string }[]>())[0].Id;
|
64
|
+
const listItems = await SPCollection([this, webUrl], `lists/getById('${listId}')/items`).select("Id").filter(`AppProductID eq '${id}'`).top(1)();
|
65
|
+
|
66
|
+
if (listItems && listItems.length > 0) {
|
67
|
+
|
68
|
+
appId = listItems[0].Id;
|
69
|
+
|
70
|
+
} else {
|
71
|
+
|
72
|
+
throw Error(`Did not find the app with id ${id} in the appcatalog.`);
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
76
|
+
return spPost(AppCatalog(this, getAppCatalogPath(this.toUrl(), `SyncSolutionToTeams(id=${appId})`)));
|
77
|
+
}
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Uploads an app package. Not supported for batching
|
81
|
+
*
|
82
|
+
* @param filename Filename to create.
|
83
|
+
* @param content app package data (eg: the .app or .sppkg file).
|
84
|
+
* @param shouldOverWrite Should an app with the same name in the same location be overwritten? (default: true)
|
85
|
+
* @returns Promise<IAppAddResult>
|
86
|
+
*/
|
87
|
+
public async add(filename: string, content: string | ArrayBuffer | Blob, shouldOverWrite = true): Promise<IAppAddResult> {
|
88
|
+
|
89
|
+
// you don't add to the availableapps collection
|
90
|
+
const adder = AppCatalog(this, getAppCatalogPath(this.toUrl(), `add(overwrite=${shouldOverWrite},url='${filename}')`));
|
91
|
+
|
92
|
+
const r = await spPost(adder, {
|
93
|
+
body: content, headers: {
|
94
|
+
"binaryStringRequestBody": "true",
|
95
|
+
},
|
96
|
+
});
|
97
|
+
|
98
|
+
return {
|
99
|
+
data: r,
|
100
|
+
file: File([this, odataUrlFrom(r)]),
|
101
|
+
};
|
102
|
+
}
|
103
|
+
}
|
104
|
+
export interface IAppCatalog extends _AppCatalog { }
|
105
|
+
export const AppCatalog = spInvokableFactory<IAppCatalog>(_AppCatalog);
|
106
|
+
|
107
|
+
export class _App extends _SPInstance {
|
108
|
+
|
109
|
+
/**
|
110
|
+
* This method deploys an app on the app catalog. It must be called in the context
|
111
|
+
* of the tenant app catalog web or it will fail.
|
112
|
+
*
|
113
|
+
* @param skipFeatureDeployment Deploy the app to the entire tenant
|
114
|
+
*/
|
115
|
+
public deploy(skipFeatureDeployment = false): Promise<void> {
|
116
|
+
return this.do(`Deploy(${skipFeatureDeployment})`);
|
117
|
+
}
|
118
|
+
|
119
|
+
/**
|
120
|
+
* This method retracts a deployed app on the app catalog. It must be called in the context
|
121
|
+
* of the tenant app catalog web or it will fail.
|
122
|
+
*/
|
123
|
+
public retract(): Promise<void> {
|
124
|
+
return this.do("Retract");
|
125
|
+
}
|
126
|
+
|
127
|
+
/**
|
128
|
+
* This method allows an app which is already deployed to be installed on a web
|
129
|
+
*/
|
130
|
+
public install(): Promise<void> {
|
131
|
+
return this.do("Install");
|
132
|
+
}
|
133
|
+
|
134
|
+
/**
|
135
|
+
* This method allows an app which is already installed to be uninstalled on a web
|
136
|
+
* Note: when you use the REST API to uninstall a solution package from the site, it is not relocated to the recycle bin
|
137
|
+
*/
|
138
|
+
public uninstall(): Promise<void> {
|
139
|
+
return this.do("Uninstall");
|
140
|
+
}
|
141
|
+
|
142
|
+
/**
|
143
|
+
* This method allows an app which is already installed to be upgraded on a web
|
144
|
+
*/
|
145
|
+
public upgrade(): Promise<void> {
|
146
|
+
return this.do("Upgrade");
|
147
|
+
}
|
148
|
+
|
149
|
+
/**
|
150
|
+
* This method removes an app from the app catalog. It must be called in the context
|
151
|
+
* of the tenant app catalog web or it will fail.
|
152
|
+
*/
|
153
|
+
public remove(): Promise<void> {
|
154
|
+
return this.do("Remove");
|
155
|
+
}
|
156
|
+
|
157
|
+
private do(path: string): Promise<void> {
|
158
|
+
return spPost(App(this, path));
|
159
|
+
}
|
160
|
+
}
|
161
|
+
export interface IApp extends _App { }
|
162
|
+
export const App = spInvokableFactory<IApp>(_App);
|
163
|
+
|
164
|
+
/**
|
165
|
+
* Result object after adding an app
|
166
|
+
*/
|
167
|
+
export interface IAppAddResult {
|
168
|
+
/**
|
169
|
+
* Contains metadata of the added app
|
170
|
+
*/
|
171
|
+
data: any;
|
172
|
+
/**
|
173
|
+
* A File instance to the item in SharePoint
|
174
|
+
*/
|
175
|
+
file: IFile;
|
176
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { addProp } from "@pnp/queryable";
|
2
|
+
import { _Web } from "../webs/types.js";
|
3
|
+
import { AppCatalog, IAppCatalog } from "./types.js";
|
4
|
+
|
5
|
+
declare module "../webs/types" {
|
6
|
+
interface _Web {
|
7
|
+
appcatalog: IAppCatalog;
|
8
|
+
}
|
9
|
+
interface IWeb {
|
10
|
+
/**
|
11
|
+
* Gets the appcatalog (if it exists associated with this web)
|
12
|
+
*/
|
13
|
+
appcatalog: IAppCatalog;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
// we use this function to wrap the AppCatalog as we want to ignore any path values addProp
|
18
|
+
// will pass and use the defaultPath defined for AppCatalog
|
19
|
+
addProp(_Web, "appcatalog", (s: _Web) => AppCatalog(s, "_api/web/sitecollectionappcatalog/AvailableApps"));
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { addProp } from "@pnp/queryable";
|
2
|
+
import { _Item } from "../items/types.js";
|
3
|
+
import { Attachments, IAttachments } from "./types.js";
|
4
|
+
|
5
|
+
declare module "../items/types" {
|
6
|
+
interface _Item {
|
7
|
+
readonly attachmentFiles: IAttachments;
|
8
|
+
}
|
9
|
+
interface IItem {
|
10
|
+
/**
|
11
|
+
* Read the attachment files data for an item
|
12
|
+
*/
|
13
|
+
readonly attachmentFiles: IAttachments;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
addProp(_Item, "attachmentFiles", Attachments);
|
@@ -0,0 +1,95 @@
|
|
1
|
+
import { headers } from "@pnp/queryable";
|
2
|
+
import { defaultPath } from "../decorators.js";
|
3
|
+
import { ReadableFile } from "../files/readable-file.js";
|
4
|
+
import { spPost } from "../operations.js";
|
5
|
+
import { encodePath } from "../utils/encode-path-str.js";
|
6
|
+
import {
|
7
|
+
IDeleteableWithETag,
|
8
|
+
_SPCollection,
|
9
|
+
spInvokableFactory,
|
10
|
+
deleteableWithETag,
|
11
|
+
} from "../spqueryable.js";
|
12
|
+
|
13
|
+
@defaultPath("AttachmentFiles")
|
14
|
+
export class _Attachments extends _SPCollection<IAttachmentInfo[]> {
|
15
|
+
|
16
|
+
/**
|
17
|
+
* Gets a Attachment File by filename
|
18
|
+
*
|
19
|
+
* @param name The name of the file, including extension.
|
20
|
+
*/
|
21
|
+
public getByName(name: string): IAttachment {
|
22
|
+
const f = Attachment(this);
|
23
|
+
f.concat(`('${name}')`);
|
24
|
+
return f;
|
25
|
+
}
|
26
|
+
|
27
|
+
/**
|
28
|
+
* Adds a new attachment to the collection. Not supported for batching.
|
29
|
+
*
|
30
|
+
* @param name The name of the file, including extension.
|
31
|
+
* @param content The Base64 file content.
|
32
|
+
*/
|
33
|
+
public async add(name: string, content: string | Blob | ArrayBuffer): Promise<IAttachmentAddResult> {
|
34
|
+
const response = await spPost(Attachments(this, `add(FileName='${encodePath(name)}')`), { body: content });
|
35
|
+
return {
|
36
|
+
data: response,
|
37
|
+
file: this.getByName(name),
|
38
|
+
};
|
39
|
+
}
|
40
|
+
}
|
41
|
+
export interface IAttachments extends _Attachments { }
|
42
|
+
export const Attachments = spInvokableFactory<IAttachments>(_Attachments);
|
43
|
+
|
44
|
+
export class _Attachment extends ReadableFile<IAttachmentInfo> {
|
45
|
+
|
46
|
+
public delete = deleteableWithETag();
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Sets the content of a file. Not supported for batching
|
50
|
+
*
|
51
|
+
* @param content The value to set for the file contents
|
52
|
+
*/
|
53
|
+
public async setContent(body: string | ArrayBuffer | Blob): Promise<IAttachment> {
|
54
|
+
|
55
|
+
await spPost(Attachment(this, "$value"), headers({ "X-HTTP-Method": "PUT" }, { body }));
|
56
|
+
|
57
|
+
return this;
|
58
|
+
}
|
59
|
+
|
60
|
+
/**
|
61
|
+
* Delete this attachment file and send it to recycle bin
|
62
|
+
*
|
63
|
+
* @param eTag Value used in the IF-Match header, by default "*"
|
64
|
+
*/
|
65
|
+
public recycle(eTag = "*"): Promise<void> {
|
66
|
+
|
67
|
+
return spPost(Attachment(this, "recycleObject"), headers({
|
68
|
+
"IF-Match": eTag,
|
69
|
+
"X-HTTP-Method": "DELETE",
|
70
|
+
}));
|
71
|
+
}
|
72
|
+
}
|
73
|
+
export interface IAttachment extends _Attachment, IDeleteableWithETag { }
|
74
|
+
export const Attachment = spInvokableFactory<IAttachment>(_Attachment);
|
75
|
+
|
76
|
+
export interface IAttachmentAddResult {
|
77
|
+
file: IAttachment;
|
78
|
+
data: IAttachmentFileInfo;
|
79
|
+
}
|
80
|
+
|
81
|
+
export interface IAttachmentFileInfo {
|
82
|
+
name: string;
|
83
|
+
content: string | Blob | ArrayBuffer;
|
84
|
+
}
|
85
|
+
|
86
|
+
export interface IAttachmentInfo {
|
87
|
+
FileName: string;
|
88
|
+
FileNameAsPath: {
|
89
|
+
DecodedUrl: string;
|
90
|
+
};
|
91
|
+
ServerRelativePath: {
|
92
|
+
DecodedUrl: string;
|
93
|
+
};
|
94
|
+
ServerRelativeUrl: string;
|
95
|
+
}
|