UNPKG

locutus

Version:

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

24 lines (23 loc) 758 B
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; }