@pnp/sp 2.8.0 → 2.12.0

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 (306) hide show
  1. package/LICENSE +25 -25
  2. package/appcatalog/index.d.ts +8 -8
  3. package/appcatalog/index.js +30 -30
  4. package/appcatalog/types.d.ts +81 -81
  5. package/appcatalog/types.d.ts.map +1 -1
  6. package/appcatalog/types.js +177 -177
  7. package/appcatalog/types.js.map +1 -1
  8. package/appcatalog/web.d.ts +16 -16
  9. package/appcatalog/web.js +6 -6
  10. package/attachments/index.d.ts +2 -2
  11. package/attachments/index.js +2 -2
  12. package/attachments/item.d.ts +12 -12
  13. package/attachments/item.js +4 -4
  14. package/attachments/types.d.ts +92 -92
  15. package/attachments/types.js +240 -240
  16. package/batch.d.ts +17 -17
  17. package/batch.js +223 -223
  18. package/clientside-pages/funcs.d.ts +22 -22
  19. package/clientside-pages/funcs.js +25 -25
  20. package/clientside-pages/index.d.ts +2 -2
  21. package/clientside-pages/index.js +2 -2
  22. package/clientside-pages/types.d.ts +496 -494
  23. package/clientside-pages/types.d.ts.map +1 -1
  24. package/clientside-pages/types.js +1496 -1487
  25. package/clientside-pages/types.js.map +1 -1
  26. package/clientside-pages/web.d.ts +41 -41
  27. package/clientside-pages/web.js +57 -57
  28. package/column-defaults/folder.d.ts +27 -27
  29. package/column-defaults/folder.js +82 -82
  30. package/column-defaults/index.d.ts +3 -3
  31. package/column-defaults/index.js +2 -2
  32. package/column-defaults/list.d.ts +19 -19
  33. package/column-defaults/list.js +198 -198
  34. package/column-defaults/types.d.ts +21 -21
  35. package/column-defaults/types.js +1 -1
  36. package/comments/clientside-page.d.ts +57 -57
  37. package/comments/clientside-page.d.ts.map +1 -1
  38. package/comments/clientside-page.js +136 -136
  39. package/comments/index.d.ts +2 -2
  40. package/comments/index.js +2 -2
  41. package/comments/item.d.ts +29 -29
  42. package/comments/item.js +47 -47
  43. package/comments/item.js.map +1 -1
  44. package/comments/types.d.ts +107 -107
  45. package/comments/types.d.ts.map +1 -1
  46. package/comments/types.js +145 -145
  47. package/comments/types.js.map +1 -1
  48. package/content-types/index.d.ts +4 -4
  49. package/content-types/index.js +4 -4
  50. package/content-types/item.d.ts +12 -12
  51. package/content-types/item.js +4 -4
  52. package/content-types/list.d.ts +12 -12
  53. package/content-types/list.js +4 -4
  54. package/content-types/types.d.ts +107 -107
  55. package/content-types/types.js +166 -166
  56. package/content-types/web.d.ts +12 -12
  57. package/content-types/web.js +4 -4
  58. package/decorators.d.ts +11 -11
  59. package/decorators.js +28 -28
  60. package/features/index.d.ts +3 -3
  61. package/features/index.js +3 -3
  62. package/features/site.d.ts +12 -12
  63. package/features/site.js +4 -4
  64. package/features/types.d.ts +47 -47
  65. package/features/types.js +109 -109
  66. package/features/web.d.ts +12 -12
  67. package/features/web.js +4 -4
  68. package/fields/index.d.ts +4 -4
  69. package/fields/index.js +4 -4
  70. package/fields/list.d.ts +12 -12
  71. package/fields/list.js +4 -4
  72. package/fields/types.d.ts +368 -368
  73. package/fields/types.js +624 -624
  74. package/fields/web.d.ts +17 -17
  75. package/fields/web.js +5 -5
  76. package/files/folder.d.ts +12 -12
  77. package/files/folder.js +4 -4
  78. package/files/index.d.ts +4 -4
  79. package/files/index.js +4 -4
  80. package/files/item.d.ts +12 -12
  81. package/files/item.js +4 -4
  82. package/files/types.d.ts +421 -421
  83. package/files/types.js +853 -853
  84. package/files/types.js.map +1 -1
  85. package/files/web.d.ts +35 -35
  86. package/files/web.js +15 -15
  87. package/folders/index.d.ts +4 -4
  88. package/folders/index.js +4 -4
  89. package/folders/item.d.ts +9 -9
  90. package/folders/item.js +4 -4
  91. package/folders/list.d.ts +12 -12
  92. package/folders/list.js +4 -4
  93. package/folders/types.d.ts +207 -207
  94. package/folders/types.js +433 -433
  95. package/folders/types.js.map +1 -1
  96. package/folders/web.d.ts +39 -39
  97. package/folders/web.js +15 -15
  98. package/forms/index.d.ts +2 -2
  99. package/forms/index.js +2 -2
  100. package/forms/list.d.ts +9 -9
  101. package/forms/list.js +4 -4
  102. package/forms/types.d.ts +35 -35
  103. package/forms/types.js +41 -41
  104. package/hubsites/index.d.ts +12 -12
  105. package/hubsites/index.js +15 -15
  106. package/hubsites/site.d.ts +26 -26
  107. package/hubsites/site.js +39 -39
  108. package/hubsites/types.d.ts +55 -55
  109. package/hubsites/types.d.ts.map +1 -1
  110. package/hubsites/types.js +53 -53
  111. package/hubsites/web.d.ts +21 -21
  112. package/hubsites/web.js +23 -23
  113. package/index.d.ts +14 -14
  114. package/index.js +13 -13
  115. package/items/index.d.ts +2 -2
  116. package/items/index.js +2 -2
  117. package/items/list.d.ts +9 -9
  118. package/items/list.js +4 -4
  119. package/items/types.d.ts +226 -226
  120. package/items/types.js +549 -549
  121. package/lists/index.d.ts +2 -2
  122. package/lists/index.js +2 -2
  123. package/lists/types.d.ts +495 -495
  124. package/lists/types.js +522 -522
  125. package/lists/types.js.map +1 -1
  126. package/lists/web.d.ts +43 -43
  127. package/lists/web.js +27 -27
  128. package/navigation/index.d.ts +8 -8
  129. package/navigation/index.js +14 -14
  130. package/navigation/types.d.ts +154 -154
  131. package/navigation/types.js +219 -219
  132. package/navigation/web.d.ts +13 -13
  133. package/navigation/web.js +4 -4
  134. package/odata.d.ts +5 -5
  135. package/odata.js +90 -90
  136. package/odata.js.map +1 -1
  137. package/operations.d.ts +9 -9
  138. package/operations.js +63 -63
  139. package/package.json +4 -4
  140. package/presets/all.d.ts +72 -72
  141. package/presets/all.js +72 -72
  142. package/presets/core.d.ts +11 -11
  143. package/presets/core.js +11 -11
  144. package/profiles/index.d.ts +7 -7
  145. package/profiles/index.js +13 -13
  146. package/profiles/types.d.ts +357 -357
  147. package/profiles/types.js +454 -454
  148. package/readme.md +21 -21
  149. package/regional-settings/content-type.d.ts +7 -7
  150. package/regional-settings/content-type.js +4 -4
  151. package/regional-settings/field.d.ts +7 -7
  152. package/regional-settings/field.js +4 -4
  153. package/regional-settings/funcs.d.ts +2 -2
  154. package/regional-settings/funcs.js +8 -8
  155. package/regional-settings/index.d.ts +6 -6
  156. package/regional-settings/index.js +6 -6
  157. package/regional-settings/list.d.ts +7 -7
  158. package/regional-settings/list.js +4 -4
  159. package/regional-settings/types.d.ts +111 -111
  160. package/regional-settings/types.js +159 -159
  161. package/regional-settings/user-custom-actions.d.ts +7 -7
  162. package/regional-settings/user-custom-actions.js +4 -4
  163. package/regional-settings/web.d.ts +12 -12
  164. package/regional-settings/web.js +7 -7
  165. package/related-items/index.d.ts +1 -1
  166. package/related-items/index.js +1 -1
  167. package/related-items/types.d.ts +76 -76
  168. package/related-items/types.js +103 -103
  169. package/related-items/web.d.ts +12 -12
  170. package/related-items/web.js +9 -9
  171. package/rest.d.ts +44 -44
  172. package/rest.js +72 -72
  173. package/search/index.d.ts +30 -30
  174. package/search/index.js +25 -25
  175. package/search/query.d.ts +62 -62
  176. package/search/query.js +302 -302
  177. package/search/suggest.d.ts +76 -76
  178. package/search/suggest.js +66 -66
  179. package/search/types.d.ts +426 -426
  180. package/search/types.js +57 -57
  181. package/security/funcs.d.ts +43 -43
  182. package/security/funcs.js +142 -142
  183. package/security/index.d.ts +4 -4
  184. package/security/index.js +4 -4
  185. package/security/item.d.ts +7 -7
  186. package/security/item.js +14 -14
  187. package/security/list.d.ts +7 -7
  188. package/security/list.js +14 -14
  189. package/security/types.d.ts +318 -318
  190. package/security/types.js +399 -399
  191. package/security/web.d.ts +9 -9
  192. package/security/web.js +15 -15
  193. package/sharepointqueryable.d.ts +135 -135
  194. package/sharepointqueryable.js +265 -265
  195. package/sharing/file.d.ts +18 -18
  196. package/sharing/file.js +116 -116
  197. package/sharing/folder.d.ts +9 -9
  198. package/sharing/folder.js +136 -136
  199. package/sharing/funcs.d.ts +62 -62
  200. package/sharing/funcs.js +239 -239
  201. package/sharing/funcs.js.map +1 -1
  202. package/sharing/index.d.ts +5 -5
  203. package/sharing/index.js +5 -5
  204. package/sharing/item.d.ts +16 -16
  205. package/sharing/item.js +15 -15
  206. package/sharing/types.d.ts +583 -583
  207. package/sharing/types.js +113 -113
  208. package/sharing/web.d.ts +19 -19
  209. package/sharing/web.js +76 -76
  210. package/site-designs/index.d.ts +8 -8
  211. package/site-designs/index.js +14 -14
  212. package/site-designs/types.d.ts +319 -319
  213. package/site-designs/types.js +203 -203
  214. package/site-designs/web.d.ts +25 -25
  215. package/site-designs/web.js +11 -11
  216. package/site-groups/index.d.ts +2 -2
  217. package/site-groups/index.js +2 -2
  218. package/site-groups/types.d.ts +89 -89
  219. package/site-groups/types.js +125 -125
  220. package/site-groups/web.d.ts +40 -40
  221. package/site-groups/web.js +30 -30
  222. package/site-scripts/index.d.ts +9 -9
  223. package/site-scripts/index.js +15 -15
  224. package/site-scripts/list.d.ts +12 -12
  225. package/site-scripts/list.js +24 -24
  226. package/site-scripts/types.d.ts +183 -183
  227. package/site-scripts/types.js +141 -141
  228. package/site-scripts/web.d.ts +13 -13
  229. package/site-scripts/web.js +5 -5
  230. package/site-users/index.d.ts +2 -2
  231. package/site-users/index.js +2 -2
  232. package/site-users/types.d.ts +138 -138
  233. package/site-users/types.js +122 -122
  234. package/site-users/web.d.ts +31 -31
  235. package/site-users/web.js +27 -27
  236. package/sites/index.d.ts +7 -7
  237. package/sites/index.js +13 -13
  238. package/sites/types.d.ts +147 -147
  239. package/sites/types.js +321 -321
  240. package/social/index.d.ts +10 -10
  241. package/social/index.js +13 -13
  242. package/social/types.d.ts +309 -309
  243. package/social/types.js +322 -322
  244. package/sphttpclient.d.ts +18 -18
  245. package/sphttpclient.js +189 -189
  246. package/splibconfig.d.ts +22 -22
  247. package/splibconfig.js +13 -13
  248. package/sputilities/index.d.ts +7 -7
  249. package/sputilities/index.js +13 -13
  250. package/sputilities/types.d.ts +130 -130
  251. package/sputilities/types.js +118 -118
  252. package/subscriptions/index.d.ts +2 -2
  253. package/subscriptions/index.js +2 -2
  254. package/subscriptions/list.d.ts +13 -13
  255. package/subscriptions/list.js +4 -4
  256. package/subscriptions/types.d.ts +54 -54
  257. package/subscriptions/types.js +111 -111
  258. package/taxonomy/index.d.ts +7 -7
  259. package/taxonomy/index.js +13 -13
  260. package/taxonomy/types.d.ts +200 -200
  261. package/taxonomy/types.js +347 -347
  262. package/taxonomy/types.js.map +1 -1
  263. package/telemetry.d.ts +12 -12
  264. package/telemetry.js +48 -48
  265. package/types.d.ts +218 -218
  266. package/types.js +79 -79
  267. package/user-custom-actions/index.d.ts +4 -4
  268. package/user-custom-actions/index.js +4 -4
  269. package/user-custom-actions/list.d.ts +12 -12
  270. package/user-custom-actions/list.js +4 -4
  271. package/user-custom-actions/site.d.ts +12 -12
  272. package/user-custom-actions/site.js +4 -4
  273. package/user-custom-actions/types.d.ts +82 -82
  274. package/user-custom-actions/types.js +93 -93
  275. package/user-custom-actions/web.d.ts +15 -15
  276. package/user-custom-actions/web.js +4 -4
  277. package/utils/escapeQueryStrValue.d.ts +1 -1
  278. package/utils/escapeQueryStrValue.js +19 -19
  279. package/utils/extractweburl.d.ts +1 -1
  280. package/utils/extractweburl.js +15 -15
  281. package/utils/file-names.d.ts +17 -17
  282. package/utils/file-names.js +38 -38
  283. package/utils/metadata.d.ts +5 -5
  284. package/utils/metadata.js +5 -5
  285. package/utils/objectToSPKeyValueCollection.d.ts +20 -20
  286. package/utils/objectToSPKeyValueCollection.js +16 -16
  287. package/utils/toResourcePath.d.ts +7 -7
  288. package/utils/toResourcePath.js +6 -6
  289. package/utils/toabsoluteurl.d.ts +7 -7
  290. package/utils/toabsoluteurl.js +61 -61
  291. package/views/index.d.ts +2 -2
  292. package/views/index.js +2 -2
  293. package/views/list.d.ts +23 -23
  294. package/views/list.js +8 -8
  295. package/views/types.d.ts +140 -140
  296. package/views/types.js +184 -184
  297. package/webparts/file.d.ts +15 -15
  298. package/webparts/file.js +6 -6
  299. package/webparts/index.d.ts +2 -2
  300. package/webparts/index.js +2 -2
  301. package/webparts/types.d.ts +83 -83
  302. package/webparts/types.js +117 -117
  303. package/webs/index.d.ts +16 -16
  304. package/webs/index.js +16 -16
  305. package/webs/types.d.ts +210 -210
  306. package/webs/types.js +295 -295
