{"_id":"@amida-tech/blue-button-util","_rev":"4-b0da8dbffa3c5b62e0ceb7d71f124a68","name":"@amida-tech/blue-button-util","dist-tags":{"latest":"1.6.5"},"versions":{"1.6.1":{"name":"@amida-tech/blue-button-util","version":"1.6.1","description":"Common methods for Amida-Tech repos","main":"./index.js","directories":{"lib":"lib"},"scripts":{"test":"grunt run:jest","verify":"grunt"},"author":{"name":"Dmitry Kachaev","email":"dmitry@amida-tech.com"},"contributors":[{"name":"Matthew McCall","email":"matt@amida-tech.com"},{"name":"Afsin Ustundag","email":"afsin.ustundag@us.pwc.com"}],"license":"Apache-2.0","engines":{"node":">= 14.19.1"},"dependencies":{"moment":"^2.29.3"},"devDependencies":{"grunt":"^1.5.2","grunt-contrib-jshint":"^3.2.0","grunt-contrib-watch":"^1.1.0","grunt-jsbeautifier":"^0.2.13","grunt-run":"^0.8.1","jest":"^27.5.1"},"repository":{"type":"git","url":"git+https://github.com/amida-tech/blue-button-util.git"},"keywords":["bluebutton","blue-button","utility"],"bugs":{"url":"https://github.com/amida-tech/blue-button-util/issues"},"homepage":"https://github.com/amida-tech/blue-button-util","gitHead":"c6f12d344ab3cbc96edc471acced9de773129950","_id":"@amida-tech/blue-button-util@1.6.1","_nodeVersion":"16.14.2","_npmVersion":"8.6.0","dist":{"integrity":"sha512-ttdUogSM3dACi0L5Ct2MtJy51YGfriJuqASnj5+SiTuTkOwj52DqRiVWz36jPhrgLHCK10jPJfPpuv33qxspQA==","shasum":"b4e8e9a9a79f505a289ca7c3f2aed118112f54e3","tarball":"https://registry.npmjs.org/@amida-tech/blue-button-util/-/blue-button-util-1.6.1.tgz","fileCount":19,"unpackedSize":38742,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBm5mZxjnCOhJQ4EDLhJ9lMehIhA0UfoQik57zj1FqRUAiEAjnvOYmhmCOPsiIBSC/5Lx/8/LLN1sPA0GW9wjzQSswM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYuxaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqZQBAAg2AAKktM7zXoO5S94fXvv/Os+lN/irCQpCCQbgqS+J93v8CG\r\nGmpTSDxuRXJlgMpzbIcAHrrMDRExL9pvRNFAZFXrF83g1GCynfOKiff1jZXO\r\nDSEnSXGITH8Efo2kQR/XLErib8C+kjecWZSCV3ywycPpAPAddtdptSPdpNcD\r\n/1r4UlAojqNFFpRL9EXk2C5EVRL3u3Omc82ufsIFkNZQmvt6SIor2fYsy7E5\r\nAYfIZ8of1pWwhXA27MwuY0BV74wLxC/r8A819glalLq/gjddCwPlYpJZ12vm\r\nM38bdxzhxGcpCvrGmNEt8nRJErBT8bTH1TQIH7WCgpFQUXGEoYpYbKwoIaTM\r\nlXkldf4ERhcG71VLBKQA9lGqoGUI8NbZsUTOmhNbFfIuL+UVGvgNPfGEZzJc\r\n2wk1eLwPVjPtMgT65MW3GdO+Zi4jjUUjLJVCRplb0YyduPc0pzxTJtdsC5wf\r\nbUcu+/F8lPNCHVJKcT+nYH5M7z6hVUtAVs4Q3LtQ/JJBxh0I9uCd6s02JKQK\r\n2+ECQDyoQuN7DX9dvV7UQ5XXOlshfWt9NLBjc+6Fv3ksS5/EhPbaaskwjIMl\r\ntCn+3ozv/9OXIa/Zf3JckRyytPifLqajQi9/NEgQTZ2I0C3G2SaBeJjOtVNF\r\n3a0T7eHHVFyeonlXq1igUZZxdp5HMqiQEOY=\r\n=mQqa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"manhydra","email":"marc.sylvestre@manhydra.com"},"maintainers":[{"name":"manhydra","email":"marc.sylvestre@manhydra.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blue-button-util_1.6.1_1650650202499_0.9528091118026669"},"_hasShrinkwrap":false},"1.6.2":{"name":"@amida-tech/blue-button-util","version":"1.6.2","description":"Common methods for Amida-Tech repos","main":"./index.js","directories":{"lib":"lib"},"scripts":{"test":"grunt run:jest","verify":"grunt"},"author":{"name":"Dmitry Kachaev","email":"dmitry@amida-tech.com"},"contributors":[{"name":"Matthew McCall","email":"matt@amida-tech.com"},{"name":"Afsin Ustundag","email":"afsin.ustundag@us.pwc.com"}],"license":"Apache-2.0","engines":{"node":">= 14.19.3"},"dependencies":{"moment":"^2.29.3"},"devDependencies":{"grunt":"^1.5.3","grunt-contrib-jshint":"^3.2.0","grunt-contrib-watch":"^1.1.0","grunt-jsbeautifier":"^0.2.13","grunt-run":"^0.8.1","jest":"^27.5.1"},"repository":{"type":"git","url":"git+https://github.com/amida-tech/blue-button-util.git"},"keywords":["bluebutton","blue-button","utility"],"bugs":{"url":"https://github.com/amida-tech/blue-button-util/issues"},"homepage":"https://github.com/amida-tech/blue-button-util","gitHead":"18b1755a9dee487dbc1d883b4d93844eb613c733","_id":"@amida-tech/blue-button-util@1.6.2","_nodeVersion":"16.14.2","_npmVersion":"8.10.0","dist":{"integrity":"sha512-VjaB4IVCE/xb04kn1rzrdV+tzAj8Kzu3JsWEIdbWv+lA6/VAMTzkwJsUg7THa5s4znG4lykwvdgdW9jx52ao0w==","shasum":"243a9cdc58aa0a9a67b3687d8052ad32a3e36e80","tarball":"https://registry.npmjs.org/@amida-tech/blue-button-util/-/blue-button-util-1.6.2.tgz","fileCount":19,"unpackedSize":38842,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6mNDqJwtJC3uuYRv9zoxgc1d7DEzDu7J1xnQ2NLP9XwIgIE2MU6FcG1u1lBxwqp0a8ynD4/yG4Cwq27xTPdpnFTA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJilolYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3wg//RJFfeHfjIlr6C1fh4Akw652UsJAdKK08sq8wtOLr5GHKuqVR\r\nGLDuNmdPSGYDtR682A/dRmBVENXP1SO3ZkBtLceQ64/KOi9gKkxzzY1kJA5Y\r\nfa1BfPc0npzcA3SvrqiAU0iOFjBoVTNBVzM+28YSDOiuEcnypIqT7tra5JOG\r\nVKitO1LZtSXwA0bYZdSURAneqzLIpy4i/Pw90qD+jPaggFZ9yp/1t8HNcprV\r\nxeoFjhO8g5t+0D/Zvmh0Kr394BUCz962/4yjoM1Nkbmbh7IWLHp8xs69BZ7F\r\n5b3z5RSqWiByrKLpYBT454bts1Hkexo5QyDTrVbCg/0RCDY5skUC8aCBlnVV\r\nS9WV8mB/FrBHiVZfhcNt0Yv4tUc0YtFVAWS9HrOq0eHRtD55eZuLHI+zGQO0\r\nGnnsoF5DFGR17Vgl3hxRadRab/7gdVLO7Y8XW18T9R8EAeY9mzUhPyvm6q5C\r\n//xeyG1x47oCxFlTdRW3vZ/zIxpaP1hRHmd0OxtBLLvK5vF74CM6R+ea/xp+\r\ncDj0QlnnfW6/zMevUvEAzESgM1Iz+9O1vHcjh9Wzb/FHX/0yaRkiOK74MncS\r\nbOgqXwpgCy53zSt47LU0MJaostu7Krx7pA0sh4R/v+tmzvkGRmgaEl1x6/Pj\r\nNUnsyabJF4nj18nPPuB4N0G0Srwnmmy09YA=\r\n=Q4YE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"manhydra","email":"marc.sylvestre@manhydra.com"},"maintainers":[{"name":"manhydra","email":"marc.sylvestre@manhydra.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blue-button-util_1.6.2_1654032728232_0.9559968255745341"},"_hasShrinkwrap":false},"1.6.3":{"name":"@amida-tech/blue-button-util","version":"1.6.3","description":"Common methods for Amida-Tech repos","main":"./index.js","directories":{"lib":"lib"},"scripts":{"test":"grunt run:jest","verify":"grunt"},"author":{"name":"Dmitry Kachaev","email":"dmitry@amida-tech.com"},"contributors":[{"name":"Matthew McCall","email":"matt@amida-tech.com"},{"name":"Afsin Ustundag","email":"afsin.ustundag@us.pwc.com"}],"license":"Apache-2.0","engines":{"node":">= 14.19.3"},"dependencies":{"moment":"^2.29.4"},"devDependencies":{"grunt":"^1.5.3","grunt-contrib-jshint":"^3.2.0","grunt-contrib-watch":"^1.1.0","grunt-jsbeautifier":"^0.2.13","grunt-run":"^0.8.1","jest":"^27.5.1"},"repository":{"type":"git","url":"git+https://github.com/amida-tech/blue-button-util.git"},"keywords":["bluebutton","blue-button","utility"],"bugs":{"url":"https://github.com/amida-tech/blue-button-util/issues"},"homepage":"https://github.com/amida-tech/blue-button-util","gitHead":"68c3c054ea63d33c6d86efd87a4f6a9e3653508e","_id":"@amida-tech/blue-button-util@1.6.3","_nodeVersion":"16.14.2","_npmVersion":"8.12.1","dist":{"integrity":"sha512-NO84EijPye+QjSnM0ziMOA+KsJWND33mk7D62sZbXKPlHPugt1F/QCC3cUn9teqcIOpZ3olS5UVvWNkgPtdGJQ==","shasum":"a2cc0470a04cb02fa0d304c0ecf3ca63dfa1e9a9","tarball":"https://registry.npmjs.org/@amida-tech/blue-button-util/-/blue-button-util-1.6.3.tgz","fileCount":19,"unpackedSize":38842,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGtoCBrIrP1/PkgmWSbLnSk/eLxUQrNjcqTG8z8/JMxGAiAsdA2FiZEi0/IE3+a5O6mB/MrBmJwIJF2VTwQDuNiWJg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6YLGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqgJw/8DIHDeTQF0486V3jX1OocB5I+a3z65B4ur1k8OauqU0F9UhJk\r\nmc2B7xy++9iuvqc+Z0vcACcpWBxJXVBHVkt+hzbpijyPE2megwtajifxPak1\r\n+yG2qkimPj7PuHjdQ4E9mMYlV37LF6kB5pTIr5g9+Q689Wz2cz+tfwkZqNRK\r\nu9cJ8jfPkZN0PgN4gpeR0rn3mI9c7pEAmj8g2pFa2/ztLzL39ukbrlvLfTYq\r\nfygD2DrFxARmbShVFgoZPQgjs+6vSs8Wv6TVtZGouQueHjC2nspzoySDxelg\r\nFz6fPCsmjkRxQoqtcn7k43USenx1VBXw0doRJ1VlwBb+RCxsvk/9hZ2cBaTr\r\nVutNi3755S5E6SnFof2lxF9BknHym/dvteZCK1EkZ3skdmKbKE/TMSnn83z5\r\nbw0cAjxmBrZ4Wz64DFaoFsiCxUTDrLiZj9cCP1N6hc0WDvcNe8TNa1J54UPE\r\ni0ZxX003C9h0a/1WUbRCK6HtMHLxPPA/5p9DFWij58vBImdUsQcqljkABlKt\r\nis3TFaGmsU4+bfwFLle+S5Q6hXVIfOfXYL9ock0J9ncnEAKhlZFb05CSiHod\r\nGGkkz22Q9gy9hJUYRxO5NSjsAuJjdWbVCt5mt5IBtaMdRScLOPDVbf3QMewJ\r\nB/h/xe4Kw2bSogughB+sogdElIgtTkSEBlk=\r\n=V4V7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"manhydra","email":"marc.sylvestre@manhydra.com"},"maintainers":[{"name":"manhydra","email":"marc.sylvestre@manhydra.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blue-button-util_1.6.3_1659470534156_0.6931331312847131"},"_hasShrinkwrap":false},"1.6.4":{"name":"@amida-tech/blue-button-util","version":"1.6.4","description":"Common methods for Amida-Tech repos","main":"./index.js","directories":{"lib":"lib"},"scripts":{"test":"grunt run:jest","verify":"grunt"},"author":{"name":"Dmitry Kachaev","email":"dmitry@amida-tech.com"},"contributors":[{"name":"Matthew McCall","email":"matt@amida-tech.com"},{"name":"Afsin Ustundag","email":"afsin.ustundag@us.pwc.com"}],"license":"Apache-2.0","engines":{"node":">= 14.19.3"},"dependencies":{"moment":"^2.29.4"},"devDependencies":{"grunt":"^1.5.3","grunt-contrib-jshint":"^3.2.0","grunt-contrib-watch":"^1.1.0","grunt-jsbeautifier":"^0.2.13","grunt-run":"^0.8.1","jest":"^29.3.1"},"repository":{"type":"git","url":"git+https://github.com/amida-tech/blue-button-util.git"},"keywords":["bluebutton","blue-button","utility"],"bugs":{"url":"https://github.com/amida-tech/blue-button-util/issues"},"homepage":"https://github.com/amida-tech/blue-button-util","gitHead":"cfb30b02e509354d6adba9351a9fe5117d84ddab","_id":"@amida-tech/blue-button-util@1.6.4","_nodeVersion":"16.18.1","_npmVersion":"9.1.2","dist":{"integrity":"sha512-FExPPpbASQHxplILTcrKSe4/e+Hv9rhw9y3IlOYcwDugooE1gLEE43bsnHSud52Rbq7fGcxyqXQc1vEfkuQEoQ==","shasum":"47c1d2afa07ffc754abc4652456b8a72f373982d","tarball":"https://registry.npmjs.org/@amida-tech/blue-button-util/-/blue-button-util-1.6.4.tgz","fileCount":19,"unpackedSize":38842,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC/u5vVxAsagz5eSIE2GJi2+3HcXGYvZToGLYPTdcdU5AiEArveGGHuvZVKYZP7ixzrzI5NDiL5G1m8UqmM3D7xNuGI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtu0sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdsQ//WrEN7cewyEXxhrqA8fRtX5vDAPRoF3D5qC87Eqslz0iUYpM8\r\nQOpYFammDb1cb+fbcfRDZ/ElCLWOf7lrpDCSMbF5Cm8V9ZMXi61aSIYxGBRs\r\n0B1AcA28nmNNW2c5RCYvep9GSpSZ1+i46RqPEsj2u5APZ+gBbk6MTCtglDe9\r\niESJwsj0cfyPnIFc5c+wPv9lyWp4R1NjHpWtieMPSGRXS3kvPIvmL4uU9ZMO\r\nTC4X7Lmg6+6bo9s1ZRcznpTeMZW08OZTfIaCCCFrSVrLqFaouME/VMd0q8S1\r\nkVAkIdUjr19NyfVaF7nF8lM/m0Zi587obGMLh6BFAVG8WuwNejCaVo5oGEDt\r\nbre+NlBh2iYEwIOR3b8Gcm1peHn8wcAtCs1C+bELgIKpPkFAZAqm1bjsvwcF\r\nRp1KxlsDlnMlDhg1z+tGDnJGX3EE2aeUvS+JgFgcEs7Tig8GWNqUsDtJpVYU\r\naI7JMgB0J6qxwu1e4wJSt0LwQ72dxkMmBPTOcVE9QoYC3CPVY3dPm++45r7S\r\ndV7cEdocuYrWD+7ZfMkxAo8ImIp567kzhoTeOB377kyIpu4jlb1yF9UPsPXH\r\nQQVHspElyRIZQIl60S1PwTuoh6VwR14QqVZgAFZAOY+IthxT8x9ZqHq5NguG\r\nciTAzQ/fbhqZ8zO3xMk5AGz6PuQfmP4zjz0=\r\n=PGSJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"manhydra","email":"marc.sylvestre@manhydra.com"},"maintainers":[{"name":"manhydra","email":"marc.sylvestre@manhydra.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blue-button-util_1.6.4_1672932651990_0.26876540299728613"},"_hasShrinkwrap":false},"1.6.5":{"name":"@amida-tech/blue-button-util","version":"1.6.5","description":"Common methods for Amida-Tech repos","main":"./index.js","directories":{"lib":"lib"},"scripts":{"test":"grunt run:test","coverage":"grunt run:coverage","verify":"grunt"},"author":{"name":"Dmitry Kachaev","email":"dmitry@amida-tech.com"},"contributors":[{"name":"Matthew McCall","email":"matt@amida-tech.com"},{"name":"Afsin Ustundag","email":"afsin.ustundag@us.pwc.com"}],"license":"Apache-2.0","engines":{"node":">= 14.19.3"},"dependencies":{"moment":"^2.29.4"},"devDependencies":{"grunt":"^1.5.3","grunt-contrib-jshint":"^3.2.0","grunt-contrib-watch":"^1.1.0","grunt-jsbeautifier":"^0.2.13","grunt-run":"^0.8.1","jest":"^29.3.1"},"repository":{"type":"git","url":"git+https://github.com/amida-tech/blue-button-util.git"},"keywords":["bluebutton","blue-button","utility"],"bugs":{"url":"https://github.com/amida-tech/blue-button-util/issues"},"homepage":"https://github.com/amida-tech/blue-button-util","_id":"@amida-tech/blue-button-util@1.6.5","gitHead":"ee21b452f69fbbf1b8c4e0f8e29f510a417d78e8","_nodeVersion":"18.19.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-O+eTTVVXqvFgYV2NNHA+4uadEd2OnwrTIHiWLuUUYF7wAcundrEWJtgzRhdmqm6Y+S633TD5JE+BLCnIl7v70g==","shasum":"9aa47b8c4ba3b846a880cf9dc00877c89d84ea0d","tarball":"https://registry.npmjs.org/@amida-tech/blue-button-util/-/blue-button-util-1.6.5.tgz","fileCount":20,"unpackedSize":39314,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCara34CYa4qshOQUyAaWign9gh/+16qTiL9SUb6MwvRQIhAMdzbp8zLi5O0JDKZR2jKOYlKQ2dY2vq9GmlfGW8oam3"}]},"_npmUser":{"name":"manhydra","email":"marc.sylvestre@manhydra.com"},"maintainers":[{"name":"manhydra","email":"marc.sylvestre@manhydra.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blue-button-util_1.6.5_1712344307803_0.1647633014556371"},"_hasShrinkwrap":false}},"time":{"created":"2022-04-22T17:56:42.431Z","1.6.1":"2022-04-22T17:56:42.704Z","modified":"2024-04-05T19:11:48.177Z","1.6.2":"2022-05-31T21:32:08.413Z","1.6.3":"2022-08-02T20:02:14.304Z","1.6.4":"2023-01-05T15:30:52.139Z","1.6.5":"2024-04-05T19:11:48.014Z"},"maintainers":[{"name":"manhydra","email":"marc.sylvestre@manhydra.com"}],"description":"Common methods for Amida-Tech repos","homepage":"https://github.com/amida-tech/blue-button-util","keywords":["bluebutton","blue-button","utility"],"repository":{"type":"git","url":"git+https://github.com/amida-tech/blue-button-util.git"},"contributors":[{"name":"Matthew McCall","email":"matt@amida-tech.com"},{"name":"Afsin Ustundag","email":"afsin.ustundag@us.pwc.com"}],"author":{"name":"Dmitry Kachaev","email":"dmitry@amida-tech.com"},"bugs":{"url":"https://github.com/amida-tech/blue-button-util/issues"},"license":"Apache-2.0","readme":"Blue Button Utility\n================\n\nCommon utility methods for Amida-Tech repositories\n\n[![NPM](https://nodei.co/npm/@amida-tech/blue-button-util.png)](https://nodei.co/npm/@amida-tech/blue-button-util/)\n\n[![Build Status](https://travis-ci.org/amida-tech/blue-button-util.svg)](https://travis-ci.org/amida-tech/blue-button-util)\n[![Coverage Status](https://coveralls.io/repos/amida-tech/blue-button-util/badge.png)](https://coveralls.io/r/amida-tech/blue-button-util)\n\nThis library provides common Javascript utilities that are used in other Amida-Tech libraries.\n\n## Quick up and running guide\n\n### Prerequisites\n\n- Node.js (v14.19+) and NPM\n- Grunt.js\n\n```\n# Install dependencies\nnpm i\n\n# Install grunt\nnpm i -g grunt\n\n# Test\ngrunt\n\n```\n\n## Utilities\n\nYou can install using [npm](https://www.npmjs.com) and  `require` to use in [node.js](https://nodejs.org/)\n```js\nvar bbu = require('@amida-tech/blue-button-util');\n\nvar ob = bbu.object;         // object library\nvar obs = bbu.object;        // objectset library\nvar arrs = bbu.arrayset;     // arrayset library\nvar dtt = bbu.datetime;      // datetime library\n```\n\nThe following methods are provided\n- [`object.exists`](#object.exists)\n- [`objectset.compact`](#objectset.compact)\n- [`arrayset.append`](#arrayset.append)\n- [`datetime.dateToModel`](#datetime.dateToModel)\n- [`datetime.dateTimeToModel`](#datetime.dateTimeToModel)\n- [`datetime.modelToDate`](#datetime.modelToDate)\n- [`datetime.modelToDateTime`](#datetime.modelToDateTime)\n\n### `object` Library\n\nProvides utility methods for objects.\n\n### `exists(obj)`\n\nChecks if `obj` is not `undefined` or `null`\n```js\nvar r0 = ob.exists(null);\nvar r1 = ob.exists(undefined);\nvar r2 = ob.exists('anything else');\n\nconsole.log(r0); // false\nconsole.log(r1); // false\nconsole.log(r2); // true\n```\n\n### `objectset` Library\n\nProvides utility methods that modify an object.\n\n### `objectset.compact(obj)`\n\nRecursively removes all `null` and `undefined` values from `obj`.  No special handling is done for resulting empty objects or arrays\n```js\nvar obj = {\n  a: 1,\n  b: null,\n  c: {\n    d: undefined,\n    e: 4\n  },\n  f: {\n    g: null\n  }\n};\n\nobs.compact(obj);\nconsole.log(obj); // {a: 1, c:{e:4}, f:{}}\n```\n### `arrayset` Library\n\nProvides utility methods that modify an array.\n\n### `append(arr, arrToAppend)`\n\nAppends `arrToAppend` elements to `arr`\n```js\nvar arr = ['a', 'b'];\n\narrs.append(arr, ['c', 'd']);\nconsole.log(arr); // ['a', 'b', 'c', 'd'];\n```\n\n### `datetime` Library\n\nProvides conversion methods to/from [blue-button-model](https://github.com/amida-tech/blue-button-model) datetimes from/to ISO datetimes.\n\n### `datetime.dateToModel(d)`\n\nConverts ISO date `d` to [blue-button-model](https://github.com/amida-tech/blue-button-model) datetime\n```js\nvar r0 = dtt.dateToModel('2014');\nvar r1 = dtt.dateToModel('2014-02');\nvar r2 = dtt.dateToModel('2014-02-07');\nvar r3 = dtt.dateToModel('2014-02-07T12:45:04.000Z');\n\nconsole.log(r0); // {date: '2014-01-01T00:00:00.000Z', precision: 'year'}\nconsole.log(r1); // {date: '2014-02-01T00:00:00.000Z', precision: 'month'}\nconsole.log(r2); // {date: '2014-02-07T00:00:00.000Z', precision: 'day'}\nconsole.log(r3); // {date: '2014-02-07T00:00:00.000Z', precision: 'day'}\n```\n\n### `datetime.dateTimeToModel(dt)`\n\nConverts ISO datetime `d` to [blue-button-model](https://github.com/amida-tech/blue-button-model) datetime\n```js\nvar r0 = dtt.dateTimeToModel('2014');\nvar r1 = dtt.dateTimeToModel('2014-02');\nvar r2 = dtt.dateTimeToModel('2014-02-07');\nvar r3 = dtt.dateTimeToModel('2014-02-07T12:45:04.000Z');\n\nconsole.log(r0); // {date: '2014-01-01T00:00:00.000Z', precision: 'year'}\nconsole.log(r1); // {date: '2014-02-01T00:00:00.000Z', precision: 'month'}\nconsole.log(r2); // {date: '2014-02-07T00:00:00.000Z', precision: 'day'}\nconsole.log(r3); // {date: '2014-02-07T12:45:04.000Z', precision: 'second'}\n```\nMillisecond piece is ignored even when it is not zero.\n\n### `datetime.modelToDate(dt)`\n\nConverts [blue-button-model](https://github.com/amida-tech/blue-button-model) datetime `dt` to ISO date\n```js\nvar r0 = dtt.modelToDate({\n  date: '2014-01-01T00:00:00.000Z',\n  precision: 'year'\n});\nvar r1 = dtt.modelToDate({\n  date: '2014-02-01T00:00:00.000Z',\n  precision: 'month'\n});\nvar r2 = dtt.modelToDate({\n  date: '2014-02-07T00:00:00.000Z',\n  precision: 'day'\n});\nvar r3 = dtt.modelToDate({\n  date: '2014-02-07T12:45:04.000Z',\n  precision: 'second'\n});\n\nconsole.log(r0); // '2014'\nconsole.log(r1); // '2014-02'\nconsole.log(r2); // '2014-02-07'\nconsole.log(r3); // '2014-02-07'\n```\n\n### `datetime.modelToDateTime(dt)`\n\nConverts [blue-button-model](https://github.com/amida-tech/blue-button-model) datetime `dt` to ISO datetime\n```js\nvar r0 = dtt.modelToDateTime({\n    date: '2014-01-01T00:00:00.000Z',\n    precision: 'year'\n});\nvar r1 = dtt.modelToDateTime({\n    date: '2014-02-01T00:00:00.000Z',\n    precision: 'month'\n});\nvar r2 = dtt.modelToDateTime({\n    date: '2014-02-07T00:00:00.000Z',\n    precision: 'day'\n});\nvar r3 = dtt.modelToDateTime({\n    date: '2014-02-07T12:45:04.000Z',\n    precision: 'second'\n});\nvar r4 = dtt.modelToDateTime({\n    date: '2014-02-07T12:45:04.010Z',\n    precision: 'second'\n});\n\n\nconsole.log(r0); // '2014'\nconsole.log(r1); // '2014-02'\nconsole.log(r2); // '2014-02-07'\nconsole.log(r3); // '2014-02-07T12:45:04.000Z'\nconsole.log(r4); // '2014-02-07T12:45:04.010Z'\n```\n\n## License\n\nLicensed under [Apache 2.0](./LICENSE).\n","readmeFilename":"README.md"}