locutus
Version:
Locutus other languages' standard libraries to JavaScript for fun and educational purposes
24 lines (23 loc) • 758 B
JavaScript
import { echo } from "../strings/echo.js";
import { sprintf } from "../strings/sprintf.js";
export 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 = sprintf(format, ...values);
if (ret === false) {
return 0;
}
echo(ret);
return ret.length;
}