UNPKG

regstr

Version:

JSON.stringify objects with RegExp properties and then JSON.parse json string resulted back into original objects. Converts RegExp object to be serializable - into pair of strings (key,value). Could be used for RegExp being bilaterally stringified and ge

113 lines (104 loc) 2.74 kB
var regstr=require('regstr').regStr; var h=regstr; var v=/asdf/gi; regstr.streger(v); regstr.streger(/asdf/gi); var o = {a:/asdf/gim}; regstr.streger(o); h.streger([{a:/asdf/gi},/^[+]+cc.*$/gim]) h.streger({ a: /asdf/gi, b: /^[+]+cc.*$/gim, ab:[{ bb:/sdfg/mg},/sdf/] }); var t={a:/asdf/gi,b:/^[+]+cc.*$/gim,ab:[{bb:/sdfg/mg},/sdf/]}; t var tt= h.streger(t); tt var jsntt = JSON.stringify(tt); jsntt var tt1=h.reger(jsntt) tt1 console.log('h.reger(jsntt) made nothing but -'); var jptt1=h.reger(JSON.parse(jsntt)); console.log('returns original-like object:'); jptt1 var tt1_1=h.reger( h.streger({ a: /asdf/gi, b: /^[+]+cc.*$/gim, ab:[{ bb:/sdfg/mg},/sdf/] } ) ); tt1_1 // full chain: var tt1_2=h.reger( JSON.parse( JSON.stringify( h.streger({ a: /asdf/gi, b: /^[+]+cc.*$/gim, ab:[{ bb:/sdfg/mg},/sdf/] } ) ))); tt1_2 // // var x=h.streger([{a:/asdf/gi},/^[+]+cc.*$/gim]); x var xj=JSON.stringify(x); xj var yj=JSON.parse(xj) yj var y=h.reger(yj) y // REPL stdin / stdout /* > var regstr=require('regstr').regStr; undefined > var h=regstr; undefined > var v=/asdf/gi; undefined > regstr.streger(v); { RE78: 'asdfRE78gi' } > regstr.streger(/asdf/gi); { RE95: 'asdfRE95gi' } > var o = {a:/asdf/gim}; undefined > > regstr.streger(o); { aRE36: 'asdfRE36gmi' } > > h.streger([{a:/asdf/gi},/^[+]+cc.*$/gim]) [ { aRE44: 'asdfRE44gi' }, { '1RE39': '^[+]+cc.*$RE39gmi' } ] > > h.streger({ a: /asdf/gi, ... b: /^[+]+cc.*$/gim, ... ab:[{ bb:/sdfg/mg},/sdf/] ... }); { ab: [ { bbRE46: 'sdfgRE46gm' }, { '1RE29': 'sdfRE29' } ], aRE69: 'asdfRE69gi', bRE88: '^[+]+cc.*$RE88gmi' } > var t={a:/asdf/gi,b:/^[+]+cc.*$/gim,ab:[{bb:/sdfg/mg},/sdf/]}; undefined > t { a: /asdf/gi, b: /^[+]+cc.*$/gim, ab: [ { bb: /sdfg/gm }, /sdf/ ] } > var tt= h.streger(t); undefined > tt { ab: [ { bbRE43: 'sdfgRE43gm' }, { '1RE91': 'sdfRE91' } ], aRE32: 'asdfRE32gi', bRE05: '^[+]+cc.*$RE05gmi' } > var jsntt = JSON.stringify(tt); undefined > jsntt '{"ab":[{"bbRE43":"sdfgRE43gm"},{"1RE91":"sdfRE91"}],"aRE32":"asdfRE32gi","bRE05":"^[+]+cc.*$RE05gmi"}' > var tt1=h.reger(jsntt) undefined > tt1 '{"ab":[{"bbRE43":"sdfgRE43gm"},{"1RE91":"sdfRE91"}],"aRE32":"asdfRE32gi","bRE05":"^[+]+cc.*$RE05gmi"}' > var tt1_1=h.reger( h.streger({ a: /asdf/gi, ... b: /^[+]+cc.*$/gim, ... ab:[{ bb:/sdfg/mg},/sdf/] } ) ... ); undefined > tt1_1 { ab: [ { bb: /sdfg/gm }, /sdf/ ], a: /asdf/gi, b: /^[+]+cc.*$/gim } > */