locutus
Version:
Locutus other languages' standard libraries to JavaScript for fun and educational purposes
27 lines (26 loc) • 900 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.vprintf = vprintf;
const echo_ts_1 = require("../strings/echo.js");
const sprintf_ts_1 = require("../strings/sprintf.js");
function vprintf(format, ...restArgs) {
// discuss at: https://locutus.io/php/vprintf/
// original by: Ash Searle (https://hexmen.com/blog/)
// improved by: Michael White (https://getsprink.com)
// reimplemented by: Brett Zamir (https://brett-zamir.me)
// example 1: vprintf("%01.2f", 123.1)
// returns 1: 6
let values = [];
if (restArgs.length === 1 && Array.isArray(restArgs[0])) {
values = restArgs[0];
}
else {
values = restArgs;
}
const ret = (0, sprintf_ts_1.sprintf)(format, ...values);
if (ret === false) {
return 0;
}
(0, echo_ts_1.echo)(ret);
return ret.length;
}