@regionorebrolan/extensions
Version:
Library with JavaScript additions and extensions.
33 lines • 1.62 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var ContentReference_1 = __importDefault(require("./ContentReference"));
var ParseResult_1 = __importDefault(require("../ParseResult"));
var Utility_1 = __importDefault(require("../Utility"));
var ContentReferenceParser = /** @class */ (function () {
function ContentReferenceParser() {
}
ContentReferenceParser.prototype.parse = function (value) {
if (Utility_1.default.isNullOrUndefined(value))
return new ParseResult_1.default(new Error("The value can not be null."), null);
if (value.length === 0)
return new ParseResult_1.default(null, new ContentReference_1.default(0));
var separator = "_";
var parts = value.split(separator, 3);
try {
var id = parseInt(parts[0]);
var provider = parts.length > 2 ? parts[2] : "";
var version = parts.length > 1 ? parseInt(parts[1]) : undefined;
var contentReference = new ContentReference_1.default(id, provider, version);
return new ParseResult_1.default(null, contentReference);
}
catch (error) {
return new ParseResult_1.default(new Error("Could not parse the value \"" + value + "\". -> " + error.message), null);
}
};
return ContentReferenceParser;
}());
exports.default = ContentReferenceParser;
//# sourceMappingURL=ContentReferenceParser.js.map