0ad/binaries/data/mods/mod/globalscripts/sprintf.js

263 lines
11 KiB
JavaScript
Raw Normal View History

/**
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
sprintf() for JavaScript v1.1.2
https://github.com/alexei/sprintf.js
Copyright (c) 2007-2013, Alexandru Marasteanu <hello [at) alexei (dot] ro>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of this software nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**/
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
/* global window, exports, define */
!function(window)
{
'use strict'
var re = {
not_string: /[^s]/,
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
not_bool: /[^t]/,
not_type: /[^T]/,
not_primitive: /[^v]/,
number: /[diefg]/,
numeric_arg: /[bcdiefguxX]/,
json: /[j]/,
not_json: /[^j]/,
text: /^[^\x25]+/,
modulo: /^\x25{2}/,
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
key: /^([a-z_][a-z_\d]*)/i,
key_access: /^\.([a-z_][a-z_\d]*)/i,
index_access: /^\[(\d+)\]/,
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
sign: /^[+-]/
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
function sprintf(key) {
// `arguments` is not an array, but should be fine for this call
return sprintf_format(sprintf_parse(key), arguments)
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
function vsprintf(fmt, argv) {
return sprintf.apply(null, [fmt].concat(argv || []))
}
function sprintf_format(parse_tree, argv) {
var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign
for (i = 0; i < tree_length; i++) {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
if (typeof parse_tree[i] === 'string') {
output += parse_tree[i]
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
else if (typeof parse_tree[i] === 'object') {
ph = parse_tree[i] // convenience purposes only
if (ph.keys) { // keyword argument
arg = argv[cursor]
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
for (k = 0; k < ph.keys.length; k++) {
if (arg == undefined) {
throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k-1]))
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
arg = arg[ph.keys[k]]
}
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
else if (ph.param_no) { // positional argument (explicit)
arg = argv[ph.param_no]
}
else { // positional argument (implicit)
arg = argv[cursor++]
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
arg = arg()
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {
throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
if (re.number.test(ph.type)) {
is_positive = arg >= 0
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
switch (ph.type) {
case 'b':
arg = parseInt(arg, 10).toString(2)
break
case 'c':
arg = String.fromCharCode(parseInt(arg, 10))
break
case 'd':
case 'i':
arg = parseInt(arg, 10)
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
break
case 'j':
arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)
break
case 'e':
arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()
break
case 'f':
arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)
break
case 'g':
arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)
break
case 'o':
arg = (parseInt(arg, 10) >>> 0).toString(8)
break
case 's':
arg = String(arg)
arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
break
case 't':
arg = String(!!arg)
arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
break
case 'T':
arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()
arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
break
case 'u':
arg = parseInt(arg, 10) >>> 0
break
case 'v':
arg = arg.valueOf()
arg = (ph.precision ? arg.substring(0, ph.precision) : arg)
break
case 'x':
arg = (parseInt(arg, 10) >>> 0).toString(16)
break
case 'X':
arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()
break
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
if (re.json.test(ph.type)) {
output += arg
}
else {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
sign = is_positive ? '+' : '-'
arg = arg.toString().replace(re.sign, '')
}
else {
sign = ''
}
pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '
pad_length = ph.width - (sign + arg).length
pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''
output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)
}
}
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
return output
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
var sprintf_cache = Object.create(null)
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
function sprintf_parse(fmt) {
if (sprintf_cache[fmt]) {
return sprintf_cache[fmt]
}
var _fmt = fmt, match, parse_tree = [], arg_names = 0
while (_fmt) {
if ((match = re.text.exec(_fmt)) !== null) {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
parse_tree.push(match[0])
}
else if ((match = re.modulo.exec(_fmt)) !== null) {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
parse_tree.push('%')
}
else if ((match = re.placeholder.exec(_fmt)) !== null) {
if (match[2]) {
arg_names |= 1
var field_list = [], replacement_field = match[2], field_match = []
if ((field_match = re.key.exec(replacement_field)) !== null) {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
field_list.push(field_match[1])
while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {
if ((field_match = re.key_access.exec(replacement_field)) !== null) {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
field_list.push(field_match[1])
}
else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
field_list.push(field_match[1])
}
else {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
throw new SyntaxError('[sprintf] failed to parse named argument key')
}
}
}
else {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
throw new SyntaxError('[sprintf] failed to parse named argument key')
}
match[2] = field_list
}
else {
arg_names |= 2
}
if (arg_names === 3) {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
parse_tree.push(
{
placeholder: match[0],
param_no: match[1],
keys: match[2],
sign: match[3],
pad_char: match[4],
align: match[5],
width: match[6],
precision: match[7],
type: match[8]
}
)
}
else {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
throw new SyntaxError('[sprintf] unexpected placeholder')
}
_fmt = _fmt.substring(match[0].length)
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
return sprintf_cache[fmt] = parse_tree
}
/**
* export to either browser or node.js
*/
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
/* eslint-disable quote-props */
if (typeof exports !== 'undefined') {
exports['sprintf'] = sprintf
exports['vsprintf'] = vsprintf
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
if (typeof window !== 'undefined') {
window['sprintf'] = sprintf
window['vsprintf'] = vsprintf
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
if (typeof define === 'function' && define['amd']) {
define(function() {
return {
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
'sprintf': sprintf,
'vsprintf': vsprintf
}
})
}
}
Update sprintf.js library from 1.0.2 to 1.1.2. Includes a changeset that removes a SpiderMonkey segfault from occurring (when passing an XmppClient JS::Heap or JS::PersistentRooted GUIMessage following 9023f4bebb), refs #5636. https://bugzilla.mozilla.org/show_bug.cgi?id=1234425 https://bugzilla.mozilla.org/show_bug.cgi?id=1238475 https://github.com/alexei/sprintf.js/commit/61c795624204883948c0e19f8af208f5359e6fdb sprintf.js commits that add new features: padding (intent) support: https://github.com/alexei/sprintf.js/commit/9e846915e273ebeb12b4decc59af94d596e5ee92 Adds support for the %g placeholder g — yields a float as is; see notes on precision above https://github.com/alexei/sprintf.js/commit/a60a5705fcb589b55373b1f15f2b4b5b5892f19c Adds type option T — yields the type of the argument1 https://github.com/alexei/sprintf.js/commit/c31c24ecefe92abff04fc38f860ad50c97bebf62 Adds support for the %t (boolean) type specifier t — yields true or false https://github.com/alexei/sprintf.js/commit/b92b530c7a4c6ef98632339e05cdea8a041da857 Adds support for returning primitive values through the %v specifier v — yields the primitive value of the specified argument https://github.com/alexei/sprintf.js/commit/f18037240bbbc7d53ede6be9a1d7bc964a75e309 The other commits clean sprintf internals and do not change the existing formats, see: https://github.com/alexei/sprintf.js/blob/1.0.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/src/sprintf.js https://github.com/alexei/sprintf.js/blob/1.1.2/README.md Differential Revision: https://code.wildfiregames.com/D2421 Tested by: Angen This was SVN commit r23157.
2019-11-14 05:00:35 -08:00
/* eslint-enable quote-props */
}(this); // eslint-disable-line