@microsoft/sp-webpart-base
Version:
SharePoint Framework support for building web parts
179 lines • 9.31 kB
JavaScript
/**
* WellKnown error codes used by the SharePoint client webpart framework.
*/
import { __extends } from "tslib";
import { SPError, Text } from '@microsoft/sp-core-library';
import strings from '../loc/Strings.resx';
/*
* Web part error codes.
*/
export var SPWebPartErrorCode;
(function (SPWebPartErrorCode) {
// params: none
SPWebPartErrorCode[SPWebPartErrorCode["ModuleUndefined"] = 0] = "ModuleUndefined";
// params: web part tag, module list.
SPWebPartErrorCode[SPWebPartErrorCode["ModuleNotLoaded"] = 1] = "ModuleNotLoaded";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["IncorrectBoostrapModule"] = 2] = "IncorrectBoostrapModule";
// params: web part tag, method name
SPWebPartErrorCode[SPWebPartErrorCode["MissingExpectedWebPartMemberError"] = 3] = "MissingExpectedWebPartMemberError";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["NonBaseWebPart"] = 4] = "NonBaseWebPart";
// params: error message.
SPWebPartErrorCode[SPWebPartErrorCode["ScriptLoadError"] = 5] = "ScriptLoadError";
// params: none
SPWebPartErrorCode[SPWebPartErrorCode["ManifestDownloadFailed"] = 6] = "ManifestDownloadFailed";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["ManifestNull"] = 7] = "ManifestNull";
// params: web part instance id.
SPWebPartErrorCode[SPWebPartErrorCode["ManifestInvalid"] = 8] = "ManifestInvalid";
// params: none.
SPWebPartErrorCode[SPWebPartErrorCode["BaseConstructError"] = 9] = "BaseConstructError";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["MustOverrideRender"] = 10] = "MustOverrideRender";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["NotInitializedError"] = 11] = "NotInitializedError";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["PropertyBagNull"] = 12] = "PropertyBagNull";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["OnAfterDeserializeReturnedNull"] = 13] = "OnAfterDeserializeReturnedNull";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["OnInitReturnedNullPromise"] = 14] = "OnInitReturnedNullPromise";
// params: none.
SPWebPartErrorCode[SPWebPartErrorCode["ReadOnlyProperty"] = 15] = "ReadOnlyProperty";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["SerializationFailed"] = 16] = "SerializationFailed";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["FirstTimeRenderCalledMoreThanOnce"] = 17] = "FirstTimeRenderCalledMoreThanOnce";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["RenderCompletedCallNotCalled"] = 18] = "RenderCompletedCallNotCalled";
// params: invalid splink attribute format.
SPWebPartErrorCode[SPWebPartErrorCode["InvalidSPLinkAttributeFormat"] = 19] = "InvalidSPLinkAttributeFormat";
// params: splink index.
SPWebPartErrorCode[SPWebPartErrorCode["InvalidSPLinkIndex"] = 20] = "InvalidSPLinkIndex";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["GetDataReturnedNullPromise"] = 21] = "GetDataReturnedNullPromise";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["RenderPromiseUndefined"] = 22] = "RenderPromiseUndefined";
// params: web part tag.
SPWebPartErrorCode[SPWebPartErrorCode["RenderTimeout"] = 23] = "RenderTimeout";
// params: none.
SPWebPartErrorCode[SPWebPartErrorCode["TranspileNotImplemented"] = 24] = "TranspileNotImplemented";
})(SPWebPartErrorCode || (SPWebPartErrorCode = {}));
/**
* Web part errors.
*
* @internal
*/
var SPWebPartError = /** @class */ (function (_super) {
__extends(SPWebPartError, _super);
/**
* Constructor for the SPWebPartError class.
*
* @param errorCode - a numeric error code of type SPWebPartErrorCode.
* @param logProperties - (optional) additional properties that can be used to troubleshoot rare to repro bugs.
* @param params - Error message params.
*
*/
function SPWebPartError(errorCode, logProperties) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
var params = [];
for (
// eslint-disable-next-line @typescript-eslint/no-explicit-any
var _i = 2;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_i < arguments.length;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_i++) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
params[_i - 2] = arguments[_i];
}
var _this = this;
var webPartErrorCode = errorCode;
if (webPartErrorCode) {
_this = _super.call(this, SPWebPartErrorCode[webPartErrorCode], Text.format(SPWebPartError._errorCodeToMessageMap.get(webPartErrorCode), params), logProperties) || this;
// Manually set the prototype, as we can no longer extend built-in classes like Error, Array, Map, etc
// https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work
//
// Note: the prototype must also be set on any classes which extend this one
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_this.__proto__ = SPWebPartError.prototype;
_this._id = webPartErrorCode;
}
return _this;
}
Object.defineProperty(SPWebPartError.prototype, "id", {
get: function () {
return this._id;
},
enumerable: false,
configurable: true
});
Object.defineProperty(SPWebPartError.prototype, "category", {
/**
* Returns 'SPWebPartErrorCode'.
*/
get: function () {
return 'SPWebPartErrorCode';
},
enumerable: false,
configurable: true
});
// eslint-disable-next-line @typescript-eslint/no-explicit-any
SPWebPartError.create = function (errorCode) {
var params = [];
for (var _i = 1; _i < arguments.length; _i++) {
params[_i - 1] = arguments[_i];
}
return new SPWebPartError(errorCode, undefined, params);
};
SPWebPartError.createWithLogProperties = function (errorCode,
// eslint-disable-next-line @typescript-eslint/no-explicit-any
logProperties) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
var params = [];
for (
// eslint-disable-next-line @typescript-eslint/no-explicit-any
var _i = 2;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_i < arguments.length;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_i++) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
params[_i - 2] = arguments[_i];
}
return new SPWebPartError(errorCode, logProperties, params);
};
/**
* Error id to string map
*/
SPWebPartError._errorCodeToMessageMap = new Map([
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[],
[]
] /* fix this typecast, VSO:397687 */);
return SPWebPartError;
}(SPError));
export { SPWebPartError };
//# sourceMappingURL=SPWebPartError.js.map