1.0.3 • Published 10 years ago

dir_cache v1.0.3

Weekly downloads
8
License
UNLICENSED
Repository
github
Last release
10 years ago

cacheDir

This module is needed for caching data. It can search for files with certain extension in folders. Collect file contents or contents could be through a flaw require function. Also caches template files swigJs.

Installation


npm install utils-igor

example


var dirCache = require('./index');
var async = require('async');
var ut = require('util');

async.series([

        (done) => {
            console.log('Test scan all file in folder');
            dirCache.scan({dirs : 'for-example/views1'}, (e, scan) => {

                if (e) {
                    console.log('Error initail', e);
                    return done();
                }

                scan.run((e, res) => {
                    console.log('err ', e);
                    console.log('res ', ut.inspect(res, false,  null));
                    done();
                });
            }) ;
        },

        (done)  => {
            console.log('Test read two folders. Get only html files');
            dirCache.read({
                dirs : ['for-example/views1', 'for-example/views'],
                exts : ['.html']
            }, (e, scan) => {

                if (e) {
                    console.log('Error initail', e);
                    return done();
                }

                scan.run((e, res) => {
                    console.log('err ', e);
                    console.log('res ', ut.inspect(res, false,  null));
                    done();
                });
            }) ;

        },

        (done)  => {
            console.log('Test get files for swig');
            dirCache.swig({
                dirs : 'for-example/views1',
                exts : '.html'
            }, (e, scan) => {

                if (e) {
                    console.log('Error initail', e);
                    return done();
                }

                scan.run((e, res) => {
                    console.log('err ', e);
                    console.log('res ', ut.inspect(res, false,  null));
                    done();
                });
            }) ;

        },

        (done) => {
            console.log('Test get files for required js, json and call exporst if is function');
            dirCache.required({
                dirs : 'for-example/controllers'
            }, (e, scan) => {

                if (e) {
                    console.log('Error initail', e);
                    return done();
                }

                scan.run((e, res) => {
                    console.log('err ', e);
                    console.log('res ', ut.inspect(res, false,  null));
                    done();
                });
            }) ;

        },

    (done) => {
        console.log('Test get files for required js');
        dirCache.required({
            dirs : 'for-example/controllers',
            isCall : false,
            exts : '.js'
        }, (e, scan) => {

            if (e) {
                console.log('Error initail', e);
                return done();
            }

            scan.run((e, res) => {
                console.log('err ', e);
                console.log('res ', ut.inspect(res, false,  null));
                done();
            });
        }) ;

    },

    (done) => {
        console.log('Test get files for required js with call with a specified method');
        dirCache.required({
            dirs : 'for-example/controllers',
            isCall : false,
            call : 'init',
            exts : '.js'
        }, (e, scan) => {

            if (e) {
                console.log('Error initail', e);
                return done();
            }

            scan.run((e, res) => {
                console.log('err ', e);
                console.log('res ', ut.inspect(res, false,  null));
                done();
            });
        }) ;

    }

], function (e) {
    console.log('The end :)');
});

module.exports : Object

Exports classes

Kind: Exported member

module.exports~Frame

It is a frame for other classes

Kind: inner class of module.exports

frame.err(mess) ⇒ Object

Return error object and set flag for stop process

Kind: instance method of Frame

Param
mess

frame.warn(mess, that)

Get text for message

Kind: instance method of Frame

ParamType
messString
thatClass

module.exports~Scan

Search files in folders

Kind: inner class of module.exports

new Scan(options, cb)

Set option to class and run callback

ParamType
optionsobject
cbfunction

scan.valid(options)

Validates options

Kind: instance method of Scan

ParamType
optionsObject

scan.beforeValid(options) ⇒ Object

Hook before validates options

Kind: instance method of Scan

ParamType
optionsObject

scan.iterValid(options, k, v) ⇒ boolean

Hook for iter validates options

Kind: instance method of Scan

ParamType
optionsObject
kString
vString

scan.isCorrectExt(file) ⇒ boolean

Check extension file

Kind: instance method of Scan

ParamType
fileString

scan.isAll() ⇒ boolean

Check use all extension

Kind: instance method of Scan

scan.run(cb) ⇒ *

Start search process

Kind: instance method of Scan

ParamType
cbfunction

module.exports~Swig

Get text swig template files and jon partial

Kind: inner class of module.exports

swig.run(cb)

Start collected process

Kind: instance method of Swig

ParamType
cbfunction

swig.fileGet(dir, file, endFile)

Get text files

Kind: instance method of Swig

ParamType
dirString
fileString
endFilefunction

swig.fileToRes(pathFile, dir, file, data, cb)

Write text to result

Kind: instance method of Swig

ParamType
pathFileString
dirString
fileString
dataString
cbfunction

swig.dataToRes(pathFile, dir, {Stringfile, {Stringdata, cb) ⇒ *

Write data to result

Kind: instance method of Swig

ParamType
pathFileString
dirString
{Stringfile
{Stringdata
cbfunction

swig.oneLineBreak(data) ⇒ string | XML | * | void

Clears data from the extra line breaks

Kind: instance method of Swig

ParamType
dataString

module.exports~Reader

Get text any files

Kind: inner class of module.exports

reader.fileToRes(pathFile, dir, file, data, endFile)

Write text to result

Kind: instance method of Reader

ParamType
pathFileString
dirString
fileString
dataString
endFilefunction

module.exports~Reuired

Get files via function require

Kind: inner class of module.exports

reuired.beforeValid(options) ⇒ Object

Overwrite before valid

Kind: instance method of Reuired

ParamType
optionsString

reuired.fileGet(dir, file, endFile) ⇒ *

Overwrite fileGet

Kind: instance method of Reuired

ParamType
dirString
fileString
endFilefunction

module.exports~Cache

Create object for saving data

Kind: inner class of module.exports