{"_id":"@swimlane/obfuscator","_rev":"212-c9140853ae5c094d627b14d313cee7a8","name":"@swimlane/obfuscator","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@swimlane/obfuscator","version":"1.0.0","keywords":["obfuscate","json","schema"],"author":{"name":"Swimlane","email":"dev@swimlane.com"},"license":"AGPL-3.0","_id":"@swimlane/obfuscator@1.0.0","maintainers":[{"name":"brantw","email":"brantw@gmail.com"},{"name":"danstory","email":"danstory@gmail.com"},{"name":"hypercubed","email":"hypercubed@gmail.com"},{"name":"marjan-georgiev","email":"marjan.georgiev@gmail.com"},{"name":"metalex9","email":"alexbainter@gmail.com"},{"name":"nick-allen","email":"nick.allen.cse@gmail.com"},{"name":"shaunburdick","email":"npm@shaunburdick.com"},{"name":"swimlanedev","email":"npm@swimlane.com"}],"nyc":{"all":true,"exclude":["src/*.d.ts","src/**/*.d.ts"],"include":["src/*.ts","src/**/*.ts"],"reporter":["lcov","html","text"],"extension":[".ts"]},"dist":{"shasum":"da97218fa7579bf361114fb47cf55fae6a0f9934","tarball":"https://registry.npmjs.org/@swimlane/obfuscator/-/obfuscator-1.0.0.tgz","fileCount":14,"integrity":"sha512-tohYacjVV1zN/W4vi71q4bE3RwpYE6eLt3qr8vZaysr4IHirWeIhYM+MVzVx8JQRVjuOPHJFxc28oK9oqnGOIg==","signatures":[{"sig":"MEUCIAscJAmRFaQC9sYAnSNN6Vt7TFMz3tQyP379ts4074FCAiEAqtOEucNIn4II5vSV6R8O1cvypR05T5nrmts70JRAmKw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrOvwCRA9TVsSAnZWagAAoGEP/iECg57zGK2vwJN5idI/\nVllzvxmZjHwTmu9FftVmgd1znM2v1Je42fd6DZRUvphAsNC++54qh6r71ZFz\nPiZEmcbPFsAEBnPHVGzwiPviQZjq++NylgyWZinqtLzR6InexqrlkHu8NqkL\nZDDrwSXKSD34NaJ0ZOtMA27nY+tCIaDs7fQ+DMxGencv0L/gc6Dcp1uvz/GE\nkiaftrvnncRR1bxw/ifcm+3pzROdZr9WoSEjqq52qRxFWHGALuIupnf7b/MA\niZlZDnfUYhVegyIFlCTvBDTAW9A2mGgBLesDg9yblZsnd1yUQpZP9SW3nkEy\nw+MRoLYZcXYRVBaouf7TlrEDEjdX01lg+yYUzzXc0YdgN/h/q2KyRWKXa6lS\nyaFJJdcXXZ1iUcC17WZivn2WeuqkAH6x1YEmZtmAgg1JrypeInAdWmw+kcdF\nyLvXEqPv+Y9s2Iey6EFzBmJburS9LgXaCFpo2mkB0FDXW9QPXh0VoqUInPG9\nFdn+UFFvvPkVC+H5g3vu4h7GLoASR5KIgK+ViS6GMrGiBQ536FkWCYMjk+CA\n+1BgBSW3k9iRaQVEHf9waMk5DMEhqkiZ91rizbS3hBoP9E/nIPYlHcKcQ22A\nimTjY2dQd9GQAckI/7HWMzJpTCGf8vjKdec7XYh4hrlnhDs1qCqfmC9kd7+1\nrN2k\r\n=2DaP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"b1468bd1e1f369e8a83b1b84d59c72b2364ab412","scripts":{"lint":"tslint ./{src,tests}/{,**/,**/**/}*.ts","test":"npm run test:style && npm run test:unit","build":"npm-run-all -s build:*","test:ci":"npm run test:style && npm run test:cov && npm run test:report","build:ts":"tsc","prettier":"prettier --write \"./{src,tests}/**/*.{js,ts,md}\"","test:cov":"nyc npm run test:unit","test:unit":"mocha --recursive --require ts-node/register 'tests/**/*.spec.ts' -R spec","test:style":"npm run prettier:test && npm run lint","build:clean":"rimraf dist/*","test:report":"cat ./coverage/lcov.info | codacy-coverage --language typescript","prettier:test":"prettier --list-different \"./{src,tests}/**/*.{js,ts,md}\"","prepublishOnly":"npm run test && npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"shaunburdick","email":"npm@shaunburdick.com"},"_npmVersion":"6.4.1","description":"Obfuscate objects based on a JSON Schema","directories":{},"_nodeVersion":"10.9.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^13.0.1","chai":"^4.1.2","mocha":"^5.2.0","rimraf":"^2.6.2","tslint":"^5.11.0","ts-node":"^7.0.1","prettier":"^1.14.2","typescript":"^3.1.1","@types/chai":"^4.1.4","@types/node":"^10.7.1","@types/mocha":"^5.2.5","codacy-coverage":"^3.0.0","tslint-config-swimlane":"^3.0.4","@swimlane/prettier-config-swimlane":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/obfuscator_1.0.0_1538059247716_0.8276822354033277","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@swimlane/obfuscator","version":"1.1.0","keywords":["obfuscate","json","schema"],"author":{"name":"Swimlane","email":"dev@swimlane.com"},"license":"AGPL-3.0","_id":"@swimlane/obfuscator@1.1.0","maintainers":[{"name":"brantw","email":"brantw@gmail.com"},{"name":"danstory","email":"danstory@gmail.com"},{"name":"hypercubed","email":"hypercubed@gmail.com"},{"name":"marjan-georgiev","email":"marjan.georgiev@gmail.com"},{"name":"metalex9","email":"alexbainter@gmail.com"},{"name":"nick-allen","email":"nick.allen.cse@gmail.com"},{"name":"seangrimes","email":"sean.grimes@swimlane.com"},{"name":"shaunburdick","email":"npm@shaunburdick.com"},{"name":"swimlanedev","email":"npm@swimlane.com"}],"nyc":{"all":true,"exclude":["src/*.d.ts","src/**/*.d.ts"],"include":["src/*.ts","src/**/*.ts"],"reporter":["lcov","html","text"],"extension":[".ts"]},"dist":{"shasum":"8410031bb76f54d5928787f21a83bb04f95fa300","tarball":"https://registry.npmjs.org/@swimlane/obfuscator/-/obfuscator-1.1.0.tgz","fileCount":7,"integrity":"sha512-iMxtkwhSLdJJPc2J7i/SLJbdrDFFz1MK47AIQkj51FDNOSWiolw9WKXH5ZHXkdfXsC6odWjABc4Pmu4vbxFJWg==","signatures":[{"sig":"MEUCIQDS4+dzBHUIbExbvBcYw9YQcMPDXVfH0dDNneKJfe8+vwIgCc2RSokQiP/PIXrfOuDH1MuRwd9geMfmEp+Fm+1HF44=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68287,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcOOSCCRA9TVsSAnZWagAA9D0P/2h4tlaCWXdB/UoXHOAa\nTnnscRwahwXvDWiMiO1lpp2moDctcm3jgbZF1Qfow13xAuX5KUJuqb0rqsBE\nR0yuG+w9i1Jb/junccvskCVP+Wt3rm/iejVeqyRYQN6Bt0FnGdFvX3P7Gtfr\nefIVPrl3XtpUT5pc+DRFUq8VsrJKmzG0x1SuW/iWgCYINvTYwGMsOdnUdLpd\n4LFQ3uMbyYDK46ikIgS8NfXERy2ciQbb4Tf/gQiuUsMgzfXIjqDpoPXBfbfL\nAHd4t4+H7FhfPRAA389IWiMuVwnySpC0p5Lvl0v5RfMJGOUpRJP6sg7ZGBHL\n5UOn4D+v9VK97r4+wlXyWih09ANGp0DTsmAS2yI1MdGKEOrRAeX2bf3cG4SH\nAQ+QkDWCXC0BmHZ0VabY/koHP0UEWCdTp+lpj9J0jtyVDswle/mc8Ezgwz4R\nw788uQjxa2rSvMA+kf6SlsUSLXo7OVIxsgaXivdvvchMVFk8N4nzTyxpuLXe\nRS/qdp5577H02Yd0xLTYzEVGrlpfcX+8Sp6TxohX8vGgv9yp8JSZpnjjnNwo\n/0MKim1wgMNZbi3nT/QdCuu2wT+MKOv7vs0UEnXajF8wC4AsKcgpyg/ebxL4\nNhj/JnDAmX2Od+EBAmLVwAfIs+baSaGv6l0HIZGgL2LSciXtZO49vjIUQxL8\nsmxI\r\n=FXkG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"2de014481f25aeb0f91590c3753797b056868d70","scripts":{"lint":"tslint ./{src,tests}/{,**/,**/**/}*.ts","test":"npm run test:style && npm run test:unit","build":"npm-run-all -s build:*","test:ci":"npm run test:style && npm run test:cov && npm run test:report","build:ts":"tsc","prettier":"prettier --write \"./{src,tests}/**/*.{js,ts,md}\"","test:cov":"nyc npm run test:unit","test:unit":"mocha --recursive --require ts-node/register 'tests/**/*.spec.ts' -R spec","test:style":"npm run prettier:test && npm run lint","build:clean":"rimraf dist/*","test:report":"cat ./coverage/lcov.info | codacy-coverage --language typescript","prettier:test":"prettier --list-different \"./{src,tests}/**/*.{js,ts,md}\"","prepublishOnly":"npm run test && npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"danstory","email":"danstory@gmail.com"},"_npmVersion":"6.4.1","description":"Obfuscate objects based on a JSON Schema","directories":{},"_nodeVersion":"11.4.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^13.0.1","chai":"^4.1.2","mocha":"^5.2.0","rimraf":"^2.6.2","tslint":"^5.11.0","ts-node":"^7.0.1","prettier":"^1.14.2","typescript":"^3.1.1","@types/chai":"^4.1.4","@types/node":"^10.7.1","npm-run-all":"^4.1.5","@types/mocha":"^5.2.5","codacy-coverage":"^3.0.0","tslint-config-swimlane":"^3.0.4","@swimlane/prettier-config-swimlane":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/obfuscator_1.1.0_1547232386128_0.4849557557566879","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@swimlane/obfuscator","version":"1.1.1","keywords":["obfuscate","json","schema"],"author":{"name":"Swimlane","email":"dev@swimlane.com"},"license":"AGPL-3.0","_id":"@swimlane/obfuscator@1.1.1","maintainers":[{"name":"aacebo","email":"aacebowork@gmail.com"},{"name":"adamfrank","email":"adam.frank@swimlane.com"},{"name":"amiranda","email":"alvaro.miranda@swimlane.com"},{"name":"brantw","email":"brantw@gmail.com"},{"name":"cnamqui","email":"baron.namqui@outlook.com"},{"name":"danstory","email":"danstory@gmail.com"},{"name":"dgkincaid","email":"douglas.kincaid@swimlane.com"},{"name":"diamonw","email":"diamon.wiggins@swimlane.com"},{"name":"dmikov","email":"dmikov@gmail.com"},{"name":"duredhel","email":"duredhel313@gmail.com"},{"name":"galpizar","email":"gustavo.alpizar@swimlane.com"},{"name":"haeminn","email":"haeminp@umich.edu"},{"name":"hankconn","email":"hankconn@gmail.com"},{"name":"hypercubed","email":"hypercubed@gmail.com"},{"name":"jacobheater-swimlane","email":"jacob.heater@swimlane.com"},{"name":"jondavidford","email":"jondavidford@gmail.com"},{"name":"jorgemontero","email":"jorge.montero@swimlane.com"},{"name":"luisbe90","email":"luisbe090@gmail.com"},{"name":"marjan-georgiev","email":"marjan.georgiev@gmail.com"},{"name":"michael.baswell","email":"michael.baswell@swimlane.com"},{"name":"ngutierrez","email":"nelson.gutierrez@swimlane.com"},{"name":"nick-allen","email":"nick.allen.cse@gmail.com"},{"name":"parayacr","email":"pablo.araya@swimlane.com"},{"name":"seangrimes","email":"sean.grimes@swimlane.com"},{"name":"shaunburdick","email":"npm@shaunburdick.com"},{"name":"swimmark","email":"mark.reeder@swimlane.com"},{"name":"zbartl","email":"zach.bartlett@swimlane.com"}],"homepage":"https://github.com/swimlane/obfuscator#readme","bugs":{"url":"https://github.com/swimlane/obfuscator/issues"},"nyc":{"all":true,"exclude":["src/*.d.ts","src/**/*.d.ts"],"include":["src/*.ts","src/**/*.ts"],"reporter":["lcov","html","text"],"extension":[".ts"]},"dist":{"shasum":"8fdc62a1215e8982a55c38a34574c454c104f83f","tarball":"https://registry.npmjs.org/@swimlane/obfuscator/-/obfuscator-1.1.1.tgz","fileCount":7,"integrity":"sha512-2ayanjnPJeTaWtEml5b9Iup7mXrUOIvc4ufLf0lZzRK6LdSa2WBmFhe+EGfXbOcQzJhT+iqL4R5jIBrBbbgdVQ==","signatures":[{"sig":"MEYCIQCuuFvZ68FEpE1DpI5h2iMaNA60cCfv6bR4b1TmrDTXxQIhAK9P7Ne+AdRdCccVhjid96zGykC+fE5E4JchyRIcnu6E","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9kxNCRA9TVsSAnZWagAA0uwP/3drOI/ILT4ChJix2Qn9\nJmbjkQRo5bjM78DhtzwYqY/9g6SIqGF9DekI4F3Rw5S42F5a1ZjnBsi37K6n\n0sFf5ky+KKzGezrGoo1X+kYUn71Kn729Cmum8QL4MFLaz5rXdqq0LOzAAyLA\nIT+z3EAO8m0NGi7S4K2IwlL3+igBd0nXTv44mTr6XVEqOD1CfMDYw9H9xlnX\n+7sDt4rg7TW50N378EAcwpiAviyukC34WwBceilr4M/aEzBdjK7UeBextwPs\nRPQhvIdM0WrfapVtjIQ/RfVxNf0EN4q6glelm01lJ6qZmTq8PrRrtQFz5MtY\nsVOwiKdo7ORf2f9cPBHAltP4eKLIsMGOFgHOoAufZlhnLG7ZzJxJkuZsTRDy\nf/v/arUlQRlaKzvkspwMnsEDoZj6jIocgiT/zXx0Xv4EHP4GgRBpDQ8GNXhx\nFC1fk5MD8AOCZxhwz4Rg4rZHeFZrVZwuwWQu3ZgF2xRmYVxWfhsFZMhkoKve\nQkYjfP2pHj9Lk5jirJFKw4Y7ksJEY8BX9tMQZY7vz7o5s2q6dSbsFG12LaXq\nG0FRFeQBohwqQeIBfsnoJ0dPsQ02bU8zc4bDuEy7Dj0J+ITSKdNYYTbzxVk/\nAun8Xe5kIq63KJmTL+YmOgK6oJn9KkMDEjkFH/tI/6BR4PfKrfLBURIQqmw2\n9bhf\r\n=kGmk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"09c8a4b8cae0b0ef9752b906c4aa13ed817de5cc","scripts":{"lint":"tslint ./{src,tests}/{,**/,**/**/}*.ts","test":"npm run test:style && npm run test:unit","build":"npm-run-all -s build:*","test:ci":"npm run test:style && npm run test:cov && npm run test:report","build:ts":"tsc","prettier":"prettier --write \"./{src,tests}/**/*.{js,ts,md}\"","test:cov":"nyc npm run test:unit","test:unit":"mocha --recursive --require ts-node/register 'tests/**/*.spec.ts' -R spec","test:style":"npm run prettier:test && npm run lint","build:clean":"rimraf dist/*","test:report":"cat ./coverage/lcov.info | codacy-coverage --language typescript","prettier:test":"prettier --list-different \"./{src,tests}/**/*.{js,ts,md}\"","prepublishOnly":"npm run test && npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"hankconn","email":"hankconn@gmail.com"},"repository":{"url":"git+https://github.com/swimlane/obfuscator.git","type":"git"},"_npmVersion":"6.14.5","description":"Obfuscate objects based on a JSON Schema","directories":{},"_nodeVersion":"12.18.1","_hasShrinkwrap":false,"devDependencies":{"nyc":"^13.0.1","chai":"^4.1.2","mocha":"^5.2.0","rimraf":"^2.6.2","tslint":"^5.11.0","ts-node":"^7.0.1","prettier":"^1.14.2","typescript":"^3.1.1","@types/chai":"^4.1.4","@types/node":"^10.7.1","npm-run-all":"^4.1.5","@types/mocha":"^5.2.5","codacy-coverage":"^3.0.0","tslint-config-swimlane":"^3.0.4","@swimlane/prettier-config-swimlane":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/obfuscator_1.1.1_1593199693359_0.15214280318248297","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@swimlane/obfuscator","version":"2.0.0","keywords":["obfuscate","json","schema"],"author":{"name":"Swimlane","email":"dev@swimlane.com"},"license":"AGPL-3.0","_id":"@swimlane/obfuscator@2.0.0","maintainers":[{"name":"varsha_swimlane","email":"varsha.choudhary@swimlane.com"},{"name":"kodalipraveen","email":"kodali.praveen@swimlane.com"},{"name":"mohanalakshmi.s","email":"mohanalakshmi.s@swimlane.com"},{"name":"nikshithkolan","email":"nikshith.kolan@swimlane.com"},{"name":"steveblue","email":"steveblue@gmail.com"},{"name":"kasiviswanathan.mangudi","email":"kasiviswanathan.mangudi@swimlane.com"},{"name":"koushik.kumar","email":"koushik.kumar@swimlane.com"},{"name":"dmytro_skorokhodov","email":"dmytro.skorokhodov@swimlane.com"},{"name":"melissa.vankempen","email":"melissa.vankempen@swimlane.com"},{"name":"sasha.polishchuk","email":"alexander.polishchuk@swimlane.com"},{"name":"dabbott-sl","email":"daniel.abbott@swimlane.com"},{"name":"daniel.selig","email":"daniel.selig@swimlane.com"},{"name":"jogaj_26","email":"Jogaj_26@hotmail.com"},{"name":"markcoleman1","email":"mark.coleman@swimlane.com"},{"name":"caleb.bass","email":"caleb.bass@swimlane.com"},{"name":"hansstoetzer","email":"hansstoetzer1@gmail.com"},{"name":"sarath.pantula","email":"sarath.pantula@swimlane.com"},{"name":"nikkuman","email":"nicholas.tausek@gmail.com"},{"name":"agustin.firpo","email":"agustin.firpo@swimlane.com"},{"name":"tmcclure","email":"tyler.mcclure@swimlane.com"},{"name":"ischultz-swimlane","email":"ian.schultz@swimlane.com"},{"name":"bensteele7","email":"ben.steele@swimlane.com"},{"name":"brantw","email":"brantw@gmail.com"},{"name":"marjan-georgiev","email":"marjan.georgiev@gmail.com"},{"name":"danstory","email":"danstory@gmail.com"},{"name":"seangrimes","email":"sean.grimes@swimlane.com"},{"name":"adamfrank","email":"adam.frank@swimlane.com"},{"name":"bageldawg","email":"ryan.knauer@swimlane.com"},{"name":"it.admin.swim","email":"it.admin@swimlane.com"},{"name":"smartinski","email":"ljutvi@gmail.com"},{"name":"lisa-reynolds","email":"lisa.reynolds@swimlane.com"},{"name":"royar95","email":"roy.araya@swimlane.com"},{"name":"mr_charlie","email":"chris@u4ic.co"},{"name":"swimlane.dev","email":"developers@swimlane.com"}],"homepage":"https://github.com/swimlane/obfuscator#readme","bugs":{"url":"https://github.com/swimlane/obfuscator/issues"},"nyc":{"all":true,"exclude":["src/*.d.ts","src/**/*.d.ts"],"include":["src/*.ts","src/**/*.ts"],"reporter":["lcov","html","text"],"extension":[".ts"]},"dist":{"shasum":"1dbb06a06cce6bb508652fbe7d176fcbe5c4d6f1","tarball":"https://registry.npmjs.org/@swimlane/obfuscator/-/obfuscator-2.0.0.tgz","fileCount":7,"integrity":"sha512-ExsMfCcJagOvZrnP2qnPMUJpkjQfvY8UFbrS8M+oTolq73KaUV7H1RSxhZr3EGuFcUbplD1Mwg4wsaDEexW+3w==","signatures":[{"sig":"MEYCIQDOIJv+KBjc8pUWSgw4VXrriMbvB6pro/FftpFOg5QScgIhAJI88a+n2Dxa/CnySkbayzpdZj1o/nKBEUfIOOxADQQC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66788},"main":"dist/index.js","gitHead":"132fa8071a0304de0ba2810cb5d274ca69037dad","scripts":{"lint":"tslint ./{src,tests}/{,**/,**/**/}*.ts","test":"npm run test:style && npm run test:unit","build":"npm-run-all -s build:*","test:ci":"npm run test:style && npm run test:cov && npm run test:report","build:ts":"tsc","prettier":"prettier --write \"./{src,tests}/**/*.{js,ts,md}\"","test:cov":"nyc npm run test:unit","test:unit":"mocha --recursive --require ts-node/register 'tests/**/*.spec.ts' -R spec","test:style":"npm run prettier:test && npm run lint","build:clean":"rimraf dist/*","test:report":"cat ./coverage/lcov.info | codacy-coverage --language typescript","prettier:test":"prettier --list-different \"./{src,tests}/**/*.{js,ts,md}\"","prepublishOnly":"npm run test && npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"bensteele7","email":"ben.steele@swimlane.com"},"repository":{"url":"git+https://github.com/swimlane/obfuscator.git","type":"git"},"_npmVersion":"9.5.1","description":"Obfuscate objects based on a JSON Schema","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.4.1","mocha":"^10.3.0","rimraf":"^5.0.5","tslint":"^5.20.1","ts-node":"^10.9.2","prettier":"^2.0.4","typescript":"^5.3.3","@types/chai":"^4.3.12","@types/node":"^20.11.24","npm-run-all":"^4.1.5","@types/mocha":"^10.0.6","codacy-coverage":"^3.0.0","@swimlane/prettier-config-swimlane":"~3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/obfuscator_2.0.0_1710865675672_0.8591854219351631","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-09-27T14:40:47.715Z","modified":"2026-07-14T10:28:01.668Z","1.0.0":"2018-09-27T14:40:47.890Z","1.1.0":"2019-01-11T18:46:26.303Z","1.1.1":"2020-06-26T19:28:13.506Z","2.0.0":"2024-03-19T16:27:55.827Z"},"bugs":{"url":"https://github.com/swimlane/obfuscator/issues"},"author":{"name":"Swimlane","email":"dev@swimlane.com"},"license":"AGPL-3.0","homepage":"https://github.com/swimlane/obfuscator#readme","keywords":["obfuscate","json","schema"],"repository":{"url":"git+https://github.com/swimlane/obfuscator.git","type":"git"},"description":"Obfuscate objects based on a JSON Schema","maintainers":[{"email":"hansstoetzer1@gmail.com","name":"hansstoetzer"},{"email":"ben.steele@swimlane.com","name":"bensteele7"},{"email":"brantw@gmail.com","name":"brantw"},{"email":"marjan.georgiev@gmail.com","name":"marjan-georgiev"},{"email":"danstory@gmail.com","name":"danstory"},{"email":"ryan.knauer@swimlane.com","name":"bageldawg"},{"email":"it.admin@swimlane.com","name":"it.admin.swim"},{"email":"roy.araya@swimlane.com","name":"royar95"},{"email":"developers@swimlane.com","name":"swimlane.dev"},{"email":"manideep.laxmishetty@swimlane.com","name":"manideep-swimlane"},{"email":"ian.schultz@swimlane.com","name":"ischultz-swimlane"},{"email":"Jogaj_26@hotmail.com","name":"jogaj_26"},{"email":"nicholas.tausek@gmail.com","name":"nikkuman"},{"email":"sarath.pantula@swimlane.com","name":"sarath.pantula"},{"email":"grandhi.subrahmanyam@swimlane.com","name":"grandhi_subrahmanyam"},{"email":"daniel.abbott@swimlane.com","name":"dabbott-sl"},{"email":"dmytro.skorokhodov@swimlane.com","name":"dmytro_skorokhodov"},{"email":"koushik.kumar@swimlane.com","name":"koushik.kumar"},{"email":"steveblue@gmail.com","name":"steveblue"},{"email":"prasanth.boyina@swimlane.com","name":"prasanthsaiboyina"},{"email":"ashray.gupta@swimlane.com","name":"ashraygupta"},{"email":"surya.pabbineedi@swimlane.com","name":"surya-pabbineedi"},{"email":"anurag.pasupureddi@swimlane.com","name":"anurag-p"},{"email":"anjali.tiwari@swimlane.com","name":"anjali.tiwari"}],"readme":"# Obfuscator\n\n🗝 Obfuscate values based on [JSON Schemas](https://json-schema.org/)\n\n[![Build Status](https://travis-ci.org/swimlane/obfuscator.svg?branch=master)](https://travis-ci.org/swimlane/obfuscator) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/aa997267ef6048fea131d6f28b984c4b)](https://www.codacy.com/app/Swimlane/obfuscator?utm_source=github.com&utm_medium=referral&utm_content=swimlane/obfuscator&utm_campaign=Badge_Grade) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/aa997267ef6048fea131d6f28b984c4b)](https://www.codacy.com/app/Swimlane/obfuscator?utm_source=github.com&utm_medium=referral&utm_content=swimlane/obfuscator&utm_campaign=Badge_Coverage)\n\n## Quickstart\n\nBy default, Obfuscator will replace any values defined in the schema of type `password` or type `string` and format `password` with `**********`.\n\n### Example\n\n```typescript\nimport { Obfuscator } from '@swimlane/obfuscator';\n\nconst obj = {\n  foo: 'bar',\n  xyzzy: 'secret',\n  fizz: 'buzz'\n};\nconst schema = {\n  type: 'object',\n  properties: {\n    foo: {\n      type: 'password'\n    },\n    xyzzy: {\n      type: 'string',\n      format: 'password'\n    },\n    fizz: {\n      type: 'string'\n    }\n  }\n};\n\nconsole.log(Obfuscator.value(obj, schema));\n// {\n//   \"foo\": \"**********\",\n//   \"xyzzy\": \"**********\",\n//   \"fizz\": \"buzz\"\n// }\n```\n\n## Functions\n\n### Obfuscator.value(value, schema, [replace], [types])\n\nThis function will obfuscate a value based on a JSON schema provided.\n\n- _value_: Any type of value you want to obfuscate\n- _schema_: A [JSON Schema](https://json-schema.org/) object\n- _replace_: _(optional)_ The value to obfuscate with. By default, this is `**********`. It can be a:\n  - _string_: Any value you want to replace it with. (ex. `'[ REDACTED ]'`)\n  - _function_: A function that accepts `(value, key)` and returns a string. This is useful if you want to obfuscate differently based on the value of key name. (ex. `(value, key) => 'REDACTED ' + value.length`)\n- _types_: _(optional)_ An array of JSON schema types you want to redact. By default, this is `[{ type: 'password' }, { type: 'string', format: 'password' }]`\n\n### Obfuscator.unObfuscate(newValue, prevValue, [replaceString])\n\nA little helper function to try and unobfuscate a value based on its previous value. The usage here is when updating an obfuscated object, you can save the new object with the unobfuscated values (assuming you have access to them)\n\n- _newValue_: The new values\n- _prevValue_: The previous version of the value\n- _replaceString_: _(optional)_ The expected obfuscated result. By default it's `**********`\n\n#### Unobfuscate Example\n\n```typescript\nimport { Obfuscate } from '@swimlane/obfuscator';\n\nasync function update(newValue): Promise<void> {\n  // get previous value from DB or something\n  const previous = await yourRepo.findById(newValue.id);\n\n  //replace any obfuscated values with their DB version\n  const updatedAsset = Obfuscator.unObfuscate(newValue, previous);\n\n  // Save new version with unobfuscated value\n  const result = await yourRepo.save(updatedAsset);\n}\n```\n\n## More Examples\n\nSee `tests/Obfuscator.spec.ts` for various examples of usage.\n\n## Credits\n\nObfuscator is a [Swimlane](http://swimlane.com) open-source project; we believe in giving back to the open-source community by sharing some of the projects we build for our application. Swimlane is an automated cyber security operations and incident response platform that enables cyber security teams to leverage threat intelligence, speed up incident response and automate security operations.\n","readmeFilename":"README.md"}