🎉 initiate project *astro_rewrite*
This commit is contained in:
parent
ffd4d5e86c
commit
2ba37bfbe3
8658 changed files with 2268794 additions and 2538 deletions
1
node_modules/format/.npmignore
generated
vendored
Normal file
1
node_modules/format/.npmignore
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
*.tmproj
|
||||
13
node_modules/format/Makefile
generated
vendored
Normal file
13
node_modules/format/Makefile
generated
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
minify: real-minify test-minified
|
||||
|
||||
real-minify: format.js
|
||||
rm -f format-min.js
|
||||
closure <format.js >|format-min.js
|
||||
|
||||
test:
|
||||
node test_format.js
|
||||
|
||||
test-minified:
|
||||
node test_format.js ./format-min.js
|
||||
|
||||
.PHONY: test test-minified
|
||||
46
node_modules/format/Readme.md
generated
vendored
Normal file
46
node_modules/format/Readme.md
generated
vendored
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
format
|
||||
======
|
||||
|
||||
printf, sprintf, and vsprintf for JavaScript
|
||||
|
||||
|
||||
Installation
|
||||
============
|
||||
|
||||
npm install format
|
||||
|
||||
The code works in browsers as well, you can copy these functions into your project
|
||||
or otherwise include them with your other JavaScript.
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
var format = require('format')
|
||||
, printf = format.printf
|
||||
, vsprintf = format.vsprintf
|
||||
// or if you want to keep it old school
|
||||
, sprintf = format
|
||||
|
||||
// Print 'hello world'
|
||||
printf('%s world', 'hello')
|
||||
|
||||
var what = 'life, the universe, and everything'
|
||||
format('%d is the answer to %s', 42, what)
|
||||
// => '42 is the answer to life, the universe, and everything'
|
||||
|
||||
vsprintf('%d is the answer to %s', [42, what])
|
||||
// => '42 is the answer to life, the universe, and everything'
|
||||
|
||||
Supported format specifiers: b, c, d, f, o, s, x, and X.
|
||||
|
||||
See `man 3 printf` or `man 1 printf` for details.
|
||||
|
||||
Precision is supported for floating point numbers.
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
Copyright 2010 - 2014 Sami Samhuri sami@samhuri.net
|
||||
|
||||
[MIT license](http://sjs.mit-license.org)
|
||||
|
||||
9
node_modules/format/component.json
generated
vendored
Normal file
9
node_modules/format/component.json
generated
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"name": "format",
|
||||
"repo": "samsonjs/format",
|
||||
"description": "printf, sprintf, and vsprintf for JavaScript",
|
||||
"keywords": ["format", "printf", "sprintf", "vsprintf", "string"],
|
||||
"version": "0.2.2",
|
||||
"main": "format.js",
|
||||
"scripts": ["format.js"]
|
||||
}
|
||||
2
node_modules/format/format-min.js
generated
vendored
Normal file
2
node_modules/format/format-min.js
generated
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
(function(){function f(){console.log(e.apply(null,arguments))}function e(h){for(var e=1,d=[].slice.call(arguments),g=0,f=h.length,a="",b,i=!1,j,c=function(){return d[e++]},k=function(){for(var a="";h[g].match(/\d/);)a+=h[g++];return a.length>0?parseInt(a):null};g<f;++g)if(b=h[g],i)switch(i=!1,j=k(),b){case "b":a+=parseInt(c(),10).toString(2);break;case "c":b=c();a+=typeof b==="string"||b instanceof String?b:String.fromCharCode(parseInt(b,10));break;case "d":a+=parseInt(c(),10);break;case "f":a+=parseFloat(c()).toFixed(j||
|
||||
6);break;case "o":a+="0"+parseInt(c(),10).toString(8);break;case "s":a+=c();break;case "x":a+="0x"+parseInt(c(),10).toString(16);break;case "X":a+="0x"+parseInt(c(),10).toString(16).toUpperCase();break;default:a+=b}else b==="%"?i=!0:a+=b;return a}var d;d=typeof module!=="undefined"?module.exports=e:function(){return this||(0,eval)("this")}();d.format=e;d.vsprintf=function(d,f){return e.apply(null,[d].concat(f))};if(typeof console!=="undefined"&&typeof console.log==="function")d.printf=f})();
|
||||
128
node_modules/format/format.js
generated
vendored
Normal file
128
node_modules/format/format.js
generated
vendored
Normal file
|
|
@ -0,0 +1,128 @@
|
|||
//
|
||||
// format - printf-like string formatting for JavaScript
|
||||
// github.com/samsonjs/format
|
||||
// @_sjs
|
||||
//
|
||||
// Copyright 2010 - 2013 Sami Samhuri <sami@samhuri.net>
|
||||
//
|
||||
// MIT License
|
||||
// http://sjs.mit-license.org
|
||||
//
|
||||
|
||||
;(function() {
|
||||
|
||||
//// Export the API
|
||||
var namespace;
|
||||
|
||||
// CommonJS / Node module
|
||||
if (typeof module !== 'undefined') {
|
||||
namespace = module.exports = format;
|
||||
}
|
||||
|
||||
// Browsers and other environments
|
||||
else {
|
||||
// Get the global object. Works in ES3, ES5, and ES5 strict mode.
|
||||
namespace = (function(){ return this || (1,eval)('this') }());
|
||||
}
|
||||
|
||||
namespace.format = format;
|
||||
namespace.vsprintf = vsprintf;
|
||||
|
||||
if (typeof console !== 'undefined' && typeof console.log === 'function') {
|
||||
namespace.printf = printf;
|
||||
}
|
||||
|
||||
function printf(/* ... */) {
|
||||
console.log(format.apply(null, arguments));
|
||||
}
|
||||
|
||||
function vsprintf(fmt, replacements) {
|
||||
return format.apply(null, [fmt].concat(replacements));
|
||||
}
|
||||
|
||||
function format(fmt) {
|
||||
var argIndex = 1 // skip initial format argument
|
||||
, args = [].slice.call(arguments)
|
||||
, i = 0
|
||||
, n = fmt.length
|
||||
, result = ''
|
||||
, c
|
||||
, escaped = false
|
||||
, arg
|
||||
, tmp
|
||||
, leadingZero = false
|
||||
, precision
|
||||
, nextArg = function() { return args[argIndex++]; }
|
||||
, slurpNumber = function() {
|
||||
var digits = '';
|
||||
while (/\d/.test(fmt[i])) {
|
||||
digits += fmt[i++];
|
||||
c = fmt[i];
|
||||
}
|
||||
return digits.length > 0 ? parseInt(digits) : null;
|
||||
}
|
||||
;
|
||||
for (; i < n; ++i) {
|
||||
c = fmt[i];
|
||||
if (escaped) {
|
||||
escaped = false;
|
||||
if (c == '.') {
|
||||
leadingZero = false;
|
||||
c = fmt[++i];
|
||||
}
|
||||
else if (c == '0' && fmt[i + 1] == '.') {
|
||||
leadingZero = true;
|
||||
i += 2;
|
||||
c = fmt[i];
|
||||
}
|
||||
else {
|
||||
leadingZero = true;
|
||||
}
|
||||
precision = slurpNumber();
|
||||
switch (c) {
|
||||
case 'b': // number in binary
|
||||
result += parseInt(nextArg(), 10).toString(2);
|
||||
break;
|
||||
case 'c': // character
|
||||
arg = nextArg();
|
||||
if (typeof arg === 'string' || arg instanceof String)
|
||||
result += arg;
|
||||
else
|
||||
result += String.fromCharCode(parseInt(arg, 10));
|
||||
break;
|
||||
case 'd': // number in decimal
|
||||
result += parseInt(nextArg(), 10);
|
||||
break;
|
||||
case 'f': // floating point number
|
||||
tmp = String(parseFloat(nextArg()).toFixed(precision || 6));
|
||||
result += leadingZero ? tmp : tmp.replace(/^0/, '');
|
||||
break;
|
||||
case 'j': // JSON
|
||||
result += JSON.stringify(nextArg());
|
||||
break;
|
||||
case 'o': // number in octal
|
||||
result += '0' + parseInt(nextArg(), 10).toString(8);
|
||||
break;
|
||||
case 's': // string
|
||||
result += nextArg();
|
||||
break;
|
||||
case 'x': // lowercase hexadecimal
|
||||
result += '0x' + parseInt(nextArg(), 10).toString(16);
|
||||
break;
|
||||
case 'X': // uppercase hexadecimal
|
||||
result += '0x' + parseInt(nextArg(), 10).toString(16).toUpperCase();
|
||||
break;
|
||||
default:
|
||||
result += c;
|
||||
break;
|
||||
}
|
||||
} else if (c === '%') {
|
||||
escaped = true;
|
||||
} else {
|
||||
result += c;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}());
|
||||
27
node_modules/format/package.json
generated
vendored
Normal file
27
node_modules/format/package.json
generated
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"name": "format",
|
||||
"description": "printf, sprintf, and vsprintf for JavaScript",
|
||||
"version": "0.2.2",
|
||||
"homepage": "http://samhuri.net/proj/format",
|
||||
"author": "Sami Samhuri <sami@samhuri.net>",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/samsonjs/format.git"
|
||||
},
|
||||
"bugs": {
|
||||
"email": "sami@samhuri.net",
|
||||
"url": "https://github.com/samsonjs/format/issues"
|
||||
},
|
||||
"main": "./format.js",
|
||||
"engines": {
|
||||
"node": ">=0.4.x"
|
||||
},
|
||||
"licenses": [
|
||||
{
|
||||
"type": "MIT",
|
||||
"url": "http://sjs.mit-license.org"
|
||||
}
|
||||
],
|
||||
"dependencies": {},
|
||||
"devDependencies": {}
|
||||
}
|
||||
54
node_modules/format/test_format.js
generated
vendored
Normal file
54
node_modules/format/test_format.js
generated
vendored
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
var filename = process.argv[2] || './format.js'
|
||||
, format = require(filename)
|
||||
, printf = format.printf
|
||||
;
|
||||
|
||||
function desc(x, indentLevel) {
|
||||
indentLevel = indentLevel || 0;
|
||||
var indent = new Array(indentLevel).join(' ');
|
||||
if (typeof x == 'string' || (x && x.__proto__ == String.prototype)) {
|
||||
return indent + '"' + x + '"';
|
||||
}
|
||||
else if (Array.isArray(x)) {
|
||||
return indent + '[ ' + x.map(desc).join(', ') + ' ]';
|
||||
}
|
||||
else {
|
||||
return '' + x;
|
||||
}
|
||||
}
|
||||
|
||||
function assertFormat(args, expected) {
|
||||
var fmt = args[0];
|
||||
var result = format.format.apply(format, args);
|
||||
if (result !== expected) {
|
||||
console.log('FORMAT: "' + fmt + '"');
|
||||
console.log('ARGS: ' + desc(args.slice(1)));
|
||||
console.log('RESULT: "' + result + '"');
|
||||
throw new Error('assertion failed, ' + result + ' !== ' + expected);
|
||||
}
|
||||
}
|
||||
|
||||
console.log('Testing format:');
|
||||
|
||||
var tests = [
|
||||
[['hello'], 'hello'],
|
||||
[['hello %s', 'sami'], 'hello sami'],
|
||||
[
|
||||
['b: %b\nc: %c\nd: %d\nf: %f\no: %o\ns: %s\nx: %x\nX: %X', 42, 65, 42*42, 42*42*42/1000000000, 255, 'sami', 0xfeedface, 0xc0ffee],
|
||||
"b: 101010\nc: A\nd: 1764\nf: 0.000074\no: 0377\ns: sami\nx: 0xfeedface\nX: 0xC0FFEE"
|
||||
],
|
||||
[['%.2f', 3.14159], '3.14'],
|
||||
[['%0.2f', 3.14159], '3.14'],
|
||||
[['%.2f', 0.1234], '.12'],
|
||||
[['%0.2f', 0.1234], '0.12'],
|
||||
[['foo %j', 42], 'foo 42'],
|
||||
[['foo %j', '42'], 'foo "42"']
|
||||
];
|
||||
tests.forEach(function(spec) {
|
||||
var args = spec[0];
|
||||
var expected = spec[1];
|
||||
assertFormat(args, expected);
|
||||
console.log('pass (format ' + args[0] + ' == ' + expected + ')');
|
||||
});
|
||||
|
||||
console.log('all passed');
|
||||
Loading…
Add table
Add a link
Reference in a new issue