@pnp/sp 4.0.0-alpha0-v4nightly.20240108 → 4.0.0-alpha0-v4nightly.20240109

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.
Files changed (610) hide show
  1. package/commonjs/appcatalog/index.d.ts +11 -0
  2. package/commonjs/appcatalog/index.d.ts.map +1 -0
  3. package/commonjs/appcatalog/index.js +22 -0
  4. package/commonjs/appcatalog/index.js.map +1 -0
  5. package/commonjs/appcatalog/types.d.ts +79 -0
  6. package/commonjs/appcatalog/types.d.ts.map +1 -0
  7. package/commonjs/appcatalog/types.js +134 -0
  8. package/commonjs/appcatalog/types.js.map +1 -0
  9. package/commonjs/appcatalog/web.d.ts +13 -0
  10. package/commonjs/appcatalog/web.d.ts.map +1 -0
  11. package/commonjs/appcatalog/web.js +9 -0
  12. package/commonjs/appcatalog/web.js.map +1 -0
  13. package/commonjs/attachments/index.d.ts +3 -0
  14. package/commonjs/attachments/index.d.ts.map +1 -0
  15. package/commonjs/attachments/index.js +8 -0
  16. package/commonjs/attachments/index.js.map +1 -0
  17. package/commonjs/attachments/item.d.ts +13 -0
  18. package/commonjs/attachments/item.d.ts.map +1 -0
  19. package/commonjs/attachments/item.js +7 -0
  20. package/commonjs/attachments/item.js.map +1 -0
  21. package/commonjs/attachments/types.d.ts +57 -0
  22. package/commonjs/attachments/types.d.ts.map +1 -0
  23. package/commonjs/attachments/types.js +68 -0
  24. package/commonjs/attachments/types.js.map +1 -0
  25. package/commonjs/batching.d.ts +45 -0
  26. package/commonjs/batching.d.ts.map +1 -0
  27. package/commonjs/batching.js +355 -0
  28. package/commonjs/batching.js.map +1 -0
  29. package/commonjs/behaviors/defaults.d.ts +5 -0
  30. package/commonjs/behaviors/defaults.d.ts.map +1 -0
  31. package/commonjs/behaviors/defaults.js +29 -0
  32. package/commonjs/behaviors/defaults.js.map +1 -0
  33. package/commonjs/behaviors/request-digest.d.ts +9 -0
  34. package/commonjs/behaviors/request-digest.d.ts.map +1 -0
  35. package/commonjs/behaviors/request-digest.js +59 -0
  36. package/commonjs/behaviors/request-digest.js.map +1 -0
  37. package/commonjs/behaviors/spbrowser.d.ts +7 -0
  38. package/commonjs/behaviors/spbrowser.d.ts.map +1 -0
  39. package/commonjs/behaviors/spbrowser.js +27 -0
  40. package/commonjs/behaviors/spbrowser.js.map +1 -0
  41. package/commonjs/behaviors/spfx.d.ts +21 -0
  42. package/commonjs/behaviors/spfx.d.ts.map +1 -0
  43. package/commonjs/behaviors/spfx.js +62 -0
  44. package/commonjs/behaviors/spfx.js.map +1 -0
  45. package/commonjs/behaviors/telemetry.d.ts +4 -0
  46. package/commonjs/behaviors/telemetry.d.ts.map +1 -0
  47. package/commonjs/behaviors/telemetry.js +27 -0
  48. package/commonjs/behaviors/telemetry.js.map +1 -0
  49. package/commonjs/clientside-pages/funcs.d.ts +23 -0
  50. package/commonjs/clientside-pages/funcs.d.ts.map +1 -0
  51. package/commonjs/clientside-pages/funcs.js +31 -0
  52. package/commonjs/clientside-pages/funcs.js.map +1 -0
  53. package/commonjs/clientside-pages/index.d.ts +3 -0
  54. package/commonjs/clientside-pages/index.d.ts.map +1 -0
  55. package/commonjs/clientside-pages/index.js +14 -0
  56. package/commonjs/clientside-pages/index.js.map +1 -0
  57. package/commonjs/clientside-pages/types.d.ts +495 -0
  58. package/commonjs/clientside-pages/types.d.ts.map +1 -0
  59. package/commonjs/clientside-pages/types.js +1155 -0
  60. package/commonjs/clientside-pages/types.js.map +1 -0
  61. package/commonjs/clientside-pages/web.d.ts +42 -0
  62. package/commonjs/clientside-pages/web.d.ts.map +1 -0
  63. package/commonjs/clientside-pages/web.js +33 -0
  64. package/commonjs/clientside-pages/web.js.map +1 -0
  65. package/commonjs/column-defaults/folder.d.ts +28 -0
  66. package/commonjs/column-defaults/folder.d.ts.map +1 -0
  67. package/commonjs/column-defaults/folder.js +50 -0
  68. package/commonjs/column-defaults/folder.js.map +1 -0
  69. package/commonjs/column-defaults/index.d.ts +4 -0
  70. package/commonjs/column-defaults/index.d.ts.map +1 -0
  71. package/commonjs/column-defaults/index.js +5 -0
  72. package/commonjs/column-defaults/index.js.map +1 -0
  73. package/commonjs/column-defaults/list.d.ts +20 -0
  74. package/commonjs/column-defaults/list.d.ts.map +1 -0
  75. package/commonjs/column-defaults/list.js +171 -0
  76. package/commonjs/column-defaults/list.js.map +1 -0
  77. package/commonjs/column-defaults/types.d.ts +22 -0
  78. package/commonjs/column-defaults/types.d.ts.map +1 -0
  79. package/commonjs/column-defaults/types.js +3 -0
  80. package/commonjs/column-defaults/types.js.map +1 -0
  81. package/commonjs/comments/clientside-page.d.ts +58 -0
  82. package/commonjs/comments/clientside-page.d.ts.map +1 -0
  83. package/commonjs/comments/clientside-page.js +51 -0
  84. package/commonjs/comments/clientside-page.js.map +1 -0
  85. package/commonjs/comments/index.d.ts +3 -0
  86. package/commonjs/comments/index.d.ts.map +1 -0
  87. package/commonjs/comments/index.js +9 -0
  88. package/commonjs/comments/index.js.map +1 -0
  89. package/commonjs/comments/item.d.ts +37 -0
  90. package/commonjs/comments/item.d.ts.map +1 -0
  91. package/commonjs/comments/item.js +37 -0
  92. package/commonjs/comments/item.js.map +1 -0
  93. package/commonjs/comments/types.d.ts +111 -0
  94. package/commonjs/comments/types.d.ts.map +1 -0
  95. package/commonjs/comments/types.js +89 -0
  96. package/commonjs/comments/types.js.map +1 -0
  97. package/commonjs/content-types/index.d.ts +5 -0
  98. package/commonjs/content-types/index.d.ts.map +1 -0
  99. package/commonjs/content-types/index.js +12 -0
  100. package/commonjs/content-types/index.js.map +1 -0
  101. package/commonjs/content-types/item.d.ts +13 -0
  102. package/commonjs/content-types/item.d.ts.map +1 -0
  103. package/commonjs/content-types/item.js +7 -0
  104. package/commonjs/content-types/item.js.map +1 -0
  105. package/commonjs/content-types/list.d.ts +13 -0
  106. package/commonjs/content-types/list.d.ts.map +1 -0
  107. package/commonjs/content-types/list.js +7 -0
  108. package/commonjs/content-types/list.js.map +1 -0
  109. package/commonjs/content-types/types.d.ts +120 -0
  110. package/commonjs/content-types/types.d.ts.map +1 -0
  111. package/commonjs/content-types/types.js +115 -0
  112. package/commonjs/content-types/types.js.map +1 -0
  113. package/commonjs/content-types/web.d.ts +13 -0
  114. package/commonjs/content-types/web.d.ts.map +1 -0
  115. package/commonjs/content-types/web.js +7 -0
  116. package/commonjs/content-types/web.js.map +1 -0
  117. package/commonjs/context-info/index.d.ts +22 -0
  118. package/commonjs/context-info/index.d.ts.map +1 -0
  119. package/commonjs/context-info/index.js +17 -0
  120. package/commonjs/context-info/index.js.map +1 -0
  121. package/commonjs/decorators.d.ts +9 -0
  122. package/commonjs/decorators.d.ts.map +1 -0
  123. package/commonjs/decorators.js +20 -0
  124. package/commonjs/decorators.js.map +1 -0
  125. package/commonjs/favorites/index.d.ts +11 -0
  126. package/commonjs/favorites/index.d.ts.map +1 -0
  127. package/commonjs/favorites/index.js +15 -0
  128. package/commonjs/favorites/index.js.map +1 -0
  129. package/commonjs/favorites/types.d.ts +113 -0
  130. package/commonjs/favorites/types.d.ts.map +1 -0
  131. package/commonjs/favorites/types.js +115 -0
  132. package/commonjs/favorites/types.js.map +1 -0
  133. package/commonjs/features/index.d.ts +4 -0
  134. package/commonjs/features/index.d.ts.map +1 -0
  135. package/commonjs/features/index.js +9 -0
  136. package/commonjs/features/index.js.map +1 -0
  137. package/commonjs/features/site.d.ts +13 -0
  138. package/commonjs/features/site.d.ts.map +1 -0
  139. package/commonjs/features/site.js +7 -0
  140. package/commonjs/features/site.js.map +1 -0
  141. package/commonjs/features/types.d.ts +42 -0
  142. package/commonjs/features/types.d.ts.map +1 -0
  143. package/commonjs/features/types.js +56 -0
  144. package/commonjs/features/types.js.map +1 -0
  145. package/commonjs/features/web.d.ts +13 -0
  146. package/commonjs/features/web.d.ts.map +1 -0
  147. package/commonjs/features/web.js +7 -0
  148. package/commonjs/features/web.js.map +1 -0
  149. package/commonjs/fi.d.ts +25 -0
  150. package/commonjs/fi.d.ts.map +1 -0
  151. package/commonjs/fi.js +40 -0
  152. package/commonjs/fi.js.map +1 -0
  153. package/commonjs/fields/index.d.ts +4 -0
  154. package/commonjs/fields/index.d.ts.map +1 -0
  155. package/commonjs/fields/index.js +17 -0
  156. package/commonjs/fields/index.js.map +1 -0
  157. package/commonjs/fields/list.d.ts +13 -0
  158. package/commonjs/fields/list.d.ts.map +1 -0
  159. package/commonjs/fields/list.js +7 -0
  160. package/commonjs/fields/list.js.map +1 -0
  161. package/commonjs/fields/types.d.ts +402 -0
  162. package/commonjs/fields/types.d.ts.map +1 -0
  163. package/commonjs/fields/types.js +459 -0
  164. package/commonjs/fields/types.js.map +1 -0
  165. package/commonjs/fields/web.d.ts +18 -0
  166. package/commonjs/fields/web.d.ts.map +1 -0
  167. package/commonjs/fields/web.js +8 -0
  168. package/commonjs/fields/web.js.map +1 -0
  169. package/commonjs/files/folder.d.ts +13 -0
  170. package/commonjs/files/folder.d.ts.map +1 -0
  171. package/commonjs/files/folder.js +7 -0
  172. package/commonjs/files/folder.js.map +1 -0
  173. package/commonjs/files/index.d.ts +5 -0
  174. package/commonjs/files/index.d.ts.map +1 -0
  175. package/commonjs/files/index.js +18 -0
  176. package/commonjs/files/index.js.map +1 -0
  177. package/commonjs/files/item.d.ts +13 -0
  178. package/commonjs/files/item.d.ts.map +1 -0
  179. package/commonjs/files/item.js +7 -0
  180. package/commonjs/files/item.js.map +1 -0
  181. package/commonjs/files/readable-file.d.ts +23 -0
  182. package/commonjs/files/readable-file.d.ts.map +1 -0
  183. package/commonjs/files/readable-file.js +38 -0
  184. package/commonjs/files/readable-file.js.map +1 -0
  185. package/commonjs/files/types.d.ts +451 -0
  186. package/commonjs/files/types.d.ts.map +1 -0
  187. package/commonjs/files/types.js +589 -0
  188. package/commonjs/files/types.js.map +1 -0
  189. package/commonjs/files/web.d.ts +29 -0
  190. package/commonjs/files/web.d.ts.map +1 -0
  191. package/commonjs/files/web.js +15 -0
  192. package/commonjs/files/web.js.map +1 -0
  193. package/commonjs/folders/index.d.ts +5 -0
  194. package/commonjs/folders/index.d.ts.map +1 -0
  195. package/commonjs/folders/index.js +13 -0
  196. package/commonjs/folders/index.js.map +1 -0
  197. package/commonjs/folders/item.d.ts +10 -0
  198. package/commonjs/folders/item.d.ts.map +1 -0
  199. package/commonjs/folders/item.js +7 -0
  200. package/commonjs/folders/item.js.map +1 -0
  201. package/commonjs/folders/list.d.ts +13 -0
  202. package/commonjs/folders/list.d.ts.map +1 -0
  203. package/commonjs/folders/list.js +7 -0
  204. package/commonjs/folders/list.js.map +1 -0
  205. package/commonjs/folders/types.d.ts +237 -0
  206. package/commonjs/folders/types.d.ts.map +1 -0
  207. package/commonjs/folders/types.js +253 -0
  208. package/commonjs/folders/types.js.map +1 -0
  209. package/commonjs/folders/web.d.ts +33 -0
  210. package/commonjs/folders/web.d.ts.map +1 -0
  211. package/commonjs/folders/web.js +14 -0
  212. package/commonjs/folders/web.js.map +1 -0
  213. package/commonjs/forms/index.d.ts +3 -0
  214. package/commonjs/forms/index.d.ts.map +1 -0
  215. package/commonjs/forms/index.js +8 -0
  216. package/commonjs/forms/index.js.map +1 -0
  217. package/commonjs/forms/list.d.ts +10 -0
  218. package/commonjs/forms/list.d.ts.map +1 -0
  219. package/commonjs/forms/list.js +7 -0
  220. package/commonjs/forms/list.js.map +1 -0
  221. package/commonjs/forms/types.d.ts +36 -0
  222. package/commonjs/forms/types.d.ts.map +1 -0
  223. package/commonjs/forms/types.js +34 -0
  224. package/commonjs/forms/types.js.map +1 -0
  225. package/commonjs/groupsitemanager/index.d.ts +8 -0
  226. package/commonjs/groupsitemanager/index.d.ts.map +1 -0
  227. package/commonjs/groupsitemanager/index.js +14 -0
  228. package/commonjs/groupsitemanager/index.js.map +1 -0
  229. package/commonjs/groupsitemanager/types.d.ts +312 -0
  230. package/commonjs/groupsitemanager/types.d.ts.map +1 -0
  231. package/commonjs/groupsitemanager/types.js +325 -0
  232. package/commonjs/groupsitemanager/types.js.map +1 -0
  233. package/commonjs/hubsites/index.d.ts +13 -0
  234. package/commonjs/hubsites/index.d.ts.map +1 -0
  235. package/commonjs/hubsites/index.js +18 -0
  236. package/commonjs/hubsites/index.js.map +1 -0
  237. package/commonjs/hubsites/site.d.ts +27 -0
  238. package/commonjs/hubsites/site.d.ts.map +1 -0
  239. package/commonjs/hubsites/site.js +14 -0
  240. package/commonjs/hubsites/site.js.map +1 -0
  241. package/commonjs/hubsites/types.d.ts +56 -0
  242. package/commonjs/hubsites/types.d.ts.map +1 -0
  243. package/commonjs/hubsites/types.js +34 -0
  244. package/commonjs/hubsites/types.js.map +1 -0
  245. package/commonjs/hubsites/web.d.ts +22 -0
  246. package/commonjs/hubsites/web.d.ts.map +1 -0
  247. package/commonjs/hubsites/web.js +15 -0
  248. package/commonjs/hubsites/web.js.map +1 -0
  249. package/commonjs/index.d.ts +15 -0
  250. package/commonjs/index.d.ts.map +1 -0
  251. package/commonjs/index.js +21 -0
  252. package/commonjs/index.js.map +1 -0
  253. package/commonjs/items/index.d.ts +3 -0
  254. package/commonjs/items/index.d.ts.map +1 -0
  255. package/commonjs/items/index.js +10 -0
  256. package/commonjs/items/index.js.map +1 -0
  257. package/commonjs/items/list.d.ts +10 -0
  258. package/commonjs/items/list.d.ts.map +1 -0
  259. package/commonjs/items/list.js +7 -0
  260. package/commonjs/items/list.js.map +1 -0
  261. package/commonjs/items/types.d.ts +193 -0
  262. package/commonjs/items/types.d.ts.map +1 -0
  263. package/commonjs/items/types.js +295 -0
  264. package/commonjs/items/types.js.map +1 -0
  265. package/commonjs/lists/index.d.ts +3 -0
  266. package/commonjs/lists/index.d.ts.map +1 -0
  267. package/commonjs/lists/index.js +10 -0
  268. package/commonjs/lists/index.js.map +1 -0
  269. package/commonjs/lists/types.d.ts +626 -0
  270. package/commonjs/lists/types.d.ts.map +1 -0
  271. package/commonjs/lists/types.js +357 -0
  272. package/commonjs/lists/types.js.map +1 -0
  273. package/commonjs/lists/web.d.ts +44 -0
  274. package/commonjs/lists/web.d.ts.map +1 -0
  275. package/commonjs/lists/web.js +20 -0
  276. package/commonjs/lists/web.js.map +1 -0
  277. package/commonjs/navigation/index.d.ts +9 -0
  278. package/commonjs/navigation/index.d.ts.map +1 -0
  279. package/commonjs/navigation/index.js +19 -0
  280. package/commonjs/navigation/index.js.map +1 -0
  281. package/commonjs/navigation/types.d.ts +155 -0
  282. package/commonjs/navigation/types.d.ts.map +1 -0
  283. package/commonjs/navigation/types.js +153 -0
  284. package/commonjs/navigation/types.js.map +1 -0
  285. package/commonjs/navigation/web.d.ts +14 -0
  286. package/commonjs/navigation/web.d.ts.map +1 -0
  287. package/commonjs/navigation/web.js +7 -0
  288. package/commonjs/navigation/web.js.map +1 -0
  289. package/commonjs/package.json +1 -0
  290. package/commonjs/presets/all.d.ts +75 -0
  291. package/commonjs/presets/all.d.ts.map +1 -0
  292. package/commonjs/presets/all.js +78 -0
  293. package/commonjs/presets/all.js.map +1 -0
  294. package/commonjs/profiles/index.d.ts +8 -0
  295. package/commonjs/profiles/index.d.ts.map +1 -0
  296. package/commonjs/profiles/index.js +16 -0
  297. package/commonjs/profiles/index.js.map +1 -0
  298. package/commonjs/profiles/types.d.ts +358 -0
  299. package/commonjs/profiles/types.d.ts.map +1 -0
  300. package/commonjs/profiles/types.js +362 -0
  301. package/commonjs/profiles/types.js.map +1 -0
  302. package/commonjs/publishing-sitepageservice/index.d.ts +11 -0
  303. package/commonjs/publishing-sitepageservice/index.d.ts.map +1 -0
  304. package/commonjs/publishing-sitepageservice/index.js +13 -0
  305. package/commonjs/publishing-sitepageservice/index.js.map +1 -0
  306. package/commonjs/publishing-sitepageservice/types.d.ts +12 -0
  307. package/commonjs/publishing-sitepageservice/types.d.ts.map +1 -0
  308. package/commonjs/publishing-sitepageservice/types.js +20 -0
  309. package/commonjs/publishing-sitepageservice/types.js.map +1 -0
  310. package/commonjs/recycle-bin/index.d.ts +25 -0
  311. package/commonjs/recycle-bin/index.d.ts.map +1 -0
  312. package/commonjs/recycle-bin/index.js +12 -0
  313. package/commonjs/recycle-bin/index.js.map +1 -0
  314. package/commonjs/recycle-bin/types.d.ts +82 -0
  315. package/commonjs/recycle-bin/types.d.ts.map +1 -0
  316. package/commonjs/recycle-bin/types.js +83 -0
  317. package/commonjs/recycle-bin/types.js.map +1 -0
  318. package/commonjs/regional-settings/content-type.d.ts +8 -0
  319. package/commonjs/regional-settings/content-type.d.ts.map +1 -0
  320. package/commonjs/regional-settings/content-type.js +7 -0
  321. package/commonjs/regional-settings/content-type.js.map +1 -0
  322. package/commonjs/regional-settings/field.d.ts +8 -0
  323. package/commonjs/regional-settings/field.d.ts.map +1 -0
  324. package/commonjs/regional-settings/field.js +7 -0
  325. package/commonjs/regional-settings/field.js.map +1 -0
  326. package/commonjs/regional-settings/funcs.d.ts +3 -0
  327. package/commonjs/regional-settings/funcs.d.ts.map +1 -0
  328. package/commonjs/regional-settings/funcs.js +12 -0
  329. package/commonjs/regional-settings/funcs.js.map +1 -0
  330. package/commonjs/regional-settings/index.d.ts +7 -0
  331. package/commonjs/regional-settings/index.d.ts.map +1 -0
  332. package/commonjs/regional-settings/index.js +13 -0
  333. package/commonjs/regional-settings/index.js.map +1 -0
  334. package/commonjs/regional-settings/list.d.ts +8 -0
  335. package/commonjs/regional-settings/list.d.ts.map +1 -0
  336. package/commonjs/regional-settings/list.js +7 -0
  337. package/commonjs/regional-settings/list.js.map +1 -0
  338. package/commonjs/regional-settings/types.d.ts +105 -0
  339. package/commonjs/regional-settings/types.d.ts.map +1 -0
  340. package/commonjs/regional-settings/types.js +88 -0
  341. package/commonjs/regional-settings/types.js.map +1 -0
  342. package/commonjs/regional-settings/user-custom-actions.d.ts +8 -0
  343. package/commonjs/regional-settings/user-custom-actions.d.ts.map +1 -0
  344. package/commonjs/regional-settings/user-custom-actions.js +7 -0
  345. package/commonjs/regional-settings/user-custom-actions.js.map +1 -0
  346. package/commonjs/regional-settings/web.d.ts +13 -0
  347. package/commonjs/regional-settings/web.d.ts.map +1 -0
  348. package/commonjs/regional-settings/web.js +10 -0
  349. package/commonjs/regional-settings/web.js.map +1 -0
  350. package/commonjs/related-items/index.d.ts +3 -0
  351. package/commonjs/related-items/index.d.ts.map +1 -0
  352. package/commonjs/related-items/index.js +7 -0
  353. package/commonjs/related-items/index.js.map +1 -0
  354. package/commonjs/related-items/types.d.ts +77 -0
  355. package/commonjs/related-items/types.d.ts.map +1 -0
  356. package/commonjs/related-items/types.js +84 -0
  357. package/commonjs/related-items/types.js.map +1 -0
  358. package/commonjs/related-items/web.d.ts +13 -0
  359. package/commonjs/related-items/web.d.ts.map +1 -0
  360. package/commonjs/related-items/web.js +12 -0
  361. package/commonjs/related-items/web.js.map +1 -0
  362. package/commonjs/search/index.d.ts +23 -0
  363. package/commonjs/search/index.d.ts.map +1 -0
  364. package/commonjs/search/index.js +21 -0
  365. package/commonjs/search/index.js.map +1 -0
  366. package/commonjs/search/query.d.ts +62 -0
  367. package/commonjs/search/query.d.ts.map +1 -0
  368. package/commonjs/search/query.js +220 -0
  369. package/commonjs/search/query.js.map +1 -0
  370. package/commonjs/search/suggest.d.ts +76 -0
  371. package/commonjs/search/suggest.d.ts.map +1 -0
  372. package/commonjs/search/suggest.js +44 -0
  373. package/commonjs/search/suggest.js.map +1 -0
  374. package/commonjs/search/types.d.ts +436 -0
  375. package/commonjs/search/types.d.ts.map +1 -0
  376. package/commonjs/search/types.js +58 -0
  377. package/commonjs/search/types.js.map +1 -0
  378. package/commonjs/security/funcs.d.ts +44 -0
  379. package/commonjs/security/funcs.d.ts.map +1 -0
  380. package/commonjs/security/funcs.js +91 -0
  381. package/commonjs/security/funcs.js.map +1 -0
  382. package/commonjs/security/index.d.ts +5 -0
  383. package/commonjs/security/index.d.ts.map +1 -0
  384. package/commonjs/security/index.js +13 -0
  385. package/commonjs/security/index.js.map +1 -0
  386. package/commonjs/security/item.d.ts +8 -0
  387. package/commonjs/security/item.d.ts.map +1 -0
  388. package/commonjs/security/item.js +17 -0
  389. package/commonjs/security/item.js.map +1 -0
  390. package/commonjs/security/list.d.ts +8 -0
  391. package/commonjs/security/list.d.ts.map +1 -0
  392. package/commonjs/security/list.js +17 -0
  393. package/commonjs/security/list.js.map +1 -0
  394. package/commonjs/security/types.d.ts +319 -0
  395. package/commonjs/security/types.d.ts.map +1 -0
  396. package/commonjs/security/types.js +336 -0
  397. package/commonjs/security/types.js.map +1 -0
  398. package/commonjs/security/web.d.ts +10 -0
  399. package/commonjs/security/web.d.ts.map +1 -0
  400. package/commonjs/security/web.js +18 -0
  401. package/commonjs/security/web.js.map +1 -0
  402. package/commonjs/sharing/file.d.ts +19 -0
  403. package/commonjs/sharing/file.d.ts.map +1 -0
  404. package/commonjs/sharing/file.js +40 -0
  405. package/commonjs/sharing/file.js.map +1 -0
  406. package/commonjs/sharing/folder.d.ts +10 -0
  407. package/commonjs/sharing/folder.d.ts.map +1 -0
  408. package/commonjs/sharing/folder.js +38 -0
  409. package/commonjs/sharing/folder.js.map +1 -0
  410. package/commonjs/sharing/funcs.d.ts +63 -0
  411. package/commonjs/sharing/funcs.d.ts.map +1 -0
  412. package/commonjs/sharing/funcs.js +211 -0
  413. package/commonjs/sharing/funcs.js.map +1 -0
  414. package/commonjs/sharing/index.d.ts +6 -0
  415. package/commonjs/sharing/index.d.ts.map +1 -0
  416. package/commonjs/sharing/index.js +15 -0
  417. package/commonjs/sharing/index.js.map +1 -0
  418. package/commonjs/sharing/item.d.ts +17 -0
  419. package/commonjs/sharing/item.d.ts.map +1 -0
  420. package/commonjs/sharing/item.js +16 -0
  421. package/commonjs/sharing/item.js.map +1 -0
  422. package/commonjs/sharing/types.d.ts +589 -0
  423. package/commonjs/sharing/types.d.ts.map +1 -0
  424. package/commonjs/sharing/types.js +117 -0
  425. package/commonjs/sharing/types.js.map +1 -0
  426. package/commonjs/sharing/web.d.ts +20 -0
  427. package/commonjs/sharing/web.d.ts.map +1 -0
  428. package/commonjs/sharing/web.js +59 -0
  429. package/commonjs/sharing/web.js.map +1 -0
  430. package/commonjs/site-designs/index.d.ts +9 -0
  431. package/commonjs/site-designs/index.d.ts.map +1 -0
  432. package/commonjs/site-designs/index.js +16 -0
  433. package/commonjs/site-designs/index.js.map +1 -0
  434. package/commonjs/site-designs/types.d.ts +376 -0
  435. package/commonjs/site-designs/types.d.ts.map +1 -0
  436. package/commonjs/site-designs/types.js +179 -0
  437. package/commonjs/site-designs/types.js.map +1 -0
  438. package/commonjs/site-designs/web.d.ts +26 -0
  439. package/commonjs/site-designs/web.d.ts.map +1 -0
  440. package/commonjs/site-designs/web.js +14 -0
  441. package/commonjs/site-designs/web.js.map +1 -0
  442. package/commonjs/site-groups/index.d.ts +3 -0
  443. package/commonjs/site-groups/index.d.ts.map +1 -0
  444. package/commonjs/site-groups/index.js +8 -0
  445. package/commonjs/site-groups/index.js.map +1 -0
  446. package/commonjs/site-groups/types.d.ts +87 -0
  447. package/commonjs/site-groups/types.d.ts.map +1 -0
  448. package/commonjs/site-groups/types.js +88 -0
  449. package/commonjs/site-groups/types.js.map +1 -0
  450. package/commonjs/site-groups/web.d.ts +41 -0
  451. package/commonjs/site-groups/web.d.ts.map +1 -0
  452. package/commonjs/site-groups/web.js +20 -0
  453. package/commonjs/site-groups/web.js.map +1 -0
  454. package/commonjs/site-scripts/index.d.ts +10 -0
  455. package/commonjs/site-scripts/index.d.ts.map +1 -0
  456. package/commonjs/site-scripts/index.js +17 -0
  457. package/commonjs/site-scripts/index.js.map +1 -0
  458. package/commonjs/site-scripts/list.d.ts +13 -0
  459. package/commonjs/site-scripts/list.d.ts.map +1 -0
  460. package/commonjs/site-scripts/list.js +15 -0
  461. package/commonjs/site-scripts/list.js.map +1 -0
  462. package/commonjs/site-scripts/types.d.ts +184 -0
  463. package/commonjs/site-scripts/types.d.ts.map +1 -0
  464. package/commonjs/site-scripts/types.js +112 -0
  465. package/commonjs/site-scripts/types.js.map +1 -0
  466. package/commonjs/site-scripts/web.d.ts +14 -0
  467. package/commonjs/site-scripts/web.d.ts.map +1 -0
  468. package/commonjs/site-scripts/web.js +10 -0
  469. package/commonjs/site-scripts/web.js.map +1 -0
  470. package/commonjs/site-users/index.d.ts +3 -0
  471. package/commonjs/site-users/index.d.ts.map +1 -0
  472. package/commonjs/site-users/index.js +8 -0
  473. package/commonjs/site-users/index.js.map +1 -0
  474. package/commonjs/site-users/types.d.ts +138 -0
  475. package/commonjs/site-users/types.d.ts.map +1 -0
  476. package/commonjs/site-users/types.js +99 -0
  477. package/commonjs/site-users/types.js.map +1 -0
  478. package/commonjs/site-users/web.d.ts +32 -0
  479. package/commonjs/site-users/web.d.ts.map +1 -0
  480. package/commonjs/site-users/web.js +20 -0
  481. package/commonjs/site-users/web.js.map +1 -0
  482. package/commonjs/sites/index.d.ts +8 -0
  483. package/commonjs/sites/index.d.ts.map +1 -0
  484. package/commonjs/sites/index.js +17 -0
  485. package/commonjs/sites/index.js.map +1 -0
  486. package/commonjs/sites/types.d.ts +221 -0
  487. package/commonjs/sites/types.d.ts.map +1 -0
  488. package/commonjs/sites/types.js +261 -0
  489. package/commonjs/sites/types.js.map +1 -0
  490. package/commonjs/social/index.d.ts +11 -0
  491. package/commonjs/social/index.d.ts.map +1 -0
  492. package/commonjs/social/index.js +20 -0
  493. package/commonjs/social/index.js.map +1 -0
  494. package/commonjs/social/types.d.ts +305 -0
  495. package/commonjs/social/types.d.ts.map +1 -0
  496. package/commonjs/social/types.js +210 -0
  497. package/commonjs/social/types.js.map +1 -0
  498. package/commonjs/spqueryable.d.ts +117 -0
  499. package/commonjs/spqueryable.d.ts.map +1 -0
  500. package/commonjs/spqueryable.js +219 -0
  501. package/commonjs/spqueryable.js.map +1 -0
  502. package/commonjs/sputilities/index.d.ts +8 -0
  503. package/commonjs/sputilities/index.d.ts.map +1 -0
  504. package/commonjs/sputilities/index.js +15 -0
  505. package/commonjs/sputilities/index.js.map +1 -0
  506. package/commonjs/sputilities/types.d.ts +101 -0
  507. package/commonjs/sputilities/types.d.ts.map +1 -0
  508. package/commonjs/sputilities/types.js +69 -0
  509. package/commonjs/sputilities/types.js.map +1 -0
  510. package/commonjs/subscriptions/index.d.ts +3 -0
  511. package/commonjs/subscriptions/index.d.ts.map +1 -0
  512. package/commonjs/subscriptions/index.js +8 -0
  513. package/commonjs/subscriptions/index.js.map +1 -0
  514. package/commonjs/subscriptions/list.d.ts +14 -0
  515. package/commonjs/subscriptions/list.d.ts.map +1 -0
  516. package/commonjs/subscriptions/list.js +7 -0
  517. package/commonjs/subscriptions/list.js.map +1 -0
  518. package/commonjs/subscriptions/types.d.ts +55 -0
  519. package/commonjs/subscriptions/types.d.ts.map +1 -0
  520. package/commonjs/subscriptions/types.js +74 -0
  521. package/commonjs/subscriptions/types.js.map +1 -0
  522. package/commonjs/taxonomy/index.d.ts +8 -0
  523. package/commonjs/taxonomy/index.d.ts.map +1 -0
  524. package/commonjs/taxonomy/index.js +24 -0
  525. package/commonjs/taxonomy/index.js.map +1 -0
  526. package/commonjs/taxonomy/types.d.ts +314 -0
  527. package/commonjs/taxonomy/types.d.ts.map +1 -0
  528. package/commonjs/taxonomy/types.js +305 -0
  529. package/commonjs/taxonomy/types.js.map +1 -0
  530. package/commonjs/types.d.ts +241 -0
  531. package/commonjs/types.d.ts.map +1 -0
  532. package/commonjs/types.js +84 -0
  533. package/commonjs/types.js.map +1 -0
  534. package/commonjs/user-custom-actions/index.d.ts +5 -0
  535. package/commonjs/user-custom-actions/index.d.ts.map +1 -0
  536. package/commonjs/user-custom-actions/index.js +12 -0
  537. package/commonjs/user-custom-actions/index.js.map +1 -0
  538. package/commonjs/user-custom-actions/list.d.ts +13 -0
  539. package/commonjs/user-custom-actions/list.d.ts.map +1 -0
  540. package/commonjs/user-custom-actions/list.js +7 -0
  541. package/commonjs/user-custom-actions/list.js.map +1 -0
  542. package/commonjs/user-custom-actions/site.d.ts +13 -0
  543. package/commonjs/user-custom-actions/site.d.ts.map +1 -0
  544. package/commonjs/user-custom-actions/site.js +7 -0
  545. package/commonjs/user-custom-actions/site.js.map +1 -0
  546. package/commonjs/user-custom-actions/types.d.ts +82 -0
  547. package/commonjs/user-custom-actions/types.d.ts.map +1 -0
  548. package/commonjs/user-custom-actions/types.js +76 -0
  549. package/commonjs/user-custom-actions/types.js.map +1 -0
  550. package/commonjs/user-custom-actions/web.d.ts +16 -0
  551. package/commonjs/user-custom-actions/web.d.ts.map +1 -0
  552. package/commonjs/user-custom-actions/web.js +7 -0
  553. package/commonjs/user-custom-actions/web.js.map +1 -0
  554. package/commonjs/utils/encode-path-str.d.ts +8 -0
  555. package/commonjs/utils/encode-path-str.d.ts.map +1 -0
  556. package/commonjs/utils/encode-path-str.js +29 -0
  557. package/commonjs/utils/encode-path-str.js.map +1 -0
  558. package/commonjs/utils/extract-web-url.d.ts +2 -0
  559. package/commonjs/utils/extract-web-url.d.ts.map +1 -0
  560. package/commonjs/utils/extract-web-url.js +20 -0
  561. package/commonjs/utils/extract-web-url.js.map +1 -0
  562. package/commonjs/utils/file-names.d.ts +18 -0
  563. package/commonjs/utils/file-names.d.ts.map +1 -0
  564. package/commonjs/utils/file-names.js +41 -0
  565. package/commonjs/utils/file-names.js.map +1 -0
  566. package/commonjs/utils/metadata.d.ts +6 -0
  567. package/commonjs/utils/metadata.d.ts.map +1 -0
  568. package/commonjs/utils/metadata.js +10 -0
  569. package/commonjs/utils/metadata.js.map +1 -0
  570. package/commonjs/utils/odata-url-from.d.ts +2 -0
  571. package/commonjs/utils/odata-url-from.d.ts.map +1 -0
  572. package/commonjs/utils/odata-url-from.js +41 -0
  573. package/commonjs/utils/odata-url-from.js.map +1 -0
  574. package/commonjs/utils/to-resource-path.d.ts +5 -0
  575. package/commonjs/utils/to-resource-path.d.ts.map +1 -0
  576. package/commonjs/utils/to-resource-path.js +10 -0
  577. package/commonjs/utils/to-resource-path.js.map +1 -0
  578. package/commonjs/views/index.d.ts +3 -0
  579. package/commonjs/views/index.d.ts.map +1 -0
  580. package/commonjs/views/index.js +10 -0
  581. package/commonjs/views/index.js.map +1 -0
  582. package/commonjs/views/list.d.ts +24 -0
  583. package/commonjs/views/list.d.ts.map +1 -0
  584. package/commonjs/views/list.js +11 -0
  585. package/commonjs/views/list.js.map +1 -0
  586. package/commonjs/views/types.d.ts +147 -0
  587. package/commonjs/views/types.d.ts.map +1 -0
  588. package/commonjs/views/types.js +140 -0
  589. package/commonjs/views/types.js.map +1 -0
  590. package/commonjs/webparts/file.d.ts +16 -0
  591. package/commonjs/webparts/file.d.ts.map +1 -0
  592. package/commonjs/webparts/file.js +8 -0
  593. package/commonjs/webparts/file.js.map +1 -0
  594. package/commonjs/webparts/index.d.ts +3 -0
  595. package/commonjs/webparts/index.d.ts.map +1 -0
  596. package/commonjs/webparts/index.js +10 -0
  597. package/commonjs/webparts/index.js.map +1 -0
  598. package/commonjs/webparts/types.d.ts +84 -0
  599. package/commonjs/webparts/types.d.ts.map +1 -0
  600. package/commonjs/webparts/types.js +92 -0
  601. package/commonjs/webparts/types.js.map +1 -0
  602. package/commonjs/webs/index.d.ts +11 -0
  603. package/commonjs/webs/index.d.ts.map +1 -0
  604. package/commonjs/webs/index.js +16 -0
  605. package/commonjs/webs/index.js.map +1 -0
  606. package/commonjs/webs/types.d.ts +204 -0
  607. package/commonjs/webs/types.d.ts.map +1 -0
  608. package/commonjs/webs/types.js +227 -0
  609. package/commonjs/webs/types.js.map +1 -0
  610. 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,5 @@
1
+ import { TimelinePipe } from "@pnp/core";
2
+ import { Queryable } from "@pnp/queryable";
3
+ export declare function DefaultInit(): TimelinePipe<Queryable>;
4
+ export declare function DefaultHeaders(): TimelinePipe<Queryable>;
5
+ //# sourceMappingURL=defaults.d.ts.map
@@ -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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"}