UNPKG

@phensley/cldr-core

Version:
30 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var encoding_1 = require("../../resource/encoding"); var cache_1 = require("../../utils/cache"); var search_1 = require("../../utils/search"); var autogen_dayperiods_1 = require("./autogen.dayperiods"); var parseRule = function (raw) { var parts = raw.split('|'); var minutes = parts[1].split(' ').map(encoding_1.base100decode); var keys = parts[0].split(' ').map(function (s) { return autogen_dayperiods_1.dayPeriodKeys[Number(s)]; }); return { keys: keys, minutes: minutes }; }; var DayPeriodRules = /** @class */ (function () { function DayPeriodRules(cacheSize) { this.cacheSize = cacheSize; this.cache = new cache_1.Cache(parseRule, cacheSize); } DayPeriodRules.prototype.get = function (bundle, minutes) { var raw = autogen_dayperiods_1.dayPeriodRules[bundle.languageRegion()] || autogen_dayperiods_1.dayPeriodRules[bundle.language()]; if (raw === undefined) { return undefined; } var rule = this.cache.get(raw); var i = search_1.binarySearch(rule.minutes, minutes); return rule.keys[i]; }; return DayPeriodRules; }()); exports.DayPeriodRules = DayPeriodRules; //# sourceMappingURL=rules.js.map