first commit

This commit is contained in:
2025-06-17 11:39:51 +08:00
commit 4d913c0007
12754 changed files with 1480633 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
import camelCase from "lodash/camelCase";
export function camelCaseKeys(target) {
if (!target) {
return {};
}
return Object.keys(target).reduce((buffer, key) => {
buffer[camelCase(key)] = target[key];
return buffer;
}, {});
}
//# sourceMappingURL=camelCaseKeys.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"camelCaseKeys.js","sourceRoot":"","sources":["../../../src/helpers/camelCaseKeys.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAczC,MAAM,UAAU,aAAa,CAAW,MAAe;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAO,CAAC;IACjB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAc,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvD,MAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAI,MAAe,CAAC,GAAG,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAO,CAAC,CAAC;AACd,CAAC"}

View File

@@ -0,0 +1,16 @@
import { isSet } from "./isSet";
export function createTranslationOptions(i18n, scope, options) {
let translationOptions = [{ scope }];
if (isSet(options.defaults)) {
translationOptions = translationOptions.concat(options.defaults);
}
if (isSet(options.defaultValue)) {
const message = typeof options.defaultValue === "function"
? options.defaultValue(i18n, scope, options)
: options.defaultValue;
translationOptions.push({ message });
delete options.defaultValue;
}
return translationOptions;
}
//# sourceMappingURL=createTranslationOptions.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"createTranslationOptions.js","sourceRoot":"","sources":["../../../src/helpers/createTranslationOptions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAiBhC,MAAM,UAAU,wBAAwB,CACtC,IAAU,EACV,KAAY,EACZ,OAAa;IAEb,IAAI,kBAAkB,GAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAI7C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAID,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GACX,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU;YACxC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;YAC5C,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAE3B,kBAAkB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC,YAAY,CAAC;IAC9B,CAAC;IAED,OAAO,kBAAmD,CAAC;AAC7D,CAAC"}

View File

@@ -0,0 +1,20 @@
import { BigNumber } from "bignumber.js";
var RoundingModeMap;
(function (RoundingModeMap) {
RoundingModeMap[RoundingModeMap["up"] = BigNumber.ROUND_UP] = "up";
RoundingModeMap[RoundingModeMap["down"] = BigNumber.ROUND_DOWN] = "down";
RoundingModeMap[RoundingModeMap["truncate"] = BigNumber.ROUND_DOWN] = "truncate";
RoundingModeMap[RoundingModeMap["halfUp"] = BigNumber.ROUND_HALF_UP] = "halfUp";
RoundingModeMap[RoundingModeMap["default"] = BigNumber.ROUND_HALF_UP] = "default";
RoundingModeMap[RoundingModeMap["halfDown"] = BigNumber.ROUND_HALF_DOWN] = "halfDown";
RoundingModeMap[RoundingModeMap["halfEven"] = BigNumber.ROUND_HALF_EVEN] = "halfEven";
RoundingModeMap[RoundingModeMap["banker"] = BigNumber.ROUND_HALF_EVEN] = "banker";
RoundingModeMap[RoundingModeMap["ceiling"] = BigNumber.ROUND_CEIL] = "ceiling";
RoundingModeMap[RoundingModeMap["ceil"] = BigNumber.ROUND_CEIL] = "ceil";
RoundingModeMap[RoundingModeMap["floor"] = BigNumber.ROUND_FLOOR] = "floor";
})(RoundingModeMap || (RoundingModeMap = {}));
export function expandRoundMode(roundMode) {
var _a;
return ((_a = RoundingModeMap[roundMode]) !== null && _a !== void 0 ? _a : RoundingModeMap.default);
}
//# sourceMappingURL=expandRoundMode.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"expandRoundMode.js","sourceRoot":"","sources":["../../../src/helpers/expandRoundMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,IAAK,eAYJ;AAZD,WAAK,eAAe;IAClB,wCAAO,SAAS,CAAC,QAAQ,QAAA,CAAA;IACzB,0CAAS,SAAS,CAAC,UAAU,UAAA,CAAA;IAC7B,8CAAa,SAAS,CAAC,UAAU,cAAA,CAAA;IACjC,4CAAW,SAAS,CAAC,aAAa,YAAA,CAAA;IAClC,6CAAY,SAAS,CAAC,aAAa,aAAA,CAAA;IACnC,8CAAa,SAAS,CAAC,eAAe,cAAA,CAAA;IACtC,8CAAa,SAAS,CAAC,eAAe,cAAA,CAAA;IACtC,4CAAW,SAAS,CAAC,eAAe,YAAA,CAAA;IACpC,6CAAY,SAAS,CAAC,UAAU,aAAA,CAAA;IAChC,0CAAS,SAAS,CAAC,UAAU,UAAA,CAAA;IAC7B,2CAAU,SAAS,CAAC,WAAW,WAAA,CAAA;AACjC,CAAC,EAZI,eAAe,KAAf,eAAe,QAYnB;AAOD,MAAM,UAAU,eAAe,CAC7B,SAAuB;;IAEvB,OAAO,CAAC,MAAA,eAAe,CAAC,SAAS,CAAC,mCAChC,eAAe,CAAC,OAAO,CAA2B,CAAC;AACvD,CAAC"}

