Migrate remaining legacy operator workflows

This commit is contained in:
2026-07-12 05:39:27 +09:00
parent ffb8f43c19
commit a01836a2d7
132 changed files with 20566 additions and 720 deletions

View File

@@ -117,6 +117,48 @@
return 0;
}
function tradingHaltIdentity(value) {
const normalized = normalizeTradingHalt(value);
return normalized ? `${normalized.market}\u0000${normalized.stockCode}` : "";
}
function nextTradingHaltNameSort(direction) {
return direction === "descending" ? "ascending" : "descending";
}
function compareCanonicalText(left, right) {
if (left < right) return -1;
if (left > right) return 1;
return 0;
}
function sortTradingHaltsForDisplay(values, direction) {
if (!Array.isArray(values)) throw new TypeError("Trading-halt display rows are required.");
if (direction !== null && direction !== "ascending" && direction !== "descending") {
throw new TypeError("Trading-halt name sort must be ascending, descending, or null.");
}
if (direction === null) return [...values];
const nameDirection = direction === "ascending" ? 1 : -1;
return values.map((value, sourceIndex) => {
const normalized = normalizeTradingHalt(value);
if (!normalized) throw new TypeError("A valid trading-halt display row is required.");
return { value, normalized, sourceIndex };
}).sort((left, right) => {
const nameOrder = compareCanonicalText(
left.normalized.displayName,
right.normalized.displayName);
if (nameOrder !== 0) return nameOrder * nameDirection;
const marketOrder = compareCanonicalText(left.normalized.market, right.normalized.market);
if (marketOrder !== 0) return marketOrder;
const stockCodeOrder = compareCanonicalText(
left.normalized.stockCode,
right.normalized.stockCode);
return stockCodeOrder !== 0 ? stockCodeOrder : left.sourceIndex - right.sourceIndex;
}).map(item => item.value);
}
function normalizeTradingHaltSearchResponse(value, expectedRequest) {
if (!hasExactKeys(value, [
"requestId", "query", "retrievedAt", "totalRowCount", "truncated", "results"
@@ -349,6 +391,9 @@
tradingHaltActions: actions,
normalizeTradingHalt,
normalizeTradingHaltResult: normalizeTradingHalt,
tradingHaltIdentity,
nextTradingHaltNameSort,
sortTradingHaltsForDisplay,
createTradingHaltSearchRequest,
normalizeTradingHaltSearchResponse,
normalizeTradingHaltError,