{"_id":"fast-redact","_rev":"3442038","name":"fast-redact","description":"very fast object redaction","dist-tags":{"latest":"3.5.0"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"time":{"modified":"2024-08-27T19:25:48.000Z","created":"2018-05-28T13:28:43.127Z","3.5.0":"2024-03-19T18:26:46.581Z","3.4.1":"2024-03-19T10:06:59.551Z","3.4.0":"2024-03-07T17:30:14.535Z","3.3.0":"2023-07-27T17:20:55.531Z","3.2.0":"2023-05-15T12:17:38.007Z","3.1.2":"2022-08-22T15:35:10.856Z","3.1.1":"2022-02-23T17:17:33.730Z","3.1.0":"2022-01-20T18:07:47.260Z","3.0.2":"2021-08-28T09:31:48.030Z","3.0.1":"2021-04-29T16:19:30.773Z","3.0.0":"2020-10-02T16:02:36.414Z","2.1.0":"2020-10-02T15:59:51.399Z","2.0.0":"2019-09-27T21:44:13.281Z","1.5.0":"2019-03-21T15:13:44.850Z","1.4.4":"2019-02-17T15:42:21.664Z","1.4.3":"2019-02-11T08:57:35.218Z","1.4.2":"2018-12-08T00:38:50.690Z","1.4.1":"2018-12-07T14:10:37.223Z","1.4.0":"2018-11-19T14:21:17.850Z","1.3.0":"2018-10-08T17:13:57.554Z","1.2.0":"2018-09-05T16:14:30.457Z","1.1.14":"2018-08-12T17:58:28.796Z","1.1.13":"2018-05-31T16:29:16.059Z","1.1.12":"2018-05-31T15:40:33.543Z","1.1.11":"2018-05-29T16:13:46.047Z","1.1.10":"2018-05-29T13:46:03.897Z","1.1.9":"2018-05-29T12:31:41.011Z","1.1.8":"2018-05-29T00:16:57.963Z","1.1.7":"2018-05-29T00:15:09.446Z","1.1.6":"2018-05-29T00:11:06.072Z","1.1.5":"2018-05-29T00:00:41.496Z","1.1.4":"2018-05-28T23:53:04.616Z","1.1.3":"2018-05-28T23:51:50.802Z","1.1.2":"2018-05-28T17:14:40.316Z","1.1.1":"2018-05-28T17:07:47.843Z","1.1.0":"2018-05-28T17:06:07.412Z","1.0.1":"2018-05-28T13:53:29.161Z","1.0.0":"2018-05-28T13:28:43.127Z"},"users":{},"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"versions":{"3.5.0":{"name":"fast-redact","version":"3.5.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","_id":"fast-redact@3.5.0","gitHead":"e268c1c3b5a3be770f8082583f626bc4ba5c648d","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"shasum":"e9ea02f7e57d0cd8438180083e93077e496285e4","size":19121,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.5.0.tgz"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.5.0_1710872806416_0.09421757003721254"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-19T18:26:46.581Z","publish_time":1710872806581,"_source_registry_name":"default","_cnpm_publish_time":1710872806581},"3.4.1":{"name":"fast-redact","version":"3.4.1","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","_id":"fast-redact@3.4.1","gitHead":"74e09b2b3538692c5a4eb404dad429ee3efec633","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"shasum":"5ddc658915864bfdb0ca830b61d4df7784ceac5c","size":19029,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.4.1.tgz"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.4.1_1710842819384_0.18537564706011644"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-19T10:06:59.551Z","publish_time":1710842819551,"_source_registry_name":"default","_cnpm_publish_time":1710842819551},"3.4.0":{"name":"fast-redact","version":"3.4.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","_id":"fast-redact@3.4.0","gitHead":"f71a23d3bc0714efe33c912d8c8dafb9af0fa8a3","_nodeVersion":"20.11.1","_npmVersion":"10.2.4","dist":{"shasum":"24e45adcbfa045375f93012bc10c34976d59352e","size":18927,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.4.0.tgz"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.4.0_1709832614376_0.13233877233742364"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-03-07T17:30:14.535Z","publish_time":1709832614535,"_source_registry_name":"default","_cnpm_publish_time":1709832614535},"3.3.0":{"name":"fast-redact","version":"3.3.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"cc56593b6888f935ac5bffd017a744519ac23b58","_id":"fast-redact@3.3.0","_nodeVersion":"18.16.1","_npmVersion":"9.5.1","dist":{"shasum":"7c83ce3a7be4898241a46560d51de10f653f7634","size":18747,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.3.0.tgz"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.3.0_1690478455386_0.5372526806987856"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-27T17:20:55.531Z","publish_time":1690478455531,"_source_registry_name":"default","_cnpm_publish_time":1690478455531},"3.2.0":{"name":"fast-redact","version":"3.2.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"5182d875856c495cdf216a20866f210ee5d9af43","_id":"fast-redact@3.2.0","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"b1e2d39bc731376d28bde844454fa23e26919987","size":17643,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.2.0.tgz"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.2.0_1684153057836_0.4409524992288585"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-15T12:17:38.007Z","publish_time":1684153058007,"_source_registry_name":"default","_cnpm_publish_time":1684153058007},"3.1.2":{"name":"fast-redact","version":"3.1.2","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"9ee9c1a5e126bedbb134efe3701c68a47194736d","_id":"fast-redact@3.1.2","_nodeVersion":"16.15.1","_npmVersion":"8.17.0","dist":{"shasum":"d58e69e9084ce9fa4c1a6fa98a3e1ecf5d7839aa","size":17133,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.1.2.tgz"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.1.2_1661182510617_0.341392175512355"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-22T15:35:16.542Z","publish_time":1661182510856,"_cnpm_publish_time":1661182510856},"3.1.1":{"name":"fast-redact","version":"3.1.1","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"92b27f280aa28ecc01b3a844bdf0c5c67d25a7c3","_id":"fast-redact@3.1.1","_nodeVersion":"16.13.2","_npmVersion":"8.1.2","dist":{"shasum":"790fcff8f808c2e12fabbfb2be5cb2deda448fa0","size":16842,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.1.1.tgz"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.1.1_1645636653552_0.8865872630841025"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-02-23T17:17:37.061Z","publish_time":1645636653730,"_cnpm_publish_time":1645636653730},"3.1.0":{"name":"fast-redact","version":"3.1.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"4e7d7d342e833f539fe5dede571db95200177cbe","_id":"fast-redact@3.1.0","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"shasum":"37c26cda9cab70bc04393f7ba1feb2d176da6c6b","size":16933,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.1.0.tgz"},"_npmUser":{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.1.0_1642702067040_0.8591220465626712"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-20T18:17:56.382Z","publish_time":1642702067260,"_cnpm_publish_time":1642702067260},"3.0.2":{"name":"fast-redact","version":"3.0.2","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"b4df0969099be9d36fd4472edba86484e1e826c4","_id":"fast-redact@3.0.2","_nodeVersion":"16.7.0","_npmVersion":"7.20.3","dist":{"shasum":"c940ba7162dde3aeeefc522926ae8c5231412904","size":15563,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.0.2.tgz"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.0.2_1630143107890_0.956843809834049"},"_hasShrinkwrap":false,"publish_time":1630143108030,"_cnpm_publish_time":1630143108030},"3.0.1":{"name":"fast-redact","version":"3.0.1","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"f3135e4850e92531d9dc95abc42d108bc4453e8c","_id":"fast-redact@3.0.1","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"shasum":"d6015b971e933d03529b01333ba7f22c29961e92","size":15624,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.0.1.tgz"},"_npmUser":{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.0.1_1619713170663_0.562092557640915"},"_hasShrinkwrap":false,"publish_time":1619713170773,"_cnpm_publish_time":1619713170773},"3.0.0":{"name":"fast-redact","version":"3.0.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"f9b115e17f47f9b2e4c9a30c6614a4ac285dc223","_id":"fast-redact@3.0.0","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"shasum":"ac2f9e36c9f4976f5db9fb18c6ffbaf308cf316d","size":15348,"noattachment":false,"key":"/fast-redact/-/fast-redact-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-3.0.0.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmUser":{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_3.0.0_1601654556274_0.7726454971910857"},"_hasShrinkwrap":false,"publish_time":1601654556414,"_cnpm_publish_time":1601654556414},"2.1.0":{"name":"fast-redact","version":"2.1.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"aa5ce930dab07b1cfffd7e584df15114be099a5c","_id":"fast-redact@2.1.0","_nodeVersion":"14.8.0","_npmVersion":"6.14.7","dist":{"shasum":"dfe3c1ca69367fb226f110aa4ec10ec85462ffdf","size":15350,"noattachment":false,"key":"/fast-redact/-/fast-redact-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-2.1.0.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmUser":{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_2.1.0_1601654391228_0.6140212864911343"},"_hasShrinkwrap":false,"publish_time":1601654391399,"_cnpm_publish_time":1601654391399},"2.0.0":{"name":"fast-redact","version":"2.0.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","posttest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"cd132237807c071df27f3d7763fd3ec7a8f0833c","_id":"fast-redact@2.0.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"shasum":"17bb8f5e1f56ecf4a38c8455985e5eab4c478431","size":13804,"noattachment":false,"key":"/fast-redact/-/fast-redact-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-2.0.0.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_2.0.0_1569620652955_0.478337462340346"},"_hasShrinkwrap":false,"publish_time":1569620653281,"_cnpm_publish_time":1569620653281},"1.5.0":{"name":"fast-redact","version":"1.5.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","pretest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"524e61f16d75d69cad41fa79f62ec904aa2281bf","_id":"fast-redact@1.5.0","_nodeVersion":"11.12.0","_npmVersion":"6.7.0","dist":{"shasum":"302892f566750c4f5eec7b830bfc9bc473484034","size":13729,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.5.0.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.5.0_1553181224615_0.5867708867700399"},"_hasShrinkwrap":false,"publish_time":1553181224850,"_cnpm_publish_time":1553181224850},"1.4.4":{"name":"fast-redact","version":"1.4.4","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","pretest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"c7c8427dc19685679752e97928fe99d153ecab30","_id":"fast-redact@1.4.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"d29bd1d0cc3ab808a9d4f9870f6e27e85c750db4","size":13525,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.4.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.4.4.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.4.4_1550418141493_0.1866749352658792"},"_hasShrinkwrap":false,"publish_time":1550418141664,"_cnpm_publish_time":1550418141664},"1.4.3":{"name":"fast-redact","version":"1.4.3","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","pretest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.5.2"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"1b2b6a6a08ef0ef1fb849f88fbba1428039ee77c","_id":"fast-redact@1.4.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"dist":{"shasum":"a11db5191e659354f8a431cca512d48d5f7951c7","size":13374,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.4.3.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.4.3_1549875455091_0.5957710293995737"},"_hasShrinkwrap":false,"publish_time":1549875455218,"_cnpm_publish_time":1549875455218},"1.4.2":{"name":"fast-redact","version":"1.4.2","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","pretest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.0.1"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"c8505679696f78a379e0ae17a0367e2baaefbee1","_id":"fast-redact@1.4.2","_npmVersion":"6.4.1","_nodeVersion":"8.13.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"14989f452ee07f0723fbb483ee778d363135b7ad","size":13322,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.4.2.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.4.2_1544229530527_0.24347733673860872"},"_hasShrinkwrap":false,"publish_time":1544229530690,"_cnpm_publish_time":1544229530690},"1.4.1":{"name":"fast-redact","version":"1.4.1","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","pretest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.0.1"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"84fcaa813b09008aba0cd9dee210ca1ef9b0243d","_id":"fast-redact@1.4.1","_npmVersion":"6.4.1","_nodeVersion":"8.13.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"c8e78201b1870ab0b4feac2c6ff8b7e0491f2288","size":13209,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.4.1.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.4.1_1544191837062_0.16149631076794457"},"_hasShrinkwrap":false,"publish_time":1544191837223,"_cnpm_publish_time":1544191837223},"1.4.0":{"name":"fast-redact","version":"1.4.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","pretest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.0.1"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"d4e3e656a4ff89a1b5a1bdd46af393e19e83e7a9","_id":"fast-redact@1.4.0","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"6123d2a23e6bdf76e82b3176d6f11698f2001797","size":34417,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.4.0.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.4.0_1542637277750_0.3895068977301366"},"_hasShrinkwrap":false,"publish_time":1542637277850,"_cnpm_publish_time":1542637277850},"1.3.0":{"name":"fast-redact","version":"1.3.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","pretest":"standard index.js 'lib/*.js' 'example/*.js' benchmark/index.js test/index.js | snazzy","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","snazzy":"^8.0.0","standard":"^12.0.1","tap":"^12.0.1"},"engines":{"node":">=6"},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"2981d7e3684224444d13f9dea3b03e03ed0b2765","_id":"fast-redact@1.3.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"dist":{"shasum":"c3a41bfecba796f0206c4c71a4613af020e524cc","size":12951,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.3.0.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.3.0_1539018837323_0.353609686190161"},"_hasShrinkwrap":false,"publish_time":1539018837554,"_cnpm_publish_time":1539018837554},"1.2.0":{"name":"fast-redact","version":"1.2.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"3bc8dbe3547542b22b44262067d7390d5efc37b8","_id":"fast-redact@1.2.0","_npmVersion":"6.4.1","_nodeVersion":"8.11.4","_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"dist":{"shasum":"356bdb968c23473cd4e460689c10785842f41529","size":12496,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.2.0.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.2.0_1536164070290_0.8970847704826568"},"_hasShrinkwrap":false,"publish_time":1536164070457,"_cnpm_publish_time":1536164070457},"1.1.14":{"name":"fast-redact","version":"1.1.14","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"035a7bc90bd4d7bba4c0e451c61e15d91ac5d3e4","_id":"fast-redact@1.1.14","_npmVersion":"6.1.0","_nodeVersion":"10.4.1","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"95e5a05c8046b9cd61a203266a4acb2ae635574f","size":33544,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.14.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.14.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.14_1534096708593_0.576365216101385"},"_hasShrinkwrap":false,"publish_time":1534096708796,"_cnpm_publish_time":1534096708796},"1.1.13":{"name":"fast-redact","version":"1.1.13","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"d1f6e3837bd24c744fe971d3ebb5f2eb7131743c","_id":"fast-redact@1.1.13","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"b74ed0dbe3c9f5e1f82350dc467db92389548a06","size":33341,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.13.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.13.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.13_1527784155921_0.003724677317738845"},"_hasShrinkwrap":false,"publish_time":1527784156059,"_cnpm_publish_time":1527784156059},"1.1.12":{"name":"fast-redact","version":"1.1.12","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"96b9f427239bbe03394584934ae05a3630f10f65","_id":"fast-redact@1.1.12","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"03198d42c4022715455e12ff3a0077f3b5a2d2cb","size":33176,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.12.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.12.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.12_1527781233451_0.6054298628764425"},"_hasShrinkwrap":false,"publish_time":1527781233543,"_cnpm_publish_time":1527781233543},"1.1.11":{"name":"fast-redact","version":"1.1.11","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"2c62d1aa7f325cdf06809c0d1117601d90c7b683","_id":"fast-redact@1.1.11","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"8c461d0673fee9e7dc2ab1d4ee759304dd2c6ad7","size":11848,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.11.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.11_1527610425990_0.3727555187614835"},"_hasShrinkwrap":false,"publish_time":1527610426047,"_cnpm_publish_time":1527610426047},"1.1.10":{"name":"fast-redact","version":"1.1.10","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"13aef8ade024b58b435a6e6a901a6ec99714308c","_id":"fast-redact@1.1.10","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"14ecacc42586efb61bddbbf9a658c63383a00b0f","size":11900,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.10.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.10_1527601563718_0.9892732579579684"},"_hasShrinkwrap":false,"publish_time":1527601563897,"_cnpm_publish_time":1527601563897},"1.1.9":{"name":"fast-redact","version":"1.1.9","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"1bcb686943d21d2ca579442e30ee2650a5c643fe","_id":"fast-redact@1.1.9","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"ecc69b31b6e462a882fd9da419382bfdf890b8c0","size":11892,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.9.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.9_1527597100846_0.70978716408364"},"_hasShrinkwrap":false,"publish_time":1527597101011,"_cnpm_publish_time":1527597101011},"1.1.8":{"name":"fast-redact","version":"1.1.8","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"c7070c9a9b446525450df75c4f5334afc0be1fcf","_id":"fast-redact@1.1.8","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"5f2fbc868e5e855bdff80ef98b72237a5617f5a9","size":11843,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.8.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.8_1527553017750_0.3860996069724336"},"_hasShrinkwrap":false,"publish_time":1527553017963,"_cnpm_publish_time":1527553017963},"1.1.7":{"name":"fast-redact","version":"1.1.7","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"22721c46b429daa9d97dd1af4f52b00ab38c57ab","_id":"fast-redact@1.1.7","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"504d57fd18584f54454a336a84d4bb4e4a721743","size":11841,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.7.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.7_1527552909335_0.5129328138848341"},"_hasShrinkwrap":false,"publish_time":1527552909446,"_cnpm_publish_time":1527552909446},"1.1.6":{"name":"fast-redact","version":"1.1.6","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"b0a145db3ff6ea681000eb5c3689485c7c1f0288","_id":"fast-redact@1.1.6","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"ba4032149c250042a0feb9c8fc8e5833e81320d5","size":11828,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.6.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.6_1527552665915_0.2614222487871345"},"_hasShrinkwrap":false,"publish_time":1527552666072,"_cnpm_publish_time":1527552666072},"1.1.5":{"name":"fast-redact","version":"1.1.5","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"01c486aa570f7a00e9cc14c41575f9f3ba24d8d2","_id":"fast-redact@1.1.5","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"41bc312a0ee731e919d308b2921641728b376906","size":12096,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.5.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.5_1527552041411_0.6136457420647354"},"_hasShrinkwrap":false,"publish_time":1527552041496,"_cnpm_publish_time":1527552041496},"1.1.4":{"name":"fast-redact","version":"1.1.4","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"fb00bc1e1bb1073d1bc5fe880ed7f3421339b47a","_id":"fast-redact@1.1.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"10c451d40ab912002da557b6b879587493f63f27","size":12157,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.4.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.4_1527551584565_0.7008161057142006"},"_hasShrinkwrap":false,"publish_time":1527551584616,"_cnpm_publish_time":1527551584616},"1.1.3":{"name":"fast-redact","version":"1.1.3","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"a5e7318c930863c1ef2b5e9cb13fd8e702f060a0","_id":"fast-redact@1.1.3","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"c27fe7b8c537fb7bd7ec38a0b7b9e532017fadd5","size":12151,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.3.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.3_1527551510294_0.3716259864286575"},"_hasShrinkwrap":false,"publish_time":1527551510802,"_cnpm_publish_time":1527551510802},"1.1.2":{"name":"fast-redact","version":"1.1.2","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"065fcc77c8461dc1755dd79cc187caeab15bf5f4","_id":"fast-redact@1.1.2","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"e4260517b68071b51d5f74a7fc4b25c452ebe9a3","size":11794,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.2.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.2_1527527680269_0.6751183335213513"},"_hasShrinkwrap":false,"publish_time":1527527680316,"_cnpm_publish_time":1527527680316},"1.1.1":{"name":"fast-redact","version":"1.1.1","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"0a8c230061e097329d8f92585dfc047bd0d1cd9e","_id":"fast-redact@1.1.1","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"f0e8bd33ca33560047b50a4b647b17544f29318d","size":11793,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.1.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.1_1527527267789_0.553652480229468"},"_hasShrinkwrap":false,"publish_time":1527527267843,"_cnpm_publish_time":1527527267843},"1.1.0":{"name":"fast-redact","version":"1.1.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"ed142548c3c2f2f1a59d48236997eb08c1fa0cc7","_id":"fast-redact@1.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.2","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"2921f2cdfae2447a3bd72fe4c36417c81f3ecc07","size":11791,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.1.0.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.1.0_1527527167350_0.5491634255571574"},"_hasShrinkwrap":false,"publish_time":1527527167412,"_cnpm_publish_time":1527527167412},"1.0.1":{"name":"fast-redact","version":"1.0.1","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"c4c0099342ae6d470b755a6e258b969db4384d78","_id":"fast-redact@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"10.2.1","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"a791333bc4d9e6a671371cfc038019c18a08b131","size":11398,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.0.1.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.0.1_1527515609066_0.9531188233280348"},"_hasShrinkwrap":false,"publish_time":1527515609161,"_cnpm_publish_time":1527515609161},"1.0.0":{"name":"fast-redact","version":"1.0.0","description":"very fast object redaction","main":"index.js","scripts":{"test":"tap test","cov":"tap --cov test","cov-ui":"tap --coverage-report=html test","ci":"tap --cov --100 test","bench":"node benchmark"},"keywords":["redact","censor","performance","performant","gdpr","fast","speed","serialize","stringify"],"author":{"name":"David Mark Clements","email":"david.clements@nearform.com"},"license":"MIT","devDependencies":{"fastbench":"^1.0.1","pino-noir":"^2.2.1","tap":"^12.0.1"},"engines":{"node":">=6"},"dependencies":{},"directories":{"example":"example","lib":"lib","test":"test"},"repository":{"type":"git","url":"git+https://github.com/davidmarkclements/fast-redact.git"},"bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","gitHead":"e0531c9fd05ce26d78199a4e18c5dd2c400213d8","_id":"fast-redact@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"10.2.1","_npmUser":{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},"dist":{"shasum":"cbfd4855864a4b209eb2eba1b8fab804ff92dece","size":10567,"noattachment":false,"key":"/fast-redact/-/fast-redact-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/fast-redact/download/fast-redact-1.0.0.tgz"},"maintainers":[{"name":"davidmarkclements","email":"huperekchuno@googlemail.com"},{"name":"matteo.collina","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fast-redact_1.0.0_1527514123020_0.6854482869552556"},"_hasShrinkwrap":false,"publish_time":1527514123127,"_cnpm_publish_time":1527514123127}},"readme":"# fast-redact\n\nvery fast object redaction\n\n[![Build Status](https://travis-ci.org/davidmarkclements/fast-redact.svg?branch=master)](https://travis-ci.org/davidmarkclements/fast-redact)\n\n## Default Usage\n\nBy default, `fast-redact` serializes an object with `JSON.stringify`, censoring any \ndata at paths specified:\n\n```js\nconst fastRedact = require('fast-redact')\nconst fauxRequest = {\n  headers: {\n    host: 'http://example.com',\n    cookie: `oh oh we don't want this exposed in logs in etc.`,\n    referer: `if we're cool maybe we'll even redact this`,\n    // Note: headers often contain hyphens and require bracket notation\n    'X-Forwarded-For': `192.168.0.1`\n  }\n}\nconst redact = fastRedact({\n  paths: ['headers.cookie', 'headers.referer', 'headers[\"X-Forwarded-For\"]']\n})\n\nconsole.log(redact(fauxRequest))\n// {\"headers\":{\"host\":\"http://example.com\",\"cookie\":\"[REDACTED]\",\"referer\":\"[REDACTED]\",\"X-Forwarded-For\": \"[REDACTED]\"}}\n```\n\n## API\n\n### `require('fast-redact')({paths, censor, serialize}) => Function`\n\nWhen called without any options, or with a zero length `paths` array, \n`fast-redact` will return  `JSON.stringify` or the `serialize` option, if set.\n\n#### `paths` – `Array`\n\nAn array of strings describing the nested location of a key in an object.\n\nThe syntax follows that of the EcmaScript specification, that is any JavaScript\npath is accepted – both bracket and dot notation is supported. For instance in \neach of the following cases, the `c` property will be redacted: `a.b.c`,`a['b'].c`, \n`a[\"b\"].c`, `a[``b``].c`. Since bracket notation is supported, array indices are also\nsupported `a[0].b` would redact the `b` key in the first object of the `a` array. \n\nLeading brackets are also allowed, for instance `[\"a\"].b.c` will work.\n\n##### Wildcards\n\nIn addition to static paths, asterisk wildcards are also supported.\n\nWhen an asterisk is place in the final position it will redact all keys within the\nparent object. For instance `a.b.*` will redact all keys in the `b` object. Similarly\nfor arrays `a.b[*]` will redact all elements of an array (in truth it actually doesn't matter \nwhether `b` is in an object or array in either case, both notation styles will work).\n\nWhen an asterisk is in an intermediate or first position, the paths following the asterisk will \nbe redacted for every object within the parent.\n\nFor example:\n\n```js\nconst fastRedact = require('fast-redact')\nconst redact = fastRedact({paths: ['*.c.d']})\nconst obj = {\n  x: {c: {d: 'hide me', e: 'leave me be'}},\n  y: {c: {d: 'and me', f: 'I want to live'}},\n  z: {c: {d: 'and also I', g: 'I want to run in a stream'}}\n}\nconsole.log(redact(obj)) \n// {\"x\":{\"c\":{\"d\":\"[REDACTED]\",\"e\":\"leave me be\"}},\"y\":{\"c\":{\"d\":\"[REDACTED]\",\"f\":\"I want to live\"}},\"z\":{\"c\":{\"d\":\"[REDACTED]\",\"g\":\"I want to run in a stream\"}}}\n```\n\nAnother example with a nested array:\n\n```js\nconst fastRedact = require('..')\nconst redact = fastRedact({paths: ['a[*].c.d']})\nconst obj = {\n  a: [\n    {c: {d: 'hide me', e: 'leave me be'}},\n    {c: {d: 'and me', f: 'I want to live'}},\n    {c: {d: 'and also I', g: 'I want to run in a stream'}}\n  ]\n}\nconsole.log(redact(obj)) \n// {\"a\":[{\"c\":{\"d\":\"[REDACTED]\",\"e\":\"leave me be\"}},{\"c\":{\"d\":\"[REDACTED]\",\"f\":\"I want to live\"}},{\"c\":{\"d\":\"[REDACTED]\",\"g\":\"I want to run in a stream\"}}]}\n```\n\n#### `remove` - `Boolean` - `[false]`\n\nThe `remove` option, when set to `true` will cause keys to be removed from the \nserialized output. \n\nSince the implementation exploits the fact that `undefined` keys are ignored\nby `JSON.stringify` the `remove` option may *only* be used when `JSON.stringify`\nis the serializer (this is the default) – otherwise `fast-redact` will throw. \n\nIf supplying a custom serializer that has the same behavior (removing keys \nwith `undefined` values), this restriction can be bypassed by explicitly setting \nthe `censor` to `undefined`.\n\n\n#### `censor` – `<Any type>` – `('[REDACTED]')`\n\nThis is the value which overwrites redacted properties. \n\nSetting `censor` to `undefined` will cause properties to removed as long as this is \nthe behavior of the `serializer` – which defaults to `JSON.stringify`, which does \nremove `undefined` properties.\n\nSetting `censor` to a function will cause `fast-redact` to invoke it with the original \nvalue. The output of the `censor` function sets the redacted value.\nPlease note that asynchronous functions are not supported. \n\n#### `serialize` – `Function | Boolean` – `(JSON.stringify)`\n\nThe `serialize` option may either be a function or a boolean. If a function is supplied, this\nwill be used to `serialize` the redacted object. It's important to understand that for \nperformance reasons `fast-redact` *mutates* the original object, then serializes, then \nrestores the original values. So the object passed to the serializer is the exact same\nobject passed to the redacting function. \n\nThe `serialize` option as a function example:\n\n```js\nconst fastRedact = require('fast-redact')\nconst redact = fastRedact({\n  paths: ['a'], \n  serialize: (o) => JSON.stringify(o, 0, 2)\n})\nconsole.log(redact({a: 1, b: 2}))\n// {\n//   \"a\": \"[REDACTED]\",\n//   \"b\": 2\n// }\n```\n\nFor advanced usage the `serialize` option can be set to `false`. When `serialize` is set to `false`,\ninstead of the serialized object, the output of the redactor function will be the mutated object \nitself (this is the exact same as the object passed in). In addition a `restore` method is supplied\non the redactor function allowing the redacted keys to be restored with the original data. \n\n```js\nconst fastRedact = require('fast-redact')\nconst redact = fastRedact({\n  paths: ['a'], \n  serialize: false\n})\nconst o = {a: 1, b: 2}\nconsole.log(redact(o) === o) // true\nconsole.log(o) // { a: '[REDACTED]', b: 2 }\nconsole.log(redact.restore(o) === o) // true\nconsole.log(o) // { a: 1, b: 2 }\n```\n\n#### `strict` – `Boolean` - `[true]`\nThe `strict` option, when set to `true`, will cause the redactor function to throw if instead \nof an object it finds a primitive. When `strict` is set to `false`, the redactor function \nwill treat the primitive value as having already been redacted, and return it serialized (with\n`JSON.stringify` or the user's custom `serialize` function), or as-is if the `serialize` option\nwas set to false.\n\n## Approach\n\nIn order to achieve lowest cost/highest performance redaction `fast-redact`\ncreates and compiles a function (using the `Function` constructor) on initialization.\nIt's important to distinguish this from the dangers of a runtime eval, no user input \nis involved in creating the string that compiles into the function. This is as safe \nas writing code normally and having it compiled by V8 in the usual way.\n\nThanks to changes in V8 in recent years, state can be injected into compiled functions\nusing `bind` at very low cost (whereas `bind` used to be expensive, and getting state\ninto a compiled function by any means was difficult without a performance penalty).\n\nFor static paths, this function simply checks that the path exists and then overwrites\nwith the censor. Wildcard paths are processed with normal functions that iterate over \nthe object redacting values as necessary.\n\nIt's important to note, that the original object is mutated – for performance reasons\na copy is not made. See [rfdc](https://github.com/davidmarkclements/rfdc) (Really Fast \nDeep Clone) for the fastest known way to clone – it's not nearly close enough  in speed\nto editing the original object, serializing and then restoring values. \n\nA `restore` function is also created and compiled to put the original state back on\nto the object after redaction. This means that in the default usage case, the operation \nis essentially atomic - the object is mutated, serialized and restored internally which \navoids any state management issues.\n\n## Caveat\n\nAs mentioned in approach, the `paths` array input is dynamically compiled into a function\nat initialization time. While the `paths` array is vigourously tested for any developer \nerrors, it's strongly recommended against allowing user input to directly supply any \npaths to redact. It can't be guaranteed that allowing user input for `paths` couldn't\nfeasibly expose an attack vector.  \n\n## Benchmarks\n\nThe fastest known predecessor to `fast-redact` is the non-generic [`pino-noir`](http://npm.im/pino-noir) \nlibrary (which was also written by myself).\n\nIn the direct calling case, `fast-redact` is ~30x faster than `pino-noir`, however a more realistic\ncomparison is overhead on `JSON.stringify`. \n\nFor a static redaction case (no wildcards) `pino-noir` adds ~25% overhead on top of `JSON.stringify`\nwhereas `fast-redact` adds ~1% overhead.\n\nIn the basic last-position wildcard case,`fast-redact` is ~12% faster than `pino-noir`.\n\nThe `pino-noir` module does not support intermediate wildcards, but `fast-redact` does,\nthe cost of an intermediate wildcard that results in two keys over two nested objects \nbeing redacted is about 25% overhead on `JSON.stringify`. The cost of an intermediate \nwildcard that results in four keys across two objects being redacted is about 55% overhead \non `JSON.stringify` and ~50% more expensive that explicitly declaring the keys.  \n\n```sh\nnpm run bench \n```\n\n```\nbenchNoirV2*500: 59.108ms\nbenchFastRedact*500: 2.483ms\nbenchFastRedactRestore*500: 10.904ms\nbenchNoirV2Wild*500: 91.399ms\nbenchFastRedactWild*500: 21.200ms\nbenchFastRedactWildRestore*500: 27.304ms\nbenchFastRedactIntermediateWild*500: 92.304ms\nbenchFastRedactIntermediateWildRestore*500: 107.047ms\nbenchJSONStringify*500: 210.573ms\nbenchNoirV2Serialize*500: 281.148ms\nbenchFastRedactSerialize*500: 215.845ms\nbenchNoirV2WildSerialize*500: 281.168ms\nbenchFastRedactWildSerialize*500: 247.140ms\nbenchFastRedactIntermediateWildSerialize*500: 333.722ms\nbenchFastRedactIntermediateWildMatchWildOutcomeSerialize*500: 463.667ms\nbenchFastRedactStaticMatchWildOutcomeSerialize*500: 239.293ms\n```\n\n## Tests\n\n```\nnpm test  \n```\n\n```\n  224 passing (499.544ms)\n```\n\n### Coverage\n\n```\nnpm run cov \n```\n\n```\n-----------------|----------|----------|----------|----------|-------------------|\nFile             |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |\n-----------------|----------|----------|----------|----------|-------------------|\nAll files        |      100 |      100 |      100 |      100 |                   |\n fast-redact     |      100 |      100 |      100 |      100 |                   |\n  index.js       |      100 |      100 |      100 |      100 |                   |\n fast-redact/lib |      100 |      100 |      100 |      100 |                   |\n  modifiers.js   |      100 |      100 |      100 |      100 |                   |\n  parse.js       |      100 |      100 |      100 |      100 |                   |\n  redactor.js    |      100 |      100 |      100 |      100 |                   |\n  restorer.js    |      100 |      100 |      100 |      100 |                   |\n  rx.js          |      100 |      100 |      100 |      100 |                   |\n  state.js       |      100 |      100 |      100 |      100 |                   |\n  validator.js   |      100 |      100 |      100 |      100 |                   |\n-----------------|----------|----------|----------|----------|-------------------|\n```\n\n## License\n\nMIT\n\n## Acknowledgements\n\nSponsored by [nearForm](http://www.nearform.com)\n","_attachments":{},"homepage":"https://github.com/davidmarkclements/fast-redact#readme","bugs":{"url":"https://github.com/davidmarkclements/fast-redact/issues"},"license":"MIT"}