View File

@@ -0,0 +1,61 @@
import { BigNumber } from "bignumber.js";
import repeat from "lodash/repeat";
import { roundNumber } from "./roundNumber";
function replaceInFormat(format, { formattedNumber, unit }) {
return format.replace("%n", formattedNumber).replace("%u", unit);
}
function computeSignificand({ significand, whole, precision, }) {
if (whole === "0" || precision === null) {
return significand;
}
const limit = Math.max(0, precision - whole.length);
return (significand !== null && significand !== void 0 ? significand : "").substr(0, limit);
}
export function formatNumber(input, options) {
var _a, _b, _c;
const originalNumber = new BigNumber(input);
if (options.raise && !originalNumber.isFinite()) {
throw new Error(`"${input}" is not a valid numeric value`);
}
const roundedNumber = roundNumber(originalNumber, options);
const numeric = new BigNumber(roundedNumber);
const isNegative = numeric.lt(0);
const isZero = numeric.isZero();
let [whole, significand] = roundedNumber.split(".");
const buffer = [];
let formattedNumber;
const positiveFormat = (_a = options.format) !== null && _a !== void 0 ? _a : "%n";
const negativeFormat = (_b = options.negativeFormat) !== null && _b !== void 0 ? _b : `-${positiveFormat}`;
const format = isNegative && !isZero ? negativeFormat : positiveFormat;
whole = whole.replace("-", "");
while (whole.length > 0) {
buffer.unshift(whole.substr(Math.max(0, whole.length - 3), 3));
whole = whole.substr(0, whole.length - 3);
}
whole = buffer.join("");
formattedNumber = buffer.join(options.delimiter);
if (options.significant) {
significand = computeSignificand({
whole,
significand,
precision: options.precision,
});
}
else {
significand = significand !== null && significand !== void 0 ? significand : repeat("0", (_c = options.precision) !== null && _c !== void 0 ? _c : 0);
}
if (options.stripInsignificantZeros && significand) {
significand = significand.replace(/0+$/, "");
}
if (originalNumber.isNaN()) {
formattedNumber = input.toString();
}
if (significand && originalNumber.isFinite()) {
formattedNumber += (options.separator || ".") + significand;
}
return replaceInFormat(format, {
formattedNumber,
unit: options.unit,
});
}
//# sourceMappingURL=formatNumber.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"formatNumber.js","sourceRoot":"","sources":["../../../src/helpers/formatNumber.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,14 @@
export function getFullScope(i18n, scope, options) {
let result = "";
if (scope instanceof String || typeof scope === "string") {
result = scope;
}
if (scope instanceof Array) {
result = scope.join(i18n.defaultSeparator);
}
if (options.scope) {
result = [options.scope, result].join(i18n.defaultSeparator);
}
return result;
}
//# sourceMappingURL=getFullScope.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getFullScope.js","sourceRoot":"","sources":["../../../src/helpers/getFullScope.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,YAAY,CAAC,IAAU,EAAE,KAAY,EAAE,OAAa;IAClE,IAAI,MAAM,GAAG,EAAE,CAAC;IAGhB,IAAI,KAAK,YAAY,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACzD,MAAM,GAAG,KAAe,CAAC;IAC3B,CAAC;IAGD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,GAAI,KAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC;IAMD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}

