mini-tools v1.13.2
mini-tools
mini tools for express and others
Install
$ npm install mini-tools
Main goal
Have some mini tools for express and others
API
serveErr(req, res , next)
Returns a function that sends a error message to de front-end. If the error object has setted the property
- code: is displayed before the message
- status: is sended in the header (otherwise "400" is sended)
app.post('/insert' , function(req,res){
//...
if(duplicate){
serveErr(req,res)(new Error("Duplicate name. Can't insert"));
return;
}
//...
It is promise friendly
app.use('/tools', function(req,res,next){
//...
.then(function(){
if(not_in_this_middleware){
throw new Error("next");
}
// ...
}).catch(serveErr(req,res,next));
catch expects a function that receive an error. serveErr returns that function.
When err is Error("next") serveErr calls next and does not send any result to de front-end; otherwise it sends a 400 error with the message and stack.
serveJade(path, opts)
var express = require('express');
var app = express();
app.use('/',MiniTools.serveJade('./static',true));
app.use('/main',MiniTools.serveJade('./static/index.jade',false));
Returns an express middleware to serve jade files.
If opts is boolean it will be the any option.
If any==true
it serves files adding .jade to req.path; and
if there is no jade file it call next()
.
If any==false
it serves that specific file.
Others options in opts are pased to pug.render
function.
Note: for use serveJade you must include "pug"
in package.json
serveStylus(path, any)
var express = require('express');
var app = express();
app.use('/',MiniTools.serveStylus('./static',true));
app.use('/site.css',MiniTools.serveStylus('./static/index.styl',false));
Returns an express middleware to serve jade files.
If any==true
it serves files adding .jade to req.path; and
if there is no jade file it call next()
.
If any==false
it serves that specific file.
Note: for use serveStylus you must include stylus in package.json
serveText(anyText,contentTypeText)
var express = require('express');
var app = express();
app.use('/about',MiniTools.serveText('<h1>This app</h1>','html'));
app.use('/is-up-service',MiniTools.serveText('Yes.'));
Returns an express middleware to serve pain text. Optionaly you can pass "content type".
serveJson(object)
var express = require('express');
var app = express();
var config = {devel:false, title: "title"};
app.use('/config',MiniTools.serveJson(config));
Returns an express middleware to serve an object in JSON format.
serveYaml(object)
var express = require('express');
var app = express();
var config = {devel:false, title: "title"};
app.use('/config',MiniTools.serveYaml(config));
Returns an express middleware to serve an object in yaml format (using js-yaml).
readConfig(list, opts)
MiniTools.readConfig(
[
{production: true},
'package.json',
'other-configs.yml',
'more-configs',
],
{whenNotExist:'ignore'}
).then(function(config){
console.log(config);
});
Reads the chain of configuration merging with best-globals.changing.
If the list element is a fileName ending with .json .yaml o .yml, it reads and parse, if doesn't have extension it search first, if it is a plain object it uses directly.
options
- whenNotExist:'ignore'
- whenNotExist:'fail'
License
8 months ago
8 months ago
11 months ago
2 years ago
2 years ago
2 years ago
4 years ago
4 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago