UNPKG

@sitecore/sc-contenthub-webclient-sdk

Version:

Sitecore Content Hub WebClient SDK.

94 lines 3.98 kB
"use strict"; 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); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var RelationResource_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.RelationResource = void 0; const ta_json_1 = require("ta-json"); const entity_link_1 = require("../entity-link"); const resource_1 = __importDefault(require("./resource")); let RelationResource = RelationResource_1 = class RelationResource extends resource_1.default { constructor(init) { super(); Object.assign(this, init); } /** * Merges two relation resources. * * This should be used for self referencing relations, where there can be no conflicts * between the two existing resources. * @param main - Source to use as defaults * @param toMerge - Source to use to set relation links */ static merge(main, toMerge) { const result = new RelationResource_1({ child: main.child, children: main.children, inheritsSecurity: main.inheritsSecurity, parent: main.parent, parents: main.parents, self: main.self, }); if (toMerge.child != null) { result.child = toMerge.child; } if (toMerge.children != null) { result.children = toMerge.children; } if (toMerge.parent != null) { result.parent = toMerge.parent; } if (toMerge.parents != null) { result.parents = toMerge.parents; } return result; } }; exports.RelationResource = RelationResource; __decorate([ (0, ta_json_1.JsonProperty)("parents"), (0, ta_json_1.JsonElementType)(entity_link_1.EntityLink), __metadata("design:type", Array) ], RelationResource.prototype, "parents", void 0); __decorate([ (0, ta_json_1.JsonProperty)("parent"), (0, ta_json_1.JsonElementType)(entity_link_1.EntityLink), __metadata("design:type", entity_link_1.EntityLink) ], RelationResource.prototype, "parent", void 0); __decorate([ (0, ta_json_1.JsonProperty)("children"), (0, ta_json_1.JsonElementType)(entity_link_1.EntityLink), __metadata("design:type", Array) ], RelationResource.prototype, "children", void 0); __decorate([ (0, ta_json_1.JsonProperty)("child"), (0, ta_json_1.JsonElementType)(entity_link_1.EntityLink), __metadata("design:type", entity_link_1.EntityLink) ], RelationResource.prototype, "child", void 0); __decorate([ (0, ta_json_1.JsonProperty)("inherits_security"), __metadata("design:type", Boolean) ], RelationResource.prototype, "inheritsSecurity", void 0); __decorate([ (0, ta_json_1.JsonProperty)("parent_total"), __metadata("design:type", Number) ], RelationResource.prototype, "parentTotal", void 0); __decorate([ (0, ta_json_1.JsonProperty)("child_total"), __metadata("design:type", Number) ], RelationResource.prototype, "childTotal", void 0); exports.RelationResource = RelationResource = RelationResource_1 = __decorate([ (0, ta_json_1.JsonObject)(), __metadata("design:paramtypes", [Object]) ], RelationResource); //# sourceMappingURL=relation-resource.js.map