Install & Use
npm i vv-shared
const vvs = require('vv-shared')
console.log(vvs.toString(42))
Functions
-
isEmpty(object) ⇒
boolean
-
Check object for undefined, null, NaN
-
isEmptyString(object) ⇒
boolean
-
isEmpty + .trim() + check len > 0
-
isFunction(object) ⇒
boolean
-
Check object for function
-
isGuid(object) ⇒
boolean
-
Check object for GUID
-
nz(object1, object2, [object3], [object4], [object5]) ⇒
any
-
Return first non-empty parameter
-
equal(object1, object2) ⇒
boolean
-
Equal two objects
-
duplicates(where_find_duplicates) ⇒
Array.<string>
-
Return array with duplicates items from string array (after trim and toLowerCase)
-
toString(value, [default_value]) ⇒
string
-
Convert object to string
-
toStringDeclension(value, phrase_one, phrase_two, phrase_few) ⇒
string
-
Add phrase to int
-
toInt(value, [default_value]) ⇒
number
-
Convert object to integer
-
toFloat(value, [default_value]) ⇒
number
-
Convert object to float
-
toBool(value, [default_value]) ⇒
boolean
-
Convert object to boolean
-
toGuid(value, [default_value]) ⇒
string
-
Convert object to guid
-
toDate([value], [default_value]) ⇒
Date
-
Convert object to date (with current GMT)
-
toDateWithoutTime(value, [default_value]) ⇒
Date
-
Convert object to date without time
-
toTime(value, [default_value]) ⇒
Date
-
Convert object to date 01.01.1900 with time from object
-
toHex(value, [default_value]) ⇒
string
-
convert Buffer or Array[int] to hex
-
toIp(value, [default_value]) ⇒
string
-
Contert object to string with IP format
-
toArray(value, [type]) ⇒
Array.<Object>
-
Convert object to array, used for params like {string|string[]}
-
toCharArray(char, count) ⇒
string
-
Returns a string filled with the specified character
-
toErrorMessage(error, [prefix], [replaces], [sourсe]) ⇒
string
-
Returns a nice formatted error message - wrapper for format()
-
toHtml(value) ⇒
string
-
Return string for inject in html
-
roundFload(value, digits) ⇒
number
-
True round
-
split(string_for_split, left, right, [collapse_doubles]) ⇒
Array.<string>
-
split string, for example - '{asasdas}{234235}{}{vcvc}', and return array ['asasdas','234235','','vcvc']
-
insertAt(string_where_insert, index, substring_for_replace) ⇒
string
-
insert substring in string
-
replaceAll(string_where_find, find, replace, [recursively]) ⇒
string
-
Replace all substring in string
-
format(string_for_format, [replaces]) ⇒
string
-
Replace substrings in string like format in c#
-
formatExt(string_for_format, [replaces], [left], [right]) ⇒
string
-
Replace substrings in string like "format" with specify border characters
-
formatDate(date, format) ⇒
string
-
Format date to string
-
cutFromArray(arr, index) ⇒
Array.<Object>
-
return array without one element - cut it (analog slice), but the original array does not change
-
dateAdd(interval, value, date) ⇒
Date
-
increase (or decrease) date by second or minutes or hours or days
-
findPropertyInObject(object, property_name) ⇒
string
-
Search case insensitive property name in object
-
findPropertyExistsInObject(object, property_name) ⇒
boolean
-
Checking if exists insensitive property name in object
-
findPropertyValueInObject(object, property_name, [default_value]) ⇒
any
-
Search value by case insensitive property name in object
-
findSubstrings(params) ⇒
Array.<type_findSubstrings_result>
-
Find substrings in text array
-
border_add(string_where_add, [left], [right]) ⇒
string
-
For left and right in string add border string, if border not exists
-
border_del(string_where_find, [left], [right]) ⇒
string
-
For left and right in string remove border string, if border not exists
-
text_page_char(text, page_size) ⇒
Array.<type_text_page_char>
-
Text pagination by char count per one page
-
text_page_byte(text, text_page_char_result) ⇒
Array.<type_text_page_byte>
-
Convert text_page_char result to byte markup for fs.createReadStream(...)
- guid()
-
Generate NON-UNIQUE guid by very-sery simple idea, based only on Math.random()
-
parser(parser_options) ⇒
lib_parser
-
Simple parser for, example, js code or sql code
- readdir(dir, options, callback)
-
Recursive scan directory
Typedefs
- type_findSubstrings
- type_findSubstrings_result
- type_text_page_char
- type_text_page_byte
-
parser_options :
lib_parser.type_options
-
parser_lexem :
lib_parser.type_lexem
-
parser_lexem_type :
lib_parser.type_lexem_type
- type_readdir_options
- type_readdir
boolean
isEmpty(object) ⇒ Check object for undefined, null, NaN
Kind: global function
Param | Type | Description |
---|---|---|
object | any |
object for check |
boolean
isEmptyString(object) ⇒ isEmpty + .trim() + check len > 0
Kind: global function
Param | Type | Description |
---|---|---|
object | any |
object for check |
boolean
isFunction(object) ⇒ Check object for function
Kind: global function
Param | Type | Description |
---|---|---|
object | any |
object for check |
boolean
isGuid(object) ⇒ Check object for GUID
Kind: global function
Returns: boolean
- always boolean (no undefined)
Param | Type | Description |
---|---|---|
object | any |
object for check |
Example
console.log(require('vv-shared').isGuid(undefined)) // return false
console.log(require('vv-shared').isGuid(null)) // return false
console.log(require('vv-shared').isGuid('')) // return false
console.log(require('vv-shared').isGuid('A36E9853-7118-4CC2-B770-765FCF05A82B')) // return true
any
nz(object1, object2, [object3], [object4], [object5]) ⇒ Return first non-empty parameter
Kind: global function
Param | Type |
---|---|
object1 | any |
object2 | any |
[object3] | any |
[object4] | any |
[object5] | any |
boolean
equal(object1, object2) ⇒ Equal two objects
Kind: global function
Param | Type |
---|---|
object1 | any |
object2 | any |
Array.<string>
duplicates(where_find_duplicates) ⇒ Return array with duplicates items from string array (after trim and toLowerCase)
Kind: global function
Param | Type |
---|---|
where_find_duplicates | Array.<string> |
string
toString(value, [default_value]) ⇒ Convert object to string
Kind: global function
Returns: string
- string or undefined
Param | Type | Description |
---|---|---|
value | any |
object for convert |
[default_value] | any |
default value |
Example
console.log(require('vv-shared').toString(undefined)) // return undefined
console.log(require('vv-shared').toString(undefined,'my default string')) // return 'my default string'
console.log(require('vv-shared').toString({a: 5},'my default string')) // return 'my default string'
console.log(require('vv-shared').toString([1,2,3],'my default string')) // return 'my default string'
console.log(require('vv-shared').toString('','my default string')) // return empty string
console.log(require('vv-shared').toString(new Date(),'my default string')) // return formatDate(..., 126)
console.log(require('vv-shared').toString(45,'my default string')) // return '45'
console.log(require('vv-shared').toString('hello','my default string')) // return 'hello'
string
toStringDeclension(value, phrase_one, phrase_two, phrase_few) ⇒ Add phrase to int
Kind: global function
Param | Type | Description |
---|---|---|
value | number |
int for add phrase |
phrase_one | string |
|
phrase_two | string |
|
phrase_few | string |
Example
console.log(require('vv-shared').toStringDeclension(5, 'найдена', 'найдено', 'найдены'))
number
toInt(value, [default_value]) ⇒ Convert object to integer
Kind: global function
Returns: number
- integer or undefined
Param | Type | Description |
---|---|---|
value | any |
object for convert |
[default_value] | any |
default value |
Example
console.log(require('vv-shared').toInt('abc')) // return undefined
console.log(require('vv-shared').toInt('abc','xyz')) // return undefined
console.log(require('vv-shared').toInt('77',42)) // return 77
console.log(require('vv-shared').toInt('-77',42)) // return -77
console.log(require('vv-shared').toInt('77.2',42)) // return 42
number
toFloat(value, [default_value]) ⇒ Convert object to float
Kind: global function
Returns: number
- float or undefined
Param | Type | Description |
---|---|---|
value | any |
object for convert |
[default_value] | any |
default value |
Example
console.log(require('vv-shared').toFloat('abc')) // return undefined
console.log(require('vv-shared').toFloat('abc','xyz')) // return undefined
console.log(require('vv-shared').toFloat('abc','-42.42')) // return -42.42
console.log(require('vv-shared').toFloat('77',42)) // return 77
console.log(require('vv-shared').toFloat('77.2',42)) // return 77.2
console.log(require('vv-shared').toFloat('-77.2',42)) // return -77.2
boolean
toBool(value, [default_value]) ⇒ Convert object to boolean
Kind: global function
Returns: boolean
- boolean or undefined
Param | Type | Description |
---|---|---|
value | any |
object for convert |
[default_value] | any |
default value |
Example
console.log(require('vv-shared').toBool(2)) // return undefined
console.log(require('vv-shared').toBool('abc')) // return undefined
console.log(require('vv-shared').toBool('abc','false')) // return false
console.log(require('vv-shared').toBool(0)) // return true
console.log(require('vv-shared').toBool(1)) // return true
console.log(require('vv-shared').toBool('TruE')) // return true
console.log(require('vv-shared').toBool('true')) // return true
console.log(require('vv-shared').toBool('1')) // return true
string
toGuid(value, [default_value]) ⇒ Convert object to guid
Kind: global function
Returns: string
- guid or undefined
Param | Type | Description |
---|---|---|
value | any |
object for convert |
[default_value] | any |
default value |
Example
console.log(require('vv-shared').toGuid(undefined)) // return undefined
console.log(require('vv-shared').toGuid('')) // return undefined
console.log(require('vv-shared').toGuid('A36E9853-7118-4CC2-B770-765FCF05A82B')) // return 'A36E9853-7118-4CC2-B770-765FCF05A82B'
Date
toDate([value], [default_value]) ⇒ Convert object to date (with current GMT)
Kind: global function
Returns: Date
- date or undefined
Param | Type | Description |
---|---|---|
[value] | any |
object for convert |
[default_value] | any |
default value |
Example
console.log(require('vv-shared').toDate('2018-04-12T16:35:49')) // return true date
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.1')) // return true date
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.12')) // return true date
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.123')) // return true date
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.1234')) // return true date
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.12345')) // return true date
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.123456')) // return true date
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.1234567')) // return true date
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.12345678')) // return true date
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.123456789')) // return true date
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.123+03:00')) // return true date WITH CURRENT GMT (ignore +03 from example)
console.log(require('vv-shared').toDate('2018-04-12T16:35:49.123Z')) // return true date
console.log(require('vv-shared').toDate('2018-04-12')) // return true date
console.log(require('vv-shared').toDate('12.04.2018')) // return true date
console.log(require('vv-shared').toDate('12.04.2018 16:35')) // return true date
console.log(require('vv-shared').toDate('12.04.2018 16:35:49')) // return true date
console.log(require('vv-shared').toDate('12-04-2018')) // return true date
console.log(require('vv-shared').toDate('12-04-2018 16:35')) // return true date
console.log(require('vv-shared').toDate('12-04-2018 16:35:49')) // return true date
console.log(require('vv-shared').toDate('20180412')) // return true date
Date
toDateWithoutTime(value, [default_value]) ⇒ Convert object to date without time
Kind: global function
Returns: Date
- date without time or undefined
Param | Type | Description |
---|---|---|
value | any |
object for convert |
[default_value] | any |
default value |
Example
// because this based on toDate() with add cut off time, get them examples and change toDate to toDateWithoutTime
Date
toTime(value, [default_value]) ⇒ Convert object to date 01.01.1900 with time from object
Kind: global function
Returns: Date
- date 01.01.1900 with time from or undefined
Param | Type | Description |
---|---|---|
value | any |
object for convert |
[default_value] | any |
default value |
Example
// because this based on toDate() with change day,month,year to 01.01.1900, get them examples and change toDate to toTime
console.log(require('vv-shared').toTime('16:35')) // return true date
console.log(require('vv-shared').toTime('16:35.49')) // return true date
console.log(require('vv-shared').toTime('16:35.49.1')) // return true date
console.log(require('vv-shared').toTime('16:35.49.12')) // return true date
console.log(require('vv-shared').toTime('16:35.49.123')) // return true date
console.log(require('vv-shared').toTime('16:35.49.1234')) // return true date
console.log(require('vv-shared').toTime('16:35.49.12345')) // return true date
console.log(require('vv-shared').toTime('16:35.49.123456')) // return true date
console.log(require('vv-shared').toTime('16:35.49.1234567')) // return true date
console.log(require('vv-shared').toTime('16:35.49.12345678')) // return true date
console.log(require('vv-shared').toTime('16:35.49.123456789')) // return true date
string
toHex(value, [default_value]) ⇒ convert Buffer or Array[int] to hex
Kind: global function
Param | Type |
---|---|
value |
Buffer | Array.<Number>
|
[default_value] | Buffer |
string
toIp(value, [default_value]) ⇒ Contert object to string with IP format
Kind: global function
Returns: string
- string with IP format or undefined
Param | Type | Description |
---|---|---|
value | any |
object for convert |
[default_value] | any |
default value |
Example
console.log(require('vv-shared').toIp('LOCALHOST')) // return 'localhost'
console.log(require('vv-shared').toIp('localhost')) // return 'localhost'
console.log(require('vv-shared').toIp('192.168.1.2')) // return '192.168.1.2'
console.log(require('vv-shared').toIp('abc','192.168.1.2')) // return '192.168.1.2'
console.log(require('vv-shared').toIp('abc')) // return undefined
Array.<Object>
toArray(value, [type]) ⇒ Convert object to array, used for params like {string|string[]}
Kind: global function
Param | Type | Description |
---|---|---|
value |
any | Array.<any>
|
object for convert |
[type] |
'string' | 'int' | 'float' | 'bool' | 'guid' | 'date'
|
string
toCharArray(char, count) ⇒ Returns a string filled with the specified character
Kind: global function
Returns: string
- always string (no undefined)
Param | Type | Description |
---|---|---|
char | string |
char or string for fill |
count | number |
count fill |
Example
console.log(require('vv-shared').toCharArray('abc',2)) // return 'abcabc'
console.log(require('vv-shared').toCharArray(undefined,2)) // return empty string
console.log(require('vv-shared').toCharArray('abc',undefined)) // return empty string
string
toErrorMessage(error, [prefix], [replaces], [sourсe]) ⇒ Returns a nice formatted error message - wrapper for format()
Kind: global function
Returns: string
- always string (no undefined)
Param | Type | Description |
---|---|---|
error | any |
|
[prefix] | string |
prefix text for error message |
[replaces] | any |
substitutions for prefix string |
[sourсe] |
'stack' | 'message'
|
preferred sourсe for extraction text message, default = 'stack' |
Example
try {throw new Error('ops')} catch (error) {throw require('vv-shared').toErrorMessage(error, 'in myFunction({0})','value')}
string
toHtml(value) ⇒ Return string for inject in html
Kind: global function
Param | Type |
---|---|
value | string |
number
roundFload(value, digits) ⇒ True round
Kind: global function
Param | Type |
---|---|
value | number |
digits | number |
Example
console.log(require('vv-shared').round(1.121212, 4))
Array.<string>
split(string_for_split, left, right, [collapse_doubles]) ⇒ split string, for example - '{asasdas}{234235}{}{vcvc}', and return array ['asasdas','234235','','vcvc']
Kind: global function
Param | Type | Description |
---|---|---|
string_for_split | any |
|
left | string |
left border |
right | string |
right border |
[collapse_doubles] |
'no' | 'collapse_with_lower' | 'collapse_without_lower'
|
default = 'no' |
Example
console.log(require('vv-shared').split('{asasdas}{234235}{}{vcvc}','{','}'))
string
insertAt(string_where_insert, index, substring_for_replace) ⇒ insert substring in string
Kind: global function
Returns: string
- always string (no undefined)
Param | Type | Description |
---|---|---|
string_where_insert | any |
string, where need insert |
index | number |
position for insert substring |
substring_for_replace | any |
substring |
Example
console.log(require('vv-shared').insertAt('ab',1,'XXX')) // return 'aXXXb'
console.log(require('vv-shared').insertAt(42,1,'Z')) // return '4Z2'
console.log(require('vv-shared').insertAt('ab',1,42)) // return 'a42b'
console.log(require('vv-shared').insertAt('ab',99,'X')) // return 'ab'
console.log(require('vv-shared').insertAt('ab','aa','X')) // return 'ab'
console.log(require('vv-shared').insertAt(undefined,1,'X')) // return empty string
console.log(require('vv-shared').insertAt('ab',1,undefined)) // return 'ab'
string
replaceAll(string_where_find, find, replace, [recursively]) ⇒ Replace all substring in string
Kind: global function
Returns: string
- always string (no undefined)
Param | Type | Description |
---|---|---|
string_where_find | any |
string where find substring |
find | any |
substring for find |
replace | any |
substring for replace |
[recursively] | boolean |
default = false |
Example
console.log(require('vv-shared').replaceAll('abcabc','b','X')) // return 'aXcaXc'
console.log(require('vv-shared').replaceAll('abcabc','B','X')) // return 'aXcaXc'
console.log(require('vv-shared').replaceAll(411,11,'2')) // return '42'
console.log(require('vv-shared').replaceAll('412',1,'')) // return '42'
console.log(require('vv-shared').replaceAll('412',undefined,undefined)) // return '412'
console.log(require('vv-shared').replaceAll('412','1',undefined)) // return '412'
console.log(require('vv-shared').replaceAll('412',undefined,'1')) // return '412'
string
format(string_for_format, [replaces]) ⇒ Replace substrings in string like format in c#
Kind: global function
Returns: string
- always string (no undefined)
Param | Type | Description |
---|---|---|
string_for_format | any |
a string, on the basis of which to return a new formatted string |
[replaces] |
any | Array.<any>
|
substitutions |
Example
console.log(require('vv-shared').format('Hello, {0}!','world')) // return 'Hello, world!'
console.log(require('vv-shared').format('Hello, {0} & {0}!','Johnson')) // return 'Hello, Johnson & Johnson!'
console.log(require('vv-shared').format('{0}, {1}!',['Hello','world'])) // return 'Hello, world!'
console.log(require('vv-shared').format('abc {0}','')) // return 'abc '
console.log(require('vv-shared').format('abc {0}',undefined)) // return 'abc '
console.log(require('vv-shared').format(42,'x')) // return '42'
console.log(require('vv-shared').format(undefined,'x')) // return empty string
string
formatExt(string_for_format, [replaces], [left], [right]) ⇒ Replace substrings in string like "format" with specify border characters
Kind: global function
Returns: string
- always string (no undefined)
Param | Type | Description |
---|---|---|
string_for_format | any |
a string, on the basis of which to return a new formatted string |
[replaces] |
any | Array.<any>
|
substitutions |
[left] | any |
string left border |
[right] | any |
string right border |
Example
console.log(require('vv-shared').formatExt('Hello, [[[0]]]!','world','[[[',']]]')) // return 'Hello, world!'
console.log(require('vv-shared').formatExt('Hello, {0} & {0}!','Johnson','{','}')) // return 'Hello, Johnson & Johnson!'
console.log(require('vv-shared').formatExt('{{0}}, {{1}}!',['Hello','world'], '{{', '}}')) // return 'Hello, world!'
string
formatDate(date, format) ⇒ Format date to string
Kind: global function
Returns: string
- string or undefined
Param | Type | Description |
---|---|---|
date | any |
date |
format |
23 | 111 | 112 | 114 | 1141 | 1122 | 1123 | 1124 | 126 | 10126 | 101262 | 101263 | 104 | 104108 | 1041082 | 1041083 | 1041084 | 'dy' | 'sd'
|
variants: 23 (yyyy-mm-dd), 111 (yyyy/mm/dd), 112 (yyyymmdd), 114 (hh:mi:ss:mmm), 1141 (hh:mi:ss.mmm), 1122 (yyyymmddhh), 1123 (yyyymmddhhmi), 1124 (yyyymmddhhmiss), 126 (yyyy-mm-ddThh:mi:ss.mmm), 10126 (yyyy-mm-dd-hh-mi-ss-mmm), 101262 (yyyy-mm-dd hh:mi:ss.mmm), 101263 (yyyy-mm-dd hh:mi), 104 (dd.mm.yyyy), 104108(dd.mm.yyyy hh:mi:ss), 1041082(dd.mm.yyyy hh:mi), 1041083(yyyy.mm.dd hh:mi), 1041084(yyyy.mm.dd hh:mi:ss), , 'dy' (string (length 3) with number day in year), 'sd' (string (length 3) with number second in day) |
Example
console.log(require('vv-shared').formatDate(new Date(),126)) // return current date as string in format yyyy-mm-ddThh:mi:ss.mmm
console.log(require('vv-shared').formatDate(new Date(),112)) // return current date as string in format yyyymmdd
Array.<Object>
cutFromArray(arr, index) ⇒ return array without one element - cut it (analog slice), but the original array does not change
Kind: global function
Param | Type |
---|---|
arr | Array.<Object> |
index | number |
Date
dateAdd(interval, value, date) ⇒ increase (or decrease) date by second or minutes or hours or days
Kind: global function
Param | Type |
---|---|
interval |
'second' | 'minute' | 'hour' | 'day'
|
value | number |
date | any |
string
findPropertyInObject(object, property_name) ⇒ Search case insensitive property name in object
Kind: global function
Returns: string
- property name - string or undefined
Param | Type | Description |
---|---|---|
object | any |
object for search |
property_name | any |
case insensitive property name |
Example
console.log(require('vv-shared').findPropertyInObject({a: 5},'a')) // return 'a'
console.log(require('vv-shared').findPropertyInObject({a: 5},'A')) // return 'a'
console.log(require('vv-shared').findPropertyInObject({a: 5},'b')) // return undefined
console.log(require('vv-shared').findPropertyInObject({a: 5},undefined)) // return undefined
console.log(require('vv-shared').findPropertyInObject(undefined,'a')) // return undefined
boolean
findPropertyExistsInObject(object, property_name) ⇒ Checking if exists insensitive property name in object
Kind: global function
Returns: boolean
- always boolean (no undefined)
Param | Type | Description |
---|---|---|
object | any |
object for search |
property_name | any |
case insensitive property name |
Example
console.log(require('vv-shared').findPropertyExistsInObject({a: 5},'a')) // return true
console.log(require('vv-shared').findPropertyExistsInObject({a: 5},'A')) // return true
console.log(require('vv-shared').findPropertyExistsInObject({a: 5},'b')) // return false
console.log(require('vv-shared').findPropertyExistsInObject({a: 5},undefined)) // return false
console.log(require('vv-shared').findPropertyExistsInObject(undefined,'a')) // return false
any
findPropertyValueInObject(object, property_name, [default_value]) ⇒ Search value by case insensitive property name in object
Kind: global function
Returns: any
- value or undefined
Param | Type | Description |
---|---|---|
object | any |
object for search |
property_name |
string | Array.<string>
|
case insensitive property name |
[default_value] | any |
return this value, if property not find |
Example
console.log(require('vv-shared').findPropertyValueInObject({a: 5},'a')) // 5
console.log(require('vv-shared').findPropertyValueInObject({a: 5},'A')) // 5
console.log(require('vv-shared').findPropertyValueInObject({a: 5},'b')) // return undefined
console.log(require('vv-shared').findPropertyValueInObject({a: 5},undefined)) // return undefined
console.log(require('vv-shared').findPropertyValueInObject(undefined,'a')) // return undefined
Array.<type_findSubstrings_result>
findSubstrings(params) ⇒ Find substrings in text array
Kind: global function
Returns: Array.<type_findSubstrings_result>
- array positions where find text
Param | Type |
---|---|
params | type_findSubstrings |
Array.<string>
findSubstrings~text_where_find_arr : Kind: inner property of findSubstrings
string
border_add(string_where_add, [left], [right]) ⇒ For left and right in string add border string, if border not exists
Kind: global function
Returns: string
- always string (no undefined)
Param | Type | Description |
---|---|---|
string_where_add | any |
string where need add border |
[left] | any |
string left border for add |
[right] | any |
string right border for add |
Example
console.log(require('vv-shared').border_add('aaa','[',']')) // return '[aaa]'
console.log(require('vv-shared').border_add('[aaa]','[',']')) // return '[aaa]'
console.log(require('vv-shared').border_add(42,'[',']')) // return '[42]'
console.log(require('vv-shared').border_add('b','*',undefined)) // return '*b'
console.log(require('vv-shared').border_add('*b','*',undefined)) // return '*b'
console.log(require('vv-shared').border_add(undefined,'[',']')) // return '[]'
string
border_del(string_where_find, [left], [right]) ⇒ For left and right in string remove border string, if border not exists
Kind: global function
Returns: string
- always string (no undefined)
Param | Type | Description |
---|---|---|
string_where_find | any |
string where need remove border |
[left] | any |
string left border for remove |
[right] | any |
string right border for remove |
Example
console.log(require('vv-shared').border_del('aaa','[',']')) // return 'aaa'
console.log(require('vv-shared').border_del('[aaa]','[',']')) // return 'aaa'
console.log(require('vv-shared').border_del(42,'[',']')) // return '42'
console.log(require('vv-shared').border_del('b','*',undefined)) // return 'b'
console.log(require('vv-shared').border_del('*b','*',undefined)) // return 'b'
console.log(require('vv-shared').border_del(undefined,'[',']')) // return empty string
Array.<type_text_page_char>
text_page_char(text, page_size) ⇒ Text pagination by char count per one page
Kind: global function
Param | Type |
---|---|
text | string |
page_size | number |
Array.<type_text_page_byte>
text_page_byte(text, text_page_char_result) ⇒ Convert text_page_char result to byte markup for fs.createReadStream(...)
Kind: global function
Param | Type |
---|---|
text | string |
text_page_char_result | Array.<type_text_page_char> |
guid()
Generate NON-UNIQUE guid by very-sery simple idea, based only on Math.random()
lib_parser
parser(parser_options) ⇒ Simple parser for, example, js code or sql code
Kind: global function
Param | Type |
---|---|
parser_options | parser_options |
Example
let parser = require('vv-shared').parser({ brackets: {left: '(', right: ')'}, end_of_command: [';'], string_border: ['"', "'"], one_string_comment: "//"})
let text = [
'let a = "hello!" // i am comment',
'let b = (2 + 3) * 5'
].join(require('os').EOL)
let a = parser.remove_comment(text)
let b = parser.lexemify_plain(text)
let c = parser.lexemify_tree(text)
readdir(dir, options, callback)
Recursive scan directory
Kind: global function
Param | Type |
---|---|
dir | string |
options | type_readdir_options |
callback | callback_readdir |
Example
require('vv-shared').readdir(__dirname, undefined, (error, files) => {console.log(files)} )
type_findSubstrings
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
text_where_find |
string | Array.<string>
|
text where need find |
text_find | string |
text find |
[divider_find] | string |
how split text_find in substring |
[matchCase] | boolean |
default false |
[position] | boolean |
allow position in text find lexems, default false |
type_findSubstrings_result
Kind: global typedef
Properties
Name | Type |
---|---|
start | number |
end | number |
line | number |
type_text_page_char
Kind: global typedef
Properties
Name | Type |
---|---|
step | number |
position_start | number |
text_length | number |
offset_length | number |
type_text_page_byte
Kind: global typedef
Properties
Name | Type |
---|---|
step | number |
position_start | number |
position_end | number |
lib_parser.type_options
parser_options :
lib_parser.type_lexem
parser_lexem :
lib_parser.type_lexem_type
parser_lexem_type :
type_readdir_options
Kind: global typedef
Properties
Name | Type |
---|---|
mode |
'files' | 'paths' | 'all'
|
type_readdir
Kind: global typedef
Properties
Name | Type |
---|---|
path | string |
file | string |
fsstat | fs.Stats |