UNPKG

@dasch-swiss/dsp-js

Version:

JavaScript library that handles API requests to Knora

191 lines 7.59 kB
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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); 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); }; import { JsonObject, JsonProperty } from "json2typescript"; import { Constants } from "../../../Constants"; import { ReadValue } from "./read-value"; /** * @category Internal */ 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 = undefined; _this.endDay = undefined; _this.endMonth = undefined; _this.endYear = 0; _this.endEra = undefined; return _this; } __decorate([ JsonProperty(Constants.ValueAsString, String), __metadata("design:type", String) ], ParseReadDateValue.prototype, "datestring", void 0); __decorate([ JsonProperty(Constants.DateValueHasCalendar, String), __metadata("design:type", String) ], ParseReadDateValue.prototype, "calendar", void 0); __decorate([ JsonProperty(Constants.DateValueHasStartDay, Number, true), __metadata("design:type", Number) ], ParseReadDateValue.prototype, "startDay", void 0); __decorate([ JsonProperty(Constants.DateValueHasStartMonth, Number, true), __metadata("design:type", Number) ], ParseReadDateValue.prototype, "startMonth", void 0); __decorate([ JsonProperty(Constants.DateValueHasStartYear, Number), __metadata("design:type", Number) ], ParseReadDateValue.prototype, "startYear", void 0); __decorate([ JsonProperty(Constants.DateValueHasStartEra, String, true), __metadata("design:type", String) ], ParseReadDateValue.prototype, "startEra", void 0); __decorate([ JsonProperty(Constants.DateValueHasEndDay, Number, true), __metadata("design:type", Number) ], ParseReadDateValue.prototype, "endDay", void 0); __decorate([ JsonProperty(Constants.DateValueHasEndMonth, Number, true), __metadata("design:type", Number) ], ParseReadDateValue.prototype, "endMonth", void 0); __decorate([ JsonProperty(Constants.DateValueHasEndYear, Number), __metadata("design:type", Number) ], ParseReadDateValue.prototype, "endYear", void 0); __decorate([ JsonProperty(Constants.DateValueHasEndEra, String, true), __metadata("design:type", String) ], ParseReadDateValue.prototype, "endEra", void 0); ParseReadDateValue = __decorate([ JsonObject("ReadDateValue") ], ParseReadDateValue); return ParseReadDateValue; }(ReadValue)); export { ParseReadDateValue }; /** * Precision of a date. * * @category Model V2 */ export var Precision; (function (Precision) { /** * Year precision (first to last day of the year). */ Precision[Precision["yearPrecision"] = 0] = "yearPrecision"; /** * Month precision (first to last day of the month). */ Precision[Precision["monthPrecision"] = 1] = "monthPrecision"; /** * Day precision. */ Precision[Precision["dayPrecision"] = 2] = "dayPrecision"; })(Precision || (Precision = {})); /** * Represents a Salsah date object with a precision information. * * @category Model V2 */ 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; }()); export { KnoraDate }; /** * Represents a period (with start date and end date). * * @category Model V2 */ var KnoraPeriod = /** @class */ (function () { function KnoraPeriod(start, end) { this.start = start; this.end = end; } return KnoraPeriod; }()); export { KnoraPeriod }; /** * @category Model V2 */ 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, _this.handleEra(date.startEra), date.startYear, date.startMonth, date.startDay); } else { // date period _this.date = new KnoraPeriod(new KnoraDate(date.calendar, _this.handleEra(date.startEra), date.startYear, date.startMonth, date.startDay), new KnoraDate(date.calendar, _this.handleEra(date.endEra), date.endYear, date.endMonth, date.endDay)); } return _this; } /** * Determines if an era is given. * Returns "noEra" in case none is given (the given calendar date does not have an era). * * @param era given era, if any. */ ReadDateValue.prototype.handleEra = function (era) { // determine era if (era !== undefined) { return era; } else { return "noEra"; } }; return ReadDateValue; }(ReadValue)); export { ReadDateValue }; //# sourceMappingURL=read-date-value.js.map