Skip to content

eagle7410/dir-cache

Repository files navigation

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

Param Type
mess String
that Class

module.exports~Scan

Search files in folders

Kind: inner class of module.exports

new Scan(options, cb)

Set option to class and run callback

Param Type
options object
cb function

scan.valid(options)

Validates options

Kind: instance method of Scan

Param Type
options Object

scan.beforeValid(options) ⇒ Object

Hook before validates options

Kind: instance method of Scan

Param Type
options Object

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

Hook for iter validates options

Kind: instance method of Scan

Param Type
options Object
k String
v String

scan.isCorrectExt(file) ⇒ boolean

Check extension file

Kind: instance method of Scan

Param Type
file String

scan.isAll() ⇒ boolean

Check use all extension

Kind: instance method of Scan

scan.run(cb) ⇒ *

Start search process

Kind: instance method of Scan

Param Type
cb function

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

Param Type
cb function

swig.fileGet(dir, file, endFile)

Get text files

Kind: instance method of Swig

Param Type
dir String
file String
endFile function

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

Write text to result

Kind: instance method of Swig

Param Type
pathFile String
dir String
file String
data String
cb function

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

Write data to result

Kind: instance method of Swig

Param Type
pathFile String
dir String
{Stringfile
{Stringdata
cb function

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

Clears data from the extra line breaks

Kind: instance method of Swig

Param Type
data String

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

Param Type
pathFile String
dir String
file String
data String
endFile function

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

Param Type
options String

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

Overwrite fileGet

Kind: instance method of Reuired

Param Type
dir String
file String
endFile function

module.exports~Cache

Create object for saving data

Kind: inner class of module.exports

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published