18
node_modules/i18n-js/dist/import/helpers/index.js generated vendored Normal file
View File

@@ -0,0 +1,18 @@
export { camelCaseKeys } from "./camelCaseKeys";
export { createTranslationOptions } from "./createTranslationOptions";
export { expandRoundMode } from "./expandRoundMode";
export { formatNumber } from "./formatNumber";
export { getFullScope } from "./getFullScope";
export { inferType } from "./inferType";
export { interpolate } from "./interpolate";
export { isSet } from "./isSet";
export { lookup } from "./lookup";
export { numberToDelimited } from "./numberToDelimited";
export { numberToHuman } from "./numberToHuman";
export { numberToHumanSize } from "./numberToHumanSize";
export { parseDate } from "./parseDate";
export { pluralize } from "./pluralize";
export { roundNumber } from "./roundNumber";
export { strftime } from "./strftime";
export { timeAgoInWords } from "./timeAgoInWords";
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}

12
node_modules/i18n-js/dist/import/helpers/inferType.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
export function inferType(instance) {
var _a, _b;
if (instance === null) {
return "null";
}
const type = typeof instance;
if (type !== "object") {
return type;
}
return ((_b = (_a = instance === null || instance === void 0 ? void 0 : instance.constructor) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || "object";
}
//# sourceMappingURL=inferType.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"inferType.js","sourceRoot":"","sources":["../../../src/helpers/inferType.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,SAAS,CAAC,QAAiB;;IACzC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC;IAE7B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAA,MAAA,MAAC,QAAgB,aAAhB,QAAQ,uBAAR,QAAQ,CAAU,WAAW,0CAAE,IAAI,0CAAE,WAAW,EAAE,KAAI,QAAQ,CAAC;AACzE,CAAC"}

View File

@@ -0,0 +1,29 @@
import { isSet } from "./isSet";
export function interpolate(i18n, message, options) {
options = Object.keys(options).reduce((buffer, key) => {
buffer[i18n.transformKey(key)] = options[key];
return buffer;
}, {});
const matches = message.match(i18n.placeholder);
if (!matches) {
return message;
}
while (matches.length) {
let value;
const placeholder = matches.shift();
const name = placeholder.replace(i18n.placeholder, "$1");
if (isSet(options[name])) {
value = options[name].toString().replace(/\$/gm, "_#$#_");
}
else if (name in options) {
value = i18n.nullPlaceholder(i18n, placeholder, message, options);
}
else {
value = i18n.missingPlaceholder(i18n, placeholder, message, options);
}
const regex = new RegExp(placeholder.replace(/\{/gm, "\\{").replace(/\}/gm, "\\}"), "g");
message = message.replace(regex, value);
}
return message.replace(/_#\$#_/g, "$");
}
//# sourceMappingURL=interpolate.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"interpolate.js","sourceRoot":"","sources":["../../../src/helpers/interpolate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAgBhC,MAAM,UAAU,WAAW,CACzB,IAAU,EACV,OAAe,EACf,OAAyB;IAEzB,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACpD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAsB,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,KAAa,CAAC;QAClB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,EAAY,CAAC;QAC9C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEzD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzB,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;aAAM,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,EACzD,GAAG,CACJ,CAAC;QAEF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC"}

4
node_modules/i18n-js/dist/import/helpers/isSet.js generated vendored Normal file
View File

@@ -0,0 +1,4 @@
export function isSet(value) {
return value !== undefined && value !== null;
}
//# sourceMappingURL=isSet.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"isSet.js","sourceRoot":"","sources":["../../../src/helpers/isSet.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,KAAK,CAAC,KAAc;IAClC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AAC/C,CAAC"}

18
node_modules/i18n-js/dist/import/helpers/lookup.js generated vendored Normal file
View File

@@ -0,0 +1,18 @@
import { isSet } from "./isSet";
import { getFullScope } from "./getFullScope";
import { inferType } from "./inferType";
export function lookup(i18n, scope, options = {}) {
options = Object.assign({}, options);
const locale = "locale" in options ? options.locale : i18n.locale;
const localeType = inferType(locale);
const locales = i18n.locales
.get(localeType === "string" ? locale : typeof locale)
.slice();
const keys = getFullScope(i18n, scope, options)
.split(i18n.defaultSeparator)
.map((component) => i18n.transformKey(component));
const entries = locales.map((locale) => keys.reduce((path, key) => path && path[key], i18n.translations[locale]));
entries.push(options.defaultValue);
return entries.find((entry) => isSet(entry));
}
//# sourceMappingURL=lookup.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/helpers/lookup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAiBxC,MAAM,UAAU,MAAM,CAAC,IAAU,EAAE,KAAY,EAAE,UAAgB,EAAE;IACjE,OAAO,qBAAQ,OAAO,CAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAClE,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;SACzB,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC;SACrD,KAAK,EAAE,CAAC;IAEX,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;SAC5C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;SAC5B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CACzE,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC"}

View File

@@ -0,0 +1,14 @@
import { BigNumber } from "bignumber.js";
export function numberToDelimited(input, options) {
const numeric = new BigNumber(input);
if (!numeric.isFinite()) {
return input.toString();
}
if (!options.delimiterPattern.global) {
throw new Error(`options.delimiterPattern must be a global regular expression; received ${options.delimiterPattern}`);
}
let [left, right] = numeric.toString().split(".");
left = left.replace(options.delimiterPattern, (digitToDelimiter) => `${digitToDelimiter}${options.delimiter}`);
return [left, right].filter(Boolean).join(options.separator);
}
//# sourceMappingURL=numberToDelimited.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"numberToDelimited.js","sourceRoot":"","sources":["../../../src/helpers/numberToDelimited.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAezC,MAAM,UAAU,iBAAiB,CAC/B,KAAc,EACd,OAAiC;IAEjC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,0EAA0E,OAAO,CAAC,gBAAgB,EAAE,CACrG,CAAC;IACJ,CAAC;IAGD,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,GAAG,IAAI,CAAC,OAAO,CACjB,OAAO,CAAC,gBAAgB,EACxB,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,CAChE,CAAC;IAEF,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC/D,CAAC"}

View File

@@ -0,0 +1,71 @@
import { BigNumber } from "bignumber.js";
import sortBy from "lodash/sortBy";
import zipObject from "lodash/zipObject";
import { getFullScope } from "./getFullScope";
import { lookup } from "./lookup";
import { roundNumber } from "./roundNumber";
import { inferType } from "./inferType";
const DECIMAL_UNITS = {
"0": "unit",
"1": "ten",
"2": "hundred",
"3": "thousand",
"6": "million",
"9": "billion",
"12": "trillion",
"15": "quadrillion",
"-1": "deci",
"-2": "centi",
"-3": "mili",
"-6": "micro",
"-9": "nano",
"-12": "pico",
"-15": "femto",
};
const INVERTED_DECIMAL_UNITS = zipObject(Object.values(DECIMAL_UNITS), Object.keys(DECIMAL_UNITS).map((key) => parseInt(key, 10)));
export function numberToHuman(i18n, input, options) {
const roundOptions = {
roundMode: options.roundMode,
precision: options.precision,
significant: options.significant,
};
let units;
if (inferType(options.units) === "string") {
const scope = options.units;
units = lookup(i18n, scope);
if (!units) {
throw new Error(`The scope "${i18n.locale}${i18n.defaultSeparator}${getFullScope(i18n, scope, {})}" couldn't be found`);
}
}
else {
units = options.units;
}
let formattedNumber = roundNumber(new BigNumber(input), roundOptions);
const unitExponents = (units) => sortBy(Object.keys(units).map((name) => INVERTED_DECIMAL_UNITS[name]), (numeric) => numeric * -1);
const calculateExponent = (num, units) => {
const exponent = num.isZero()
? 0
: Math.floor(Math.log10(num.abs().toNumber()));
return unitExponents(units).find((exp) => exponent >= exp) || 0;
};
const determineUnit = (units, exponent) => {
const expName = DECIMAL_UNITS[exponent.toString()];
return units[expName] || "";
};
const exponent = calculateExponent(new BigNumber(formattedNumber), units);
const unit = determineUnit(units, exponent);
formattedNumber = roundNumber(new BigNumber(formattedNumber).div(Math.pow(10, exponent)), roundOptions);
if (options.stripInsignificantZeros) {
let [whole, significand] = formattedNumber.split(".");
significand = (significand || "").replace(/0+$/, "");
formattedNumber = whole;
if (significand) {
formattedNumber += `${options.separator}${significand}`;
}
}
return options.format
.replace("%n", formattedNumber || "0")
.replace("%u", unit)
.trim();
}
//# sourceMappingURL=numberToHuman.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"numberToHuman.js","sourceRoot":"","sources":["../../../src/helpers/numberToHuman.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,48 @@
import { BigNumber } from "bignumber.js";
import { roundNumber } from "./roundNumber";
import { expandRoundMode } from "./expandRoundMode";
const STORAGE_UNITS = ["byte", "kb", "mb", "gb", "tb", "pb", "eb"];
export function numberToHumanSize(i18n, input, options) {
const roundMode = expandRoundMode(options.roundMode);
const base = 1024;
const num = new BigNumber(input).abs();
const smallerThanBase = num.lt(base);
let numberToBeFormatted;
const computeExponent = (numeric, units) => {
const max = units.length - 1;
const exp = new BigNumber(Math.log(numeric.toNumber()))
.div(Math.log(base))
.integerValue(BigNumber.ROUND_DOWN)
.toNumber();
return Math.min(max, exp);
};
const storageUnitKey = (units) => {
const keyEnd = smallerThanBase ? "byte" : units[exponent];
return `number.human.storage_units.units.${keyEnd}`;
};
const exponent = computeExponent(num, STORAGE_UNITS);
if (smallerThanBase) {
numberToBeFormatted = num.integerValue();
}
else {
numberToBeFormatted = new BigNumber(roundNumber(num.div(Math.pow(base, exponent)), {
significant: options.significant,
precision: options.precision,
roundMode: options.roundMode,
}));
}
const format = i18n.translate("number.human.storage_units.format", {
defaultValue: "%n %u",
});
const unit = i18n.translate(storageUnitKey(STORAGE_UNITS), {
count: num.integerValue().toNumber(),
});
let formattedNumber = numberToBeFormatted.toFixed(options.precision, roundMode);
if (options.stripInsignificantZeros) {
formattedNumber = formattedNumber
.replace(/(\..*?)0+$/, "$1")
.replace(/\.$/, "");
}
return format.replace("%n", formattedNumber).replace("%u", unit);
}
//# sourceMappingURL=numberToHumanSize.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"numberToHumanSize.js","sourceRoot":"","sources":["../../../src/helpers/numberToHumanSize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKpD,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAanE,MAAM,UAAU,iBAAiB,CAC/B,IAAU,EACV,KAAc,EACd,OAAiC;IAEjC,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC;IAClB,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,mBAAmB,CAAC;IAExB,MAAM,eAAe,GAAG,CAAC,OAAkB,EAAE,KAAe,EAAE,EAAE;QAC9D,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;aACpD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACnB,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC;aAClC,QAAQ,EAAE,CAAC;QAEd,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,KAAe,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,oCAAoC,MAAM,EAAE,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAErD,IAAI,eAAe,EAAE,CAAC;QACpB,mBAAmB,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,mBAAmB,GAAG,IAAI,SAAS,CACjC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,SAAA,IAAI,EAAI,QAAQ,CAAA,CAAC,EAAE;YACrC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,mCAAmC,EAAE;QACjE,YAAY,EAAE,OAAO;KACtB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;QACzD,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE;KACrC,CAAC,CAAC;IAEH,IAAI,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAC/C,OAAO,CAAC,SAAmB,EAC3B,SAAS,CACV,CAAC;IAEF,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACpC,eAAe,GAAG,eAAe;aAC9B,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC;aAC3B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC"}

31
node_modules/i18n-js/dist/import/helpers/parseDate.js generated vendored Normal file
View File

@@ -0,0 +1,31 @@
export function parseDate(input) {
if (input instanceof Date) {
return input;
}
if (typeof input === "number") {
const date = new Date();
date.setTime(input);
return date;
}
const matches = new String(input).match(/(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}):(\d{2})(?:[.,](\d{1,3}))?)?(Z|\+00:?00)?/);
if (matches) {
const parts = matches.slice(1, 8).map((match) => parseInt(match, 10) || 0);
parts[1] -= 1;
const [year, month, day, hour, minute, second, milliseconds] = parts;
const timezone = matches[8];
if (timezone) {
return new Date(Date.UTC(year, month, day, hour, minute, second, milliseconds));
}
else {
return new Date(year, month, day, hour, minute, second, milliseconds);
}
}
if (input.match(/([A-Z][a-z]{2}) ([A-Z][a-z]{2}) (\d+) (\d+:\d+:\d+) ([+-]\d+) (\d+)/)) {
const date = new Date();
date.setTime(Date.parse([RegExp.$1, RegExp.$2, RegExp.$3, RegExp.$6, RegExp.$4, RegExp.$5].join(" ")));
}
const date = new Date();
date.setTime(Date.parse(input));
return date;
}
//# sourceMappingURL=parseDate.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"parseDate.js","sourceRoot":"","sources":["../../../src/helpers/parseDate.ts"],"names":[],"mappings":"AAkCA,MAAM,UAAU,SAAS,CAAC,KAAe;IAEvC,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAA0B,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CACrC,wFAAwF,CACzF,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAG3E,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;QACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,IAAI,CACb,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAC/D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,IACE,KAAK,CAAC,KAAK,CACT,qEAAqE,CACtE,EACD,CAAC;QAGD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,KAAK,CACR,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CACrE,GAAG,CACJ,CACF,CACF,CAAC;IACJ,CAAC;IAGD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAEhC,OAAO,IAAI,CAAC;AACd,CAAC"}

33
node_modules/i18n-js/dist/import/helpers/pluralize.js generated vendored Normal file
View File

@@ -0,0 +1,33 @@
import { isSet } from "./isSet";
import { lookup } from "./lookup";
export function pluralize({ i18n, count, scope, options, baseScope, }) {
options = Object.assign({}, options);
let translations;
let message;
if (typeof scope === "object" && scope) {
translations = scope;
}
else {
translations = lookup(i18n, scope, options);
}
if (!translations) {
return i18n.missingTranslation.get(scope, options);
}
const pluralizer = i18n.pluralization.get(options.locale);
const keys = pluralizer(i18n, count);
const missingKeys = [];
while (keys.length) {
const key = keys.shift();
if (isSet(translations[key])) {
message = translations[key];
break;
}
missingKeys.push(key);
}
if (!isSet(message)) {
return i18n.missingTranslation.get(baseScope.split(i18n.defaultSeparator).concat([missingKeys[0]]), options);
}
options.count = count;
return i18n.interpolate(i18n, message, options);
}
//# sourceMappingURL=pluralize.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"pluralize.js","sourceRoot":"","sources":["../../../src/helpers/pluralize.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAmBlC,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,SAAS,GAOV;IACC,OAAO,qBAAQ,OAAO,CAAE,CAAC;IACzB,IAAI,YAAY,CAAC;IACjB,IAAI,OAAO,CAAC;IAEZ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;QACvC,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,WAAW,GAAgB,EAAE,CAAC;IAEpC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAY,CAAC;QAEnC,IAAI,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM;QACR,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAChC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/D,OAAO,CACR,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAEtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC"}

View File

@@ -0,0 +1,28 @@
import { BigNumber } from "bignumber.js";
import { expandRoundMode } from "./expandRoundMode";
function digitCount(numeric) {
if (numeric.isZero()) {
return 1;
}
return Math.floor(Math.log10(numeric.abs().toNumber()) + 1);
}
function getAbsolutePrecision(numeric, { precision, significant }) {
if (significant && precision !== null && precision > 0) {
return precision - digitCount(numeric);
}
return precision;
}
export function roundNumber(numeric, options) {
const precision = getAbsolutePrecision(numeric, options);
if (precision === null) {
return numeric.toString();
}
const roundMode = expandRoundMode(options.roundMode);
if (precision >= 0) {
return numeric.toFixed(precision, roundMode);
}
const rounder = Math.pow(10, Math.abs(precision));
numeric = new BigNumber(numeric.div(rounder).toFixed(0, roundMode)).times(rounder);
return numeric.toString();
}
//# sourceMappingURL=roundNumber.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"roundNumber.js","sourceRoot":"","sources":["../../../src/helpers/roundNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAQpD,SAAS,UAAU,CAAC,OAAkB;IACpC,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAkB,EAClB,EAAE,SAAS,EAAE,WAAW,EAAmB;IAE3C,IAAI,WAAW,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAaD,MAAM,UAAU,WAAW,CACzB,OAAkB,EAClB,OAAwB;IAExB,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEzD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAErD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAID,MAAM,OAAO,GAAG,SAAA,EAAE,EAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA,CAAC;IAE1C,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CACvE,OAAO,CACR,CAAC;IAEF,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC"}

102
node_modules/i18n-js/dist/import/helpers/strftime.js generated vendored Normal file
View File

@@ -0,0 +1,102 @@
const DEFAULT_OPTIONS = {
meridian: { am: "AM", pm: "PM" },
dayNames: [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
],
abbrDayNames: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
monthNames: [
null,
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December",
],
abbrMonthNames: [
null,
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec",
],
};
export function strftime(date, format, options = {}) {
const { abbrDayNames, dayNames, abbrMonthNames, monthNames, meridian: AM_PM, utc, } = Object.assign(Object.assign({}, DEFAULT_OPTIONS), options);
if (isNaN(date.getTime())) {
throw new Error("strftime() requires a valid date object, but received an invalid date.");
}
const weekDay = utc ? date.getUTCDay() : date.getDay();
const day = utc ? date.getUTCDate() : date.getDate();
const year = utc ? date.getUTCFullYear() : date.getFullYear();
const month = (utc ? date.getUTCMonth() : date.getMonth()) + 1;
const hour = utc ? date.getUTCHours() : date.getHours();
let hour12 = hour;
const meridian = hour > 11 ? "pm" : "am";
const secs = utc ? date.getUTCSeconds() : date.getSeconds();
const mins = utc ? date.getUTCMinutes() : date.getMinutes();
const offset = utc ? 0 : date.getTimezoneOffset();
const absOffsetHours = Math.floor(Math.abs(offset / 60));
const absOffsetMinutes = Math.abs(offset) - absOffsetHours * 60;
const timezoneoffset = (offset > 0 ? "-" : "+") +
(absOffsetHours.toString().length < 2
? "0" + absOffsetHours
: absOffsetHours) +
(absOffsetMinutes.toString().length < 2
? "0" + absOffsetMinutes
: absOffsetMinutes);
if (hour12 > 12) {
hour12 = hour12 - 12;
}
else if (hour12 === 0) {
hour12 = 12;
}
format = format.replace("%a", abbrDayNames[weekDay]);
format = format.replace("%A", dayNames[weekDay]);
format = format.replace("%b", abbrMonthNames[month]);
format = format.replace("%B", monthNames[month]);
format = format.replace("%d", day.toString().padStart(2, "0"));
format = format.replace("%e", day.toString());
format = format.replace("%-d", day.toString());
format = format.replace("%H", hour.toString().padStart(2, "0"));
format = format.replace("%-H", hour.toString());
format = format.replace("%k", hour.toString());
format = format.replace("%I", hour12.toString().padStart(2, "0"));
format = format.replace("%-I", hour12.toString());
format = format.replace("%l", hour12.toString());
format = format.replace("%m", month.toString().padStart(2, "0"));
format = format.replace("%-m", month.toString());
format = format.replace("%M", mins.toString().padStart(2, "0"));
format = format.replace("%-M", mins.toString());
format = format.replace("%p", AM_PM[meridian]);
format = format.replace("%P", AM_PM[meridian].toLowerCase());
format = format.replace("%S", secs.toString().padStart(2, "0"));
format = format.replace("%-S", secs.toString());
format = format.replace("%w", weekDay.toString());
format = format.replace("%y", year.toString().padStart(2, "0").substr(-2));
format = format.replace("%-y", year.toString().padStart(2, "0").substr(-2).replace(/^0+/, ""));
format = format.replace("%Y", year.toString());
format = format.replace(/%z/i, timezoneoffset);
return format;
}
//# sourceMappingURL=strftime.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"strftime.js","sourceRoot":"","sources":["../../../src/helpers/strftime.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,94 @@
import range from "lodash/range";
import { parseDate } from "./parseDate";
const within = (start, end, actual) => actual >= start && actual <= end;
export function timeAgoInWords(i18n, fromTime, toTime, options = {}) {
const scope = options.scope || "datetime.distance_in_words";
const t = (name, count = 0) => i18n.t(name, { count, scope });
fromTime = parseDate(fromTime);
toTime = parseDate(toTime);
let fromInSeconds = fromTime.getTime() / 1000;
let toInSeconds = toTime.getTime() / 1000;
if (fromInSeconds > toInSeconds) {
[fromTime, toTime, fromInSeconds, toInSeconds] = [
toTime,
fromTime,
toInSeconds,
fromInSeconds,
];
}
const distanceInSeconds = Math.round(toInSeconds - fromInSeconds);
const distanceInMinutes = Math.round((toInSeconds - fromInSeconds) / 60);
const distanceInHours = distanceInMinutes / 60;
const distanceInDays = distanceInHours / 24;
const distanceInHoursRounded = Math.round(distanceInMinutes / 60);
const distanceInDaysRounded = Math.round(distanceInDays);
const distanceInMonthsRounded = Math.round(distanceInDaysRounded / 30);
if (within(0, 1, distanceInMinutes)) {
if (!options.includeSeconds) {
return distanceInMinutes === 0
? t("less_than_x_minutes", 1)
: t("x_minutes", distanceInMinutes);
}
if (within(0, 4, distanceInSeconds)) {
return t("less_than_x_seconds", 5);
}
if (within(5, 9, distanceInSeconds)) {
return t("less_than_x_seconds", 10);
}
if (within(10, 19, distanceInSeconds)) {
return t("less_than_x_seconds", 20);
}
if (within(20, 39, distanceInSeconds)) {
return t("half_a_minute");
}
if (within(40, 59, distanceInSeconds)) {
return t("less_than_x_minutes", 1);
}
return t("x_minutes", 1);
}
if (within(2, 44, distanceInMinutes)) {
return t("x_minutes", distanceInMinutes);
}
if (within(45, 89, distanceInMinutes)) {
return t("about_x_hours", 1);
}
if (within(90, 1439, distanceInMinutes)) {
return t("about_x_hours", distanceInHoursRounded);
}
if (within(1440, 2519, distanceInMinutes)) {
return t("x_days", 1);
}
if (within(2520, 43199, distanceInMinutes)) {
return t("x_days", distanceInDaysRounded);
}
if (within(43200, 86399, distanceInMinutes)) {
return t("about_x_months", Math.round(distanceInMinutes / 43200));
}
if (within(86400, 525599, distanceInMinutes)) {
return t("x_months", distanceInMonthsRounded);
}
let fromYear = fromTime.getFullYear();
if (fromTime.getMonth() + 1 >= 3) {
fromYear += 1;
}
let toYear = toTime.getFullYear();
if (toTime.getMonth() + 1 < 3) {
toYear -= 1;
}
const leapYears = fromYear > toYear
? 0
: range(fromYear, toYear).filter((year) => new Date(year, 1, 29).getMonth() == 1).length;
const minutesInYear = 525600;
const minuteOffsetForLeapYear = leapYears * 1440;
const minutesWithOffset = distanceInMinutes - minuteOffsetForLeapYear;
const distanceInYears = Math.trunc(minutesWithOffset / minutesInYear);
const diff = parseFloat((minutesWithOffset / minutesInYear - distanceInYears).toPrecision(3));
if (diff < 0.25) {
return t("about_x_years", distanceInYears);
}
if (diff < 0.75) {
return t("over_x_years", distanceInYears);
}
return t("almost_x_years", distanceInYears + 1);
}
//# sourceMappingURL=timeAgoInWords.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"timeAgoInWords.js","sourceRoot":"","sources":["../../../src/helpers/timeAgoInWords.ts"],"names":[],"mappings":"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"}