@@ -1,266 +1,266 @@
1
- import { __extends } from "tslib";
2
- import { combine, isUrlAbsolute, assign, jsS } from "@pnp/common";
3
- import { Queryable, invokableFactory } from "@pnp/odata";
4
- import { Logger } from "@pnp/logging";
5
- import { metadata } from "./utils/metadata.js";
6
- import { spGet, spPost, spPostDelete, spPostDeleteETag } from "./operations.js";
7
- import { tag } from "./telemetry.js";
8
- export var spInvokableFactory = function (f) {
9
- return invokableFactory(f);
10
- };
11
- /**
12
- * SharePointQueryable Base Class
13
- *
14
- */
15
- var _SharePointQueryable = /** @class */ (function (_super) {
16
- __extends(_SharePointQueryable, _super);
17
- /**
18
- * Creates a new instance of the SharePointQueryable class
19
- *
20
- * @constructor
21
- * @param baseUrl A string or SharePointQueryable that should form the base part of the url
22
- *
23
- */
24
- function _SharePointQueryable(baseUrl, path) {
25
- var _this = this;
26
- var url = "";
27
- var parentUrl = "";
28
- var query = new Map();
29
- if (typeof baseUrl === "string") {
30
- // we need to do some extra parsing to get the parent url correct if we are
31
- // being created from just a string.
32
- if (isUrlAbsolute(baseUrl) || baseUrl.lastIndexOf("/") < 0) {
33
- parentUrl = baseUrl;
34
- url = combine(baseUrl, path);
35
- }
36
- else if (baseUrl.lastIndexOf("/") > baseUrl.lastIndexOf("(")) {
37
- // .../items(19)/fields
38
- var index = baseUrl.lastIndexOf("/");
39
- parentUrl = baseUrl.slice(0, index);
40
- path = combine(baseUrl.slice(index), path);
41
- url = combine(parentUrl, path);
42
- }
43
- else {
44
- // .../items(19)
45
- var index = baseUrl.lastIndexOf("(");
46
- parentUrl = baseUrl.slice(0, index);
47
- url = combine(baseUrl, path);
48
- }
49
- }
50
- else {
51
- parentUrl = baseUrl.toUrl();
52
- url = combine(parentUrl, path || "");
53
- var target = baseUrl.query.get("@target");
54
- if (target !== undefined) {
55
- query.set("@target", target);
56
- }
57
- }
58
- // init base with correct values for data seed
59
- _this = _super.call(this, {
60
- parentUrl: parentUrl,
61
- query: query,
62
- url: url,
63
- }) || this;
64
- // post init actions
65
- if (typeof baseUrl !== "string") {
66
- _this.configureFrom(baseUrl);
67
- }
68
- _this._forceCaching = false;
69
- return _this;
70
- }
71
- /**
72
- * Gets the full url with query information
73
- */
74
- _SharePointQueryable.prototype.toUrlAndQuery = function () {
75
- var aliasedParams = new Map(this.query);
76
- var url = this.toUrl().replace(/'!(@.*?)::(.*?)'/ig, function (match, labelName, value) {
77
- Logger.write("Rewriting aliased parameter from match " + match + " to label: " + labelName + " value: " + value, 0 /* Verbose */);
78
- aliasedParams.set(labelName, "'" + value + "'");
79
- return labelName;
80
- });
81
- if (aliasedParams.size > 0) {
82
- var char = url.indexOf("?") > -1 ? "&" : "?";
83
- url += "" + char + Array.from(aliasedParams).map(function (v) { return v[0] + "=" + v[1]; }).join("&");
84
- }
85
- return url;
86
- };
87
- /**
88
- * Choose which fields to return
89
- *
90
- * @param selects One or more fields to return
91
- */
92
- _SharePointQueryable.prototype.select = function () {
93
- var selects = [];
94
- for (var _i = 0; _i < arguments.length; _i++) {
95
- selects[_i] = arguments[_i];
96
- }
97
- if (selects.length > 0) {
98
- this.query.set("$select", selects.map(encodeURIComponent).join(","));
99
- }
100
- return this;
101
- };
102
- _SharePointQueryable.prototype.get = function (options) {
103
- return spGet(this, options);
104
- };
105
- /**
106
- * Expands fields such as lookups to get additional data
107
- *
108
- * @param expands The Fields for which to expand the values
109
- */
110
- _SharePointQueryable.prototype.expand = function () {
111
- var expands = [];
112
- for (var _i = 0; _i < arguments.length; _i++) {
113
- expands[_i] = arguments[_i];
114
- }
115
- if (expands.length > 0) {
116
- this.query.set("$expand", expands.map(encodeURIComponent).join(","));
117
- }
118
- return this;
119
- };
120
- /**
121
- * Clones this SharePointQueryable into a new SharePointQueryable instance of T
122
- * @param factory Constructor used to create the new instance
123
- * @param additionalPath Any additional path to include in the clone
124
- * @param includeBatch If true this instance's batch will be added to the cloned instance
125
- * @param includeQuery If true all of the query values will be copied to the cloned instance
126
- */
127
- _SharePointQueryable.prototype.clone = function (factory, additionalPath, includeBatch, includeQuery) {
128
- if (includeBatch === void 0) { includeBatch = true; }
129
- if (includeQuery === void 0) { includeQuery = false; }
130
- var clone = _super.prototype.cloneTo.call(this, factory(this, additionalPath), { includeBatch: includeBatch, includeQuery: includeQuery });
131
- // handle sp specific clone actions
132
- if (!includeQuery) {
133
- // we would have already copied this over if we got the entire query
134
- var t = "@target";
135
- if (this.query.has(t)) {
136
- clone.query.set(t, this.query.get(t));
137
- }
138
- }
139
- return clone;
140
- };
141
- /**
142
- * The default action for this object (unless overridden spGet)
143
- *
144
- * @param options optional request options
145
- */
146
- _SharePointQueryable.prototype.defaultAction = function (options) {
147
- return spGet(this, options);
148
- };
149
- /**
150
- * Gets a parent for this instance as specified
151
- *
152
- * @param factory The contructor for the class to create
153
- */
154
- _SharePointQueryable.prototype.getParent = function (factory, baseUrl, path, batch) {
155
- if (baseUrl === void 0) { baseUrl = this.parentUrl; }
156
- var parent = factory(baseUrl, path).configureFrom(this);
157
- var t = "@target";
158
- if (this.query.has(t)) {
159
- parent.query.set(t, this.query.get(t));
160
- }
161
- if (batch !== undefined) {
162
- parent = parent.inBatch(batch);
163
- }
164
- return parent;
165
- };
166
- return _SharePointQueryable;
167
- }(Queryable));
168
- export { _SharePointQueryable };
169
- export var SharePointQueryable = spInvokableFactory(_SharePointQueryable);
170
- /**
171
- * Represents a REST collection which can be filtered, paged, and selected
172
- *
173
- */
174
- var _SharePointQueryableCollection = /** @class */ (function (_super) {
175
- __extends(_SharePointQueryableCollection, _super);
176
- function _SharePointQueryableCollection() {
177
- return _super !== null && _super.apply(this, arguments) || this;
178
- }
179
- /**
180
- * Filters the returned collection (https://msdn.microsoft.com/en-us/library/office/fp142385.aspx#bk_supported)
181
- *
182
- * @param filter The string representing the filter query
183
- */
184
- _SharePointQueryableCollection.prototype.filter = function (filter) {
185
- this.query.set("$filter", encodeURIComponent(filter));
186
- return this;
187
- };
188
- /**
189
- * Orders based on the supplied fields
190
- *
191
- * @param orderby The name of the field on which to sort
192
- * @param ascending If false DESC is appended, otherwise ASC (default)
193
- */
194
- _SharePointQueryableCollection.prototype.orderBy = function (orderBy, ascending) {
195
- if (ascending === void 0) { ascending = true; }
196
- var o = "$orderby";
197
- var query = this.query.has(o) ? this.query.get(o).split(",") : [];
198
- query.push(encodeURIComponent(orderBy) + " " + (ascending ? "asc" : "desc"));
199
- this.query.set(o, query.join(","));
200
- return this;
201
- };
202
- /**
203
- * Skips the specified number of items
204
- *
205
- * @param skip The number of items to skip
206
- */
207
- _SharePointQueryableCollection.prototype.skip = function (skip) {
208
- this.query.set("$skip", skip.toString());
209
- return this;
210
- };
211
- /**
212
- * Limits the query to only return the specified number of items
213
- *
214
- * @param top The query row limit
215
- */
216
- _SharePointQueryableCollection.prototype.top = function (top) {
217
- this.query.set("$top", top.toString());
218
- return this;
219
- };
220
- return _SharePointQueryableCollection;
221
- }(_SharePointQueryable));
222
- export { _SharePointQueryableCollection };
223
- export var SharePointQueryableCollection = spInvokableFactory(_SharePointQueryableCollection);
224
- /**
225
- * Represents an instance that can be selected
226
- *
227
- */
228
- var _SharePointQueryableInstance = /** @class */ (function (_super) {
229
- __extends(_SharePointQueryableInstance, _super);
230
- function _SharePointQueryableInstance() {
231
- return _super !== null && _super.apply(this, arguments) || this;
232
- }
233
- /**
234
- * Curries the update function into the common pieces
235
- *
236
- * @param type
237
- * @param mapper
238
- */
239
- _SharePointQueryableInstance.prototype._update = function (type, mapper) {
240
- var _this = this;
241
- return function (props) { return spPost(tag.configure(_this, type + ".Update"), {
242
- body: jsS(assign(metadata(type), props)),
243
- headers: {
244
- "X-HTTP-Method": "MERGE",
245
- },
246
- }).then(function (d) { return mapper(d, props); }); };
247
- };
248
- return _SharePointQueryableInstance;
249
- }(_SharePointQueryable));
250
- export { _SharePointQueryableInstance };
251
- export var SharePointQueryableInstance = spInvokableFactory(_SharePointQueryableInstance);
252
- /**
253
- * Adds the a delete method to the tagged class taking no parameters and calling spPostDelete
254
- */
255
- export function deleteable(t) {
256
- return function () {
257
- return spPostDelete(tag.configure(this, t + ".delete"));
258
- };
259
- }
260
- export function deleteableWithETag(t) {
261
- return function (eTag) {
262
- if (eTag === void 0) { eTag = "*"; }
263
- return spPostDeleteETag(tag.configure(this, t + ".delete"), {}, eTag);
264
- };
265
- }
1
+ import { __extends } from "tslib";
2
+ import { combine, isUrlAbsolute, assign, jsS } from "@pnp/common";
3
+ import { Queryable, invokableFactory } from "@pnp/odata";
4
+ import { Logger } from "@pnp/logging";
5
+ import { metadata } from "./utils/metadata.js";
6
+ import { spGet, spPost, spPostDelete, spPostDeleteETag } from "./operations.js";
7
+ import { tag } from "./telemetry.js";
8
+ export var spInvokableFactory = function (f) {
9
+ return invokableFactory(f);
10
+ };
11
+ /**
12
+ * SharePointQueryable Base Class
13
+ *
14
+ */
15
+ var _SharePointQueryable = /** @class */ (function (_super) {
16
+ __extends(_SharePointQueryable, _super);
17
+ /**
18
+ * Creates a new instance of the SharePointQueryable class
19
+ *
20
+ * @constructor
21
+ * @param baseUrl A string or SharePointQueryable that should form the base part of the url
22
+ *
23
+ */
24
+ function _SharePointQueryable(baseUrl, path) {
25
+ var _this = this;
26
+ var url = "";
27
+ var parentUrl = "";
28
+ var query = new Map();
29
+ if (typeof baseUrl === "string") {
30
+ // we need to do some extra parsing to get the parent url correct if we are
31
+ // being created from just a string.
32
+ if (isUrlAbsolute(baseUrl) || baseUrl.lastIndexOf("/") < 0) {
33
+ parentUrl = baseUrl;
34
+ url = combine(baseUrl, path);
35
+ }
36
+ else if (baseUrl.lastIndexOf("/") > baseUrl.lastIndexOf("(")) {
37
+ // .../items(19)/fields
38
+ var index = baseUrl.lastIndexOf("/");
39
+ parentUrl = baseUrl.slice(0, index);
40
+ path = combine(baseUrl.slice(index), path);
41
+ url = combine(parentUrl, path);
42
+ }
43
+ else {
44
+ // .../items(19)
45
+ var index = baseUrl.lastIndexOf("(");
46
+ parentUrl = baseUrl.slice(0, index);
47
+ url = combine(baseUrl, path);
48
+ }
49
+ }
50
+ else {
51
+ parentUrl = baseUrl.toUrl();
52
+ url = combine(parentUrl, path || "");
53
+ var target = baseUrl.query.get("@target");
54
+ if (target !== undefined) {
55
+ query.set("@target", target);
56
+ }
57
+ }
58
+ // init base with correct values for data seed
59
+ _this = _super.call(this, {
60
+ parentUrl: parentUrl,
61
+ query: query,
62
+ url: url,
63
+ }) || this;
64
+ // post init actions
65
+ if (typeof baseUrl !== "string") {
66
+ _this.configureFrom(baseUrl);
67
+ }
68
+ _this._forceCaching = false;
69
+ return _this;
70
+ }
71
+ /**
72
+ * Gets the full url with query information
73
+ */
74
+ _SharePointQueryable.prototype.toUrlAndQuery = function () {
75
+ var aliasedParams = new Map(this.query);
76
+ var url = this.toUrl().replace(/'!(@.*?)::(.*?)'/ig, function (match, labelName, value) {
77
+ Logger.write("Rewriting aliased parameter from match " + match + " to label: " + labelName + " value: " + value, 0 /* Verbose */);
78
+ aliasedParams.set(labelName, "'" + value + "'");
79
+ return labelName;
80
+ });
81
+ if (aliasedParams.size > 0) {
82
+ var char = url.indexOf("?") > -1 ? "&" : "?";
83
+ url += "" + char + Array.from(aliasedParams).map(function (v) { return v[0] + "=" + v[1]; }).join("&");
84
+ }
85
+ return url;
86
+ };
87
+ /**
88
+ * Choose which fields to return
89
+ *
90
+ * @param selects One or more fields to return
91
+ */
92
+ _SharePointQueryable.prototype.select = function () {
93
+ var selects = [];
94
+ for (var _i = 0; _i < arguments.length; _i++) {
95
+ selects[_i] = arguments[_i];
96
+ }
97
+ if (selects.length > 0) {
98
+ this.query.set("$select", selects.map(encodeURIComponent).join(","));
99
+ }
100
+ return this;
101
+ };
102
+ _SharePointQueryable.prototype.get = function (options) {
103
+ return spGet(this, options);
104
+ };
105
+ /**
106
+ * Expands fields such as lookups to get additional data
107
+ *
108
+ * @param expands The Fields for which to expand the values
109
+ */
110
+ _SharePointQueryable.prototype.expand = function () {
111
+ var expands = [];
112
+ for (var _i = 0; _i < arguments.length; _i++) {
113
+ expands[_i] = arguments[_i];
114
+ }
115
+ if (expands.length > 0) {
116
+ this.query.set("$expand", expands.map(encodeURIComponent).join(","));
117
+ }
118
+ return this;
119
+ };
120
+ /**
121
+ * Clones this SharePointQueryable into a new SharePointQueryable instance of T
122
+ * @param factory Constructor used to create the new instance
123
+ * @param additionalPath Any additional path to include in the clone
124
+ * @param includeBatch If true this instance's batch will be added to the cloned instance
125
+ * @param includeQuery If true all of the query values will be copied to the cloned instance
126
+ */
127
+ _SharePointQueryable.prototype.clone = function (factory, additionalPath, includeBatch, includeQuery) {
128
+ if (includeBatch === void 0) { includeBatch = true; }
129
+ if (includeQuery === void 0) { includeQuery = false; }
130
+ var clone = _super.prototype.cloneTo.call(this, factory(this, additionalPath), { includeBatch: includeBatch, includeQuery: includeQuery });
131
+ // handle sp specific clone actions
132
+ if (!includeQuery) {
133
+ // we would have already copied this over if we got the entire query
134
+ var t = "@target";
135
+ if (this.query.has(t)) {
136
+ clone.query.set(t, this.query.get(t));
137
+ }
138
+ }
139
+ return clone;
140
+ };
141
+ /**
142
+ * The default action for this object (unless overridden spGet)
143
+ *
144
+ * @param options optional request options
145
+ */
146
+ _SharePointQueryable.prototype.defaultAction = function (options) {
147
+ return spGet(this, options);
148
+ };
149
+ /**
150
+ * Gets a parent for this instance as specified
151
+ *
152
+ * @param factory The contructor for the class to create
153
+ */
154
+ _SharePointQueryable.prototype.getParent = function (factory, baseUrl, path, batch) {
155
+ if (baseUrl === void 0) { baseUrl = this.parentUrl; }
156
+ var parent = factory(baseUrl, path).configureFrom(this);
157
+ var t = "@target";
158
+ if (this.query.has(t)) {
159
+ parent.query.set(t, this.query.get(t));
160
+ }
161
+ if (batch !== undefined) {
162
+ parent = parent.inBatch(batch);
163
+ }
164
+ return parent;
165
+ };
166
+ return _SharePointQueryable;
167
+ }(Queryable));
168
+ export { _SharePointQueryable };
169
+ export var SharePointQueryable = spInvokableFactory(_SharePointQueryable);
170
+ /**
171
+ * Represents a REST collection which can be filtered, paged, and selected
172
+ *
173
+ */
174
+ var _SharePointQueryableCollection = /** @class */ (function (_super) {
175
+ __extends(_SharePointQueryableCollection, _super);
176
+ function _SharePointQueryableCollection() {
177
+ return _super !== null && _super.apply(this, arguments) || this;
178
+ }
179
+ /**
180
+ * Filters the returned collection (https://msdn.microsoft.com/en-us/library/office/fp142385.aspx#bk_supported)
181
+ *
182
+ * @param filter The string representing the filter query
183
+ */
184
+ _SharePointQueryableCollection.prototype.filter = function (filter) {
185
+ this.query.set("$filter", encodeURIComponent(filter));
186
+ return this;
187
+ };
188
+ /**
189
+ * Orders based on the supplied fields
190
+ *
191
+ * @param orderby The name of the field on which to sort
192
+ * @param ascending If false DESC is appended, otherwise ASC (default)
193
+ */
194
+ _SharePointQueryableCollection.prototype.orderBy = function (orderBy, ascending) {
195
+ if (ascending === void 0) { ascending = true; }
196
+ var o = "$orderby";
197
+ var query = this.query.has(o) ? this.query.get(o).split(",") : [];
198
+ query.push(encodeURIComponent(orderBy) + " " + (ascending ? "asc" : "desc"));
199
+ this.query.set(o, query.join(","));
200
+ return this;
201
+ };
202
+ /**
203
+ * Skips the specified number of items
204
+ *
205
+ * @param skip The number of items to skip
206
+ */
207
+ _SharePointQueryableCollection.prototype.skip = function (skip) {
208
+ this.query.set("$skip", skip.toString());
209
+ return this;
210
+ };
211
+ /**
212
+ * Limits the query to only return the specified number of items
213
+ *
214
+ * @param top The query row limit
215
+ */
216
+ _SharePointQueryableCollection.prototype.top = function (top) {
217
+ this.query.set("$top", top.toString());
218
+ return this;
219
+ };
220
+ return _SharePointQueryableCollection;
221
+ }(_SharePointQueryable));
222
+ export { _SharePointQueryableCollection };
223
+ export var SharePointQueryableCollection = spInvokableFactory(_SharePointQueryableCollection);
224
+ /**
225
+ * Represents an instance that can be selected
226
+ *
227
+ */
228
+ var _SharePointQueryableInstance = /** @class */ (function (_super) {
229
+ __extends(_SharePointQueryableInstance, _super);
230
+ function _SharePointQueryableInstance() {
231
+ return _super !== null && _super.apply(this, arguments) || this;
232
+ }
233
+ /**
234
+ * Curries the update function into the common pieces
235
+ *
236
+ * @param type
237
+ * @param mapper
238
+ */
239
+ _SharePointQueryableInstance.prototype._update = function (type, mapper) {
240
+ var _this = this;
241
+ return function (props) { return spPost(tag.configure(_this, type + ".Update"), {
242
+ body: jsS(assign(metadata(type), props)),
243
+ headers: {
244
+ "X-HTTP-Method": "MERGE",
245
+ },
246
+ }).then(function (d) { return mapper(d, props); }); };
247
+ };
248
+ return _SharePointQueryableInstance;
249
+ }(_SharePointQueryable));
250
+ export { _SharePointQueryableInstance };
251
+ export var SharePointQueryableInstance = spInvokableFactory(_SharePointQueryableInstance);
252
+ /**
253
+ * Adds the a delete method to the tagged class taking no parameters and calling spPostDelete
254
+ */
255
+ export function deleteable(t) {
256
+ return function () {
257
+ return spPostDelete(tag.configure(this, t + ".delete"));
258
+ };
259
+ }
260
+ export function deleteableWithETag(t) {
261
+ return function (eTag) {
262
+ if (eTag === void 0) { eTag = "*"; }
263
+ return spPostDeleteETag(tag.configure(this, t + ".delete"), {}, eTag);
264
+ };
265
+ }
266
266
  //# sourceMappingURL=sharepointqueryable.js.map
