@pnp/spfx-controls-react 4.0.0-beta.3798679 → 4.0.0-beta.3809332
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/common/Interfaces.d.ts +1 -1
- package/lib/common/Interfaces.d.ts.map +1 -1
- package/lib/common/SPRestTypes.d.ts +130 -0
- package/lib/common/SPRestTypes.d.ts.map +1 -0
- package/lib/common/SPRestTypes.js +40 -0
- package/lib/common/SPRestTypes.js.map +1 -0
- package/lib/common/index.d.ts +1 -0
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +1 -0
- package/lib/common/index.js.map +1 -1
- package/lib/common/telemetry/version.js +1 -1
- package/lib/common/utilities/SPHelper.d.ts +4 -5
- package/lib/common/utilities/SPHelper.d.ts.map +1 -1
- package/lib/common/utilities/SPHelper.js +40 -53
- package/lib/common/utilities/SPHelper.js.map +1 -1
- package/lib/controls/carousel/Carousel.d.ts.map +1 -1
- package/lib/controls/carousel/Carousel.js +2 -3
- package/lib/controls/carousel/Carousel.js.map +1 -1
- package/lib/controls/dynamicForm/DynamicForm.d.ts +10 -22
- package/lib/controls/dynamicForm/DynamicForm.d.ts.map +1 -1
- package/lib/controls/dynamicForm/DynamicForm.js +460 -453
- package/lib/controls/dynamicForm/DynamicForm.js.map +1 -1
- package/lib/controls/dynamicForm/IDynamicFormProps.d.ts +5 -4
- package/lib/controls/dynamicForm/IDynamicFormProps.d.ts.map +1 -1
- package/lib/controls/dynamicForm/IDynamicFormState.d.ts +1 -1
- package/lib/controls/dynamicForm/IDynamicFormState.d.ts.map +1 -1
- package/lib/controls/dynamicForm/dynamicField/DynamicField.d.ts +0 -2
- package/lib/controls/dynamicForm/dynamicField/DynamicField.d.ts.map +1 -1
- package/lib/controls/dynamicForm/dynamicField/DynamicField.js +3 -8
- package/lib/controls/dynamicForm/dynamicField/DynamicField.js.map +1 -1
- package/lib/controls/dynamicForm/dynamicField/IDynamicFieldProps.d.ts +2 -1
- package/lib/controls/dynamicForm/dynamicField/IDynamicFieldProps.d.ts.map +1 -1
- package/lib/controls/dynamicForm/index.d.ts +2 -0
- package/lib/controls/dynamicForm/index.d.ts.map +1 -1
- package/lib/controls/dynamicForm/index.js +1 -0
- package/lib/controls/dynamicForm/index.js.map +1 -1
- package/lib/controls/folderExplorer/FolderExplorer/IFolderExplorerProps.d.ts +1 -1
- package/lib/controls/folderExplorer/FolderExplorer/IFolderExplorerProps.d.ts.map +1 -1
- package/lib/controls/folderExplorer/FolderExplorer/IFolderExplorerState.d.ts +1 -1
- package/lib/controls/folderExplorer/FolderExplorer/IFolderExplorerState.d.ts.map +1 -1
- package/lib/controls/modernTaxonomyPicker/ModernTaxonomyPicker.d.ts +3 -2
- package/lib/controls/modernTaxonomyPicker/ModernTaxonomyPicker.d.ts.map +1 -1
- package/lib/controls/modernTaxonomyPicker/ModernTaxonomyPicker.js +135 -45
- package/lib/controls/modernTaxonomyPicker/ModernTaxonomyPicker.js.map +1 -1
- package/lib/controls/modernTaxonomyPicker/modernTermPicker/ModernTermPicker.d.ts +1 -1
- package/lib/controls/modernTaxonomyPicker/modernTermPicker/ModernTermPicker.d.ts.map +1 -1
- package/lib/controls/modernTaxonomyPicker/modernTermPicker/ModernTermPicker.types.d.ts +1 -1
- package/lib/controls/modernTaxonomyPicker/modernTermPicker/ModernTermPicker.types.d.ts.map +1 -1
- package/lib/controls/modernTaxonomyPicker/taxonomyPanelContents/TaxonomyPanelContents.d.ts +2 -2
- package/lib/controls/modernTaxonomyPicker/taxonomyPanelContents/TaxonomyPanelContents.d.ts.map +1 -1
- package/lib/controls/modernTaxonomyPicker/taxonomyPanelContents/TaxonomyPanelContents.js.map +1 -1
- package/lib/controls/modernTaxonomyPicker/taxonomyTree/TaxonomyTree.d.ts +2 -3
- package/lib/controls/modernTaxonomyPicker/taxonomyTree/TaxonomyTree.d.ts.map +1 -1
- package/lib/controls/modernTaxonomyPicker/taxonomyTree/TaxonomyTree.js +20 -24
- package/lib/controls/modernTaxonomyPicker/taxonomyTree/TaxonomyTree.js.map +1 -1
- package/lib/controls/modernTaxonomyPicker/termItem/TermItemSuggestion.d.ts +1 -1
- package/lib/controls/modernTaxonomyPicker/termItem/TermItemSuggestion.d.ts.map +1 -1
- package/lib/services/DynamicFormService.d.ts +48 -0
- package/lib/services/DynamicFormService.d.ts.map +1 -0
- package/lib/services/DynamicFormService.js +340 -0
- package/lib/services/DynamicFormService.js.map +1 -0
- package/lib/services/FolderExplorerService.d.ts +4 -5
- package/lib/services/FolderExplorerService.d.ts.map +1 -1
- package/lib/services/FolderExplorerService.js +70 -48
- package/lib/services/FolderExplorerService.js.map +1 -1
- package/lib/services/IFolderExplorerService.d.ts +1 -1
- package/lib/services/IFolderExplorerService.d.ts.map +1 -1
- package/lib/services/PeopleSearchService.d.ts +3 -4
- package/lib/services/PeopleSearchService.d.ts.map +1 -1
- package/lib/services/PeopleSearchService.js +48 -65
- package/lib/services/PeopleSearchService.js.map +1 -1
- package/lib/services/SPRestClient.d.ts +40 -0
- package/lib/services/SPRestClient.d.ts.map +1 -0
- package/lib/services/SPRestClient.js +528 -0
- package/lib/services/SPRestClient.js.map +1 -0
- package/lib/services/SPTaxonomyService.d.ts +11 -7
- package/lib/services/SPTaxonomyService.d.ts.map +1 -1
- package/lib/services/SPTaxonomyService.js +64 -139
- package/lib/services/SPTaxonomyService.js.map +1 -1
- package/lib/services/SPTaxonomyService.types.d.ts +64 -0
- package/lib/services/SPTaxonomyService.types.d.ts.map +1 -0
- package/lib/services/SPTaxonomyService.types.js +2 -0
- package/lib/services/SPTaxonomyService.types.js.map +1 -0
- package/package.json +2 -4
- package/sharepoint/solution/debug/ClientSideAssets.xml +1 -1
- package/sharepoint/solution/debug/ClientSideAssets.xml.config.xml +1 -1
- package/sharepoint/solution/debug/feature_d7493d69-72ce-4892-a4ae-643166acae22.xml.config.xml +1 -1
- package/sharepoint/solution/sp-dev-fx-controls-react.sppkg +0 -0
|
@@ -0,0 +1,528 @@
|
|
|
1
|
+
import { __assign, __awaiter, __extends, __generator, __spreadArray } from "tslib";
|
|
2
|
+
import { SPHttpClient } from '@microsoft/sp-http';
|
|
3
|
+
import { Guid } from '@microsoft/sp-core-library';
|
|
4
|
+
var SPRestError = /** @class */ (function (_super) {
|
|
5
|
+
__extends(SPRestError, _super);
|
|
6
|
+
function SPRestError(status, statusText, attempts, requestId, retryAfter, message) {
|
|
7
|
+
var _this = _super.call(this, message || "SharePoint request failed (".concat(status, " ").concat(statusText, "); attempts: ").concat(attempts).concat(requestId ? "; request ID: ".concat(requestId) : '')) || this;
|
|
8
|
+
_this.status = status;
|
|
9
|
+
_this.statusText = statusText;
|
|
10
|
+
_this.attempts = attempts;
|
|
11
|
+
_this.requestId = requestId;
|
|
12
|
+
_this.retryAfter = retryAfter;
|
|
13
|
+
_this.name = 'SPRestError';
|
|
14
|
+
Object.setPrototypeOf(_this, SPRestError.prototype);
|
|
15
|
+
return _this;
|
|
16
|
+
}
|
|
17
|
+
return SPRestError;
|
|
18
|
+
}(Error));
|
|
19
|
+
export { SPRestError };
|
|
20
|
+
var DigestAcquisitionError = /** @class */ (function (_super) {
|
|
21
|
+
__extends(DigestAcquisitionError, _super);
|
|
22
|
+
function DigestAcquisitionError(originalError) {
|
|
23
|
+
var _this = _super.call(this, "SharePoint digest acquisition failed: ".concat(originalError instanceof Error ? originalError.message : String(originalError))) || this;
|
|
24
|
+
_this.originalError = originalError;
|
|
25
|
+
_this.name = 'DigestAcquisitionError';
|
|
26
|
+
Object.setPrototypeOf(_this, DigestAcquisitionError.prototype);
|
|
27
|
+
if (originalError instanceof SPRestError)
|
|
28
|
+
_this.status = originalError.status;
|
|
29
|
+
return _this;
|
|
30
|
+
}
|
|
31
|
+
return DigestAcquisitionError;
|
|
32
|
+
}(Error));
|
|
33
|
+
export function escapeODataString(value) {
|
|
34
|
+
return encodeURIComponent(value.replace(/'/g, "''")).replace(/'/g, '%27');
|
|
35
|
+
}
|
|
36
|
+
export function normalizeOData(value) {
|
|
37
|
+
if (value && typeof value === 'object') {
|
|
38
|
+
var record = value;
|
|
39
|
+
if ('d' in record) {
|
|
40
|
+
var data = record.d;
|
|
41
|
+
return (data && typeof data === 'object' && 'results' in data
|
|
42
|
+
? data.results : data);
|
|
43
|
+
}
|
|
44
|
+
if ('value' in record)
|
|
45
|
+
return record.value;
|
|
46
|
+
}
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
export function retryDelay(retryAfter, attempt) {
|
|
50
|
+
if (retryAfter) {
|
|
51
|
+
var seconds = /^\d+(?:\.\d+)?$/.test(retryAfter) ? Number(retryAfter) : NaN;
|
|
52
|
+
var delay = Number.isFinite(seconds) ? seconds * 1000
|
|
53
|
+
: /^[A-Za-z]{3,},?\s/.test(retryAfter) ? Date.parse(retryAfter) - Date.now() : NaN;
|
|
54
|
+
if (Number.isFinite(delay))
|
|
55
|
+
return Math.max(0, delay);
|
|
56
|
+
}
|
|
57
|
+
return 100 * Math.pow(2, attempt - 1);
|
|
58
|
+
}
|
|
59
|
+
function wait(delay) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
61
|
+
var _loop_1;
|
|
62
|
+
return __generator(this, function (_a) {
|
|
63
|
+
switch (_a.label) {
|
|
64
|
+
case 0:
|
|
65
|
+
_loop_1 = function () {
|
|
66
|
+
var slice;
|
|
67
|
+
return __generator(this, function (_b) {
|
|
68
|
+
switch (_b.label) {
|
|
69
|
+
case 0:
|
|
70
|
+
slice = Math.min(delay, 2147483647);
|
|
71
|
+
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, slice); })];
|
|
72
|
+
case 1:
|
|
73
|
+
_b.sent();
|
|
74
|
+
delay -= slice;
|
|
75
|
+
return [2 /*return*/];
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
_a.label = 1;
|
|
80
|
+
case 1:
|
|
81
|
+
if (!(delay > 0)) return [3 /*break*/, 3];
|
|
82
|
+
return [5 /*yield**/, _loop_1()];
|
|
83
|
+
case 2:
|
|
84
|
+
_a.sent();
|
|
85
|
+
return [3 /*break*/, 1];
|
|
86
|
+
case 3: return [2 /*return*/];
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function parseMessage(text) {
|
|
92
|
+
var lines = text.split(/\r?\n/);
|
|
93
|
+
var separator = lines.indexOf('');
|
|
94
|
+
if (separator < 0)
|
|
95
|
+
throw new Error('SharePoint batch response has no header/body separator.');
|
|
96
|
+
var headers = new Map();
|
|
97
|
+
for (var _i = 0, _a = lines.slice(0, separator); _i < _a.length; _i++) {
|
|
98
|
+
var line = _a[_i];
|
|
99
|
+
var header = /^([^:\s]+):[ \t]*(.*)$/.exec(line);
|
|
100
|
+
if (!header || headers.has(header[1].toLowerCase()))
|
|
101
|
+
throw new Error('SharePoint batch response contains invalid or duplicate headers.');
|
|
102
|
+
headers.set(header[1].toLowerCase(), header[2].trim());
|
|
103
|
+
}
|
|
104
|
+
return { headers: headers, body: lines.slice(separator + 1).join('\n') };
|
|
105
|
+
}
|
|
106
|
+
function parseMultipart(text, contentType) {
|
|
107
|
+
var boundary = /(?:^|;)\s*boundary=(?:"([^"]+)"|([^;\s]+))/i.exec(contentType || '');
|
|
108
|
+
if (!/^multipart\/mixed(?:\s*;|$)/i.test(contentType || '') || !boundary) {
|
|
109
|
+
throw new Error('SharePoint batch response has no valid multipart boundary.');
|
|
110
|
+
}
|
|
111
|
+
var delimiter = "--".concat(boundary[1] || boundary[2]);
|
|
112
|
+
var parts = [];
|
|
113
|
+
var current;
|
|
114
|
+
for (var _i = 0, _a = text.split(/\r?\n/); _i < _a.length; _i++) {
|
|
115
|
+
var line = _a[_i];
|
|
116
|
+
var marker = line.trimEnd();
|
|
117
|
+
if (marker === delimiter || marker === "".concat(delimiter, "--")) {
|
|
118
|
+
if (current)
|
|
119
|
+
parts.push(parseMessage(current.join('\n')));
|
|
120
|
+
if (marker === "".concat(delimiter, "--"))
|
|
121
|
+
return parts;
|
|
122
|
+
current = [];
|
|
123
|
+
}
|
|
124
|
+
else if (current) {
|
|
125
|
+
current.push(line);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
throw new Error('SharePoint batch response is missing its closing boundary.');
|
|
129
|
+
}
|
|
130
|
+
function parseBatchResponses(text, contentType) {
|
|
131
|
+
var responses = new Map();
|
|
132
|
+
for (var _i = 0, _a = parseMultipart(text, contentType); _i < _a.length; _i++) {
|
|
133
|
+
var outer = _a[_i];
|
|
134
|
+
var outerType = outer.headers.get('content-type') || '';
|
|
135
|
+
var parts = /^multipart\/mixed(?:\s*;|$)/i.test(outerType)
|
|
136
|
+
? parseMultipart(outer.body, outerType) : [outer];
|
|
137
|
+
for (var _b = 0, parts_1 = parts; _b < parts_1.length; _b++) {
|
|
138
|
+
var part = parts_1[_b];
|
|
139
|
+
var id = part.headers.get('content-id');
|
|
140
|
+
if (!id || responses.has(id))
|
|
141
|
+
throw new Error('SharePoint batch response has a missing or duplicate Content-ID.');
|
|
142
|
+
if (!/^application\/http(?:\s*;|$)/i.test(part.headers.get('content-type') || '')) {
|
|
143
|
+
throw new Error('SharePoint batch response contains an unsupported part type.');
|
|
144
|
+
}
|
|
145
|
+
var statusLine = /^HTTP\/1\.[01] +(\d{3})[^\r\n]*\r?\n/.exec(part.body);
|
|
146
|
+
if (!statusLine)
|
|
147
|
+
throw new Error('SharePoint batch response has an invalid HTTP status line.');
|
|
148
|
+
responses.set(id, __assign(__assign({}, parseMessage(part.body.slice(statusLine[0].length))), { status: Number(statusLine[1]) }));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return responses;
|
|
152
|
+
}
|
|
153
|
+
var SPRestClient = /** @class */ (function () {
|
|
154
|
+
function SPRestClient(http, webAbsoluteUrl) {
|
|
155
|
+
this.http = http;
|
|
156
|
+
this.disposed = false;
|
|
157
|
+
this.webAbsoluteUrl = webAbsoluteUrl.replace(/\/$/, '');
|
|
158
|
+
}
|
|
159
|
+
SPRestClient.prototype.dispose = function () {
|
|
160
|
+
this.disposed = true;
|
|
161
|
+
};
|
|
162
|
+
SPRestClient.prototype.assertActive = function () {
|
|
163
|
+
if (this.disposed) {
|
|
164
|
+
var error = new Error('The SharePoint request is no longer active.');
|
|
165
|
+
error.name = 'AbortError';
|
|
166
|
+
throw error;
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
SPRestClient.prototype.get = function (path) {
|
|
170
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
171
|
+
var _a;
|
|
172
|
+
return __generator(this, function (_b) {
|
|
173
|
+
switch (_b.label) {
|
|
174
|
+
case 0:
|
|
175
|
+
_a = normalizeOData;
|
|
176
|
+
return [4 /*yield*/, this.getRaw(path)];
|
|
177
|
+
case 1: return [2 /*return*/, _a.apply(void 0, [_b.sent()])];
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
SPRestClient.prototype.getRaw = function (path) {
|
|
183
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
184
|
+
var _a;
|
|
185
|
+
return __generator(this, function (_b) {
|
|
186
|
+
switch (_b.label) {
|
|
187
|
+
case 0:
|
|
188
|
+
_a = this.parse;
|
|
189
|
+
return [4 /*yield*/, this.send('GET', path, undefined, { retrySafe: true })];
|
|
190
|
+
case 1: return [2 /*return*/, _a.apply(this, [_b.sent()])];
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
};
|
|
195
|
+
SPRestClient.prototype.post = function (path_1, body_1) {
|
|
196
|
+
return __awaiter(this, arguments, void 0, function (path, body, options) {
|
|
197
|
+
var _a, _b;
|
|
198
|
+
if (options === void 0) { options = {}; }
|
|
199
|
+
return __generator(this, function (_c) {
|
|
200
|
+
switch (_c.label) {
|
|
201
|
+
case 0:
|
|
202
|
+
_a = normalizeOData;
|
|
203
|
+
_b = this.parse;
|
|
204
|
+
return [4 /*yield*/, this.send('POST', path, body, options)];
|
|
205
|
+
case 1: return [4 /*yield*/, _b.apply(this, [_c.sent()])];
|
|
206
|
+
case 2: return [2 /*return*/, _a.apply(void 0, [_c.sent()])];
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
});
|
|
210
|
+
};
|
|
211
|
+
SPRestClient.prototype.ensureUser = function (loginName) {
|
|
212
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
213
|
+
var user;
|
|
214
|
+
return __generator(this, function (_a) {
|
|
215
|
+
switch (_a.label) {
|
|
216
|
+
case 0: return [4 /*yield*/, this.post('/_api/web/ensureuser', { logonName: loginName }, { retrySafe: true })];
|
|
217
|
+
case 1:
|
|
218
|
+
user = _a.sent();
|
|
219
|
+
if (!(user === null || user === void 0 ? void 0 : user.Id))
|
|
220
|
+
throw new Error('SharePoint ensureuser returned no user ID.');
|
|
221
|
+
return [2 /*return*/, user];
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
};
|
|
226
|
+
SPRestClient.prototype.ensureUsers = function (loginNames) {
|
|
227
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
228
|
+
var results, requested, pending, _loop_2, this_1, attempt;
|
|
229
|
+
var _this = this;
|
|
230
|
+
return __generator(this, function (_a) {
|
|
231
|
+
switch (_a.label) {
|
|
232
|
+
case 0:
|
|
233
|
+
results = new Map();
|
|
234
|
+
requested = Array.from(new Set(loginNames)).map(function (loginName, index) { return ({
|
|
235
|
+
loginName: loginName,
|
|
236
|
+
contentId: String(index + 1)
|
|
237
|
+
}); });
|
|
238
|
+
pending = requested.slice();
|
|
239
|
+
_loop_2 = function (attempt) {
|
|
240
|
+
var boundary, changeset, requests, body, retry, delay, response, parts_2, _b, error_1;
|
|
241
|
+
return __generator(this, function (_c) {
|
|
242
|
+
switch (_c.label) {
|
|
243
|
+
case 0:
|
|
244
|
+
this_1.assertActive();
|
|
245
|
+
boundary = "batch_".concat(Guid.newGuid().toString());
|
|
246
|
+
changeset = "changeset_".concat(Guid.newGuid().toString());
|
|
247
|
+
requests = pending.map(function (request) { return [
|
|
248
|
+
"--".concat(changeset),
|
|
249
|
+
'Content-Type: application/http', 'Content-Transfer-Encoding: binary',
|
|
250
|
+
"Content-ID: ".concat(request.contentId),
|
|
251
|
+
'',
|
|
252
|
+
"POST ".concat(_this.webAbsoluteUrl, "/_api/web/ensureuser HTTP/1.1"),
|
|
253
|
+
'Content-Type: application/json;odata=verbose', 'Accept: application/json', '',
|
|
254
|
+
JSON.stringify({ logonName: request.loginName })
|
|
255
|
+
].join('\r\n'); });
|
|
256
|
+
body = __spreadArray(__spreadArray([
|
|
257
|
+
"--".concat(boundary),
|
|
258
|
+
"Content-Type: multipart/mixed; boundary=".concat(changeset),
|
|
259
|
+
''
|
|
260
|
+
], requests, true), [
|
|
261
|
+
"--".concat(changeset, "--"),
|
|
262
|
+
"--".concat(boundary, "--"),
|
|
263
|
+
''
|
|
264
|
+
], false).join('\r\n');
|
|
265
|
+
retry = [];
|
|
266
|
+
delay = 0;
|
|
267
|
+
_c.label = 1;
|
|
268
|
+
case 1:
|
|
269
|
+
_c.trys.push([1, 4, , 5]);
|
|
270
|
+
return [4 /*yield*/, this_1.send('POST', '/_api/$batch', body, {
|
|
271
|
+
headers: { 'Content-Type': "multipart/mixed; boundary=".concat(boundary) },
|
|
272
|
+
retrySafe: true,
|
|
273
|
+
maxAttempts: 1
|
|
274
|
+
})];
|
|
275
|
+
case 2:
|
|
276
|
+
response = _c.sent();
|
|
277
|
+
_b = parseBatchResponses;
|
|
278
|
+
return [4 /*yield*/, response.text()];
|
|
279
|
+
case 3:
|
|
280
|
+
parts_2 = _b.apply(void 0, [_c.sent(), response.headers.get('Content-Type')]);
|
|
281
|
+
if (parts_2.size !== pending.length || pending.some(function (request) { return !parts_2.has(request.contentId); })) {
|
|
282
|
+
throw new Error('SharePoint batch response Content-IDs do not match its requests.');
|
|
283
|
+
}
|
|
284
|
+
pending.forEach(function (request) {
|
|
285
|
+
var part = parts_2.get(request.contentId);
|
|
286
|
+
var status = part.status;
|
|
287
|
+
var retryAfter = part.headers.get('retry-after');
|
|
288
|
+
if (status >= 200 && status < 300) {
|
|
289
|
+
var user = normalizeOData(JSON.parse(part.body));
|
|
290
|
+
if (!(user === null || user === void 0 ? void 0 : user.Id))
|
|
291
|
+
throw new Error('SharePoint batch ensureuser returned no user ID.');
|
|
292
|
+
results.set(request.contentId, user);
|
|
293
|
+
}
|
|
294
|
+
else if ([429, 503, 504].includes(status) && attempt < 7) {
|
|
295
|
+
retry.push(request);
|
|
296
|
+
delay = Math.max(delay, retryDelay(retryAfter, attempt));
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
console.error('[SPRestClient.ensureUsers]', new SPRestError(status, 'Batch operation failed', attempt));
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
return [3 /*break*/, 5];
|
|
303
|
+
case 4:
|
|
304
|
+
error_1 = _c.sent();
|
|
305
|
+
if (error_1 instanceof DigestAcquisitionError) {
|
|
306
|
+
console.error('[SPRestClient.ensureUsers] Digest acquisition exhausted; batch was not sent.', error_1);
|
|
307
|
+
}
|
|
308
|
+
else if ((error_1 instanceof SPRestError && [429, 503, 504].includes(error_1.status) || error_1 instanceof TypeError) && attempt < 7) {
|
|
309
|
+
retry.push.apply(retry, pending);
|
|
310
|
+
delay = retryDelay(error_1 instanceof SPRestError ? error_1.retryAfter : undefined, attempt);
|
|
311
|
+
}
|
|
312
|
+
else if (error_1 instanceof SPRestError || error_1 instanceof TypeError) {
|
|
313
|
+
console.error('[SPRestClient.ensureUsers] Unresolved batch entries.', { error: error_1, attempts: attempt, count: pending.length });
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
throw error_1;
|
|
317
|
+
}
|
|
318
|
+
return [3 /*break*/, 5];
|
|
319
|
+
case 5:
|
|
320
|
+
pending = retry;
|
|
321
|
+
if (!pending.length) return [3 /*break*/, 7];
|
|
322
|
+
return [4 /*yield*/, wait(delay)];
|
|
323
|
+
case 6:
|
|
324
|
+
_c.sent();
|
|
325
|
+
_c.label = 7;
|
|
326
|
+
case 7: return [2 /*return*/];
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
};
|
|
330
|
+
this_1 = this;
|
|
331
|
+
attempt = 1;
|
|
332
|
+
_a.label = 1;
|
|
333
|
+
case 1:
|
|
334
|
+
if (!(pending.length && attempt <= 7)) return [3 /*break*/, 4];
|
|
335
|
+
return [5 /*yield**/, _loop_2(attempt)];
|
|
336
|
+
case 2:
|
|
337
|
+
_a.sent();
|
|
338
|
+
_a.label = 3;
|
|
339
|
+
case 3:
|
|
340
|
+
attempt++;
|
|
341
|
+
return [3 /*break*/, 1];
|
|
342
|
+
case 4: return [2 /*return*/, requested.map(function (request) { return results.get(request.contentId); }).filter(function (user) { return user !== undefined; })];
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
});
|
|
346
|
+
};
|
|
347
|
+
SPRestClient.prototype.resolveUrl = function (path) {
|
|
348
|
+
var url = /^https?:\/\//i.test(path)
|
|
349
|
+
? new URL(path)
|
|
350
|
+
: new URL("".concat(this.webAbsoluteUrl, "/").concat(path.replace(/^\//, '')));
|
|
351
|
+
var web = new URL("".concat(this.webAbsoluteUrl, "/"));
|
|
352
|
+
if (url.origin !== web.origin || !url.pathname.toLowerCase().startsWith("".concat(web.pathname.toLowerCase(), "_api/"))) {
|
|
353
|
+
throw new Error('SharePoint request must target the configured web API.');
|
|
354
|
+
}
|
|
355
|
+
return url.toString();
|
|
356
|
+
};
|
|
357
|
+
SPRestClient.prototype.parse = function (response) {
|
|
358
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
359
|
+
var text, _a;
|
|
360
|
+
return __generator(this, function (_b) {
|
|
361
|
+
switch (_b.label) {
|
|
362
|
+
case 0:
|
|
363
|
+
if (!(response.status === 204)) return [3 /*break*/, 1];
|
|
364
|
+
_a = '';
|
|
365
|
+
return [3 /*break*/, 3];
|
|
366
|
+
case 1: return [4 /*yield*/, response.text()];
|
|
367
|
+
case 2:
|
|
368
|
+
_a = _b.sent();
|
|
369
|
+
_b.label = 3;
|
|
370
|
+
case 3:
|
|
371
|
+
text = _a;
|
|
372
|
+
return [2 /*return*/, (text.trim() ? JSON.parse(text) : {})];
|
|
373
|
+
}
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
};
|
|
377
|
+
SPRestClient.prototype.digest = function () {
|
|
378
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
379
|
+
var cache, existing, value, error_2, acquisition, error_3;
|
|
380
|
+
var _this = this;
|
|
381
|
+
return __generator(this, function (_a) {
|
|
382
|
+
switch (_a.label) {
|
|
383
|
+
case 0:
|
|
384
|
+
cache = SPRestClient.digests.get(this.http);
|
|
385
|
+
if (!cache) {
|
|
386
|
+
cache = new Map();
|
|
387
|
+
SPRestClient.digests.set(this.http, cache);
|
|
388
|
+
}
|
|
389
|
+
existing = cache.get(this.webAbsoluteUrl);
|
|
390
|
+
if (!existing) return [3 /*break*/, 4];
|
|
391
|
+
_a.label = 1;
|
|
392
|
+
case 1:
|
|
393
|
+
_a.trys.push([1, 3, , 4]);
|
|
394
|
+
return [4 /*yield*/, existing];
|
|
395
|
+
case 2:
|
|
396
|
+
value = _a.sent();
|
|
397
|
+
if (value.expires > Date.now())
|
|
398
|
+
return [2 /*return*/, value];
|
|
399
|
+
if (cache.get(this.webAbsoluteUrl) !== existing)
|
|
400
|
+
return [2 /*return*/, this.digest()];
|
|
401
|
+
return [3 /*break*/, 4];
|
|
402
|
+
case 3:
|
|
403
|
+
error_2 = _a.sent();
|
|
404
|
+
throw error_2 instanceof DigestAcquisitionError ? error_2 : new DigestAcquisitionError(error_2);
|
|
405
|
+
case 4:
|
|
406
|
+
acquisition = (function () { return __awaiter(_this, void 0, void 0, function () {
|
|
407
|
+
var started, response, data, _a, info;
|
|
408
|
+
return __generator(this, function (_b) {
|
|
409
|
+
switch (_b.label) {
|
|
410
|
+
case 0:
|
|
411
|
+
started = Date.now();
|
|
412
|
+
return [4 /*yield*/, new SPRestClient(this.http, this.webAbsoluteUrl)
|
|
413
|
+
.send('POST', '/_api/contextinfo', undefined, { retrySafe: true })];
|
|
414
|
+
case 1:
|
|
415
|
+
response = _b.sent();
|
|
416
|
+
_a = normalizeOData;
|
|
417
|
+
return [4 /*yield*/, this.parse(response)];
|
|
418
|
+
case 2:
|
|
419
|
+
data = _a.apply(void 0, [_b.sent()]);
|
|
420
|
+
info = (data.GetContextWebInformation || data);
|
|
421
|
+
if (!info.FormDigestValue || !Number.isFinite(info.FormDigestTimeoutSeconds) || info.FormDigestTimeoutSeconds <= 0) {
|
|
422
|
+
throw new Error('SharePoint contextinfo returned an invalid digest.');
|
|
423
|
+
}
|
|
424
|
+
return [2 /*return*/, {
|
|
425
|
+
value: info.FormDigestValue,
|
|
426
|
+
expires: started + Math.max(info.FormDigestTimeoutSeconds * 500, info.FormDigestTimeoutSeconds * 1000 - 15000)
|
|
427
|
+
}];
|
|
428
|
+
}
|
|
429
|
+
});
|
|
430
|
+
}); })();
|
|
431
|
+
cache.set(this.webAbsoluteUrl, acquisition);
|
|
432
|
+
_a.label = 5;
|
|
433
|
+
case 5:
|
|
434
|
+
_a.trys.push([5, 7, , 8]);
|
|
435
|
+
return [4 /*yield*/, acquisition];
|
|
436
|
+
case 6: return [2 /*return*/, _a.sent()];
|
|
437
|
+
case 7:
|
|
438
|
+
error_3 = _a.sent();
|
|
439
|
+
if (cache.get(this.webAbsoluteUrl) === acquisition)
|
|
440
|
+
cache.delete(this.webAbsoluteUrl);
|
|
441
|
+
throw new DigestAcquisitionError(error_3);
|
|
442
|
+
case 8: return [2 /*return*/];
|
|
443
|
+
}
|
|
444
|
+
});
|
|
445
|
+
});
|
|
446
|
+
};
|
|
447
|
+
SPRestClient.prototype.send = function (method, path, body, options) {
|
|
448
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
449
|
+
var url, isContextInfo, taxonomy, binary, payload, conflicts, maxAttempts, attempt, headers, _a, _b, response, error_4, canRetryConflict, canRetry, errorBody;
|
|
450
|
+
var _c, _d;
|
|
451
|
+
return __generator(this, function (_e) {
|
|
452
|
+
switch (_e.label) {
|
|
453
|
+
case 0:
|
|
454
|
+
url = this.resolveUrl(path);
|
|
455
|
+
isContextInfo = new URL(url).pathname.toLowerCase().endsWith('/_api/contextinfo');
|
|
456
|
+
taxonomy = new URL(url).pathname.toLowerCase().includes('/_api/v2.1/');
|
|
457
|
+
binary = body instanceof Blob || body instanceof ArrayBuffer;
|
|
458
|
+
payload = body === undefined ? undefined
|
|
459
|
+
: binary || typeof body === 'string' ? body : JSON.stringify(body);
|
|
460
|
+
conflicts = 0;
|
|
461
|
+
maxAttempts = (_c = options.maxAttempts) !== null && _c !== void 0 ? _c : 7;
|
|
462
|
+
attempt = 1;
|
|
463
|
+
_e.label = 1;
|
|
464
|
+
case 1:
|
|
465
|
+
if (!(attempt <= maxAttempts)) return [3 /*break*/, 14];
|
|
466
|
+
this.assertActive();
|
|
467
|
+
headers = __assign({ Accept: 'application/json', 'OData-Version': taxonomy ? '' : '3.0', 'Content-Type': binary ? 'application/octet-stream' : 'application/json;odata=verbose;charset=utf-8' }, options.headers);
|
|
468
|
+
if (!(method !== 'GET' && !isContextInfo)) return [3 /*break*/, 3];
|
|
469
|
+
_a = headers;
|
|
470
|
+
_b = 'X-RequestDigest';
|
|
471
|
+
return [4 /*yield*/, this.digest()];
|
|
472
|
+
case 2:
|
|
473
|
+
_a[_b] = (_e.sent()).value;
|
|
474
|
+
_e.label = 3;
|
|
475
|
+
case 3:
|
|
476
|
+
this.assertActive();
|
|
477
|
+
response = void 0;
|
|
478
|
+
_e.label = 4;
|
|
479
|
+
case 4:
|
|
480
|
+
_e.trys.push([4, 6, , 9]);
|
|
481
|
+
return [4 /*yield*/, this.http.fetch(url, SPHttpClient.configurations.v1.overrideWith({ requestDigest: false }), {
|
|
482
|
+
method: method,
|
|
483
|
+
headers: headers,
|
|
484
|
+
body: payload,
|
|
485
|
+
credentials: 'same-origin',
|
|
486
|
+
cache: 'no-cache'
|
|
487
|
+
})];
|
|
488
|
+
case 5:
|
|
489
|
+
response = _e.sent();
|
|
490
|
+
return [3 /*break*/, 9];
|
|
491
|
+
case 6:
|
|
492
|
+
error_4 = _e.sent();
|
|
493
|
+
if (!(error_4 instanceof TypeError && options.retrySafe && attempt < maxAttempts)) return [3 /*break*/, 8];
|
|
494
|
+
return [4 /*yield*/, wait(retryDelay(undefined, attempt))];
|
|
495
|
+
case 7:
|
|
496
|
+
_e.sent();
|
|
497
|
+
return [3 /*break*/, 13];
|
|
498
|
+
case 8: throw error_4;
|
|
499
|
+
case 9:
|
|
500
|
+
this.assertActive();
|
|
501
|
+
if (response.ok)
|
|
502
|
+
return [2 /*return*/, response];
|
|
503
|
+
if (response.status === 403)
|
|
504
|
+
(_d = SPRestClient.digests.get(this.http)) === null || _d === void 0 ? void 0 : _d.delete(this.webAbsoluteUrl);
|
|
505
|
+
canRetryConflict = response.status === 409 && options.retryConflicts && conflicts++ < 3;
|
|
506
|
+
canRetry = response.status === 429 || options.retrySafe && [503, 504].includes(response.status);
|
|
507
|
+
if (!(attempt < maxAttempts && (canRetry || canRetryConflict))) return [3 /*break*/, 11];
|
|
508
|
+
return [4 /*yield*/, wait(canRetryConflict ? 100 : retryDelay(response.headers.get('Retry-After'), attempt))];
|
|
509
|
+
case 10:
|
|
510
|
+
_e.sent();
|
|
511
|
+
return [3 /*break*/, 13];
|
|
512
|
+
case 11: return [4 /*yield*/, response.text()];
|
|
513
|
+
case 12:
|
|
514
|
+
errorBody = _e.sent();
|
|
515
|
+
throw new SPRestError(response.status, response.statusText, attempt, response.headers.get('SPRequestGuid') || response.headers.get('request-id'), response.headers.get('Retry-After'), "SharePoint request failed (".concat(response.status, " ").concat(response.statusText, "): ").concat(errorBody));
|
|
516
|
+
case 13:
|
|
517
|
+
attempt++;
|
|
518
|
+
return [3 /*break*/, 1];
|
|
519
|
+
case 14: throw new Error('SharePoint retry budget exhausted.');
|
|
520
|
+
}
|
|
521
|
+
});
|
|
522
|
+
});
|
|
523
|
+
};
|
|
524
|
+
SPRestClient.digests = new WeakMap();
|
|
525
|
+
return SPRestClient;
|
|
526
|
+
}());
|
|
527
|
+
export { SPRestClient };
|
|
528
|
+
//# sourceMappingURL=SPRestClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SPRestClient.js","sourceRoot":"","sources":["../../src/services/SPRestClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import { BaseComponentContext } from '@microsoft/sp-component-base';
|
|
2
2
|
import { Guid } from '@microsoft/sp-core-library';
|
|
3
|
-
import '
|
|
4
|
-
|
|
3
|
+
import { ITermInfo, ITermSetInfo, ITermStoreInfo } from './SPTaxonomyService.types';
|
|
4
|
+
export * from './SPTaxonomyService.types';
|
|
5
5
|
export declare class SPTaxonomyService {
|
|
6
|
-
private
|
|
7
|
-
|
|
6
|
+
private readonly rest;
|
|
7
|
+
private readonly base;
|
|
8
|
+
constructor(context: BaseComponentContext, webAbsoluteUrl?: string);
|
|
9
|
+
dispose(): void;
|
|
8
10
|
getTerms(termSetId: Guid, parentTermId?: Guid, skiptoken?: string, hideDeprecatedTerms?: boolean, pageSize?: number): Promise<{
|
|
9
11
|
value: ITermInfo[];
|
|
10
12
|
skiptoken: string;
|
|
11
13
|
}>;
|
|
12
|
-
getTermById(termSetId: Guid, termId: Guid): Promise<ITermInfo>;
|
|
14
|
+
getTermById(termSetId: Guid, termId: Guid): Promise<ITermInfo | undefined>;
|
|
13
15
|
searchTerm(termSetId: Guid, label: string, languageTag: string, parentTermId?: Guid, allowSelectingChildren?: boolean, stringMatchOption?: string, pageSize?: number): Promise<ITermInfo[]>;
|
|
14
|
-
getTermSetInfo(termSetId: Guid): Promise<ITermSetInfo
|
|
15
|
-
getTermStoreInfo(): Promise<ITermStoreInfo
|
|
16
|
+
getTermSetInfo(termSetId: Guid): Promise<ITermSetInfo>;
|
|
17
|
+
getTermStoreInfo(): Promise<ITermStoreInfo>;
|
|
18
|
+
private hasId;
|
|
19
|
+
private termPath;
|
|
16
20
|
}
|
|
17
21
|
//# sourceMappingURL=SPTaxonomyService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SPTaxonomyService.d.ts","sourceRoot":"","sources":["../../src/services/SPTaxonomyService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"SPTaxonomyService.d.ts","sourceRoot":"","sources":["../../src/services/SPTaxonomyService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACpF,cAAc,2BAA2B,CAAC;AAO1C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;gBAEnC,OAAO,EAAE,oBAAoB,EAAE,cAAc,CAAC,EAAE,MAAM;IAK3D,OAAO,IAAI,IAAI;IAIT,QAAQ,CACnB,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,SAAK,GACrG,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAaxC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAK1E,UAAU,CACrB,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,IAAI,EACxE,sBAAsB,UAAO,EAAE,iBAAiB,SAAe,EAAE,QAAQ,SAAK,GAC7E,OAAO,CAAC,SAAS,EAAE,CAAC;IAmBhB,cAAc,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAItD,gBAAgB,IAAI,OAAO,CAAC,cAAc,CAAC;IAIlD,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,QAAQ;CAGjB"}
|