UNPKG

@comunica/actor-abstract-mediatyped

Version:

An abstract actor for handling mediatypes

44 lines 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActorAbstractMediaTypedFixed = void 0; const core_1 = require("@comunica/core"); const ActorAbstractMediaTyped_1 = require("./ActorAbstractMediaTyped"); class ActorAbstractMediaTypedFixed extends ActorAbstractMediaTyped_1.ActorAbstractMediaTyped { mediaTypePriorities; mediaTypeFormats; priorityScale; constructor(args) { super(args); this.mediaTypePriorities = args.mediaTypePriorities; this.mediaTypeFormats = args.mediaTypeFormats; this.priorityScale = args.priorityScale; const scale = this.priorityScale ?? 1; if (this.mediaTypePriorities) { for (const [_index, [key, value]] of Object.entries(this.mediaTypePriorities).entries()) { this.mediaTypePriorities[key] = scale * value; } } this.mediaTypePriorities = Object.freeze(this.mediaTypePriorities); this.mediaTypeFormats = Object.freeze(this.mediaTypeFormats); } async testHandle(action, mediaType, context) { if (!mediaType || !(mediaType in this.mediaTypePriorities)) { return (0, core_1.failTest)(`Unrecognized media type: ${mediaType}`); } return await this.testHandleChecked(action, context); } async testMediaType(_context) { return (0, core_1.passTestVoid)(); } async getMediaTypes(_context) { return this.mediaTypePriorities; } async testMediaTypeFormats(_context) { return (0, core_1.passTestVoid)(); } async getMediaTypeFormats(_context) { return this.mediaTypeFormats; } } exports.ActorAbstractMediaTypedFixed = ActorAbstractMediaTypedFixed; //# sourceMappingURL=ActorAbstractMediaTypedFixed.js.map