UNPKG

matrix-react-sdk

Version:
36 lines (32 loc) 4.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getListAlgorithmInstance = getListAlgorithmInstance; var _ImportanceAlgorithm = require("./ImportanceAlgorithm"); var _models = require("../models"); var _NaturalAlgorithm = require("./NaturalAlgorithm"); /* Copyright 2024 New Vector Ltd. Copyright 2020 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ const ALGORITHM_FACTORIES = { [_models.ListAlgorithm.Natural]: (tagId, initSort) => new _NaturalAlgorithm.NaturalAlgorithm(tagId, initSort), [_models.ListAlgorithm.Importance]: (tagId, initSort) => new _ImportanceAlgorithm.ImportanceAlgorithm(tagId, initSort) }; /** * Gets an instance of the defined algorithm * @param {ListAlgorithm} algorithm The algorithm to get an instance of. * @param {TagID} tagId The tag the algorithm is for. * @param {SortAlgorithm} initSort The initial sorting algorithm for the ordering algorithm. * @returns {Algorithm} The algorithm instance. */ function getListAlgorithmInstance(algorithm, tagId, initSort) { if (!ALGORITHM_FACTORIES[algorithm]) { throw new Error(`${algorithm} is not a known algorithm`); } return ALGORITHM_FACTORIES[algorithm](tagId, initSort); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSW1wb3J0YW5jZUFsZ29yaXRobSIsInJlcXVpcmUiLCJfbW9kZWxzIiwiX05hdHVyYWxBbGdvcml0aG0iLCJBTEdPUklUSE1fRkFDVE9SSUVTIiwiTGlzdEFsZ29yaXRobSIsIk5hdHVyYWwiLCJ0YWdJZCIsImluaXRTb3J0IiwiTmF0dXJhbEFsZ29yaXRobSIsIkltcG9ydGFuY2UiLCJJbXBvcnRhbmNlQWxnb3JpdGhtIiwiZ2V0TGlzdEFsZ29yaXRobUluc3RhbmNlIiwiYWxnb3JpdGhtIiwiRXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc3RvcmVzL3Jvb20tbGlzdC9hbGdvcml0aG1zL2xpc3Qtb3JkZXJpbmcvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IHsgSW1wb3J0YW5jZUFsZ29yaXRobSB9IGZyb20gXCIuL0ltcG9ydGFuY2VBbGdvcml0aG1cIjtcbmltcG9ydCB7IExpc3RBbGdvcml0aG0sIFNvcnRBbGdvcml0aG0gfSBmcm9tIFwiLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBOYXR1cmFsQWxnb3JpdGhtIH0gZnJvbSBcIi4vTmF0dXJhbEFsZ29yaXRobVwiO1xuaW1wb3J0IHsgVGFnSUQgfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBPcmRlcmluZ0FsZ29yaXRobSB9IGZyb20gXCIuL09yZGVyaW5nQWxnb3JpdGhtXCI7XG5cbmludGVyZmFjZSBBbGdvcml0aG1GYWN0b3J5IHtcbiAgICAodGFnSWQ6IFRhZ0lELCBpbml0aWFsU29ydGluZ0FsZ29yaXRobTogU29ydEFsZ29yaXRobSk6IE9yZGVyaW5nQWxnb3JpdGhtO1xufVxuXG5jb25zdCBBTEdPUklUSE1fRkFDVE9SSUVTOiB7IFthbGdvcml0aG0gaW4gTGlzdEFsZ29yaXRobV06IEFsZ29yaXRobUZhY3RvcnkgfSA9IHtcbiAgICBbTGlzdEFsZ29yaXRobS5OYXR1cmFsXTogKHRhZ0lkLCBpbml0U29ydCkgPT4gbmV3IE5hdHVyYWxBbGdvcml0aG0odGFnSWQsIGluaXRTb3J0KSxcbiAgICBbTGlzdEFsZ29yaXRobS5JbXBvcnRhbmNlXTogKHRhZ0lkLCBpbml0U29ydCkgPT4gbmV3IEltcG9ydGFuY2VBbGdvcml0aG0odGFnSWQsIGluaXRTb3J0KSxcbn07XG5cbi8qKlxuICogR2V0cyBhbiBpbnN0YW5jZSBvZiB0aGUgZGVmaW5lZCBhbGdvcml0aG1cbiAqIEBwYXJhbSB7TGlzdEFsZ29yaXRobX0gYWxnb3JpdGhtIFRoZSBhbGdvcml0aG0gdG8gZ2V0IGFuIGluc3RhbmNlIG9mLlxuICogQHBhcmFtIHtUYWdJRH0gdGFnSWQgVGhlIHRhZyB0aGUgYWxnb3JpdGhtIGlzIGZvci5cbiAqIEBwYXJhbSB7U29ydEFsZ29yaXRobX0gaW5pdFNvcnQgVGhlIGluaXRpYWwgc29ydGluZyBhbGdvcml0aG0gZm9yIHRoZSBvcmRlcmluZyBhbGdvcml0aG0uXG4gKiBAcmV0dXJucyB7QWxnb3JpdGhtfSBUaGUgYWxnb3JpdGhtIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGlzdEFsZ29yaXRobUluc3RhbmNlKFxuICAgIGFsZ29yaXRobTogTGlzdEFsZ29yaXRobSxcbiAgICB0YWdJZDogVGFnSUQsXG4gICAgaW5pdFNvcnQ6IFNvcnRBbGdvcml0aG0sXG4pOiBPcmRlcmluZ0FsZ29yaXRobSB7XG4gICAgaWYgKCFBTEdPUklUSE1fRkFDVE9SSUVTW2FsZ29yaXRobV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2FsZ29yaXRobX0gaXMgbm90IGEga25vd24gYWxnb3JpdGhtYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIEFMR09SSVRITV9GQUNUT1JJRVNbYWxnb3JpdGhtXSh0YWdJZCwgaW5pdFNvcnQpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFRQSxJQUFBQSxvQkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUYsT0FBQTtBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVlBLE1BQU1HLG1CQUF1RSxHQUFHO0VBQzVFLENBQUNDLHFCQUFhLENBQUNDLE9BQU8sR0FBRyxDQUFDQyxLQUFLLEVBQUVDLFFBQVEsS0FBSyxJQUFJQyxrQ0FBZ0IsQ0FBQ0YsS0FBSyxFQUFFQyxRQUFRLENBQUM7RUFDbkYsQ0FBQ0gscUJBQWEsQ0FBQ0ssVUFBVSxHQUFHLENBQUNILEtBQUssRUFBRUMsUUFBUSxLQUFLLElBQUlHLHdDQUFtQixDQUFDSixLQUFLLEVBQUVDLFFBQVE7QUFDNUYsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNJLHdCQUF3QkEsQ0FDcENDLFNBQXdCLEVBQ3hCTixLQUFZLEVBQ1pDLFFBQXVCLEVBQ047RUFDakIsSUFBSSxDQUFDSixtQkFBbUIsQ0FBQ1MsU0FBUyxDQUFDLEVBQUU7SUFDakMsTUFBTSxJQUFJQyxLQUFLLENBQUMsR0FBR0QsU0FBUywyQkFBMkIsQ0FBQztFQUM1RDtFQUVBLE9BQU9ULG1CQUFtQixDQUFDUyxTQUFTLENBQUMsQ0FBQ04sS0FBSyxFQUFFQyxRQUFRLENBQUM7QUFDMUQiLCJpZ25vcmVMaXN0IjpbXX0=