UNPKG

semantic-network

Version:

A utility library for manipulating a list of links that form a semantic interface to a network of resources.

46 lines 2.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultEqualityMatcher = exports.EqualityUtil = void 0; var semantic_link_1 = require("semantic-link"); var canonicalOrSelf_1 = require("./comparators/canonicalOrSelf"); var trackedRepresentationUtil_1 = require("./trackedRepresentationUtil"); var instanceOfTrackedRepresentation_1 = require("./instanceOf/instanceOfTrackedRepresentation"); var EqualityUtil = /** @class */ (function () { function EqualityUtil() { } /** * Checks if two resource identities are the same. * * @default {@link CanonicalOrSelf} */ EqualityUtil.matches = function (lvalue, rvalue, relationshipType) { if (relationshipType === void 0) { relationshipType = canonicalOrSelf_1.CanonicalOrSelf; } var lUri = semantic_link_1.LinkUtil.getUri(lvalue, relationshipType); var rUri = semantic_link_1.LinkUtil.getUri(rvalue, relationshipType); if (lUri && rUri) { return lUri === rUri; } return false; }; /** * Checks if the identity and the version both match */ EqualityUtil.matchesIdAndETag = function (lvalue, rvalue, relationshipType) { if (EqualityUtil.matches(lvalue, rvalue, relationshipType)) { return EqualityUtil.matchesETag(lvalue, rvalue); } return false; }; /** * Checks if there is no difference in eTags (both empty also equals same) */ EqualityUtil.matchesETag = function (lvalue, rvalue) { var lEtag = (0, instanceOfTrackedRepresentation_1.instanceOfTrackedRepresentation)(lvalue) && trackedRepresentationUtil_1.TrackedRepresentationUtil.getETag(lvalue) || ''; var rEtag = (0, instanceOfTrackedRepresentation_1.instanceOfTrackedRepresentation)(rvalue) && trackedRepresentationUtil_1.TrackedRepresentationUtil.getETag(rvalue) || ''; return lEtag === rEtag; }; return EqualityUtil; }()); exports.EqualityUtil = EqualityUtil; exports.defaultEqualityMatcher = EqualityUtil.matches; //# sourceMappingURL=equalityUtil.js.map