@dasch-swiss/dsp-js
Version:
JavaScript library that handles API requests to Knora
74 lines • 3.58 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 (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 __());
};
})();
import { ResourceClassDefinition } from "../../models/v2/ontologies/resource-class-definition";
import { ResourcePropertyDefinition } from "../../models/v2/ontologies/resource-property-definition";
import { SystemPropertyDefinition } from "../../models/v2/ontologies/system-property-definition";
/**
* Represents a resource class definition containing all property definitions it has cardinalities for.
*
* @category Model V2
*/
var ResourceClassDefinitionWithPropertyDefinition = /** @class */ (function (_super) {
__extends(ResourceClassDefinitionWithPropertyDefinition, _super);
/**
* Create an instance from a given `ResourceClassDefinition`.
*
* @param resClassDef instance of `ResourceClassDefinition`.
* @param propertyDefinitions object containing all `PropertyDefinition`
* the resource class definition has cardinalities for.
*/
function ResourceClassDefinitionWithPropertyDefinition(resClassDef, propertyDefinitions) {
var _this = _super.call(this) || this;
_this.id = resClassDef.id;
_this.label = resClassDef.label;
_this.comment = resClassDef.comment;
_this.subClassOf = resClassDef.subClassOf;
// add property definition to properties list's items
_this.propertiesList = resClassDef.propertiesList.map(function (prop) {
if (!propertyDefinitions.hasOwnProperty(prop.propertyIndex)) {
throw Error("Expected key ".concat(prop.propertyIndex, " in property definitions."));
}
var propInfo = {
propertyIndex: prop.propertyIndex,
cardinality: prop.cardinality,
guiOrder: prop.guiOrder,
isInherited: prop.isInherited,
propertyDefinition: propertyDefinitions[prop.propertyIndex]
};
return propInfo;
});
return _this;
}
/**
* Gets the resource properties from properties list.
*/
ResourceClassDefinitionWithPropertyDefinition.prototype.getResourcePropertiesList = function () {
return this.propertiesList.filter(function (prop) {
return prop.propertyDefinition instanceof ResourcePropertyDefinition;
});
};
/**
* Gets the system properties from properties list.
*/
ResourceClassDefinitionWithPropertyDefinition.prototype.getSystemPropertiesList = function () {
return this.propertiesList.filter(function (prop) {
return prop.propertyDefinition instanceof SystemPropertyDefinition;
});
};
return ResourceClassDefinitionWithPropertyDefinition;
}(ResourceClassDefinition));
export { ResourceClassDefinitionWithPropertyDefinition };
//# sourceMappingURL=resource-class-definition-with-property-definition.js.map