@knora/api
Version:
JavaScript library that handles API requests to Knora
155 lines • 7.11 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
var json2typescript_1 = require("json2typescript");
var Constants_1 = require("../../../Constants");
var read_value_1 = require("./read-value");
var ParseReadDateValue = /** @class */ (function (_super) {
__extends(ParseReadDateValue, _super);
function ParseReadDateValue() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.datestring = "";
_this.calendar = "";
_this.startDay = undefined;
_this.startMonth = undefined;
_this.startYear = 0;
_this.startEra = "";
_this.endDay = undefined;
_this.endMonth = undefined;
_this.endYear = 0;
_this.endEra = "";
return _this;
}
__decorate([
json2typescript_1.JsonProperty(Constants_1.Constants.ValueAsString, String),
__metadata("design:type", String)
], ParseReadDateValue.prototype, "datestring", void 0);
__decorate([
json2typescript_1.JsonProperty(Constants_1.Constants.DateValueHasCalendar, String),
__metadata("design:type", String)
], ParseReadDateValue.prototype, "calendar", void 0);
__decorate([
json2typescript_1.JsonProperty(Constants_1.Constants.DateValueHasStartDay, Number, true),
__metadata("design:type", Number)
], ParseReadDateValue.prototype, "startDay", void 0);
__decorate([
json2typescript_1.JsonProperty(Constants_1.Constants.DateValueHasStartMonth, Number, true),
__metadata("design:type", Number)
], ParseReadDateValue.prototype, "startMonth", void 0);
__decorate([
json2typescript_1.JsonProperty(Constants_1.Constants.DateValueHasStartYear, Number),
__metadata("design:type", Number)
], ParseReadDateValue.prototype, "startYear", void 0);
__decorate([
json2typescript_1.JsonProperty(Constants_1.Constants.DateValueHasStartEra, String),
__metadata("design:type", String)
], ParseReadDateValue.prototype, "startEra", void 0);
__decorate([
json2typescript_1.JsonProperty(Constants_1.Constants.DateValueHasEndDay, Number, true),
__metadata("design:type", Number)
], ParseReadDateValue.prototype, "endDay", void 0);
__decorate([
json2typescript_1.JsonProperty(Constants_1.Constants.DateValueHasEndMonth, Number, true),
__metadata("design:type", Number)
], ParseReadDateValue.prototype, "endMonth", void 0);
__decorate([
json2typescript_1.JsonProperty(Constants_1.Constants.DateValueHasEndYear, Number),
__metadata("design:type", Number)
], ParseReadDateValue.prototype, "endYear", void 0);
__decorate([
json2typescript_1.JsonProperty(Constants_1.Constants.DateValueHasEndEra, String),
__metadata("design:type", String)
], ParseReadDateValue.prototype, "endEra", void 0);
ParseReadDateValue = __decorate([
json2typescript_1.JsonObject("ReadDateValue")
], ParseReadDateValue);
return ParseReadDateValue;
}(read_value_1.ReadValue));
exports.ParseReadDateValue = ParseReadDateValue;
/**
* Precision for DateSalsah.
*/
var Precision;
(function (Precision) {
Precision[Precision["yearPrecision"] = 0] = "yearPrecision";
Precision[Precision["monthPrecision"] = 1] = "monthPrecision";
Precision[Precision["dayPrecision"] = 2] = "dayPrecision";
})(Precision = exports.Precision || (exports.Precision = {}));
/**
* Represents a Salsah date object with a precision information.
*/
var KnoraDate = /** @class */ (function () {
function KnoraDate(calendar, era, year, month, day) {
this.calendar = calendar;
this.era = era;
this.year = year;
this.month = month;
this.day = day;
if (this.month === undefined) {
// year precision
this.precision = Precision.yearPrecision;
}
else if (this.day === undefined) {
// month precision
this.precision = Precision.monthPrecision;
}
else {
// day precision
this.precision = Precision.dayPrecision;
}
}
// TODO: support instantiation of a JDNConvertibleCalendar subclass, e.g., GregorianCalendarDate
KnoraDate.separator = "-";
return KnoraDate;
}());
exports.KnoraDate = KnoraDate;
/**
* Represents a period (with start date and end date).
*/
var KnoraPeriod = /** @class */ (function () {
function KnoraPeriod(start, end) {
this.start = start;
this.end = end;
}
return KnoraPeriod;
}());
exports.KnoraPeriod = KnoraPeriod;
var ReadDateValue = /** @class */ (function (_super) {
__extends(ReadDateValue, _super);
function ReadDateValue(date) {
var _this = _super.call(this, date.id, date.type, date.attachedToUser, date.arkUrl, date.versionArkUrl, date.valueCreationDate, date.hasPermissions, date.userHasPermission, date.uuid, date.propertyLabel, date.propertyComment, date.property, date.datestring, date.valueHasComment) || this;
if (date.startYear === date.endYear && date.startMonth === date.endMonth && date.startDay === date.endDay && date.startEra === date.endEra) {
// single date
_this.date = new KnoraDate(date.calendar, date.startEra, date.startYear, date.startMonth, date.startDay);
}
else {
// date period
_this.date = new KnoraPeriod(new KnoraDate(date.calendar, date.startEra, date.startYear, date.startMonth, date.startDay), new KnoraDate(date.calendar, date.endEra, date.endYear, date.endMonth, date.endDay));
}
return _this;
}
return ReadDateValue;
}(read_value_1.ReadValue));
exports.ReadDateValue = ReadDateValue;
//# sourceMappingURL=read-date-value.js.map