{"_id":"chutils","_rev":"25-9214c9cccc9917e743f3e1ada8ea7841","name":"chutils","description":"Javascript utility functions to prevent arthritis","dist-tags":{"latest":"2.0.0"},"versions":{"0.0.1":{"name":"chutils","version":"0.0.1","description":"Javascript utility functions to prevent arthritis","main":"index.js","scripts":{"test":"npm test"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.info"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","gitHead":"b49584ae87417050dcad9e7b22a639e2a95917a0","_id":"chutils@0.0.1","_shasum":"778558f35d52e9b61c9a5d835f5477cfbbf54b05","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"778558f35d52e9b61c9a5d835f5477cfbbf54b05","tarball":"https://registry.npmjs.org/chutils/-/chutils-0.0.1.tgz","integrity":"sha512-Fz/Nu+NwMaYP4OguNOas/9rcEcmhoOLYASS4Vcafcx1Z83CUsYz7OurARHkPIywIeK3zimQWWM8DwFPd0WRxoQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4wD+hhuPbU5h7uH0WvW06m2mrHhAND5ntLvJn/rOoRQIhAKlIO+EaP3xz6yILif7nGJL48maRCRL8xSDVuz6Qqhk2"}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/chutils-0.0.1.tgz_1482399617257_0.04047910217195749"}},"0.0.2":{"name":"chutils","version":"0.0.2","description":"Javascript utility functions to prevent arthritis","main":"index.js","scripts":{"test":"npm test"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.info"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","gitHead":"55ff7254fcd445e7e848924db84572c0e96c6a9d","_id":"chutils@0.0.2","_shasum":"58de7a51300970e96ebf282793c35a9a1fb2cf68","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"58de7a51300970e96ebf282793c35a9a1fb2cf68","tarball":"https://registry.npmjs.org/chutils/-/chutils-0.0.2.tgz","integrity":"sha512-VAMB1xHZiAHjAL81HVT7i46vBh7VgLoT+WvdIGeZbHUZvkBeqxy14GCdG30Px2WAxaX3ZwNQ0eL9atV9IlndZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDEDne+Hiy7nkvaAJ/rHnL4aaTtBbYU0h5MpjN9PmbUQAiAsLOUr1RBQVXeSIh4y+/fm+v2eWDMuCM9Ilh6nCMxDyA=="}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/chutils-0.0.2.tgz_1482399922699_0.5779549165163189"}},"0.0.3":{"name":"chutils","version":"0.0.3","description":"Javascript utility functions to prevent arthritis","main":"index.js","scripts":{"test":"mocha test ./test/de-promisify.test.js"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.info"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","devDependencies":{"bluebird":"^3.4.6","chai":"^3.5.0","mocha":"^3.2.0"},"gitHead":"26f536240429cb86fbd178287db8c27da6309dfe","_id":"chutils@0.0.3","_shasum":"6763caab172d7339d20c84d711d47a9d1a19fdb7","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"6763caab172d7339d20c84d711d47a9d1a19fdb7","tarball":"https://registry.npmjs.org/chutils/-/chutils-0.0.3.tgz","integrity":"sha512-x19FpXWJdeef6eUDy0QZGwKyxCjnH2DVO3Q29x69f5Yoll2TkcN42XBiJaMiEfNOnjTOHQ5U6HheNBfUe7VqCg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlMwqtPQbzn8S25iR1DDDwJpgUyl+YI45ZiFfF9zUaogIgFk9VzImF9B6rKiOptz289OLMCcpOFoIcxlLoJ1vcwok="}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/chutils-0.0.3.tgz_1482400569569_0.2021464379504323"}},"0.0.6":{"name":"chutils","version":"0.0.6","description":"Javascript utility functions to prevent arthritis","main":"./lib/index.js","scripts":{"test":"mocha test ./test/*.js"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.info"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","devDependencies":{"bluebird":"^3.4.6","chai":"^3.5.0","mocha":"^3.2.0"},"gitHead":"d5bc25b1171a393b6105c68a0d156a2ad265d25f","_id":"chutils@0.0.6","_shasum":"24674a727b26575d0f42d7fd52fd2796e0b000ba","_from":".","_npmVersion":"4.0.2","_nodeVersion":"6.9.1","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"24674a727b26575d0f42d7fd52fd2796e0b000ba","tarball":"https://registry.npmjs.org/chutils/-/chutils-0.0.6.tgz","integrity":"sha512-/DWt3m7HjvW38aZQSD2v64PQqWAKnF+DwZGc9wikxK9bq5hexfHFRVQiL3HOgPQMat5eOjhzfrf1OlWh7JTK2w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBXs39L/0v8mfcpvc01BIN97czvB2F78zMHtpuhlgH7sAiEAkjL7yPWuwH+T21WVjHQMUuHaaWdAr/TiSiME/mS8bgU="}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/chutils-0.0.6.tgz_1482433690721_0.7406608066521585"}},"0.1.4":{"name":"chutils","version":"0.1.4","description":"Javascript utility functions to prevent arthritis","main":"./lib/index.js","scripts":{"test":"mocha test ./test/*.js"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.info"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","devDependencies":{"bluebird":"^3.4.6","chai":"^3.5.0","mocha":"^3.2.0"},"gitHead":"f447b7884e84e5712680e8c8563d43a16b4260ac","_id":"chutils@0.1.4","_shasum":"43d230ff7362b28e3fb2d2fde0236529fccf8ff0","_from":".","_npmVersion":"4.0.2","_nodeVersion":"6.9.1","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"43d230ff7362b28e3fb2d2fde0236529fccf8ff0","tarball":"https://registry.npmjs.org/chutils/-/chutils-0.1.4.tgz","integrity":"sha512-1Bay/MxIOGeXYdjJSUaXlgT7IO2pCmXz4iQlZqbOS+zIrcowcYwUrIirosoDtfdgtNIaULgpzWoa6XO+XTfiKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcvgXoKn2CX9djHWFNPl3lVXRdDJw5D/bkHMldujyZkQIhAO8EZi0DoWAvioOq31+sPM1LQ4HmOGgTXU1hn5hfIKIc"}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/chutils-0.1.4.tgz_1482436162589_0.3936384543776512"}},"0.1.5":{"name":"chutils","version":"0.1.5","description":"Javascript utility functions to prevent arthritis","main":"./lib/index.js","scripts":{"test":"mocha test ./test/*.js"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.in"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","devDependencies":{"bluebird":"^3.4.6","chai":"^3.5.0","mocha":"^3.2.0"},"gitHead":"2f18128804b1c06da4e256e13c9601b018e10c71","_id":"chutils@0.1.5","_shasum":"1a09e226c1ac568e966872a0f8adc2aa86cb809f","_from":".","_npmVersion":"4.0.2","_nodeVersion":"6.9.1","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"1a09e226c1ac568e966872a0f8adc2aa86cb809f","tarball":"https://registry.npmjs.org/chutils/-/chutils-0.1.5.tgz","integrity":"sha512-4f213PNSzVa1dzw/+VBqrpP9PEKpsc9yL5TMZ037kxnMFtjSu/O6bHim+4aP8Ntr4GVtvre77mzTYcAHd69vzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3csFMxMwaRH4eOVYVdcyQxqkVYkbhd+XNWnbmfQLwMQIgCgQpPO722MpiRGwkxOKFmqg+ZkNmNrQUADBmgcpCPmM="}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/chutils-0.1.5.tgz_1482447143950_0.7197142234072089"}},"0.1.6":{"name":"chutils","version":"0.1.6","description":"Javascript utility functions to prevent arthritis","main":"./lib/index.js","scripts":{"test":"mocha test ./test/*.js"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.in"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","devDependencies":{"bluebird":"^3.4.6","chai":"^3.5.0","mocha":"^3.2.0"},"gitHead":"5c79ef8e28f34aebde61438ec182ca905eba9bf2","_id":"chutils@0.1.6","_shasum":"82fccf4fdb9d518a59ee095c44c891fa557805bf","_from":".","_npmVersion":"4.0.2","_nodeVersion":"6.9.1","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"82fccf4fdb9d518a59ee095c44c891fa557805bf","tarball":"https://registry.npmjs.org/chutils/-/chutils-0.1.6.tgz","integrity":"sha512-IxfYQqgFQAhHqLK5dehKq4ChOrTnV0NtMww61AOSYIqXO1w1xbFv/PB5r8/wjd6A3KfwGNhmkoG1hXLZHJ76xw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGXH2sAzFALduYAgo00zTfsd+A2k9nb1GFdtZ3heX2FsAiEAnZgyFl0TXpr8TQsi6M/UOxFbKmDMe7I79wxG2hcgpuQ="}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/chutils-0.1.6.tgz_1483457847917_0.9280181874055415"}},"0.1.7":{"name":"chutils","version":"0.1.7","description":"Javascript utility functions to prevent arthritis","main":"./lib/index.js","scripts":{"test":"mocha test ./test/*.js"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.in"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","devDependencies":{"bluebird":"^3.4.6","chai":"^3.5.0","mocha":"^3.2.0"},"gitHead":"f9b9c7e3d1fc9ffc7de78a9c24c739623362baec","_id":"chutils@0.1.7","_shasum":"f3c3f3ce4ee515a99970ee4cf5607aeef21b47d3","_from":".","_npmVersion":"4.0.2","_nodeVersion":"6.9.1","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"f3c3f3ce4ee515a99970ee4cf5607aeef21b47d3","tarball":"https://registry.npmjs.org/chutils/-/chutils-0.1.7.tgz","integrity":"sha512-aUOjzfeAxrAQcD+beztnE+HQyOULOZ9AZIaOHqLRS9vm6olueIhMxYB3mXQw/ymQLZGIWMzy6pZZIsFG3SnXlQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHKhG76+09EQAcZPaLfUYMMzJgPb02lCydOwOWflY9LIAiA4ysdbqnIaREx0aS4dKNyPfgI0eAd4SXiAOJmFFmtinw=="}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/chutils-0.1.7.tgz_1484150345500_0.8145720188040286"}},"0.1.8":{"name":"chutils","version":"0.1.8","description":"Javascript utility functions to prevent arthritis","main":"./lib/index.js","scripts":{"test":"mocha test ./test/*.js"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.in"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","devDependencies":{"bluebird":"^3.4.6","chai":"^3.5.0","mocha":"^3.2.0"},"gitHead":"f0d9d2d49a901f6e6d25172a435aa296fcd18b52","_id":"chutils@0.1.8","_shasum":"c78228ee32ad5f55a785ac1904db904ba6c325c7","_from":".","_npmVersion":"4.0.2","_nodeVersion":"6.9.1","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"c78228ee32ad5f55a785ac1904db904ba6c325c7","tarball":"https://registry.npmjs.org/chutils/-/chutils-0.1.8.tgz","integrity":"sha512-8oiq6p88cTxPWgrFAlD2r5jrnCoP/acgtsSRMU7QGmECZ7nkk/RWQDU5/Qs34p4Wbx8nbHdUhOZ/uzMMcWfvtw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDatmjOPhVeW0s2pkOaZ65KcytYxPtldN0G7e4rlxzEAIgXw6QWEPUmz42+CBUNhR5yLKlwrttcUGOdAPclIVc3So="}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/chutils-0.1.8.tgz_1484156890109_0.9995825826190412"}},"1.0.0":{"name":"chutils","version":"1.0.0","description":"Javascript utility functions to prevent arthritis","main":"./lib/index.js","scripts":{"test":"mocha test ./test/*.js"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.in"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","devDependencies":{"bluebird":"^3.4.6","chai":"^3.5.0","mocha":"^3.2.0","promisie":"^1.5.3"},"gitHead":"4f0cf866118389e897fd0c151c3d942175308ab7","_id":"chutils@1.0.0","_shasum":"b619b09997507282c9b78d8a87063203727dc89e","_from":".","_npmVersion":"4.0.5","_nodeVersion":"6.9.4","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"b619b09997507282c9b78d8a87063203727dc89e","tarball":"https://registry.npmjs.org/chutils/-/chutils-1.0.0.tgz","integrity":"sha512-7MiOHSjQqIPa35YWK12Bqev8PySYuo8+Gug9n32kD9Fj2qay1mUXuBPjX/acyuli0Kwc3rGU1Mr261eO6/CeDQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDk5o1C6ZIvpkT8JdEWhsE5J8q2IVl66YOLdurbkm7CVgIgfN8845tBHN0AesDNOlJPjj+eSOdi9eQr85vc4jGbbCA="}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/chutils-1.0.0.tgz_1487560068514_0.5286899677012116"}},"2.0.0":{"name":"chutils","version":"2.0.0","description":"Javascript utility functions to prevent arthritis","main":"./lib/index.js","scripts":{"test":"mocha test ./test/async.test.js"},"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"keywords":["utility","utilities","util","utils"],"author":{"name":"chulander","url":"bryan.chu.in"},"license":"ISC","bugs":{"url":"https://github.com/chulander/chutils/issues"},"homepage":"https://github.com/chulander/chutils#readme","standard":{"env":["mocha"]},"devDependencies":{"bluebird":"^3.4.6","capitalize":"^1.0.0","chai":"^3.5.0","mocha":"^3.2.0","standard":"^10.0.1"},"gitHead":"57c6341d08a8eb7b7eefe766326f7cc0f4432832","_id":"chutils@2.0.0","_shasum":"001b7b47a6a22b48901baa8e2acda8db709cffaa","_from":".","_npmVersion":"4.4.1","_nodeVersion":"6.9.5","_npmUser":{"name":"chulander","email":"bryan.p.chu@gmail.com"},"dist":{"shasum":"001b7b47a6a22b48901baa8e2acda8db709cffaa","tarball":"https://registry.npmjs.org/chutils/-/chutils-2.0.0.tgz","integrity":"sha512-iwXzNNrWTWM/vybdmSsEvp+FxSULRROKk07j6fvpZqNjgthp1fJAVe+ZJkEJhnaRvVwFK/BkSyTt8NThjFdF0A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCY6do0AaHrlana8JrWO7NDm9h7AmO8a3UCXg5/ZdXhvwIhAMzXl52HecozWH5GY7xBvzpDsEGseRDJ9LROPanqU81h"}]},"maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/chutils-2.0.0.tgz_1491539651752_0.4300031098537147"}}},"readme":"# chutils\r\nEver find yourself feeling repetitive, a bit of the coding déjà blues? While your mind may be momentarily suffering from a relapse, your fingers don't have to with these utility function designed to win back some \"me\" time.\r\n \r\n### Version\r\n2.0.0\r\n\r\n### Utility List (thus far)\r\n#### type\r\n1. shouldBe: get the \"working\" variable type (Thanks to [Angus](https://javascriptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/)\r\n)\r\n\r\n```javascript\r\nconst { type: { shouldBe } } = require('chutils')\r\n\r\ntypeof null // \"object\"\r\nshouldBe(null) // \"null\"\r\n\r\ntypeof [] // \"object\"\r\nshouldBe([]) // \"array\"\r\n\r\ntypeof new Promise(success=>{},error=>{}) // \"object\"\r\nshouldBe new Promise(success=>{},error=>{}) // \"promise\"\r\n```\r\n\r\n    \r\n\r\n#### safe\r\n1. assign: safely assign deeply-nested properties\r\n```javascript\r\nconst { safe: { assign } } = require('chutils')\r\n\r\nlet obj = { package: 'chutils'}\r\n\r\nobj = assign(obj, 'deeply.nested.layer', 'hi');\r\n\r\n/*\r\nobj = {\r\n  package: 'chutils',\r\n  deeply: {\r\n    nested: {\r\n      layer: 'hi' \r\n    }\r\n  }\r\n} \r\n*/\r\n```\r\n2. get: safely get deeply-nested properties\r\n```javascript\r\nconst { safe: { get } } = require('chutils')\r\n\r\nconst obj = {\r\n  package: 'chutils',\r\n  deeply: {\r\n    nested: {\r\n      layer: 'hi' \r\n    }\r\n  }\r\n} \r\n\r\nget(obj,'deeply.nested.layer') // 'hi'\r\n\r\n// even with different object notations\r\nget(obj,'deeply[\"nested\"].layer') // 'hi'\r\n\r\n// no more TypeError accessing properties of undefined\r\nobj.imaginary.layer // TypeError: Cannot read property 'imaginary' of undefined\r\nget(obj,'imaginary.layer') // undefined\r\n```\r\n#### compare\r\n1. value: safely compare deeply-nested property value (strict comparision)\r\n```javascript\r\nconst { compare: { value } } = require('chutils')\r\n\r\nconst obj = {\r\n  package: 'chutils',\r\n  deeply: {\r\n    nested: {\r\n      layer: 'hi' \r\n    }\r\n  }\r\n} \r\n\r\nvalue(obj,'deeply.nested.layer','hi') // true\r\n\r\n// even with different object notations\r\nvalue(obj,'deeply[\"nested\"].layer', 'hi') // true\r\n\r\n// no more TypeError accessing properties of undefined\r\nobj.imaginary.layer // TypeError: Cannot read property 'imaginary' of undefined\r\nvalue(obj,'imaginary.layer', 'exist') // false\r\n```\r\n\r\n2. shouldBe: safely compare deeply-nested property value to it's type.shouldBe value\r\n```javascript\r\nconst { compare: { shouldBe } } = require('chutils')\r\n\r\nconst obj = {\r\n  package: 'chutils',\r\n  deeply: {\r\n    nested: {\r\n      layer: 'hi',\r\n      arr: [1,2,3]\r\n    }\r\n  },\r\n  promiseObj: Promise.resolve()\r\n} \r\n\r\nshouldBe(obj, 'deeply.nested[\"arr\"]','array') // true\r\nshouldBe(obj, 'promiseObj', 'promise') // true\r\n```\r\n\r\n#### async\r\n1. dePromisify: unwraps an ES6 Promise to its nostalgic error-first callback form\r\n```javascript\r\nconst { async: { dePromisify } } = require('chutils')\r\nconst bluebird = require('bluebird')\r\n\r\nconst fs = require('fs')\r\nconst readFileAsync = bluebird.promisify(fs.readFile)\r\nconst readFileCB = dePromisify(readFileAsync)\r\nreadFileCB('someText.txt', function(err,data){\r\n  if(err) err\r\n  else console.log(data) // some data here\r\n})\r\n\r\n````\r\n2. dePromisifyAll: iterates through an object's enumerable properties and dePromisifies the functions\r\n```javascript\r\nconst { async: { dePromisifyAll } } = require('chutils')\r\nconst bluebird = require('bluebird')\r\n\r\nlet fs = bluebird.promisifyAll(require('fs'))\r\nfs = dePromisifyAll(fs)\r\n\r\nfs.readFileCB('someText.txt', function(err,data){\r\n  if(err) err\r\n  else console.log(data) // some data here\r\n})\r\n```\r\n3. promisify: wraps an error-first callback function into an ES6 Promise\r\n```javascript\r\nconst { async: { promisify } } = require('chutils')\r\nconst fs = require('fs')\r\n\r\nconst readFileAsync = promisify(fs.readFile)\r\nreadFileAsync('someText.txt')\r\n.then(data=>{\r\n  console.log(data) // some data here\r\n})\r\n\r\n```\r\n4. promisifyAll: iterates through an object's enumerable properties and promisifies the functions\r\n```javascript\r\nconst { async: { promisifyAll } } = require('chutils')\r\nconst fs = promisifyAll(require('fs'))\r\n\r\nfs.readFileAsync('someText.txt')\r\n.then(data=>{\r\n  console.log(data) // some data here\r\n})\r\n\r\n```\r\n\r\n### Installation\r\nNative ES6 Promises is required therefore Node v4.2.4+\r\n```sh\r\n$ npm i chutils\r\n```\r\n\r\n### Testing\r\n```sh\r\n$ npm i chutils\r\n$ cd ./node_modules/chutils\r\n$ npm i\r\n$ npm run test\r\n```\r\n\r\nLicense\r\n----\r\n\r\nMIT","maintainers":[{"name":"chulander","email":"bryan.p.chu@gmail.com"}],"time":{"modified":"2022-06-13T06:01:47.597Z","created":"2016-12-22T09:40:17.938Z","0.0.1":"2016-12-22T09:40:17.938Z","0.0.2":"2016-12-22T09:45:24.703Z","0.0.3":"2016-12-22T09:56:10.258Z","0.0.4":"2016-12-22T14:35:10.122Z","0.0.5":"2016-12-22T14:40:16.239Z","0.0.6":"2016-12-22T19:08:11.412Z","0.1.0":"2016-12-22T19:30:54.234Z","0.1.1":"2016-12-22T19:33:56.206Z","0.1.2":"2016-12-22T19:35:56.311Z","0.1.3":"2016-12-22T19:45:25.288Z","0.1.4":"2016-12-22T19:49:24.547Z","0.1.5":"2016-12-22T22:52:25.707Z","0.1.6":"2017-01-03T15:37:29.872Z","0.1.7":"2017-01-11T15:59:06.210Z","0.1.8":"2017-01-11T17:48:11.968Z","1.0.0":"2017-02-20T03:07:50.512Z","2.0.0":"2017-04-07T04:34:13.678Z"},"homepage":"https://github.com/chulander/chutils#readme","keywords":["utility","utilities","util","utils"],"repository":{"type":"git","url":"git+https://github.com/chulander/chutils.git"},"author":{"name":"chulander","url":"bryan.chu.in"},"bugs":{"url":"https://github.com/chulander/chutils/issues"},"license":"ISC","readmeFilename":"README.md"}