UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

27 lines (26 loc) 900 B
"use strict"; 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; }