UNPKG

@knora/api

Version:

JavaScript library that handles API requests to Knora

155 lines 7.11 kB
"use strict"; 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