package/sharing/file.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- import { ISharingEmailData, ISharingResult, SharingRole, ISharedFuncs } from "./types.js";
2
- declare module "../files/types" {
3
- interface _File extends ISharedFuncs {
4
- shareWith(loginNames: string | string[], role?: SharingRole, requireSignin?: boolean, emailData?: ISharingEmailData): Promise<ISharingResult>;
5
- }
6
- interface IFile extends ISharedFuncs {
7
- /**
8
- * Shares this item with one or more users
9
- *
10
- * @param loginNames string or string[] of resolved login names to which this item will be shared
11
- * @param role The role (View | Edit) applied to the share
12
- * @param shareEverything Share everything in this folder, even items with unique permissions.
13
- * @param requireSignin If true the user must signin to view link, otherwise anyone with the link can access the resource
14
- * @param emailData Optional, if inlucded an email will be sent. Note subject currently has no effect.
15
- */
16
- shareWith(loginNames: string | string[], role?: SharingRole, requireSignin?: boolean, emailData?: ISharingEmailData): Promise<ISharingResult>;
17
- }
18
- }
1
+ import { ISharingEmailData, ISharingResult, SharingRole, ISharedFuncs } from "./types.js";
2
+ declare module "../files/types" {
3
+ interface _File extends ISharedFuncs {
4
+ shareWith(loginNames: string | string[], role?: SharingRole, requireSignin?: boolean, emailData?: ISharingEmailData): Promise<ISharingResult>;
5
+ }
6
+ interface IFile extends ISharedFuncs {
7
+ /**
8
+ * Shares this item with one or more users
9
+ *
10
+ * @param loginNames string or string[] of resolved login names to which this item will be shared
11
+ * @param role The role (View | Edit) applied to the share
12
+ * @param shareEverything Share everything in this folder, even items with unique permissions.
13
+ * @param requireSignin If true the user must signin to view link, otherwise anyone with the link can access the resource
14
+ * @param emailData Optional, if inlucded an email will be sent. Note subject currently has no effect.
15
+ */
16
+ shareWith(loginNames: string | string[], role?: SharingRole, requireSignin?: boolean, emailData?: ISharingEmailData): Promise<ISharingResult>;
17
+ }
18
+ }
19
19
  //# sourceMappingURL=file.d.ts.map