@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,771 @@
|
|
1
|
+
import { body, cancelableScope, CancelAction } from "@pnp/queryable";
|
2
|
+
import { getGUID, isFunc, stringIsNullOrEmpty, isUrlAbsolute, combine, noInherit } from "@pnp/core";
|
3
|
+
import {
|
4
|
+
_SPCollection,
|
5
|
+
spInvokableFactory,
|
6
|
+
SPInstance,
|
7
|
+
ISPInstance,
|
8
|
+
IDeleteableWithETag,
|
9
|
+
deleteableWithETag,
|
10
|
+
ISPQueryable,
|
11
|
+
deleteable,
|
12
|
+
IDeleteable,
|
13
|
+
} from "../spqueryable.js";
|
14
|
+
import { Item, IItem } from "../items/index.js";
|
15
|
+
import { odataUrlFrom } from "../utils/odata-url-from.js";
|
16
|
+
import { defaultPath } from "../decorators.js";
|
17
|
+
import { spPost, spGet } from "../operations.js";
|
18
|
+
import { extractWebUrl } from "../utils/extract-web-url.js";
|
19
|
+
import { toResourcePath } from "../utils/to-resource-path.js";
|
20
|
+
import { ISiteUserProps } from "../site-users/types.js";
|
21
|
+
import { encodePath } from "../utils/encode-path-str.js";
|
22
|
+
import { IMoveCopyOptions } from "../types.js";
|
23
|
+
import { ReadableFile } from "./readable-file.js";
|
24
|
+
import "../context-info/index.js";
|
25
|
+
import { BatchNever } from "../batching.js";
|
26
|
+
|
27
|
+
/**
|
28
|
+
* Describes a collection of File objects
|
29
|
+
*
|
30
|
+
*/
|
31
|
+
@defaultPath("files")
|
32
|
+
export class _Files extends _SPCollection<IFileInfo[]> {
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Gets a File by filename
|
36
|
+
*
|
37
|
+
* @param name The name of the file, including extension.
|
38
|
+
*/
|
39
|
+
public getByUrl(name: string): IFile {
|
40
|
+
if (/%#/.test(name)) {
|
41
|
+
throw Error("For file names containing % or # please use web.getFileByServerRelativePath");
|
42
|
+
}
|
43
|
+
return File(this).concat(`('${encodePath(name)}')`);
|
44
|
+
}
|
45
|
+
|
46
|
+
/**
|
47
|
+
* Adds a file using the pound percent safe methods
|
48
|
+
*
|
49
|
+
* @param url Encoded url of the file
|
50
|
+
* @param content The file content
|
51
|
+
* @param parameters Additional parameters to control method behavior
|
52
|
+
*/
|
53
|
+
@cancelableScope
|
54
|
+
public async addUsingPath(url: string, content: string | ArrayBuffer | Blob, parameters: IAddUsingPathProps = { Overwrite: false }): Promise<IFileAddResult> {
|
55
|
+
|
56
|
+
const path = [`AddUsingPath(decodedurl='${encodePath(url)}'`];
|
57
|
+
|
58
|
+
if (parameters) {
|
59
|
+
if (parameters.Overwrite) {
|
60
|
+
path.push(",Overwrite=true");
|
61
|
+
}
|
62
|
+
if (parameters.AutoCheckoutOnInvalidData) {
|
63
|
+
path.push(",AutoCheckoutOnInvalidData=true");
|
64
|
+
}
|
65
|
+
if (!stringIsNullOrEmpty(parameters.XorHash)) {
|
66
|
+
path.push(`,XorHash=${encodePath(parameters.XorHash)}`);
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
path.push(")");
|
71
|
+
|
72
|
+
const resp: IFileInfo = await spPost(Files(this, path.join("")), { body: content });
|
73
|
+
|
74
|
+
return {
|
75
|
+
data: resp,
|
76
|
+
file: fileFromServerRelativePath(this, resp.ServerRelativeUrl),
|
77
|
+
};
|
78
|
+
}
|
79
|
+
|
80
|
+
/**
|
81
|
+
* Uploads a file. Not supported for batching
|
82
|
+
*
|
83
|
+
* @param url The folder-relative url of the file.
|
84
|
+
* @param content The Blob file content to add
|
85
|
+
* @param progress A callback function which can be used to track the progress of the upload
|
86
|
+
* @param shouldOverWrite Should a file with the same name in the same location be overwritten? (default: true)
|
87
|
+
* @param chunkSize The size of each file slice, in bytes (default: 10485760)
|
88
|
+
* @returns The new File and the raw response.
|
89
|
+
*/
|
90
|
+
@cancelableScope
|
91
|
+
public async addChunked(url: string, content: Blob, progress?: (data: IFileUploadProgressData) => void, shouldOverWrite = true, chunkSize = 10485760): Promise<IFileAddResult> {
|
92
|
+
|
93
|
+
const response = await spPost(Files(this, `add(overwrite=${shouldOverWrite},url='${encodePath(url)}')`));
|
94
|
+
|
95
|
+
const file = fileFromServerRelativePath(this, response.ServerRelativeUrl);
|
96
|
+
|
97
|
+
file.using(CancelAction(() => {
|
98
|
+
return File(file).delete();
|
99
|
+
}));
|
100
|
+
|
101
|
+
return file.setContentChunked(content, progress, chunkSize);
|
102
|
+
}
|
103
|
+
|
104
|
+
/**
|
105
|
+
* Adds a ghosted file to an existing list or document library. Not supported for batching.
|
106
|
+
*
|
107
|
+
* @param fileUrl The server-relative url where you want to save the file.
|
108
|
+
* @param templateFileType The type of use to create the file.
|
109
|
+
* @returns The template file that was added and the raw response.
|
110
|
+
*/
|
111
|
+
@cancelableScope
|
112
|
+
public async addTemplateFile(fileUrl: string, templateFileType: TemplateFileType): Promise<IFileAddResult> {
|
113
|
+
const response: IFileInfo = await spPost(Files(this, `addTemplateFile(urloffile='${encodePath(fileUrl)}',templatefiletype=${templateFileType})`));
|
114
|
+
return {
|
115
|
+
data: response,
|
116
|
+
file: fileFromServerRelativePath(this, response.ServerRelativeUrl),
|
117
|
+
};
|
118
|
+
}
|
119
|
+
}
|
120
|
+
export interface IFiles extends _Files { }
|
121
|
+
export const Files = spInvokableFactory<IFiles>(_Files);
|
122
|
+
|
123
|
+
/**
|
124
|
+
* Describes a single File instance
|
125
|
+
*
|
126
|
+
*/
|
127
|
+
export class _File extends ReadableFile<IFileInfo> {
|
128
|
+
|
129
|
+
public delete = deleteableWithETag();
|
130
|
+
|
131
|
+
/**
|
132
|
+
* Gets a value that specifies the list item field values for the list item corresponding to the file.
|
133
|
+
*
|
134
|
+
*/
|
135
|
+
public get listItemAllFields(): ISPInstance {
|
136
|
+
return SPInstance(this, "listItemAllFields");
|
137
|
+
}
|
138
|
+
|
139
|
+
/**
|
140
|
+
* Gets a collection of versions
|
141
|
+
*
|
142
|
+
*/
|
143
|
+
public get versions(): IVersions {
|
144
|
+
return Versions(this);
|
145
|
+
}
|
146
|
+
|
147
|
+
/**
|
148
|
+
* Gets the current locked by user
|
149
|
+
*
|
150
|
+
*/
|
151
|
+
public async getLockedByUser(): Promise<ISiteUserProps | null> {
|
152
|
+
const u = await spGet(File(this, "lockedByUser"));
|
153
|
+
if (u["odata.null"] === true) {
|
154
|
+
return null;
|
155
|
+
} else {
|
156
|
+
return u;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
/**
|
160
|
+
* Approves the file submitted for content approval with the specified comment.
|
161
|
+
* Only documents in lists that are enabled for content approval can be approved.
|
162
|
+
*
|
163
|
+
* @param comment The comment for the approval.
|
164
|
+
*/
|
165
|
+
public approve(comment = ""): Promise<void> {
|
166
|
+
return spPost(File(this, `approve(comment='${encodePath(comment)}')`));
|
167
|
+
}
|
168
|
+
|
169
|
+
/**
|
170
|
+
* Stops the chunk upload session without saving the uploaded data. Does not support batching.
|
171
|
+
* If the file doesn’t already exist in the library, the partially uploaded file will be deleted.
|
172
|
+
* Use this in response to user action (as in a request to cancel an upload) or an error or exception.
|
173
|
+
* Use the uploadId value that was passed to the StartUpload method that started the upload session.
|
174
|
+
* This method is currently available only on Office 365.
|
175
|
+
*
|
176
|
+
* @param uploadId The unique identifier of the upload session.
|
177
|
+
*/
|
178
|
+
public cancelUpload(uploadId: string): Promise<void> {
|
179
|
+
return spPost(File(this, `cancelUpload(uploadId=guid'${uploadId}')`));
|
180
|
+
}
|
181
|
+
|
182
|
+
/**
|
183
|
+
* Checks the file in to a document library based on the check-in type.
|
184
|
+
*
|
185
|
+
* @param comment A comment for the check-in. Its length must be <= 1023.
|
186
|
+
* @param checkinType The check-in type for the file.
|
187
|
+
*/
|
188
|
+
public checkin(comment = "", checkinType = CheckinType.Major): Promise<void> {
|
189
|
+
|
190
|
+
if (comment.length > 1023) {
|
191
|
+
throw Error("The maximum comment length is 1023 characters.");
|
192
|
+
}
|
193
|
+
|
194
|
+
return spPost(File(this, `checkin(comment='${encodePath(comment)}',checkintype=${checkinType})`));
|
195
|
+
}
|
196
|
+
|
197
|
+
/**
|
198
|
+
* Checks out the file from a document library.
|
199
|
+
*/
|
200
|
+
public checkout(): Promise<void> {
|
201
|
+
return spPost(File(this, "checkout"));
|
202
|
+
}
|
203
|
+
|
204
|
+
/**
|
205
|
+
* Copies the file to the destination url.
|
206
|
+
*
|
207
|
+
* @param url The absolute url or server relative url of the destination file path to copy to.
|
208
|
+
* @param shouldOverWrite Should a file with the same name in the same location be overwritten?
|
209
|
+
*/
|
210
|
+
public copyTo(url: string, shouldOverWrite = true): Promise<void> {
|
211
|
+
return spPost(File(this, `copyTo(strnewurl='${encodePath(url)}',boverwrite=${shouldOverWrite})`));
|
212
|
+
}
|
213
|
+
|
214
|
+
/**
|
215
|
+
* Moves the file by path to the specified destination url.
|
216
|
+
* Also works with different site collections.
|
217
|
+
*
|
218
|
+
* @param destUrl The absolute url or server relative url of the destination file path to move to.
|
219
|
+
* @param shouldOverWrite Should a file with the same name in the same location be overwritten?
|
220
|
+
* @param options Allows you to supply the full set of options controlling the copy behavior
|
221
|
+
*/
|
222
|
+
public async copyByPath(destUrl: string, shouldOverWrite: boolean, options: Partial<Omit<IMoveCopyOptions, "RetainEditorAndModifiedOnMove">>): Promise<IFile>;
|
223
|
+
/**
|
224
|
+
* Moves the file by path to the specified destination url.
|
225
|
+
* Also works with different site collections.
|
226
|
+
*
|
227
|
+
* @param destUrl The absolute url or server relative url of the destination file path to move to.
|
228
|
+
* @param shouldOverWrite Should a file with the same name in the same location be overwritten?
|
229
|
+
* @param keepBoth Keep both if file with the same name in the same location already exists? Only relevant when shouldOverWrite is set to false.
|
230
|
+
*/
|
231
|
+
public async copyByPath(destUrl: string, shouldOverWrite: boolean, KeepBoth?: boolean): Promise<IFile>;
|
232
|
+
@cancelableScope
|
233
|
+
public async copyByPath(destUrl: string, ...rest: [boolean, Partial<Omit<IMoveCopyOptions, "RetainEditorAndModifiedOnMove">>] | [boolean, boolean?]): Promise<IFile> {
|
234
|
+
|
235
|
+
let options: Partial<IMoveCopyOptions> = {
|
236
|
+
ShouldBypassSharedLocks: true,
|
237
|
+
ResetAuthorAndCreatedOnCopy: true,
|
238
|
+
KeepBoth: false,
|
239
|
+
};
|
240
|
+
|
241
|
+
if (rest.length === 2) {
|
242
|
+
if (typeof rest[1] === "boolean") {
|
243
|
+
options.KeepBoth = rest[1];
|
244
|
+
} else if (typeof rest[1] === "object") {
|
245
|
+
options = { ...options, ...rest[1] };
|
246
|
+
}
|
247
|
+
}
|
248
|
+
|
249
|
+
return this.moveCopyImpl(destUrl, options, rest[0], "CopyFileByPath");
|
250
|
+
}
|
251
|
+
|
252
|
+
/**
|
253
|
+
* Denies approval for a file that was submitted for content approval.
|
254
|
+
* Only documents in lists that are enabled for content approval can be denied.
|
255
|
+
*
|
256
|
+
* @param comment The comment for the denial.
|
257
|
+
*/
|
258
|
+
public deny(comment = ""): Promise<void> {
|
259
|
+
if (comment.length > 1023) {
|
260
|
+
throw Error("The maximum comment length is 1023 characters.");
|
261
|
+
}
|
262
|
+
return spPost(File(this, `deny(comment='${encodePath(comment)}')`));
|
263
|
+
}
|
264
|
+
|
265
|
+
/**
|
266
|
+
* Moves the file by path to the specified destination url.
|
267
|
+
* Also works with different site collections.
|
268
|
+
*
|
269
|
+
* @param destUrl The absolute url or server relative url of the destination file path to move to.
|
270
|
+
* @param shouldOverWrite Should a file with the same name in the same location be overwritten?
|
271
|
+
* @param options Allows you to supply the full set of options controlling the move behavior
|
272
|
+
*/
|
273
|
+
public async moveByPath(destUrl: string, shouldOverWrite: boolean, options: Partial<Omit<IMoveCopyOptions, "ResetAuthorAndCreatedOnCopy">>): Promise<IFile>;
|
274
|
+
/**
|
275
|
+
* Moves the file by path to the specified destination url.
|
276
|
+
* Also works with different site collections.
|
277
|
+
*
|
278
|
+
* @param destUrl The absolute url or server relative url of the destination file path to move to.
|
279
|
+
* @param shouldOverWrite Should a file with the same name in the same location be overwritten?
|
280
|
+
* @param keepBoth Keep both if file with the same name in the same location already exists? Only relevant when shouldOverWrite is set to false.
|
281
|
+
*/
|
282
|
+
public async moveByPath(destUrl: string, shouldOverWrite: boolean, KeepBoth?: boolean): Promise<IFile>;
|
283
|
+
@cancelableScope
|
284
|
+
public async moveByPath(destUrl: string, ...rest: [boolean, Partial<Omit<IMoveCopyOptions, "ResetAuthorAndCreatedOnCopy">>] | [boolean, boolean?]): Promise<IFile> {
|
285
|
+
|
286
|
+
let options: Partial<IMoveCopyOptions> = {
|
287
|
+
KeepBoth: false,
|
288
|
+
ShouldBypassSharedLocks: true,
|
289
|
+
RetainEditorAndModifiedOnMove: false,
|
290
|
+
};
|
291
|
+
|
292
|
+
if (rest.length === 2) {
|
293
|
+
if (typeof rest[1] === "boolean") {
|
294
|
+
options.KeepBoth = rest[1];
|
295
|
+
} else if (typeof rest[1] === "object") {
|
296
|
+
options = { ...options, ...rest[1] };
|
297
|
+
}
|
298
|
+
}
|
299
|
+
|
300
|
+
return this.moveCopyImpl(destUrl, options, rest[0], "MoveFileByPath");
|
301
|
+
}
|
302
|
+
|
303
|
+
/**
|
304
|
+
* Submits the file for content approval with the specified comment.
|
305
|
+
*
|
306
|
+
* @param comment The comment for the published file. Its length must be <= 1023.
|
307
|
+
*/
|
308
|
+
public publish(comment = ""): Promise<void> {
|
309
|
+
if (comment.length > 1023) {
|
310
|
+
throw Error("The maximum comment length is 1023 characters.");
|
311
|
+
}
|
312
|
+
return spPost(File(this, `publish(comment='${encodePath(comment)}')`));
|
313
|
+
}
|
314
|
+
|
315
|
+
/**
|
316
|
+
* Moves the file to the Recycle Bin and returns the identifier of the new Recycle Bin item.
|
317
|
+
*
|
318
|
+
* @returns The GUID of the recycled file.
|
319
|
+
*/
|
320
|
+
public recycle(): Promise<string> {
|
321
|
+
return spPost(File(this, "recycle"));
|
322
|
+
}
|
323
|
+
|
324
|
+
/**
|
325
|
+
* Deletes the file object with options.
|
326
|
+
*
|
327
|
+
* @param parameters Specifies the options to use when deleting a file.
|
328
|
+
*/
|
329
|
+
public async deleteWithParams(parameters: Partial<IFileDeleteParams>): Promise<void> {
|
330
|
+
return spPost(File(this, "DeleteWithParameters"), body({ parameters }));
|
331
|
+
}
|
332
|
+
|
333
|
+
/**
|
334
|
+
* Reverts an existing checkout for the file.
|
335
|
+
*
|
336
|
+
*/
|
337
|
+
public undoCheckout(): Promise<void> {
|
338
|
+
return spPost(File(this, "undoCheckout"));
|
339
|
+
}
|
340
|
+
|
341
|
+
/**
|
342
|
+
* Removes the file from content approval or unpublish a major version.
|
343
|
+
*
|
344
|
+
* @param comment The comment for the unpublish operation. Its length must be <= 1023.
|
345
|
+
*/
|
346
|
+
public unpublish(comment = ""): Promise<void> {
|
347
|
+
if (comment.length > 1023) {
|
348
|
+
throw Error("The maximum comment length is 1023 characters.");
|
349
|
+
}
|
350
|
+
return spPost(File(this, `unpublish(comment='${encodePath(comment)}')`));
|
351
|
+
}
|
352
|
+
|
353
|
+
/**
|
354
|
+
* Checks to see if the file represented by this object exists
|
355
|
+
*
|
356
|
+
*/
|
357
|
+
public async exists(): Promise<boolean> {
|
358
|
+
try {
|
359
|
+
const r = await File(this).select("Exists")();
|
360
|
+
return r.Exists;
|
361
|
+
} catch (e) {
|
362
|
+
// this treats any error here as the file not existing, which
|
363
|
+
// might not be true, but is good enough.
|
364
|
+
return false;
|
365
|
+
}
|
366
|
+
}
|
367
|
+
|
368
|
+
/**
|
369
|
+
* Sets the content of a file, for large files use setContentChunked. Not supported in batching.
|
370
|
+
*
|
371
|
+
* @param content The file content
|
372
|
+
*
|
373
|
+
*/
|
374
|
+
public async setContent(content: string | ArrayBuffer | Blob): Promise<IFile> {
|
375
|
+
|
376
|
+
await spPost(File(this, "$value"), {
|
377
|
+
body: content,
|
378
|
+
headers: {
|
379
|
+
"X-HTTP-Method": "PUT",
|
380
|
+
},
|
381
|
+
});
|
382
|
+
return File(this);
|
383
|
+
}
|
384
|
+
|
385
|
+
/**
|
386
|
+
* Gets the associated list item for this folder, loading the default properties
|
387
|
+
*/
|
388
|
+
public async getItem<T>(...selects: string[]): Promise<IItem & T> {
|
389
|
+
|
390
|
+
const q = this.listItemAllFields;
|
391
|
+
const d = await q.select(...selects)();
|
392
|
+
return Object.assign(Item([this, odataUrlFrom(d)]), d);
|
393
|
+
}
|
394
|
+
|
395
|
+
/**
|
396
|
+
* Sets the contents of a file using a chunked upload approach. Not supported in batching.
|
397
|
+
*
|
398
|
+
* @param file The file to upload
|
399
|
+
* @param progress A callback function which can be used to track the progress of the upload
|
400
|
+
* @param chunkSize The size of each file slice, in bytes (default: 10485760)
|
401
|
+
*/
|
402
|
+
@cancelableScope
|
403
|
+
public async setContentChunked(file: Blob, progress?: (data: IFileUploadProgressData) => void, chunkSize = 10485760): Promise<IFileAddResult> {
|
404
|
+
|
405
|
+
if (!isFunc(progress)) {
|
406
|
+
progress = () => null;
|
407
|
+
}
|
408
|
+
|
409
|
+
const fileSize = file?.size || (<any>file).length;
|
410
|
+
const totalBlocks = parseInt((fileSize / chunkSize).toString(), 10) + ((fileSize % chunkSize === 0) ? 1 : 0);
|
411
|
+
const uploadId = getGUID();
|
412
|
+
|
413
|
+
const fileRef = File(this).using(CancelAction(() => {
|
414
|
+
return File(fileRef).cancelUpload(uploadId);
|
415
|
+
}));
|
416
|
+
|
417
|
+
// report that we are starting
|
418
|
+
progress({ uploadId, blockNumber: 1, chunkSize, currentPointer: 0, fileSize, stage: "starting", totalBlocks });
|
419
|
+
let currentPointer = await fileRef.startUpload(uploadId, file.slice(0, chunkSize));
|
420
|
+
|
421
|
+
// skip the first and last blocks
|
422
|
+
for (let i = 2; i < totalBlocks; i++) {
|
423
|
+
progress({ uploadId, blockNumber: i, chunkSize, currentPointer, fileSize, stage: "continue", totalBlocks });
|
424
|
+
currentPointer = await fileRef.continueUpload(uploadId, currentPointer, file.slice(currentPointer, currentPointer + chunkSize));
|
425
|
+
}
|
426
|
+
|
427
|
+
progress({ uploadId, blockNumber: totalBlocks, chunkSize, currentPointer, fileSize, stage: "finishing", totalBlocks });
|
428
|
+
return fileRef.finishUpload(uploadId, currentPointer, file.slice(currentPointer));
|
429
|
+
}
|
430
|
+
|
431
|
+
/**
|
432
|
+
* Starts a new chunk upload session and uploads the first fragment.
|
433
|
+
* The current file content is not changed when this method completes.
|
434
|
+
* The method is idempotent (and therefore does not change the result) as long as you use the same values for uploadId and stream.
|
435
|
+
* The upload session ends either when you use the CancelUpload method or when you successfully
|
436
|
+
* complete the upload session by passing the rest of the file contents through the ContinueUpload and FinishUpload methods.
|
437
|
+
* The StartUpload and ContinueUpload methods return the size of the running total of uploaded data in bytes,
|
438
|
+
* so you can pass those return values to subsequent uses of ContinueUpload and FinishUpload.
|
439
|
+
* This method is currently available only on Office 365.
|
440
|
+
*
|
441
|
+
* @param uploadId The unique identifier of the upload session.
|
442
|
+
* @param fragment The file contents.
|
443
|
+
* @returns The size of the total uploaded data in bytes.
|
444
|
+
*/
|
445
|
+
protected async startUpload(uploadId: string, fragment: ArrayBuffer | Blob): Promise<number> {
|
446
|
+
let n = await spPost(File(this, `startUpload(uploadId=guid'${uploadId}')`), { body: fragment });
|
447
|
+
if (typeof n === "object") {
|
448
|
+
// When OData=verbose the payload has the following shape:
|
449
|
+
// { StartUpload: "10485760" }
|
450
|
+
n = (n as any).StartUpload;
|
451
|
+
}
|
452
|
+
return parseFloat(n);
|
453
|
+
}
|
454
|
+
|
455
|
+
/**
|
456
|
+
* Continues the chunk upload session with an additional fragment.
|
457
|
+
* The current file content is not changed.
|
458
|
+
* Use the uploadId value that was passed to the StartUpload method that started the upload session.
|
459
|
+
* This method is currently available only on Office 365.
|
460
|
+
*
|
461
|
+
* @param uploadId The unique identifier of the upload session.
|
462
|
+
* @param fileOffset The size of the offset into the file where the fragment starts.
|
463
|
+
* @param fragment The file contents.
|
464
|
+
* @returns The size of the total uploaded data in bytes.
|
465
|
+
*/
|
466
|
+
protected async continueUpload(uploadId: string, fileOffset: number, fragment: ArrayBuffer | Blob): Promise<number> {
|
467
|
+
let n = await spPost(File(this, `continueUpload(uploadId=guid'${uploadId}',fileOffset=${fileOffset})`), { body: fragment });
|
468
|
+
if (typeof n === "object") {
|
469
|
+
// When OData=verbose the payload has the following shape:
|
470
|
+
// { ContinueUpload: "20971520" }
|
471
|
+
n = (n as any).ContinueUpload;
|
472
|
+
}
|
473
|
+
return parseFloat(n);
|
474
|
+
}
|
475
|
+
|
476
|
+
/**
|
477
|
+
* Uploads the last file fragment and commits the file. The current file content is changed when this method completes.
|
478
|
+
* Use the uploadId value that was passed to the StartUpload method that started the upload session.
|
479
|
+
* This method is currently available only on Office 365.
|
480
|
+
*
|
481
|
+
* @param uploadId The unique identifier of the upload session.
|
482
|
+
* @param fileOffset The size of the offset into the file where the fragment starts.
|
483
|
+
* @param fragment The file contents.
|
484
|
+
* @returns The newly uploaded file.
|
485
|
+
*/
|
486
|
+
protected async finishUpload(uploadId: string, fileOffset: number, fragment: ArrayBuffer | Blob): Promise<IFileAddResult> {
|
487
|
+
const response: IFileInfo = await spPost(File(this, `finishUpload(uploadId=guid'${uploadId}',fileOffset=${fileOffset})`), { body: fragment });
|
488
|
+
return {
|
489
|
+
data: response,
|
490
|
+
file: fileFromServerRelativePath(this, response.ServerRelativeUrl),
|
491
|
+
};
|
492
|
+
}
|
493
|
+
|
494
|
+
protected moveCopyImpl(destUrl: string, options: Partial<IMoveCopyOptions>, overwrite: boolean, methodName: string): Promise<IFile> {
|
495
|
+
|
496
|
+
// create a timeline we will manipulate for this request
|
497
|
+
const poster = File(this);
|
498
|
+
|
499
|
+
// add our pre-request actions, this fixes issues with batching hanging #2668
|
500
|
+
poster.on.pre(noInherit(async (url, init, result) => {
|
501
|
+
|
502
|
+
const { ServerRelativeUrl: srcUrl, ["odata.id"]: absoluteUrl } = await File(this).using(BatchNever()).select("ServerRelativeUrl")();
|
503
|
+
const webBaseUrl = new URL(extractWebUrl(absoluteUrl));
|
504
|
+
|
505
|
+
url = combine(webBaseUrl.toString(), `/_api/SP.MoveCopyUtil.${methodName}(overwrite=@a1)?@a1=${overwrite}`);
|
506
|
+
|
507
|
+
init = body({
|
508
|
+
destPath: toResourcePath(isUrlAbsolute(destUrl) ? destUrl : `${webBaseUrl.protocol}//${webBaseUrl.host}${destUrl}`),
|
509
|
+
options,
|
510
|
+
srcPath: toResourcePath(isUrlAbsolute(srcUrl) ? srcUrl : `${webBaseUrl.protocol}//${webBaseUrl.host}${srcUrl}`),
|
511
|
+
}, init);
|
512
|
+
|
513
|
+
return [url, init, result];
|
514
|
+
}));
|
515
|
+
|
516
|
+
return spPost(poster).then(() => fileFromPath(this, destUrl));
|
517
|
+
}
|
518
|
+
}
|
519
|
+
|
520
|
+
export interface IFile extends _File, IDeleteableWithETag { }
|
521
|
+
export const File = spInvokableFactory<IFile>(_File);
|
522
|
+
|
523
|
+
/**
|
524
|
+
* Creates an IFile instance given a base object and a server relative path
|
525
|
+
*
|
526
|
+
* @param base Valid SPQueryable from which the observers will be used and the web url extracted
|
527
|
+
* @param serverRelativePath The server relative url to the file (ex: '/sites/dev/documents/file.txt')
|
528
|
+
* @returns IFile instance referencing the file described by the supplied parameters
|
529
|
+
*/
|
530
|
+
export function fileFromServerRelativePath(base: ISPQueryable, serverRelativePath: string): IFile {
|
531
|
+
return File([base, extractWebUrl(base.toUrl())], `_api/web/getFileByServerRelativePath(decodedUrl='${encodePath(serverRelativePath)}')`);
|
532
|
+
}
|
533
|
+
|
534
|
+
/**
|
535
|
+
* Creates an IFile instance given a base object and an absolute path
|
536
|
+
*
|
537
|
+
* @param base Valid SPQueryable from which the observers will be used
|
538
|
+
* @param serverRelativePath The absolute url to the file (ex: 'https://tenant.sharepoint.com/sites/dev/documents/file.txt')
|
539
|
+
* @returns IFile instance referencing the file described by the supplied parameters
|
540
|
+
*/
|
541
|
+
export async function fileFromAbsolutePath(base: ISPQueryable, absoluteFilePath: string): Promise<IFile> {
|
542
|
+
|
543
|
+
const { WebFullUrl } = await File(this).using(BatchNever()).getContextInfo(absoluteFilePath);
|
544
|
+
const { pathname } = new URL(absoluteFilePath);
|
545
|
+
return fileFromServerRelativePath(File([base, combine(WebFullUrl, "_api/web")]), decodeURIComponent(pathname));
|
546
|
+
}
|
547
|
+
|
548
|
+
/**
|
549
|
+
* Creates an IFile intance given a base object and either an absolute or server relative path to a file
|
550
|
+
*
|
551
|
+
* @param base Valid SPQueryable from which the observers will be used
|
552
|
+
* @param serverRelativePath server relative or absolute url to the file (ex: 'https://tenant.sharepoint.com/sites/dev/documents/file.txt' or '/sites/dev/documents/file.txt')
|
553
|
+
* @returns IFile instance referencing the file described by the supplied parameters
|
554
|
+
*/
|
555
|
+
export async function fileFromPath(base: ISPQueryable, path: string): Promise<IFile> {
|
556
|
+
return (isUrlAbsolute(path) ? fileFromAbsolutePath : fileFromServerRelativePath)(base, path);
|
557
|
+
}
|
558
|
+
|
559
|
+
/**
|
560
|
+
* Describes a collection of Version objects
|
561
|
+
*
|
562
|
+
*/
|
563
|
+
@defaultPath("versions")
|
564
|
+
export class _Versions extends _SPCollection {
|
565
|
+
|
566
|
+
/**
|
567
|
+
* Gets a version by id
|
568
|
+
*
|
569
|
+
* @param versionId The id of the version to retrieve
|
570
|
+
*/
|
571
|
+
public getById(versionId: number): IVersion {
|
572
|
+
return Version(this).concat(`(${versionId})`);
|
573
|
+
}
|
574
|
+
|
575
|
+
/**
|
576
|
+
* Deletes all the file version objects in the collection.
|
577
|
+
*
|
578
|
+
*/
|
579
|
+
public deleteAll(): Promise<void> {
|
580
|
+
return spPost(Versions(this, "deleteAll"));
|
581
|
+
}
|
582
|
+
|
583
|
+
/**
|
584
|
+
* Deletes the specified version of the file.
|
585
|
+
*
|
586
|
+
* @param versionId The ID of the file version to delete.
|
587
|
+
*/
|
588
|
+
public deleteById(versionId: number): Promise<void> {
|
589
|
+
return spPost(Versions(this, `deleteById(vid=${versionId})`));
|
590
|
+
}
|
591
|
+
|
592
|
+
/**
|
593
|
+
* Recycles the specified version of the file.
|
594
|
+
*
|
595
|
+
* @param versionId The ID of the file version to delete.
|
596
|
+
*/
|
597
|
+
public recycleByID(versionId: number): Promise<void> {
|
598
|
+
return spPost(Versions(this, `recycleByID(vid=${versionId})`));
|
599
|
+
}
|
600
|
+
|
601
|
+
/**
|
602
|
+
* Deletes the file version object with the specified version label.
|
603
|
+
*
|
604
|
+
* @param label The version label of the file version to delete, for example: 1.2
|
605
|
+
*/
|
606
|
+
public deleteByLabel(label: string): Promise<void> {
|
607
|
+
return spPost(Versions(this, `deleteByLabel(versionlabel='${encodePath(label)}')`));
|
608
|
+
}
|
609
|
+
|
610
|
+
/**
|
611
|
+
* Recycles the file version object with the specified version label.
|
612
|
+
*
|
613
|
+
* @param label The version label of the file version to delete, for example: 1.2
|
614
|
+
*/
|
615
|
+
public recycleByLabel(label: string): Promise<void> {
|
616
|
+
return spPost(Versions(this, `recycleByLabel(versionlabel='${encodePath(label)}')`));
|
617
|
+
}
|
618
|
+
|
619
|
+
/**
|
620
|
+
* Creates a new file version from the file specified by the version label.
|
621
|
+
*
|
622
|
+
* @param label The version label of the file version to restore, for example: 1.2
|
623
|
+
*/
|
624
|
+
public restoreByLabel(label: string): Promise<void> {
|
625
|
+
return spPost(Versions(this, `restoreByLabel(versionlabel='${encodePath(label)}')`));
|
626
|
+
}
|
627
|
+
}
|
628
|
+
export interface IVersions extends _Versions { }
|
629
|
+
export const Versions = spInvokableFactory<IVersions>(_Versions);
|
630
|
+
|
631
|
+
/**
|
632
|
+
* Describes a single Version instance
|
633
|
+
*
|
634
|
+
*/
|
635
|
+
export class _Version extends ReadableFile<IVersionInfo> {
|
636
|
+
public delete = deleteable();
|
637
|
+
}
|
638
|
+
export interface IVersion extends _Version, IDeleteable { }
|
639
|
+
export const Version = spInvokableFactory<IVersion>(_Version);
|
640
|
+
|
641
|
+
/**
|
642
|
+
* Types for document check in.
|
643
|
+
* Minor = 0
|
644
|
+
* Major = 1
|
645
|
+
* Overwrite = 2
|
646
|
+
*/
|
647
|
+
export enum CheckinType {
|
648
|
+
Minor = 0,
|
649
|
+
Major = 1,
|
650
|
+
Overwrite = 2,
|
651
|
+
}
|
652
|
+
/**
|
653
|
+
* Describes file and result
|
654
|
+
*/
|
655
|
+
export interface IFileAddResult {
|
656
|
+
file: IFile;
|
657
|
+
data: IFileInfo;
|
658
|
+
}
|
659
|
+
|
660
|
+
/**
|
661
|
+
* File move opertions
|
662
|
+
*/
|
663
|
+
export enum MoveOperations {
|
664
|
+
/**
|
665
|
+
* Produce an error if a file with the same name exists in the destination
|
666
|
+
*/
|
667
|
+
None = 0,
|
668
|
+
/**
|
669
|
+
* Overwrite a file with the same name if it exists. Value is 1.
|
670
|
+
*/
|
671
|
+
Overwrite = 1,
|
672
|
+
/**
|
673
|
+
* Complete the move operation even if supporting files are separated from the file. Value is 8.
|
674
|
+
*/
|
675
|
+
AllowBrokenThickets = 8,
|
676
|
+
/**
|
677
|
+
* Boolean specifying whether to retain the source of the move's editor and modified by datetime.
|
678
|
+
*/
|
679
|
+
RetainEditorAndModifiedOnMove = 2048,
|
680
|
+
}
|
681
|
+
|
682
|
+
export enum TemplateFileType {
|
683
|
+
StandardPage = 0,
|
684
|
+
WikiPage = 1,
|
685
|
+
FormPage = 2,
|
686
|
+
ClientSidePage = 3,
|
687
|
+
}
|
688
|
+
|
689
|
+
/**
|
690
|
+
* Describes SharePoint file upload progress data
|
691
|
+
*/
|
692
|
+
export interface IFileUploadProgressData {
|
693
|
+
uploadId: string;
|
694
|
+
stage: "starting" | "continue" | "finishing";
|
695
|
+
blockNumber: number;
|
696
|
+
totalBlocks: number;
|
697
|
+
chunkSize: number;
|
698
|
+
currentPointer: number;
|
699
|
+
fileSize: number;
|
700
|
+
}
|
701
|
+
|
702
|
+
export interface IAddUsingPathProps {
|
703
|
+
/**
|
704
|
+
* Overwrite the file if it exists
|
705
|
+
*/
|
706
|
+
Overwrite: boolean;
|
707
|
+
/**
|
708
|
+
* specifies whether to auto checkout on invalid Data. It'll be useful if the list contains validation whose requirements upload will not be able to meet.
|
709
|
+
*/
|
710
|
+
AutoCheckoutOnInvalidData?: boolean;
|
711
|
+
/**
|
712
|
+
* Specifies a XOR hash of the file data which should be used to ensure end-2-end data integrity, base64 representation
|
713
|
+
*/
|
714
|
+
XorHash?: string;
|
715
|
+
}
|
716
|
+
|
717
|
+
export interface IFileInfo {
|
718
|
+
readonly "odata.id": string;
|
719
|
+
CheckInComment: string;
|
720
|
+
CheckOutType: number;
|
721
|
+
ContentTag: string;
|
722
|
+
CustomizedPageStatus: number;
|
723
|
+
ETag: string;
|
724
|
+
Exists: boolean;
|
725
|
+
IrmEnabled: boolean;
|
726
|
+
Length: string;
|
727
|
+
Level: number;
|
728
|
+
LinkingUri: string | null;
|
729
|
+
LinkingUrl: string;
|
730
|
+
ListId: string;
|
731
|
+
MajorVersion: number;
|
732
|
+
MinorVersion: number;
|
733
|
+
Name: string;
|
734
|
+
ServerRelativeUrl: string;
|
735
|
+
SiteId: string;
|
736
|
+
TimeCreated: string;
|
737
|
+
TimeLastModified: string;
|
738
|
+
Title: string | null;
|
739
|
+
UIVersion: number;
|
740
|
+
UIVersionLabel: string;
|
741
|
+
UniqueId: string;
|
742
|
+
WebId: string;
|
743
|
+
}
|
744
|
+
|
745
|
+
export interface IVersionInfo {
|
746
|
+
Created: string;
|
747
|
+
ID: number;
|
748
|
+
VersionLabel: string;
|
749
|
+
Length: number;
|
750
|
+
Size: number;
|
751
|
+
CreatedBy: any;
|
752
|
+
Url: string;
|
753
|
+
IsCurrentVersion: boolean;
|
754
|
+
CheckInComment: string;
|
755
|
+
}
|
756
|
+
|
757
|
+
export interface IFileDeleteParams {
|
758
|
+
/**
|
759
|
+
* If true, delete or recyle a file when the LockType
|
760
|
+
* value is SPLockType.Shared or SPLockType.None.
|
761
|
+
* When false, delete or recycle the file when
|
762
|
+
* the LockType value SPLockType.None.
|
763
|
+
*/
|
764
|
+
BypassSharedLock: boolean;
|
765
|
+
|
766
|
+
/**
|
767
|
+
* Gets or sets a string value that allows SPfile delete and recycle methods
|
768
|
+
* to target a file with a matching value. Use null to unconditionally delete the file.
|
769
|
+
*/
|
770
|
+
ETagMatch: string;
|
771
|
+
}
|