UNPKG

diffusion

Version:

Diffusion JavaScript client

40 lines (39 loc) 1.22 kB
"use strict"; /** * @module Topics */ Object.defineProperty(exports, "__esModule", { value: true }); exports.AbstractTopicSelector = void 0; var util = require("./../topics/topic-path-utils"); /** * An abstract implementation of {@link TopicSelector} */ var AbstractTopicSelector = /** @class */ (function () { /** * Create a new AbstractTopicSelector * * @param type the type of this selector * @param prefix the maximum topic path prefix from this selector * @param expression the original expression of this selector */ function AbstractTopicSelector(type, prefix, expression) { this.type = type; this.prefix = prefix; this.expression = expression; } /** * @inheritdoc */ AbstractTopicSelector.prototype.selects = function (topicPath) { var canonical = util.canonicalise(topicPath); return canonical.indexOf(this.prefix) === 0 && this.doSelects(canonical); }; /** * @inheritdoc */ AbstractTopicSelector.prototype.toString = function () { return this.expression; }; return AbstractTopicSelector; }()); exports.AbstractTopicSelector = AbstractTopicSelector;