swint-helper
v1.2.11
Published
Helper functions and classes for Swint
Downloads
474
Maintainers
Readme
swint-helper
Helper functions and classes for Swint
Installation
$ npm install --save swint-helper
API
.defaultize(defVal, tgtVal)
Filling default value to an JavaScript object.
If tgtVal
doesn't have the key -> It is filled from defVal
, recursively.
If tgtVal
doesn't have enough values at the Array -> It is filed from defVal
, recursively.
Examples
var def,
tgt;
def = {
a: 1,
b: 'aaa',
c: [1, 2, 3]
};
tgt = {
b: 'bbb',
c: [4]
};
defaultize(def, tgt);
// tgt ==> { a: 1, b: 'bbb', c: [4, 2, 3] }
.validate(ruleVal, tgtVal)
Recursively looks through an object to see if its values match the rules
Rules
undefined
: Can be any type0
: Has to be a Number''
: Has to be a String'aaa\bbbb\bccc'
: Has to be enum('aaa', 'bbb', 'ccc')new Date(0)
: Has to be a Date{}
: Has to be an object[0]
: Has to be an Array of Numbers['']
: Has to be an Array of Strings[new Date(0)]
: Has to be an Array of Dates[[0]]
: Has to be an Array of Arrays of Numbers{ a: 0 }
: Has to be an Object with key of a: Number
Examples
var r = {
a: 0,
b: '',
c: {
d: [0],
e: undefined
}
},
t = {
a: 100,
b: 'Monday',
c: {
d: [1,2,3],
e: 'Friday'
}
};
var o = validate(r, t);
// o ==> [ true, [] ]
If the target didn't match the target, it will return false and a path to the failing entry:
var r = {
a: 0,
b: '',
c: {
d: [0],
e: undefined
}
},
t = {
a: 100,
b: 'Monday',
c: {
d: ['a', 'b', 'c'],
e: 'Friday'
}
};
var o = validate(r, t);
// o ==> [ false, [ 'c', 'd', 0 ] ]
.print([level], msg1, [msg2, ...])
Prints messages and associated levels
Levels
- 0(
print.RAW
) : RAW - 1(
print.DEBUG
) : DEBUG(default) - 2(
print.INFO
) : INFO - 3(
print.WARN
) : WARNING - 4(
print.ERROR
) : ERROR
Examples
print(0, 'Raw message');
print(print.RAW, 'Raw message');
// ==> Raw message
print(1, 'Debug message');
print(print.DEBUG, 'Debug message');
// ==> DEBUG/2015-05-07T13:55:35.612Z)
// Debug message
print(2, 'Info message');
print(print.INFO, 'Info message');
// ==> INFO /2015-05-07T13:55:35.612Z)
// Info message
print(3, 'Warning message');
print(print.WARN, 'Warning message');
// ==> WARN /2015-05-07T13:55:35.612Z)
// Warning message
print(4, 'Error message');
print(print.ERROR, 'Error message');
// ==> ERROR/2015-05-07T13:55:35.612Z)
// Error message
// Setting the printLevel sets a minimum requirement for the levels
global.swintVar.printLevel = 3;
print(0, 'Raw message'); // Would not print
print(1, 'Debug message'); // Would not print
print(2, 'Info message'); // Would not print
print(3, 'Warning message'); // Would print
print(4, 'Error message'); // Would print
.walk(options)
Walks directory and returns the list of file. The dir should be a full path.
Options
The whitelist precedes blacklist.
dir
:String
, default:path.dirname(require.main.filename)
ext
:String
, default:'*'
whitelist
:function(fullPath)
, default: passblacklist
:function(fullPath)
, default: extension, starting with_
baseOrderRule
:Boolean
, default:true
, whether using baseOrderRuleorderRule
:function(a, b)
, default: ...head
:String
, default:'Intro'
tail
:String
, default:'Outro'
Example
var list = walk({
dir: path.join(__dirname, 'myDir'),
ext: 'js'
});
.concat(fileList)
Concatenating file contents on the fileList and returns string
Example
var str = concat([
path.join(__dirname, 'aaa.txt'),
path.join(__dirname, 'bbb.txt'),
path.join(__dirname, 'ccc.txt')
]);
.createHash(options)
Creates key-secret SHA-256 hash pair based on the salt. This pair can be verified the check-hash
middleware from swint-middleware
.
Options
key
:Number
, default: 15secret
:Number
, default: 25salt
:String
, default:SwintIsForTwins
Example
var hashPair = createHash({
salt: 'ItIsSalty'
});
// hashPair.key, hashPair.secret is generated
.traverseWithQuery(struct, query)
Traverses through a structure by following a list of keys/indexs.
Example
var s = { a: [1, 2, { b: 'ccc' } ] },
s2 = { a: { b: 'ccc2' } };
var o = traverseWithQuery(s, ['a', 2, 'b']),
o2 = traverseWithQuery(s2, 'a.b');
// o ==> 'ccc'
// o2 ==> 'ccc2'