@microsoft/sp-webpart-base
Version:
SharePoint Framework support for building web parts
179 lines • 9.71 kB
JavaScript
;
/**
* WellKnown error codes used by the SharePoint client webpart framework.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.SPWebPartError = exports.SPWebPartErrorCode = void 0;
var tslib_1 = require("tslib");
var sp_core_library_1 = require("@microsoft/sp-core-library");
var Strings_resx_1 = tslib_1.__importDefault(require("../loc/Strings.resx"));
/*
* Web part error codes.
*/
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";
})(SPWebPartErrorCode = exports.SPWebPartErrorCode || (exports.SPWebPartErrorCode = {}));
/**
* Web part errors.
*
* @internal
*/
var SPWebPartError = /** @class */ (function (_super) {
tslib_1.__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], sp_core_library_1.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([
[SPWebPartErrorCode.ModuleUndefined, Strings_resx_1.default.UndefinedModuleError],
[SPWebPartErrorCode.ModuleNotLoaded, Strings_resx_1.default.ModuleNotLoadedError],
[SPWebPartErrorCode.IncorrectBoostrapModule, Strings_resx_1.default.IncorrectBoostrapModuleError],
[SPWebPartErrorCode.MissingExpectedWebPartMemberError, Strings_resx_1.default.MissingExpectedWebPartMemberError],
[SPWebPartErrorCode.NonBaseWebPart, Strings_resx_1.default.NonBaseWebPartError],
[SPWebPartErrorCode.ScriptLoadError, Strings_resx_1.default.ScriptLoadErrorTemplate],
[SPWebPartErrorCode.ManifestDownloadFailed, Strings_resx_1.default.ManifestDownloadFailed],
[SPWebPartErrorCode.ManifestNull, Strings_resx_1.default.ManifestNullError],
[SPWebPartErrorCode.ManifestInvalid, Strings_resx_1.default.ManifestInvalidError],
[SPWebPartErrorCode.BaseConstructError, Strings_resx_1.default.BaseConstructError],
[SPWebPartErrorCode.MustOverrideRender, Strings_resx_1.default.MustOverrideRenderError],
[SPWebPartErrorCode.NotInitializedError, Strings_resx_1.default.NotIntializedError],
[SPWebPartErrorCode.PropertyBagNull, Strings_resx_1.default.PropertyBagNullError],
[SPWebPartErrorCode.OnAfterDeserializeReturnedNull, Strings_resx_1.default.OnAfterDeserializeReturnedNull],
[SPWebPartErrorCode.OnInitReturnedNullPromise, Strings_resx_1.default.OnInitReturnedNullPromise],
[SPWebPartErrorCode.ReadOnlyProperty, Strings_resx_1.default.ReadOnlyPropertyError],
[SPWebPartErrorCode.SerializationFailed, Strings_resx_1.default.SerializationFailedError],
[SPWebPartErrorCode.FirstTimeRenderCalledMoreThanOnce, Strings_resx_1.default.FirstTimeRenderCalledMoreThanOnceError],
[SPWebPartErrorCode.RenderCompletedCallNotCalled, Strings_resx_1.default.RenderCompletedCallNotCalledError],
[SPWebPartErrorCode.InvalidSPLinkAttributeFormat, Strings_resx_1.default.InvalidSPLinkAttributeFormatError],
[SPWebPartErrorCode.InvalidSPLinkIndex, Strings_resx_1.default.InvalidSPLinkIndexError],
[SPWebPartErrorCode.RenderPromiseUndefined, Strings_resx_1.default.RenderPromiseUndefinedError],
[SPWebPartErrorCode.RenderTimeout, Strings_resx_1.default.RenderTimeout]
] /* fix this typecast, VSO:397687 */);
return SPWebPartError;
}(sp_core_library_1.SPError));
exports.SPWebPartError = SPWebPartError;
//# sourceMappingURL=SPWebPartError.js.map