@pnp/sp 4.0.0-alpha0-v4nightly.20240108 → 4.0.0-alpha0-v4nightly.20240110
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/commonjs/appcatalog/index.d.ts +11 -0
- package/commonjs/appcatalog/index.d.ts.map +1 -0
- package/commonjs/appcatalog/index.js +22 -0
- package/commonjs/appcatalog/index.js.map +1 -0
- package/commonjs/appcatalog/types.d.ts +79 -0
- package/commonjs/appcatalog/types.d.ts.map +1 -0
- package/commonjs/appcatalog/types.js +134 -0
- package/commonjs/appcatalog/types.js.map +1 -0
- package/commonjs/appcatalog/web.d.ts +13 -0
- package/commonjs/appcatalog/web.d.ts.map +1 -0
- package/commonjs/appcatalog/web.js +9 -0
- package/commonjs/appcatalog/web.js.map +1 -0
- package/commonjs/attachments/index.d.ts +3 -0
- package/commonjs/attachments/index.d.ts.map +1 -0
- package/commonjs/attachments/index.js +8 -0
- package/commonjs/attachments/index.js.map +1 -0
- package/commonjs/attachments/item.d.ts +13 -0
- package/commonjs/attachments/item.d.ts.map +1 -0
- package/commonjs/attachments/item.js +7 -0
- package/commonjs/attachments/item.js.map +1 -0
- package/commonjs/attachments/types.d.ts +57 -0
- package/commonjs/attachments/types.d.ts.map +1 -0
- package/commonjs/attachments/types.js +68 -0
- package/commonjs/attachments/types.js.map +1 -0
- package/commonjs/batching.d.ts +45 -0
- package/commonjs/batching.d.ts.map +1 -0
- package/commonjs/batching.js +355 -0
- package/commonjs/batching.js.map +1 -0
- package/commonjs/behaviors/defaults.d.ts +5 -0
- package/commonjs/behaviors/defaults.d.ts.map +1 -0
- package/commonjs/behaviors/defaults.js +29 -0
- package/commonjs/behaviors/defaults.js.map +1 -0
- package/commonjs/behaviors/request-digest.d.ts +9 -0
- package/commonjs/behaviors/request-digest.d.ts.map +1 -0
- package/commonjs/behaviors/request-digest.js +59 -0
- package/commonjs/behaviors/request-digest.js.map +1 -0
- package/commonjs/behaviors/spbrowser.d.ts +7 -0
- package/commonjs/behaviors/spbrowser.d.ts.map +1 -0
- package/commonjs/behaviors/spbrowser.js +27 -0
- package/commonjs/behaviors/spbrowser.js.map +1 -0
- package/commonjs/behaviors/spfx.d.ts +21 -0
- package/commonjs/behaviors/spfx.d.ts.map +1 -0
- package/commonjs/behaviors/spfx.js +62 -0
- package/commonjs/behaviors/spfx.js.map +1 -0
- package/commonjs/behaviors/telemetry.d.ts +4 -0
- package/commonjs/behaviors/telemetry.d.ts.map +1 -0
- package/commonjs/behaviors/telemetry.js +27 -0
- package/commonjs/behaviors/telemetry.js.map +1 -0
- package/commonjs/clientside-pages/funcs.d.ts +23 -0
- package/commonjs/clientside-pages/funcs.d.ts.map +1 -0
- package/commonjs/clientside-pages/funcs.js +31 -0
- package/commonjs/clientside-pages/funcs.js.map +1 -0
- package/commonjs/clientside-pages/index.d.ts +3 -0
- package/commonjs/clientside-pages/index.d.ts.map +1 -0
- package/commonjs/clientside-pages/index.js +14 -0
- package/commonjs/clientside-pages/index.js.map +1 -0
- package/commonjs/clientside-pages/types.d.ts +495 -0
- package/commonjs/clientside-pages/types.d.ts.map +1 -0
- package/commonjs/clientside-pages/types.js +1155 -0
- package/commonjs/clientside-pages/types.js.map +1 -0
- package/commonjs/clientside-pages/web.d.ts +42 -0
- package/commonjs/clientside-pages/web.d.ts.map +1 -0
- package/commonjs/clientside-pages/web.js +33 -0
- package/commonjs/clientside-pages/web.js.map +1 -0
- package/commonjs/column-defaults/folder.d.ts +28 -0
- package/commonjs/column-defaults/folder.d.ts.map +1 -0
- package/commonjs/column-defaults/folder.js +50 -0
- package/commonjs/column-defaults/folder.js.map +1 -0
- package/commonjs/column-defaults/index.d.ts +4 -0
- package/commonjs/column-defaults/index.d.ts.map +1 -0
- package/commonjs/column-defaults/index.js +5 -0
- package/commonjs/column-defaults/index.js.map +1 -0
- package/commonjs/column-defaults/list.d.ts +20 -0
- package/commonjs/column-defaults/list.d.ts.map +1 -0
- package/commonjs/column-defaults/list.js +171 -0
- package/commonjs/column-defaults/list.js.map +1 -0
- package/commonjs/column-defaults/types.d.ts +22 -0
- package/commonjs/column-defaults/types.d.ts.map +1 -0
- package/commonjs/column-defaults/types.js +3 -0
- package/commonjs/column-defaults/types.js.map +1 -0
- package/commonjs/comments/clientside-page.d.ts +58 -0
- package/commonjs/comments/clientside-page.d.ts.map +1 -0
- package/commonjs/comments/clientside-page.js +51 -0
- package/commonjs/comments/clientside-page.js.map +1 -0
- package/commonjs/comments/index.d.ts +3 -0
- package/commonjs/comments/index.d.ts.map +1 -0
- package/commonjs/comments/index.js +9 -0
- package/commonjs/comments/index.js.map +1 -0
- package/commonjs/comments/item.d.ts +37 -0
- package/commonjs/comments/item.d.ts.map +1 -0
- package/commonjs/comments/item.js +37 -0
- package/commonjs/comments/item.js.map +1 -0
- package/commonjs/comments/types.d.ts +111 -0
- package/commonjs/comments/types.d.ts.map +1 -0
- package/commonjs/comments/types.js +89 -0
- package/commonjs/comments/types.js.map +1 -0
- package/commonjs/content-types/index.d.ts +5 -0
- package/commonjs/content-types/index.d.ts.map +1 -0
- package/commonjs/content-types/index.js +12 -0
- package/commonjs/content-types/index.js.map +1 -0
- package/commonjs/content-types/item.d.ts +13 -0
- package/commonjs/content-types/item.d.ts.map +1 -0
- package/commonjs/content-types/item.js +7 -0
- package/commonjs/content-types/item.js.map +1 -0
- package/commonjs/content-types/list.d.ts +13 -0
- package/commonjs/content-types/list.d.ts.map +1 -0
- package/commonjs/content-types/list.js +7 -0
- package/commonjs/content-types/list.js.map +1 -0
- package/commonjs/content-types/types.d.ts +120 -0
- package/commonjs/content-types/types.d.ts.map +1 -0
- package/commonjs/content-types/types.js +115 -0
- package/commonjs/content-types/types.js.map +1 -0
- package/commonjs/content-types/web.d.ts +13 -0
- package/commonjs/content-types/web.d.ts.map +1 -0
- package/commonjs/content-types/web.js +7 -0
- package/commonjs/content-types/web.js.map +1 -0
- package/commonjs/context-info/index.d.ts +22 -0
- package/commonjs/context-info/index.d.ts.map +1 -0
- package/commonjs/context-info/index.js +17 -0
- package/commonjs/context-info/index.js.map +1 -0
- package/commonjs/decorators.d.ts +9 -0
- package/commonjs/decorators.d.ts.map +1 -0
- package/commonjs/decorators.js +20 -0
- package/commonjs/decorators.js.map +1 -0
- package/commonjs/favorites/index.d.ts +11 -0
- package/commonjs/favorites/index.d.ts.map +1 -0
- package/commonjs/favorites/index.js +15 -0
- package/commonjs/favorites/index.js.map +1 -0
- package/commonjs/favorites/types.d.ts +113 -0
- package/commonjs/favorites/types.d.ts.map +1 -0
- package/commonjs/favorites/types.js +115 -0
- package/commonjs/favorites/types.js.map +1 -0
- package/commonjs/features/index.d.ts +4 -0
- package/commonjs/features/index.d.ts.map +1 -0
- package/commonjs/features/index.js +9 -0
- package/commonjs/features/index.js.map +1 -0
- package/commonjs/features/site.d.ts +13 -0
- package/commonjs/features/site.d.ts.map +1 -0
- package/commonjs/features/site.js +7 -0
- package/commonjs/features/site.js.map +1 -0
- package/commonjs/features/types.d.ts +42 -0
- package/commonjs/features/types.d.ts.map +1 -0
- package/commonjs/features/types.js +56 -0
- package/commonjs/features/types.js.map +1 -0
- package/commonjs/features/web.d.ts +13 -0
- package/commonjs/features/web.d.ts.map +1 -0
- package/commonjs/features/web.js +7 -0
- package/commonjs/features/web.js.map +1 -0
- package/commonjs/fi.d.ts +25 -0
- package/commonjs/fi.d.ts.map +1 -0
- package/commonjs/fi.js +40 -0
- package/commonjs/fi.js.map +1 -0
- package/commonjs/fields/index.d.ts +4 -0
- package/commonjs/fields/index.d.ts.map +1 -0
- package/commonjs/fields/index.js +17 -0
- package/commonjs/fields/index.js.map +1 -0
- package/commonjs/fields/list.d.ts +13 -0
- package/commonjs/fields/list.d.ts.map +1 -0
- package/commonjs/fields/list.js +7 -0
- package/commonjs/fields/list.js.map +1 -0
- package/commonjs/fields/types.d.ts +402 -0
- package/commonjs/fields/types.d.ts.map +1 -0
- package/commonjs/fields/types.js +459 -0
- package/commonjs/fields/types.js.map +1 -0
- package/commonjs/fields/web.d.ts +18 -0
- package/commonjs/fields/web.d.ts.map +1 -0
- package/commonjs/fields/web.js +8 -0
- package/commonjs/fields/web.js.map +1 -0
- package/commonjs/files/folder.d.ts +13 -0
- package/commonjs/files/folder.d.ts.map +1 -0
- package/commonjs/files/folder.js +7 -0
- package/commonjs/files/folder.js.map +1 -0
- package/commonjs/files/index.d.ts +5 -0
- package/commonjs/files/index.d.ts.map +1 -0
- package/commonjs/files/index.js +18 -0
- package/commonjs/files/index.js.map +1 -0
- package/commonjs/files/item.d.ts +13 -0
- package/commonjs/files/item.d.ts.map +1 -0
- package/commonjs/files/item.js +7 -0
- package/commonjs/files/item.js.map +1 -0
- package/commonjs/files/readable-file.d.ts +23 -0
- package/commonjs/files/readable-file.d.ts.map +1 -0
- package/commonjs/files/readable-file.js +38 -0
- package/commonjs/files/readable-file.js.map +1 -0
- package/commonjs/files/types.d.ts +451 -0
- package/commonjs/files/types.d.ts.map +1 -0
- package/commonjs/files/types.js +589 -0
- package/commonjs/files/types.js.map +1 -0
- package/commonjs/files/web.d.ts +29 -0
- package/commonjs/files/web.d.ts.map +1 -0
- package/commonjs/files/web.js +15 -0
- package/commonjs/files/web.js.map +1 -0
- package/commonjs/folders/index.d.ts +5 -0
- package/commonjs/folders/index.d.ts.map +1 -0
- package/commonjs/folders/index.js +13 -0
- package/commonjs/folders/index.js.map +1 -0
- package/commonjs/folders/item.d.ts +10 -0
- package/commonjs/folders/item.d.ts.map +1 -0
- package/commonjs/folders/item.js +7 -0
- package/commonjs/folders/item.js.map +1 -0
- package/commonjs/folders/list.d.ts +13 -0
- package/commonjs/folders/list.d.ts.map +1 -0
- package/commonjs/folders/list.js +7 -0
- package/commonjs/folders/list.js.map +1 -0
- package/commonjs/folders/types.d.ts +237 -0
- package/commonjs/folders/types.d.ts.map +1 -0
- package/commonjs/folders/types.js +253 -0
- package/commonjs/folders/types.js.map +1 -0
- package/commonjs/folders/web.d.ts +33 -0
- package/commonjs/folders/web.d.ts.map +1 -0
- package/commonjs/folders/web.js +14 -0
- package/commonjs/folders/web.js.map +1 -0
- package/commonjs/forms/index.d.ts +3 -0
- package/commonjs/forms/index.d.ts.map +1 -0
- package/commonjs/forms/index.js +8 -0
- package/commonjs/forms/index.js.map +1 -0
- package/commonjs/forms/list.d.ts +10 -0
- package/commonjs/forms/list.d.ts.map +1 -0
- package/commonjs/forms/list.js +7 -0
- package/commonjs/forms/list.js.map +1 -0
- package/commonjs/forms/types.d.ts +36 -0
- package/commonjs/forms/types.d.ts.map +1 -0
- package/commonjs/forms/types.js +34 -0
- package/commonjs/forms/types.js.map +1 -0
- package/commonjs/groupsitemanager/index.d.ts +8 -0
- package/commonjs/groupsitemanager/index.d.ts.map +1 -0
- package/commonjs/groupsitemanager/index.js +14 -0
- package/commonjs/groupsitemanager/index.js.map +1 -0
- package/commonjs/groupsitemanager/types.d.ts +312 -0
- package/commonjs/groupsitemanager/types.d.ts.map +1 -0
- package/commonjs/groupsitemanager/types.js +325 -0
- package/commonjs/groupsitemanager/types.js.map +1 -0
- package/commonjs/hubsites/index.d.ts +13 -0
- package/commonjs/hubsites/index.d.ts.map +1 -0
- package/commonjs/hubsites/index.js +18 -0
- package/commonjs/hubsites/index.js.map +1 -0
- package/commonjs/hubsites/site.d.ts +27 -0
- package/commonjs/hubsites/site.d.ts.map +1 -0
- package/commonjs/hubsites/site.js +14 -0
- package/commonjs/hubsites/site.js.map +1 -0
- package/commonjs/hubsites/types.d.ts +56 -0
- package/commonjs/hubsites/types.d.ts.map +1 -0
- package/commonjs/hubsites/types.js +34 -0
- package/commonjs/hubsites/types.js.map +1 -0
- package/commonjs/hubsites/web.d.ts +22 -0
- package/commonjs/hubsites/web.d.ts.map +1 -0
- package/commonjs/hubsites/web.js +15 -0
- package/commonjs/hubsites/web.js.map +1 -0
- package/commonjs/index.d.ts +15 -0
- package/commonjs/index.d.ts.map +1 -0
- package/commonjs/index.js +21 -0
- package/commonjs/index.js.map +1 -0
- package/commonjs/items/index.d.ts +3 -0
- package/commonjs/items/index.d.ts.map +1 -0
- package/commonjs/items/index.js +10 -0
- package/commonjs/items/index.js.map +1 -0
- package/commonjs/items/list.d.ts +10 -0
- package/commonjs/items/list.d.ts.map +1 -0
- package/commonjs/items/list.js +7 -0
- package/commonjs/items/list.js.map +1 -0
- package/commonjs/items/types.d.ts +193 -0
- package/commonjs/items/types.d.ts.map +1 -0
- package/commonjs/items/types.js +295 -0
- package/commonjs/items/types.js.map +1 -0
- package/commonjs/lists/index.d.ts +3 -0
- package/commonjs/lists/index.d.ts.map +1 -0
- package/commonjs/lists/index.js +10 -0
- package/commonjs/lists/index.js.map +1 -0
- package/commonjs/lists/types.d.ts +626 -0
- package/commonjs/lists/types.d.ts.map +1 -0
- package/commonjs/lists/types.js +357 -0
- package/commonjs/lists/types.js.map +1 -0
- package/commonjs/lists/web.d.ts +44 -0
- package/commonjs/lists/web.d.ts.map +1 -0
- package/commonjs/lists/web.js +20 -0
- package/commonjs/lists/web.js.map +1 -0
- package/commonjs/navigation/index.d.ts +9 -0
- package/commonjs/navigation/index.d.ts.map +1 -0
- package/commonjs/navigation/index.js +19 -0
- package/commonjs/navigation/index.js.map +1 -0
- package/commonjs/navigation/types.d.ts +155 -0
- package/commonjs/navigation/types.d.ts.map +1 -0
- package/commonjs/navigation/types.js +153 -0
- package/commonjs/navigation/types.js.map +1 -0
- package/commonjs/navigation/web.d.ts +14 -0
- package/commonjs/navigation/web.d.ts.map +1 -0
- package/commonjs/navigation/web.js +7 -0
- package/commonjs/navigation/web.js.map +1 -0
- package/commonjs/package.json +1 -0
- package/commonjs/presets/all.d.ts +75 -0
- package/commonjs/presets/all.d.ts.map +1 -0
- package/commonjs/presets/all.js +78 -0
- package/commonjs/presets/all.js.map +1 -0
- package/commonjs/profiles/index.d.ts +8 -0
- package/commonjs/profiles/index.d.ts.map +1 -0
- package/commonjs/profiles/index.js +16 -0
- package/commonjs/profiles/index.js.map +1 -0
- package/commonjs/profiles/types.d.ts +358 -0
- package/commonjs/profiles/types.d.ts.map +1 -0
- package/commonjs/profiles/types.js +362 -0
- package/commonjs/profiles/types.js.map +1 -0
- package/commonjs/publishing-sitepageservice/index.d.ts +11 -0
- package/commonjs/publishing-sitepageservice/index.d.ts.map +1 -0
- package/commonjs/publishing-sitepageservice/index.js +13 -0
- package/commonjs/publishing-sitepageservice/index.js.map +1 -0
- package/commonjs/publishing-sitepageservice/types.d.ts +12 -0
- package/commonjs/publishing-sitepageservice/types.d.ts.map +1 -0
- package/commonjs/publishing-sitepageservice/types.js +20 -0
- package/commonjs/publishing-sitepageservice/types.js.map +1 -0
- package/commonjs/recycle-bin/index.d.ts +25 -0
- package/commonjs/recycle-bin/index.d.ts.map +1 -0
- package/commonjs/recycle-bin/index.js +12 -0
- package/commonjs/recycle-bin/index.js.map +1 -0
- package/commonjs/recycle-bin/types.d.ts +82 -0
- package/commonjs/recycle-bin/types.d.ts.map +1 -0
- package/commonjs/recycle-bin/types.js +83 -0
- package/commonjs/recycle-bin/types.js.map +1 -0
- package/commonjs/regional-settings/content-type.d.ts +8 -0
- package/commonjs/regional-settings/content-type.d.ts.map +1 -0
- package/commonjs/regional-settings/content-type.js +7 -0
- package/commonjs/regional-settings/content-type.js.map +1 -0
- package/commonjs/regional-settings/field.d.ts +8 -0
- package/commonjs/regional-settings/field.d.ts.map +1 -0
- package/commonjs/regional-settings/field.js +7 -0
- package/commonjs/regional-settings/field.js.map +1 -0
- package/commonjs/regional-settings/funcs.d.ts +3 -0
- package/commonjs/regional-settings/funcs.d.ts.map +1 -0
- package/commonjs/regional-settings/funcs.js +12 -0
- package/commonjs/regional-settings/funcs.js.map +1 -0
- package/commonjs/regional-settings/index.d.ts +7 -0
- package/commonjs/regional-settings/index.d.ts.map +1 -0
- package/commonjs/regional-settings/index.js +13 -0
- package/commonjs/regional-settings/index.js.map +1 -0
- package/commonjs/regional-settings/list.d.ts +8 -0
- package/commonjs/regional-settings/list.d.ts.map +1 -0
- package/commonjs/regional-settings/list.js +7 -0
- package/commonjs/regional-settings/list.js.map +1 -0
- package/commonjs/regional-settings/types.d.ts +105 -0
- package/commonjs/regional-settings/types.d.ts.map +1 -0
- package/commonjs/regional-settings/types.js +88 -0
- package/commonjs/regional-settings/types.js.map +1 -0
- package/commonjs/regional-settings/user-custom-actions.d.ts +8 -0
- package/commonjs/regional-settings/user-custom-actions.d.ts.map +1 -0
- package/commonjs/regional-settings/user-custom-actions.js +7 -0
- package/commonjs/regional-settings/user-custom-actions.js.map +1 -0
- package/commonjs/regional-settings/web.d.ts +13 -0
- package/commonjs/regional-settings/web.d.ts.map +1 -0
- package/commonjs/regional-settings/web.js +10 -0
- package/commonjs/regional-settings/web.js.map +1 -0
- package/commonjs/related-items/index.d.ts +3 -0
- package/commonjs/related-items/index.d.ts.map +1 -0
- package/commonjs/related-items/index.js +7 -0
- package/commonjs/related-items/index.js.map +1 -0
- package/commonjs/related-items/types.d.ts +77 -0
- package/commonjs/related-items/types.d.ts.map +1 -0
- package/commonjs/related-items/types.js +84 -0
- package/commonjs/related-items/types.js.map +1 -0
- package/commonjs/related-items/web.d.ts +13 -0
- package/commonjs/related-items/web.d.ts.map +1 -0
- package/commonjs/related-items/web.js +12 -0
- package/commonjs/related-items/web.js.map +1 -0
- package/commonjs/search/index.d.ts +23 -0
- package/commonjs/search/index.d.ts.map +1 -0
- package/commonjs/search/index.js +21 -0
- package/commonjs/search/index.js.map +1 -0
- package/commonjs/search/query.d.ts +62 -0
- package/commonjs/search/query.d.ts.map +1 -0
- package/commonjs/search/query.js +220 -0
- package/commonjs/search/query.js.map +1 -0
- package/commonjs/search/suggest.d.ts +76 -0
- package/commonjs/search/suggest.d.ts.map +1 -0
- package/commonjs/search/suggest.js +44 -0
- package/commonjs/search/suggest.js.map +1 -0
- package/commonjs/search/types.d.ts +436 -0
- package/commonjs/search/types.d.ts.map +1 -0
- package/commonjs/search/types.js +58 -0
- package/commonjs/search/types.js.map +1 -0
- package/commonjs/security/funcs.d.ts +44 -0
- package/commonjs/security/funcs.d.ts.map +1 -0
- package/commonjs/security/funcs.js +91 -0
- package/commonjs/security/funcs.js.map +1 -0
- package/commonjs/security/index.d.ts +5 -0
- package/commonjs/security/index.d.ts.map +1 -0
- package/commonjs/security/index.js +13 -0
- package/commonjs/security/index.js.map +1 -0
- package/commonjs/security/item.d.ts +8 -0
- package/commonjs/security/item.d.ts.map +1 -0
- package/commonjs/security/item.js +17 -0
- package/commonjs/security/item.js.map +1 -0
- package/commonjs/security/list.d.ts +8 -0
- package/commonjs/security/list.d.ts.map +1 -0
- package/commonjs/security/list.js +17 -0
- package/commonjs/security/list.js.map +1 -0
- package/commonjs/security/types.d.ts +319 -0
- package/commonjs/security/types.d.ts.map +1 -0
- package/commonjs/security/types.js +336 -0
- package/commonjs/security/types.js.map +1 -0
- package/commonjs/security/web.d.ts +10 -0
- package/commonjs/security/web.d.ts.map +1 -0
- package/commonjs/security/web.js +18 -0
- package/commonjs/security/web.js.map +1 -0
- package/commonjs/sharing/file.d.ts +19 -0
- package/commonjs/sharing/file.d.ts.map +1 -0
- package/commonjs/sharing/file.js +40 -0
- package/commonjs/sharing/file.js.map +1 -0
- package/commonjs/sharing/folder.d.ts +10 -0
- package/commonjs/sharing/folder.d.ts.map +1 -0
- package/commonjs/sharing/folder.js +38 -0
- package/commonjs/sharing/folder.js.map +1 -0
- package/commonjs/sharing/funcs.d.ts +63 -0
- package/commonjs/sharing/funcs.d.ts.map +1 -0
- package/commonjs/sharing/funcs.js +211 -0
- package/commonjs/sharing/funcs.js.map +1 -0
- package/commonjs/sharing/index.d.ts +6 -0
- package/commonjs/sharing/index.d.ts.map +1 -0
- package/commonjs/sharing/index.js +15 -0
- package/commonjs/sharing/index.js.map +1 -0
- package/commonjs/sharing/item.d.ts +17 -0
- package/commonjs/sharing/item.d.ts.map +1 -0
- package/commonjs/sharing/item.js +16 -0
- package/commonjs/sharing/item.js.map +1 -0
- package/commonjs/sharing/types.d.ts +589 -0
- package/commonjs/sharing/types.d.ts.map +1 -0
- package/commonjs/sharing/types.js +117 -0
- package/commonjs/sharing/types.js.map +1 -0
- package/commonjs/sharing/web.d.ts +20 -0
- package/commonjs/sharing/web.d.ts.map +1 -0
- package/commonjs/sharing/web.js +59 -0
- package/commonjs/sharing/web.js.map +1 -0
- package/commonjs/site-designs/index.d.ts +9 -0
- package/commonjs/site-designs/index.d.ts.map +1 -0
- package/commonjs/site-designs/index.js +16 -0
- package/commonjs/site-designs/index.js.map +1 -0
- package/commonjs/site-designs/types.d.ts +376 -0
- package/commonjs/site-designs/types.d.ts.map +1 -0
- package/commonjs/site-designs/types.js +179 -0
- package/commonjs/site-designs/types.js.map +1 -0
- package/commonjs/site-designs/web.d.ts +26 -0
- package/commonjs/site-designs/web.d.ts.map +1 -0
- package/commonjs/site-designs/web.js +14 -0
- package/commonjs/site-designs/web.js.map +1 -0
- package/commonjs/site-groups/index.d.ts +3 -0
- package/commonjs/site-groups/index.d.ts.map +1 -0
- package/commonjs/site-groups/index.js +8 -0
- package/commonjs/site-groups/index.js.map +1 -0
- package/commonjs/site-groups/types.d.ts +87 -0
- package/commonjs/site-groups/types.d.ts.map +1 -0
- package/commonjs/site-groups/types.js +88 -0
- package/commonjs/site-groups/types.js.map +1 -0
- package/commonjs/site-groups/web.d.ts +41 -0
- package/commonjs/site-groups/web.d.ts.map +1 -0
- package/commonjs/site-groups/web.js +20 -0
- package/commonjs/site-groups/web.js.map +1 -0
- package/commonjs/site-scripts/index.d.ts +10 -0
- package/commonjs/site-scripts/index.d.ts.map +1 -0
- package/commonjs/site-scripts/index.js +17 -0
- package/commonjs/site-scripts/index.js.map +1 -0
- package/commonjs/site-scripts/list.d.ts +13 -0
- package/commonjs/site-scripts/list.d.ts.map +1 -0
- package/commonjs/site-scripts/list.js +15 -0
- package/commonjs/site-scripts/list.js.map +1 -0
- package/commonjs/site-scripts/types.d.ts +184 -0
- package/commonjs/site-scripts/types.d.ts.map +1 -0
- package/commonjs/site-scripts/types.js +112 -0
- package/commonjs/site-scripts/types.js.map +1 -0
- package/commonjs/site-scripts/web.d.ts +14 -0
- package/commonjs/site-scripts/web.d.ts.map +1 -0
- package/commonjs/site-scripts/web.js +10 -0
- package/commonjs/site-scripts/web.js.map +1 -0
- package/commonjs/site-users/index.d.ts +3 -0
- package/commonjs/site-users/index.d.ts.map +1 -0
- package/commonjs/site-users/index.js +8 -0
- package/commonjs/site-users/index.js.map +1 -0
- package/commonjs/site-users/types.d.ts +138 -0
- package/commonjs/site-users/types.d.ts.map +1 -0
- package/commonjs/site-users/types.js +99 -0
- package/commonjs/site-users/types.js.map +1 -0
- package/commonjs/site-users/web.d.ts +32 -0
- package/commonjs/site-users/web.d.ts.map +1 -0
- package/commonjs/site-users/web.js +20 -0
- package/commonjs/site-users/web.js.map +1 -0
- package/commonjs/sites/index.d.ts +8 -0
- package/commonjs/sites/index.d.ts.map +1 -0
- package/commonjs/sites/index.js +17 -0
- package/commonjs/sites/index.js.map +1 -0
- package/commonjs/sites/types.d.ts +221 -0
- package/commonjs/sites/types.d.ts.map +1 -0
- package/commonjs/sites/types.js +261 -0
- package/commonjs/sites/types.js.map +1 -0
- package/commonjs/social/index.d.ts +11 -0
- package/commonjs/social/index.d.ts.map +1 -0
- package/commonjs/social/index.js +20 -0
- package/commonjs/social/index.js.map +1 -0
- package/commonjs/social/types.d.ts +305 -0
- package/commonjs/social/types.d.ts.map +1 -0
- package/commonjs/social/types.js +210 -0
- package/commonjs/social/types.js.map +1 -0
- package/commonjs/spqueryable.d.ts +117 -0
- package/commonjs/spqueryable.d.ts.map +1 -0
- package/commonjs/spqueryable.js +219 -0
- package/commonjs/spqueryable.js.map +1 -0
- package/commonjs/sputilities/index.d.ts +8 -0
- package/commonjs/sputilities/index.d.ts.map +1 -0
- package/commonjs/sputilities/index.js +15 -0
- package/commonjs/sputilities/index.js.map +1 -0
- package/commonjs/sputilities/types.d.ts +101 -0
- package/commonjs/sputilities/types.d.ts.map +1 -0
- package/commonjs/sputilities/types.js +69 -0
- package/commonjs/sputilities/types.js.map +1 -0
- package/commonjs/subscriptions/index.d.ts +3 -0
- package/commonjs/subscriptions/index.d.ts.map +1 -0
- package/commonjs/subscriptions/index.js +8 -0
- package/commonjs/subscriptions/index.js.map +1 -0
- package/commonjs/subscriptions/list.d.ts +14 -0
- package/commonjs/subscriptions/list.d.ts.map +1 -0
- package/commonjs/subscriptions/list.js +7 -0
- package/commonjs/subscriptions/list.js.map +1 -0
- package/commonjs/subscriptions/types.d.ts +55 -0
- package/commonjs/subscriptions/types.d.ts.map +1 -0
- package/commonjs/subscriptions/types.js +74 -0
- package/commonjs/subscriptions/types.js.map +1 -0
- package/commonjs/taxonomy/index.d.ts +8 -0
- package/commonjs/taxonomy/index.d.ts.map +1 -0
- package/commonjs/taxonomy/index.js +24 -0
- package/commonjs/taxonomy/index.js.map +1 -0
- package/commonjs/taxonomy/types.d.ts +314 -0
- package/commonjs/taxonomy/types.d.ts.map +1 -0
- package/commonjs/taxonomy/types.js +305 -0
- package/commonjs/taxonomy/types.js.map +1 -0
- package/commonjs/types.d.ts +241 -0
- package/commonjs/types.d.ts.map +1 -0
- package/commonjs/types.js +84 -0
- package/commonjs/types.js.map +1 -0
- package/commonjs/user-custom-actions/index.d.ts +5 -0
- package/commonjs/user-custom-actions/index.d.ts.map +1 -0
- package/commonjs/user-custom-actions/index.js +12 -0
- package/commonjs/user-custom-actions/index.js.map +1 -0
- package/commonjs/user-custom-actions/list.d.ts +13 -0
- package/commonjs/user-custom-actions/list.d.ts.map +1 -0
- package/commonjs/user-custom-actions/list.js +7 -0
- package/commonjs/user-custom-actions/list.js.map +1 -0
- package/commonjs/user-custom-actions/site.d.ts +13 -0
- package/commonjs/user-custom-actions/site.d.ts.map +1 -0
- package/commonjs/user-custom-actions/site.js +7 -0
- package/commonjs/user-custom-actions/site.js.map +1 -0
- package/commonjs/user-custom-actions/types.d.ts +82 -0
- package/commonjs/user-custom-actions/types.d.ts.map +1 -0
- package/commonjs/user-custom-actions/types.js +76 -0
- package/commonjs/user-custom-actions/types.js.map +1 -0
- package/commonjs/user-custom-actions/web.d.ts +16 -0
- package/commonjs/user-custom-actions/web.d.ts.map +1 -0
- package/commonjs/user-custom-actions/web.js +7 -0
- package/commonjs/user-custom-actions/web.js.map +1 -0
- package/commonjs/utils/encode-path-str.d.ts +8 -0
- package/commonjs/utils/encode-path-str.d.ts.map +1 -0
- package/commonjs/utils/encode-path-str.js +29 -0
- package/commonjs/utils/encode-path-str.js.map +1 -0
- package/commonjs/utils/extract-web-url.d.ts +2 -0
- package/commonjs/utils/extract-web-url.d.ts.map +1 -0
- package/commonjs/utils/extract-web-url.js +20 -0
- package/commonjs/utils/extract-web-url.js.map +1 -0
- package/commonjs/utils/file-names.d.ts +18 -0
- package/commonjs/utils/file-names.d.ts.map +1 -0
- package/commonjs/utils/file-names.js +41 -0
- package/commonjs/utils/file-names.js.map +1 -0
- package/commonjs/utils/metadata.d.ts +6 -0
- package/commonjs/utils/metadata.d.ts.map +1 -0
- package/commonjs/utils/metadata.js +10 -0
- package/commonjs/utils/metadata.js.map +1 -0
- package/commonjs/utils/odata-url-from.d.ts +2 -0
- package/commonjs/utils/odata-url-from.d.ts.map +1 -0
- package/commonjs/utils/odata-url-from.js +41 -0
- package/commonjs/utils/odata-url-from.js.map +1 -0
- package/commonjs/utils/to-resource-path.d.ts +5 -0
- package/commonjs/utils/to-resource-path.d.ts.map +1 -0
- package/commonjs/utils/to-resource-path.js +10 -0
- package/commonjs/utils/to-resource-path.js.map +1 -0
- package/commonjs/views/index.d.ts +3 -0
- package/commonjs/views/index.d.ts.map +1 -0
- package/commonjs/views/index.js +10 -0
- package/commonjs/views/index.js.map +1 -0
- package/commonjs/views/list.d.ts +24 -0
- package/commonjs/views/list.d.ts.map +1 -0
- package/commonjs/views/list.js +11 -0
- package/commonjs/views/list.js.map +1 -0
- package/commonjs/views/types.d.ts +147 -0
- package/commonjs/views/types.d.ts.map +1 -0
- package/commonjs/views/types.js +140 -0
- package/commonjs/views/types.js.map +1 -0
- package/commonjs/webparts/file.d.ts +16 -0
- package/commonjs/webparts/file.d.ts.map +1 -0
- package/commonjs/webparts/file.js +8 -0
- package/commonjs/webparts/file.js.map +1 -0
- package/commonjs/webparts/index.d.ts +3 -0
- package/commonjs/webparts/index.d.ts.map +1 -0
- package/commonjs/webparts/index.js +10 -0
- package/commonjs/webparts/index.js.map +1 -0
- package/commonjs/webparts/types.d.ts +84 -0
- package/commonjs/webparts/types.d.ts.map +1 -0
- package/commonjs/webparts/types.js +92 -0
- package/commonjs/webparts/types.js.map +1 -0
- package/commonjs/webs/index.d.ts +11 -0
- package/commonjs/webs/index.d.ts.map +1 -0
- package/commonjs/webs/index.js +16 -0
- package/commonjs/webs/index.js.map +1 -0
- package/commonjs/webs/types.d.ts +204 -0
- package/commonjs/webs/types.d.ts.map +1 -0
- package/commonjs/webs/types.js +227 -0
- package/commonjs/webs/types.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BatchNever = exports.createBatch = void 0;
|
|
4
|
+
const core_1 = require("@pnp/core");
|
|
5
|
+
const queryable_1 = require("@pnp/queryable");
|
|
6
|
+
const spqueryable_js_1 = require("./spqueryable.js");
|
|
7
|
+
const fi_js_1 = require("./fi.js");
|
|
8
|
+
const types_js_1 = require("./webs/types.js");
|
|
9
|
+
fi_js_1.SPFI.prototype.batched = function (props) {
|
|
10
|
+
const batched = (0, fi_js_1.spfi)(this);
|
|
11
|
+
const [behavior, execute] = createBatch(batched._root, props);
|
|
12
|
+
batched.using(behavior);
|
|
13
|
+
return [batched, execute];
|
|
14
|
+
};
|
|
15
|
+
types_js_1._Web.prototype.batched = function (props) {
|
|
16
|
+
const batched = (0, types_js_1.Web)(this);
|
|
17
|
+
const [behavior, execute] = createBatch(batched, props);
|
|
18
|
+
batched.using(behavior);
|
|
19
|
+
return [batched, execute];
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Tracks on a batched instance that registration is complete (the child request has gotten to the send moment and the request is included in the batch)
|
|
23
|
+
*/
|
|
24
|
+
const RegistrationCompleteSym = Symbol.for("batch_registration");
|
|
25
|
+
/**
|
|
26
|
+
* Tracks on a batched instance that the child request timeline lifecycle is complete (called in child.dispose)
|
|
27
|
+
*/
|
|
28
|
+
const RequestCompleteSym = Symbol.for("batch_request");
|
|
29
|
+
/**
|
|
30
|
+
* Special batch parsing behavior used to convert the batch response text into a set of Response objects for each request
|
|
31
|
+
* @returns A parser behavior
|
|
32
|
+
*/
|
|
33
|
+
function BatchParse() {
|
|
34
|
+
return (0, queryable_1.parseBinderWithErrorCheck)(async (response) => {
|
|
35
|
+
const text = await response.text();
|
|
36
|
+
return parseResponse(text);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Internal class used to execute the batch request through the timeline lifecycle
|
|
41
|
+
*/
|
|
42
|
+
class BatchQueryable extends spqueryable_js_1._SPQueryable {
|
|
43
|
+
constructor(base, requestBaseUrl = base.toUrl().replace(/_api[\\|/].*$/i, "")) {
|
|
44
|
+
super(requestBaseUrl, "_api/$batch");
|
|
45
|
+
this.requestBaseUrl = requestBaseUrl;
|
|
46
|
+
// this will copy over the current observables from the base associated with this batch
|
|
47
|
+
// this will replace any other parsing present
|
|
48
|
+
this.using((0, core_1.CopyFrom)(base, "replace"), BatchParse());
|
|
49
|
+
this.on.dispose(() => {
|
|
50
|
+
// there is a code path where you may invoke a batch, say on items.add, whose return
|
|
51
|
+
// is an object like { data: any, item: IItem }. The expectation from v1 on is `item` in that object
|
|
52
|
+
// is immediately usable to make additional queries. Without this step when that IItem instance is
|
|
53
|
+
// created using "this.getById" within IITems.add all of the current observers of "this" are
|
|
54
|
+
// linked to the IItem instance created (expected), BUT they will be the set of observers setup
|
|
55
|
+
// to handle the batch, meaning invoking `item` will result in a half batched call that
|
|
56
|
+
// doesn't really work. To deliver the expected functionality we "reset" the
|
|
57
|
+
// observers using the original instance, mimicing the behavior had
|
|
58
|
+
// the IItem been created from that base without a batch involved. We use CopyFrom to ensure
|
|
59
|
+
// that we maintain the references to the InternalResolve and InternalReject events through
|
|
60
|
+
// the end of this timeline lifecycle. This works because CopyFrom by design uses Object.keys
|
|
61
|
+
// which ignores symbol properties.
|
|
62
|
+
base.using((0, core_1.CopyFrom)(this, "replace", (k) => /(auth|send|pre|init)/i.test(k)));
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Creates a batched version of the supplied base, meaning that all chained fluent operations from the new base are part of the batch
|
|
68
|
+
*
|
|
69
|
+
* @param base The base from which to initialize the batch
|
|
70
|
+
* @param props Any properties used to initialize the batch functionality
|
|
71
|
+
* @returns A tuple of [behavior used to assign objects to the batch, the execute function used to resolve the batch requests]
|
|
72
|
+
*/
|
|
73
|
+
function createBatch(base, props) {
|
|
74
|
+
const registrationPromises = [];
|
|
75
|
+
const completePromises = [];
|
|
76
|
+
const requests = [];
|
|
77
|
+
const batchId = (0, core_1.getGUID)();
|
|
78
|
+
const batchQuery = new BatchQueryable(base);
|
|
79
|
+
// this query is used to copy back the behaviors after the batch executes
|
|
80
|
+
// it should not manipulated or have behaviors added.
|
|
81
|
+
const refQuery = new BatchQueryable(base);
|
|
82
|
+
const { headersCopyPattern } = {
|
|
83
|
+
headersCopyPattern: /Accept|Content-Type|IF-Match/i,
|
|
84
|
+
...props,
|
|
85
|
+
};
|
|
86
|
+
const execute = async () => {
|
|
87
|
+
await Promise.all(registrationPromises);
|
|
88
|
+
if (requests.length < 1) {
|
|
89
|
+
// even if we have no requests we need to await the complete promises to ensure
|
|
90
|
+
// that execute only resolves AFTER every child request disposes #2457
|
|
91
|
+
// this likely means caching is being used, we returned values for all child requests from the cache
|
|
92
|
+
return Promise.all(completePromises).then(() => void (0));
|
|
93
|
+
}
|
|
94
|
+
const batchBody = [];
|
|
95
|
+
let currentChangeSetId = "";
|
|
96
|
+
for (let i = 0; i < requests.length; i++) {
|
|
97
|
+
const [, url, init] = requests[i];
|
|
98
|
+
if (init.method === "GET") {
|
|
99
|
+
if (currentChangeSetId.length > 0) {
|
|
100
|
+
// end an existing change set
|
|
101
|
+
batchBody.push(`--changeset_${currentChangeSetId}--\n\n`);
|
|
102
|
+
currentChangeSetId = "";
|
|
103
|
+
}
|
|
104
|
+
batchBody.push(`--batch_${batchId}\n`);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
if (currentChangeSetId.length < 1) {
|
|
108
|
+
// start new change set
|
|
109
|
+
currentChangeSetId = (0, core_1.getGUID)();
|
|
110
|
+
batchBody.push(`--batch_${batchId}\n`);
|
|
111
|
+
batchBody.push(`Content-Type: multipart/mixed; boundary="changeset_${currentChangeSetId}"\n\n`);
|
|
112
|
+
}
|
|
113
|
+
batchBody.push(`--changeset_${currentChangeSetId}\n`);
|
|
114
|
+
}
|
|
115
|
+
// common batch part prefix
|
|
116
|
+
batchBody.push("Content-Type: application/http\n");
|
|
117
|
+
batchBody.push("Content-Transfer-Encoding: binary\n\n");
|
|
118
|
+
// these are the per-request headers
|
|
119
|
+
const headers = new Headers(init.headers);
|
|
120
|
+
// this is the url of the individual request within the batch
|
|
121
|
+
const reqUrl = (0, core_1.isUrlAbsolute)(url) ? url : (0, core_1.combine)(batchQuery.requestBaseUrl, url);
|
|
122
|
+
if (init.method !== "GET") {
|
|
123
|
+
let method = init.method;
|
|
124
|
+
if (headers.has("X-HTTP-Method")) {
|
|
125
|
+
method = headers.get("X-HTTP-Method");
|
|
126
|
+
headers.delete("X-HTTP-Method");
|
|
127
|
+
}
|
|
128
|
+
batchBody.push(`${method} ${reqUrl} HTTP/1.1\n`);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
batchBody.push(`${init.method} ${reqUrl} HTTP/1.1\n`);
|
|
132
|
+
}
|
|
133
|
+
// lastly we apply any default headers we need that may not exist
|
|
134
|
+
if (!headers.has("Accept")) {
|
|
135
|
+
headers.append("Accept", "application/json");
|
|
136
|
+
}
|
|
137
|
+
if (!headers.has("Content-Type")) {
|
|
138
|
+
headers.append("Content-Type", "application/json;charset=utf-8");
|
|
139
|
+
}
|
|
140
|
+
// write headers into batch body
|
|
141
|
+
headers.forEach((value, name) => {
|
|
142
|
+
if (headersCopyPattern.test(name)) {
|
|
143
|
+
batchBody.push(`${name}: ${value}\n`);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
batchBody.push("\n");
|
|
147
|
+
if (init.body) {
|
|
148
|
+
batchBody.push(`${init.body}\n\n`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (currentChangeSetId.length > 0) {
|
|
152
|
+
// Close the changeset
|
|
153
|
+
batchBody.push(`--changeset_${currentChangeSetId}--\n\n`);
|
|
154
|
+
currentChangeSetId = "";
|
|
155
|
+
}
|
|
156
|
+
batchBody.push(`--batch_${batchId}--\n`);
|
|
157
|
+
const responses = await (0, spqueryable_js_1.spPost)(batchQuery, {
|
|
158
|
+
body: batchBody.join(""),
|
|
159
|
+
headers: {
|
|
160
|
+
"Content-Type": `multipart/mixed; boundary=batch_${batchId}`,
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
if (responses.length !== requests.length) {
|
|
164
|
+
throw Error("Could not properly parse responses to match requests in batch.");
|
|
165
|
+
}
|
|
166
|
+
return new Promise((res, rej) => {
|
|
167
|
+
try {
|
|
168
|
+
for (let index = 0; index < responses.length; index++) {
|
|
169
|
+
const [, , , resolve, reject] = requests[index];
|
|
170
|
+
try {
|
|
171
|
+
resolve(responses[index]);
|
|
172
|
+
}
|
|
173
|
+
catch (e) {
|
|
174
|
+
reject(e);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// this small delay allows the promises to resolve correctly in order by dropping this resolve behind
|
|
178
|
+
// the other work in the event loop. Feels hacky, but it works so 🤷
|
|
179
|
+
setTimeout(res, 0);
|
|
180
|
+
}
|
|
181
|
+
catch (e) {
|
|
182
|
+
setTimeout(() => rej(e), 0);
|
|
183
|
+
}
|
|
184
|
+
}).then(() => Promise.all(completePromises)).then(() => void (0));
|
|
185
|
+
};
|
|
186
|
+
const register = (instance) => {
|
|
187
|
+
instance.on.init(function () {
|
|
188
|
+
if ((0, core_1.isFunc)(this[RegistrationCompleteSym])) {
|
|
189
|
+
throw Error("This instance is already part of a batch. Please review the docs at https://pnp.github.io/pnpjs/concepts/batching#reuse.");
|
|
190
|
+
}
|
|
191
|
+
// we need to ensure we wait to start execute until all our batch children hit the .send method to be fully registered
|
|
192
|
+
registrationPromises.push(new Promise((resolve) => {
|
|
193
|
+
this[RegistrationCompleteSym] = resolve;
|
|
194
|
+
}));
|
|
195
|
+
return this;
|
|
196
|
+
});
|
|
197
|
+
instance.on.pre(async function (url, init, result) {
|
|
198
|
+
// Do not add to timeline if using BatchNever behavior
|
|
199
|
+
if ((0, core_1.hOP)(init.headers, "X-PnP-BatchNever")) {
|
|
200
|
+
// clean up the init operations from the timeline
|
|
201
|
+
// not strictly necessary as none of the logic that uses this should be in the request, but good to keep things tidy
|
|
202
|
+
if (typeof (this[RequestCompleteSym]) === "function") {
|
|
203
|
+
this[RequestCompleteSym]();
|
|
204
|
+
delete this[RequestCompleteSym];
|
|
205
|
+
}
|
|
206
|
+
this.using((0, core_1.CopyFrom)(refQuery, "replace", (k) => /(init|pre)/i.test(k)));
|
|
207
|
+
return [url, init, result];
|
|
208
|
+
}
|
|
209
|
+
// the entire request will be auth'd - we don't need to run this for each batch request
|
|
210
|
+
this.on.auth.clear();
|
|
211
|
+
// we replace the send function with our batching logic
|
|
212
|
+
this.on.send.replace(async function (url, init) {
|
|
213
|
+
// this is the promise that Queryable will see returned from .emit.send
|
|
214
|
+
const promise = new Promise((resolve, reject) => {
|
|
215
|
+
// add the request information into the batch
|
|
216
|
+
requests.push([this, url.toString(), init, resolve, reject]);
|
|
217
|
+
});
|
|
218
|
+
this.log(`[batch:${batchId}] (${(new Date()).getTime()}) Adding request ${init.method} ${url.toString()} to batch.`, 0);
|
|
219
|
+
// we need to ensure we wait to resolve execute until all our batch children have fully completed their request timelines
|
|
220
|
+
completePromises.push(new Promise((resolve) => {
|
|
221
|
+
this[RequestCompleteSym] = resolve;
|
|
222
|
+
}));
|
|
223
|
+
// indicate that registration of this request is complete
|
|
224
|
+
this[RegistrationCompleteSym]();
|
|
225
|
+
return promise;
|
|
226
|
+
});
|
|
227
|
+
this.on.dispose(function () {
|
|
228
|
+
if ((0, core_1.isFunc)(this[RegistrationCompleteSym])) {
|
|
229
|
+
// if this request is in a batch and caching is in play we need to resolve the registration promises to unblock processing of the batch
|
|
230
|
+
// because the request will never reach the "send" moment as the result is returned from "pre"
|
|
231
|
+
this[RegistrationCompleteSym]();
|
|
232
|
+
// remove the symbol props we added for good hygene
|
|
233
|
+
delete this[RegistrationCompleteSym];
|
|
234
|
+
}
|
|
235
|
+
if ((0, core_1.isFunc)(this[RequestCompleteSym])) {
|
|
236
|
+
// let things know we are done with this request
|
|
237
|
+
this[RequestCompleteSym]();
|
|
238
|
+
delete this[RequestCompleteSym];
|
|
239
|
+
// there is a code path where you may invoke a batch, say on items.add, whose return
|
|
240
|
+
// is an object like { data: any, item: IItem }. The expectation from v1 on is `item` in that object
|
|
241
|
+
// is immediately usable to make additional queries. Without this step when that IItem instance is
|
|
242
|
+
// created using "this.getById" within IITems.add all of the current observers of "this" are
|
|
243
|
+
// linked to the IItem instance created (expected), BUT they will be the set of observers setup
|
|
244
|
+
// to handle the batch, meaning invoking `item` will result in a half batched call that
|
|
245
|
+
// doesn't really work. To deliver the expected functionality we "reset" the
|
|
246
|
+
// observers using the original instance, mimicing the behavior had
|
|
247
|
+
// the IItem been created from that base without a batch involved. We use CopyFrom to ensure
|
|
248
|
+
// that we maintain the references to the InternalResolve and InternalReject events through
|
|
249
|
+
// the end of this timeline lifecycle. This works because CopyFrom by design uses Object.keys
|
|
250
|
+
// which ignores symbol properties.
|
|
251
|
+
this.using((0, core_1.CopyFrom)(refQuery, "replace", (k) => /(auth|pre|send|init|dispose)/i.test(k)));
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
return [url, init, result];
|
|
255
|
+
});
|
|
256
|
+
return instance;
|
|
257
|
+
};
|
|
258
|
+
return [register, execute];
|
|
259
|
+
}
|
|
260
|
+
exports.createBatch = createBatch;
|
|
261
|
+
/**
|
|
262
|
+
* Behavior that blocks batching for the request regardless of "method"
|
|
263
|
+
*
|
|
264
|
+
* This is used for requests to bypass batching methods. Example - Request Digest where we need to get a request-digest inside of a batch.
|
|
265
|
+
* @returns TimelinePipe
|
|
266
|
+
*/
|
|
267
|
+
function BatchNever() {
|
|
268
|
+
return (instance) => {
|
|
269
|
+
instance.on.pre.prepend(async function (url, init, result) {
|
|
270
|
+
init.headers = { ...init.headers, "X-PnP-BatchNever": "1" };
|
|
271
|
+
return [url, init, result];
|
|
272
|
+
});
|
|
273
|
+
return instance;
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
exports.BatchNever = BatchNever;
|
|
277
|
+
/**
|
|
278
|
+
* Parses the text body returned by the server from a batch request
|
|
279
|
+
*
|
|
280
|
+
* @param body String body from the server response
|
|
281
|
+
* @returns Parsed response objects
|
|
282
|
+
*/
|
|
283
|
+
function parseResponse(body) {
|
|
284
|
+
const responses = [];
|
|
285
|
+
const header = "--batchresponse_";
|
|
286
|
+
// Ex. "HTTP/1.1 500 Internal Server Error"
|
|
287
|
+
const statusRegExp = new RegExp("^HTTP/[0-9.]+ +([0-9]+) +(.*)", "i");
|
|
288
|
+
const lines = body.split("\n");
|
|
289
|
+
let state = "batch";
|
|
290
|
+
let status;
|
|
291
|
+
let statusText;
|
|
292
|
+
let headers = {};
|
|
293
|
+
const bodyReader = [];
|
|
294
|
+
for (let i = 0; i < lines.length; ++i) {
|
|
295
|
+
let line = lines[i];
|
|
296
|
+
switch (state) {
|
|
297
|
+
case "batch":
|
|
298
|
+
if (line.substring(0, header.length) === header) {
|
|
299
|
+
state = "batchHeaders";
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
if (line.trim() !== "") {
|
|
303
|
+
throw Error(`Invalid response, line ${i}`);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
break;
|
|
307
|
+
case "batchHeaders":
|
|
308
|
+
if (line.trim() === "") {
|
|
309
|
+
state = "status";
|
|
310
|
+
}
|
|
311
|
+
break;
|
|
312
|
+
case "status": {
|
|
313
|
+
const parts = statusRegExp.exec(line);
|
|
314
|
+
if (parts.length !== 3) {
|
|
315
|
+
throw Error(`Invalid status, line ${i}`);
|
|
316
|
+
}
|
|
317
|
+
status = parseInt(parts[1], 10);
|
|
318
|
+
statusText = parts[2];
|
|
319
|
+
state = "statusHeaders";
|
|
320
|
+
break;
|
|
321
|
+
}
|
|
322
|
+
case "statusHeaders":
|
|
323
|
+
if (line.trim() === "") {
|
|
324
|
+
state = "body";
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
const headerParts = line.split(":");
|
|
328
|
+
if ((headerParts === null || headerParts === void 0 ? void 0 : headerParts.length) === 2) {
|
|
329
|
+
headers[headerParts[0].trim()] = headerParts[1].trim();
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
break;
|
|
333
|
+
case "body":
|
|
334
|
+
// reset the body reader
|
|
335
|
+
bodyReader.length = 0;
|
|
336
|
+
// this allows us to capture batch bodies that are returned as multi-line (renderListDataAsStream, #2454)
|
|
337
|
+
while (line.substring(0, header.length) !== header) {
|
|
338
|
+
bodyReader.push(line);
|
|
339
|
+
line = lines[++i];
|
|
340
|
+
}
|
|
341
|
+
// because we have read the closing --batchresponse_ line, we need to move the line pointer back one
|
|
342
|
+
// so that the logic works as expected either to get the next result or end processing
|
|
343
|
+
i--;
|
|
344
|
+
responses.push(new Response(status === 204 ? null : bodyReader.join(""), { status, statusText, headers }));
|
|
345
|
+
state = "batch";
|
|
346
|
+
headers = {};
|
|
347
|
+
break;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
if (state !== "status") {
|
|
351
|
+
throw Error("Unexpected end of input");
|
|
352
|
+
}
|
|
353
|
+
return responses;
|
|
354
|
+
}
|
|
355
|
+
//# sourceMappingURL=batching.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batching.js","sourceRoot":"","sources":["../../../../packages/sp/batching.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../../../packages/sp/behaviors/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAiB,SAAS,EAAgC,MAAM,gBAAgB,CAAC;AAGxF,wBAAgB,WAAW,IAAI,YAAY,CAAC,SAAS,CAAC,CAmBrD;AAED,wBAAgB,cAAc,IAAI,YAAY,CAAC,SAAS,CAAC,CAYxD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultHeaders = exports.DefaultInit = void 0;
|
|
4
|
+
const queryable_1 = require("@pnp/queryable");
|
|
5
|
+
const telemetry_js_1 = require("./telemetry.js");
|
|
6
|
+
function DefaultInit() {
|
|
7
|
+
return (instance) => {
|
|
8
|
+
instance.on.pre(async (url, init, result) => {
|
|
9
|
+
init.cache = "no-cache";
|
|
10
|
+
init.credentials = "same-origin";
|
|
11
|
+
return [url, init, result];
|
|
12
|
+
});
|
|
13
|
+
instance.using((0, telemetry_js_1.Telemetry)(), (0, queryable_1.RejectOnError)(), (0, queryable_1.ResolveOnData)());
|
|
14
|
+
return instance;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
exports.DefaultInit = DefaultInit;
|
|
18
|
+
function DefaultHeaders() {
|
|
19
|
+
return (instance) => {
|
|
20
|
+
instance
|
|
21
|
+
.using((0, queryable_1.InjectHeaders)({
|
|
22
|
+
"Accept": "application/json",
|
|
23
|
+
"Content-Type": "application/json;charset=utf-8",
|
|
24
|
+
}));
|
|
25
|
+
return instance;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
exports.DefaultHeaders = DefaultHeaders;
|
|
29
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../../../packages/sp/behaviors/defaults.ts"],"names":[],"mappings":";;;AACA,8CAAwF;AACxF,iDAA2C;AAE3C,SAAgB,WAAW;IAEvB,OAAO,CAAC,QAAmB,EAAE,EAAE;QAE3B,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAExC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;YACxB,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;YAEjC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,CACV,IAAA,wBAAS,GAAE,EACX,IAAA,yBAAa,GAAE,EACf,IAAA,yBAAa,GAAE,CAAC,CAAC;QAErB,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACN,CAAC;AAnBD,kCAmBC;AAED,SAAgB,cAAc;IAE1B,OAAO,CAAC,QAAmB,EAAE,EAAE;QAE3B,QAAQ;aACH,KAAK,CAAC,IAAA,yBAAa,EAAC;YACjB,QAAQ,EAAE,kBAAkB;YAC5B,cAAc,EAAE,gCAAgC;SACnD,CAAC,CAAC,CAAC;QAER,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACN,CAAC;AAZD,wCAYC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TimelinePipe } from "@pnp/core";
|
|
2
|
+
import { Queryable } from "@pnp/queryable";
|
|
3
|
+
interface IDigestInfo {
|
|
4
|
+
expiration: Date;
|
|
5
|
+
value: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function RequestDigest(hook?: (url: string, init: RequestInit) => IDigestInfo | null | undefined): TimelinePipe<Queryable>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=request-digest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-digest.d.ts","sourceRoot":"","sources":["../../../../../packages/sp/behaviors/request-digest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9F,OAAO,EAAa,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAKtD,UAAU,WAAW;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAUD,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAyDhI"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RequestDigest = void 0;
|
|
4
|
+
const core_1 = require("@pnp/core");
|
|
5
|
+
const queryable_1 = require("@pnp/queryable");
|
|
6
|
+
const extract_web_url_js_1 = require("../utils/extract-web-url.js");
|
|
7
|
+
const spqueryable_js_1 = require("../spqueryable.js");
|
|
8
|
+
const batching_js_1 = require("../batching.js");
|
|
9
|
+
function clearExpired(digest) {
|
|
10
|
+
const now = new Date();
|
|
11
|
+
return !(0, core_1.objectDefinedNotNull)(digest) || (now > digest.expiration) ? null : digest;
|
|
12
|
+
}
|
|
13
|
+
// allows for the caching of digests across all calls which each have their own IDigestInfo wrapper.
|
|
14
|
+
const digests = new Map();
|
|
15
|
+
function RequestDigest(hook) {
|
|
16
|
+
return (instance) => {
|
|
17
|
+
instance.on.pre(async function (url, init, result) {
|
|
18
|
+
// add the request to the auth moment of the timeline
|
|
19
|
+
this.on.auth(async (url, init) => {
|
|
20
|
+
// eslint-disable-next-line max-len
|
|
21
|
+
if (/get/i.test(init.method) || (init.headers && ((0, core_1.hOP)(init.headers, "X-RequestDigest") || (0, core_1.hOP)(init.headers, "Authorization") || (0, core_1.hOP)(init.headers, "X-PnPjs-NoDigest")))) {
|
|
22
|
+
return [url, init];
|
|
23
|
+
}
|
|
24
|
+
const urlAsString = url.toString();
|
|
25
|
+
const webUrl = (0, extract_web_url_js_1.extractWebUrl)(urlAsString);
|
|
26
|
+
// do we have one in the cache that is still valid
|
|
27
|
+
// from #2186 we need to always ensure the digest we get isn't expired
|
|
28
|
+
let digest = clearExpired(digests.get(webUrl));
|
|
29
|
+
if (!(0, core_1.objectDefinedNotNull)(digest) && (0, core_1.isFunc)(hook)) {
|
|
30
|
+
digest = clearExpired(hook(urlAsString, init));
|
|
31
|
+
}
|
|
32
|
+
if (!(0, core_1.objectDefinedNotNull)(digest)) {
|
|
33
|
+
digest = await (0, spqueryable_js_1.spPost)((0, spqueryable_js_1.SPQueryable)([this, (0, core_1.combine)(webUrl, "_api/contextinfo")]).using((0, queryable_1.JSONParse)(), (0, batching_js_1.BatchNever)()), {
|
|
34
|
+
headers: {
|
|
35
|
+
"X-PnPjs-NoDigest": "1",
|
|
36
|
+
},
|
|
37
|
+
}).then(p => ({
|
|
38
|
+
expiration: (0, core_1.dateAdd)(new Date(), "second", p.FormDigestTimeoutSeconds),
|
|
39
|
+
value: p.FormDigestValue,
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
if ((0, core_1.objectDefinedNotNull)(digest)) {
|
|
43
|
+
// if we got a digest, set it in the headers
|
|
44
|
+
init.headers = {
|
|
45
|
+
"X-RequestDigest": digest.value,
|
|
46
|
+
...init.headers,
|
|
47
|
+
};
|
|
48
|
+
// and cache it for future requests
|
|
49
|
+
digests.set(webUrl, digest);
|
|
50
|
+
}
|
|
51
|
+
return [url, init];
|
|
52
|
+
});
|
|
53
|
+
return [url, init, result];
|
|
54
|
+
});
|
|
55
|
+
return instance;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
exports.RequestDigest = RequestDigest;
|
|
59
|
+
//# sourceMappingURL=request-digest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-digest.js","sourceRoot":"","sources":["../../../../../packages/sp/behaviors/request-digest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TimelinePipe } from "@pnp/core";
|
|
2
|
+
import { Queryable } from "@pnp/queryable";
|
|
3
|
+
export interface ISPBrowserProps {
|
|
4
|
+
baseUrl?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function SPBrowser(props?: ISPBrowserProps): TimelinePipe<Queryable>;
|
|
7
|
+
//# sourceMappingURL=spbrowser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spbrowser.d.ts","sourceRoot":"","sources":["../../../../../packages/sp/behaviors/spbrowser.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,YAAY,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAuC,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhF,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC,CA8B1E"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SPBrowser = void 0;
|
|
4
|
+
const core_1 = require("@pnp/core");
|
|
5
|
+
const queryable_1 = require("@pnp/queryable");
|
|
6
|
+
const defaults_js_1 = require("./defaults.js");
|
|
7
|
+
const request_digest_js_1 = require("./request-digest.js");
|
|
8
|
+
function SPBrowser(props) {
|
|
9
|
+
if ((props === null || props === void 0 ? void 0 : props.baseUrl) && !(0, core_1.isUrlAbsolute)(props.baseUrl)) {
|
|
10
|
+
throw Error("SPBrowser props.baseUrl must be absolute when supplied.");
|
|
11
|
+
}
|
|
12
|
+
return (instance) => {
|
|
13
|
+
instance.using((0, defaults_js_1.DefaultHeaders)(), (0, defaults_js_1.DefaultInit)(), (0, queryable_1.BrowserFetchWithRetry)(), (0, queryable_1.DefaultParse)(), (0, request_digest_js_1.RequestDigest)());
|
|
14
|
+
if ((0, core_1.isUrlAbsolute)(props === null || props === void 0 ? void 0 : props.baseUrl)) {
|
|
15
|
+
// we want to fix up the url first
|
|
16
|
+
instance.on.pre.prepend(async (url, init, result) => {
|
|
17
|
+
if (!(0, core_1.isUrlAbsolute)(url)) {
|
|
18
|
+
url = (0, core_1.combine)(props.baseUrl, url);
|
|
19
|
+
}
|
|
20
|
+
return [url, init, result];
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return instance;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
exports.SPBrowser = SPBrowser;
|
|
27
|
+
//# sourceMappingURL=spbrowser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spbrowser.js","sourceRoot":"","sources":["../../../../../packages/sp/behaviors/spbrowser.ts"],"names":[],"mappings":";;;AAAA,oCAAiE;AACjE,8CAAgF;AAChF,+CAA4D;AAC5D,2DAAoD;AAMpD,SAAgB,SAAS,CAAC,KAAuB;IAE7C,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,CAAC,IAAA,oBAAa,EAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACjD,MAAM,KAAK,CAAC,yDAAyD,CAAC,CAAC;KAC1E;IAED,OAAO,CAAC,QAAmB,EAAE,EAAE;QAE3B,QAAQ,CAAC,KAAK,CACV,IAAA,4BAAc,GAAE,EAChB,IAAA,yBAAW,GAAE,EACb,IAAA,iCAAqB,GAAE,EACvB,IAAA,wBAAY,GAAE,EACd,IAAA,iCAAa,GAAE,CAAC,CAAC;QAErB,IAAI,IAAA,oBAAa,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,EAAE;YAE/B,kCAAkC;YAClC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;gBAEhD,IAAI,CAAC,IAAA,oBAAa,EAAC,GAAG,CAAC,EAAE;oBACrB,GAAG,GAAG,IAAA,cAAO,EAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;iBACrC;gBAED,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;SACN;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACN,CAAC;AA9BD,8BA8BC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { TimelinePipe } from "@pnp/core";
|
|
2
|
+
import { Queryable } from "@pnp/queryable";
|
|
3
|
+
export interface ISPFXContext {
|
|
4
|
+
pageContext: {
|
|
5
|
+
web: {
|
|
6
|
+
absoluteUrl: string;
|
|
7
|
+
};
|
|
8
|
+
legacyPageContext: {
|
|
9
|
+
formDigestTimeoutSeconds: number;
|
|
10
|
+
formDigestValue: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
aadTokenProviderFactory?: {
|
|
14
|
+
getTokenProvider(): Promise<{
|
|
15
|
+
getToken(resource: string): Promise<string>;
|
|
16
|
+
}>;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export declare function SPFxToken(context: ISPFXContext): TimelinePipe<Queryable>;
|
|
20
|
+
export declare function SPFx(context: ISPFXContext): TimelinePipe<Queryable>;
|
|
21
|
+
//# sourceMappingURL=spfx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spfx.d.ts","sourceRoot":"","sources":["../../../../../packages/sp/behaviors/spfx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,YAAY,EAAE,MAAM,WAAW,CAAC;AAC1E,OAAO,EAAuC,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhF,MAAM,WAAW,YAAY;IAEzB,WAAW,EAAE;QACT,GAAG,EAAE;YACD,WAAW,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,iBAAiB,EAAE;YACf,wBAAwB,EAAE,MAAM,CAAC;YACjC,eAAe,EAAE,MAAM,CAAC;SAC3B,CAAC;KACL,CAAC;IAEF,uBAAuB,CAAC,EAAE;QACtB,gBAAgB,IAAI,OAAO,CAAC;YACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;SAC/C,CAAC,CAAC;KACN,CAAC;CACL;AAeD,wBAAgB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAmBxE;AAED,wBAAgB,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,CAyCnE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SPFx = exports.SPFxToken = void 0;
|
|
4
|
+
const core_1 = require("@pnp/core");
|
|
5
|
+
const queryable_1 = require("@pnp/queryable");
|
|
6
|
+
const defaults_js_1 = require("./defaults.js");
|
|
7
|
+
const request_digest_js_1 = require("./request-digest.js");
|
|
8
|
+
class SPFxTokenNullOrUndefinedError extends Error {
|
|
9
|
+
constructor(behaviorName) {
|
|
10
|
+
super(`SPFx Context supplied to ${behaviorName} Behavior is null or undefined.`);
|
|
11
|
+
}
|
|
12
|
+
static check(behaviorName, context) {
|
|
13
|
+
if (typeof context === "undefined" || context === null) {
|
|
14
|
+
throw new SPFxTokenNullOrUndefinedError(behaviorName);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function SPFxToken(context) {
|
|
19
|
+
SPFxTokenNullOrUndefinedError.check("SPFxToken", context);
|
|
20
|
+
return (instance) => {
|
|
21
|
+
instance.on.auth.replace(async function (url, init) {
|
|
22
|
+
const provider = await context.aadTokenProviderFactory.getTokenProvider();
|
|
23
|
+
const token = await provider.getToken(`${url.protocol}//${url.hostname}`);
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/dot-notation
|
|
25
|
+
init.headers["Authorization"] = `Bearer ${token}`;
|
|
26
|
+
return [url, init];
|
|
27
|
+
});
|
|
28
|
+
return instance;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
exports.SPFxToken = SPFxToken;
|
|
32
|
+
function SPFx(context) {
|
|
33
|
+
SPFxTokenNullOrUndefinedError.check("SPFx", context);
|
|
34
|
+
return (instance) => {
|
|
35
|
+
instance.using((0, defaults_js_1.DefaultHeaders)(), (0, defaults_js_1.DefaultInit)(), (0, queryable_1.BrowserFetchWithRetry)(), (0, queryable_1.DefaultParse)(),
|
|
36
|
+
// remove SPFx Token in default due to issues #2570, #2571
|
|
37
|
+
// SPFxToken(context),
|
|
38
|
+
(0, request_digest_js_1.RequestDigest)((url) => {
|
|
39
|
+
var _a, _b, _c;
|
|
40
|
+
const sameWeb = (new RegExp(`^${(0, core_1.combine)(context.pageContext.web.absoluteUrl, "/_api")}`, "i")).test(url);
|
|
41
|
+
if (sameWeb && ((_b = (_a = context === null || context === void 0 ? void 0 : context.pageContext) === null || _a === void 0 ? void 0 : _a.legacyPageContext) === null || _b === void 0 ? void 0 : _b.formDigestValue)) {
|
|
42
|
+
const creationDateFromDigest = new Date(context.pageContext.legacyPageContext.formDigestValue.split(",")[1]);
|
|
43
|
+
// account for page lifetime in timeout #2304 & others
|
|
44
|
+
// account for tab sleep #2550
|
|
45
|
+
return {
|
|
46
|
+
value: context.pageContext.legacyPageContext.formDigestValue,
|
|
47
|
+
expiration: (0, core_1.dateAdd)(creationDateFromDigest, "second", ((_c = context.pageContext.legacyPageContext) === null || _c === void 0 ? void 0 : _c.formDigestTimeoutSeconds) - 15 || 1585),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
// we want to fix up the url first
|
|
52
|
+
instance.on.pre.prepend(async (url, init, result) => {
|
|
53
|
+
if (!(0, core_1.isUrlAbsolute)(url)) {
|
|
54
|
+
url = (0, core_1.combine)(context.pageContext.web.absoluteUrl, url);
|
|
55
|
+
}
|
|
56
|
+
return [url, init, result];
|
|
57
|
+
});
|
|
58
|
+
return instance;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
exports.SPFx = SPFx;
|
|
62
|
+
//# sourceMappingURL=spfx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spfx.js","sourceRoot":"","sources":["../../../../../packages/sp/behaviors/spfx.ts"],"names":[],"mappings":"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"}
|