@microsoft/agents-hosting
Version:
Microsoft 365 Agents SDK for JavaScript
30 lines • 1.09 kB
JavaScript
;
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.RouteList = void 0;
const routeRank_1 = require("./routeRank");
class RouteList {
constructor() {
this._routes = [];
}
addRoute(selector, handler, isInvokeRoute = false, rank = routeRank_1.RouteRank.Unspecified, authHandlers = []) {
this._routes.push({ selector, handler, isInvokeRoute, rank, authHandlers });
// Invoke selectors are first, then order by rank ascending
this._routes.sort((a, b) => {
var _a, _b;
if (a.isInvokeRoute !== b.isInvokeRoute) {
return a.isInvokeRoute ? -1 : 1;
}
return ((_a = a.rank) !== null && _a !== void 0 ? _a : 0) - ((_b = b.rank) !== null && _b !== void 0 ? _b : 0);
});
return this;
}
[Symbol.iterator]() {
return this._routes[Symbol.iterator]();
}
}
exports.RouteList = RouteList;
//# sourceMappingURL=routeList.js.map