{"_id":"beyo-model-mapper","_rev":"27-2a6ce9ea0c7661ba132a855fa78322ab","name":"beyo-model-mapper","description":"Data mappers for beyo models","dist-tags":{"latest":"0.2.0"},"versions":{"0.0.1":{"name":"beyo-model-mapper","version":"0.0.1","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","error-factory":"latest"},"devDependencies":{"mocha":"^1.18.2","co-mocha":"0.0.2","semicov":"^0.1.1-2","should":"^3.2.0"},"license":"MIT","_id":"beyo-model-mapper@0.0.1","dist":{"shasum":"6a3de7a6303cff7695d9270374c961f56fd929f2","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.0.1.tgz","integrity":"sha512-t1Npq1SKbcC50iEbQlhYhaBKmtDmFudrnHFoZMhUkcNEy/5Gy3SJnrDOZ5bP/c8XxKI8TPGbg0cYgsGcpshYAA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF9t8Q/jKVqMLUOWXWH4g23zuettk8TVvzuF9ndGg/p+AiEA7/yYOEiX7088ZpQby8WvbsrgkXbMocJia6HrWB5CM8I="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.2":{"name":"beyo-model-mapper","version":"0.0.2","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","error-factory":"latest","semver":"^2.2.1","co-fs":"^1.2.0","semicov":"^0.1.1","co":"^3.0.5"},"devDependencies":{"mocha":"^1.18.2","co-mocha":"0.0.2","semicov":"^0.1.1-2","should":"^3.2.0","co-suspend":"^0.1.0"},"license":"MIT","_id":"beyo-model-mapper@0.0.2","dist":{"shasum":"985807ad3397053fe227f667b2bcdd7230ed4098","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.0.2.tgz","integrity":"sha512-ywCXG3oQ0HRxeVjserMsO7Wvw0RSGMc/TzWTTkCO1oZkkeZLFBhzGS9JFtCXtAq+RCpayHm7cySlHnbJCPibzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE2lvy9WWcPes7ShCbmjnCu5Hm6yayhRibQMG+/YuZEeAiEA3XsFENShxIaaxFc+Z/CozdCahV+W0ICyND66p3ePJi0="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.5":{"name":"beyo-model-mapper","version":"0.0.5","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","error-factory":"latest","semver":"^2.2.1","co-fs":"^1.2.0","co":"^3.0.5","co-suspend":"latest"},"devDependencies":{"mocha":"^1.18.2","co-mocha":"0.0.2","semicov":"^0.1.1","should":"^3.3.1"},"license":"MIT","_id":"beyo-model-mapper@0.0.5","dist":{"shasum":"9b0104c2ee1bb8539a90b5cd1214978dd95c5f6c","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.0.5.tgz","integrity":"sha512-EsniWTqimGFXKe08FeDo7I7UWcQwKjSOq/C+WkH618v6/imSQ8lNoju3rZZBE/rUzvjco4Q4a3ke7BOLNS+nuw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHS+cU4uMN47J8skBtu/W+ypryRsOJ9YLLx2E8yVPC3gIgcoy/EYa/o6sizja+kP2rb319rvFG5D5Tm573+RNyBKE="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.6":{"name":"beyo-model-mapper","version":"0.0.6","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","error-factory":"latest","semver":"^2.2.1","co-fs":"^1.2.0","co":"^3.0.5","co-suspend":"latest"},"devDependencies":{"mocha":"^1.18.2","co-mocha":"0.0.2","semicov":"^0.1.1-2","should":"^3.3.1"},"license":"MIT","_id":"beyo-model-mapper@0.0.6","dist":{"shasum":"0e5013d2d0d3b45ff1b148653c2f3ffef2c2faaf","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.0.6.tgz","integrity":"sha512-LBiy5VE5j7IgTVzC5OLnjydcya1CKadMxArFjVyRNqerz8p8k3QPs5X01dtTRvf/Qr155gNPrQsGl2nUwFTzlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFDKBEGgCbxWsQQCUNv3GvShzwHS5GJh7c7y8ivvQngIAiEAqLmR7VoAEsoWLx1tuP8WfzDhudehAD+4o+H/X8j8Gps="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.7":{"name":"beyo-model-mapper","version":"0.0.7","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","error-factory":"latest","semver":"^2.2.1","co-fs":"^1.2.0","co":"^3.0.5","co-suspend":"latest"},"devDependencies":{"mocha":"^1.18.2","co-mocha":"0.0.2","semicov":"^0.1.1-2","should":"^3.3.1"},"license":"MIT","_id":"beyo-model-mapper@0.0.7","_shasum":"0bc4025b687d7f0bbd35569c042eca17d9fb9370","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"dist":{"shasum":"0bc4025b687d7f0bbd35569c042eca17d9fb9370","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.0.7.tgz","integrity":"sha512-4D1PvvGrxHqvVxi0hQQIE9hPerMzDbuuXARH8eL7gj9mssFe6VqhU5OI2Y2gzNnwuvvHsDM2avprnw2Zy8uYkg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFPZXidUvIqol3NbCw8cxXMpenCpvG69mG2sEW/WrRb3AiEA7qig14VWrmaAlb8QoiHbDULaysn+6ndQy3KmRESk4rQ="}]},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.0":{"name":"beyo-model-mapper","version":"0.1.0","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","co":"^3.0.6","co-fs":"^1.2.0","co-suspend":"^0.1.4","error-factory":"latest","semver":"^2.3.0"},"devDependencies":{"mocha":"^1.18.2","co-mocha":"0.0.4","semicov":"^0.1.1-2","should":"^3.3.1"},"license":"MIT","_id":"beyo-model-mapper@0.1.0","_shasum":"62ae63d71dfc065295e0fa967b463c8cbc95a67d","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"dist":{"shasum":"62ae63d71dfc065295e0fa967b463c8cbc95a67d","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.1.0.tgz","integrity":"sha512-x5ymRa4SEa8V16FCLDQE/sv4/HT1+8hNdyRLwNl5OnTTneM7n1k10CE71V9ckEQw/DWUoawFpmgzwcRxO66ZnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDyIegAptWTMp20E7nYdMa+PjpbIuVfjETuW6AMk/anuAiBIDrehnhPKbDWB0YbbxLOq/LNiMP6dsRJidrqlYJ/KbA=="}]},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.1":{"name":"beyo-model-mapper","version":"0.1.1","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","co":"^3.0.6","co-fs":"^1.2.0","co-suspend":"^0.1.4","error-factory":"latest","semver":"^2.3.0"},"devDependencies":{"mocha":"^1.18.2","co-mocha":"0.0.4","semicov":"^0.1.1-2","should":"^3.3.1"},"license":"MIT","_id":"beyo-model-mapper@0.1.1","_shasum":"b29cbc9b595b44f78ebeb4499baef9c109eb085c","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"dist":{"shasum":"b29cbc9b595b44f78ebeb4499baef9c109eb085c","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.1.1.tgz","integrity":"sha512-m8WKojkPrX0OoPLp3v2AxvnWaPnDyczbSSi8KSv+JVBpKC5uHZaY7IhcWXvUe4lnXJMOrpYxARG6724ZDwtCJg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD97YdYmU01hqVrICJ0kGpinb7SqC7FNUt2wegBj6SoXgIgIvsvcPH77BYLY0kjDNYdwZqKsayTQcF+QTM5ywrhN6c="}]},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.2":{"name":"beyo-model-mapper","version":"0.1.2","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","co":"^3.0.6","co-fs":"^1.2.0","co-suspend":"^0.1.4","error-factory":"latest","semver":"^2.3.0"},"devDependencies":{"mocha":"^1.18.2","co-mocha":"0.0.4","semicov":"^0.1.1-2","should":"^3.3.1"},"license":"MIT","_id":"beyo-model-mapper@0.1.2","_shasum":"51646ea047279687216a87aa9f4a2db8d993231a","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"dist":{"shasum":"51646ea047279687216a87aa9f4a2db8d993231a","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.1.2.tgz","integrity":"sha512-lYYUcKkd2jDkAINcK09rHod4y83XtMc942md2NlpLtQpz+W10/EbMdtO7eQKEFGMThf8GJRwovrEZm4s3JKh5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG5fSH6InBorfHwiet/fOSSoO40F6fVqj9mdOu8PDjfyAiBXNn9LzMJBmP2tzc7KIyjNLjIt4UM3KRISC3/A/lgJIQ=="}]},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.3":{"name":"beyo-model-mapper","version":"0.1.3","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","co":"^3.0.6","co-fs":"^1.2.0","co-suspend":"^0.1.4","error-factory":"latest","semver":"^2.3.0"},"devDependencies":{"mocha":"^1.20.1","co-mocha":"0.0.4","semicov":"^0.1.1-2","should":"^4.0.4"},"license":"MIT","gitHead":"56da4b2a3025bd9eeb900fc77b6d6b54198933af","_id":"beyo-model-mapper@0.1.3","_shasum":"d5c141e94a1e12c19807ffc50876f2d0a4e02c8c","_from":".","_npmVersion":"1.4.13","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"dist":{"shasum":"d5c141e94a1e12c19807ffc50876f2d0a4e02c8c","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.1.3.tgz","integrity":"sha512-OxMLopGjIUjESsUyu4l2wbRrbyPMEnPPRd6r3B2Yoz6TgSsPWeZqp6e3angOgIr7OkD3l03IRS1TMkZZEZECnw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAbQCDDm48+cH1Lro+4QfLJjo3E3mcMJNXNzEonN9iUjAiEAjZI7m+791PqQiReUQNo757PzaUJgCOp5/yuJy27hKJo="}]},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.3-1":{"name":"beyo-model-mapper","version":"0.1.3-1","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","co":"^3.0.6","co-fs":"^1.2.0","co-suspend":"^0.1.5","error-factory":"latest","semver":"^2.3.1"},"devDependencies":{"mocha":"^1.20.1","co-mocha":"0.0.4","semicov":"^0.1.1-2","should":"^4.0.4"},"license":"MIT","_id":"beyo-model-mapper@0.1.3-1","_shasum":"970634741cc2ecd8c0503955f4dd301e77191f3a","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"dist":{"shasum":"970634741cc2ecd8c0503955f4dd301e77191f3a","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.1.3-1.tgz","integrity":"sha512-zmdVH8sXaUz7wDPWANqe2/2yY2ANk/RT6juu/xCANHI918gxcxzv3dVFejyodlJXT4fGW7nCTfzvK7BKf2ZaBw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/X6aW4PVJgniaOwO7AXdITQgc/zcBeLjD2VXSVeC6yQIgdJOXH0gXSNkb/N11B1jDjYQNQuruuXV+SUdRH9tf1YA="}]},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.1.3-2":{"name":"beyo-model-mapper","version":"0.1.3-2","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","co":"^3.0.6","co-fs":"^1.2.0","co-suspend":"^0.1.5","error-factory":"latest","semver":"^2.3.1"},"devDependencies":{"mocha":"^1.20.1","co-mocha":"0.0.4","semicov":"^0.1.1-2","should":"^4.0.4"},"license":"MIT","_id":"beyo-model-mapper@0.1.3-2","_shasum":"6e7835d423dfb3a722a3957be815fc8caba2ebe0","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"dist":{"shasum":"6e7835d423dfb3a722a3957be815fc8caba2ebe0","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.1.3-2.tgz","integrity":"sha512-1ONupsXx17BjrpBgfSryVaqjw9UIaYVBgKqUnFQR0SZovD+13r/5JIpnmvexAD5eU+6AMFo5CgmiCvTtB4MW+A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCyhTvxydSrbe25wdVuwatLVGUHne3fHkkZ8O7i/9EI2QIgZV03O6pToT3JnEsXV6eQOb6Cmu82r5PNSbOydlqTe/8="}]},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.0":{"name":"beyo-model-mapper","version":"0.2.0","description":"Data mappers for beyo models","author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"main":"index.js","keywords":["beyo","model","mapper","data"],"homepage":"https://github.com/beyo/model-mapper","repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"scripts":{"test":"mocha --harmony"},"dependencies":{"beyo-model":"latest","co":"^3.0.6","co-fs":"^1.2.0","co-suspend":"^0.1.5","error-factory":"latest","semver":"^2.3.1","var-validator":"latest"},"devDependencies":{"mocha":"^1.20.1","co-mocha":"0.0.4","semicov":"^0.1.1-2","should":"^4.0.4"},"license":"MIT","gitHead":"03684835c588a8755b6c13915e029cae72d4f95f","_id":"beyo-model-mapper@0.2.0","_shasum":"2921d245a2e549d10c57ad9cf89dd01c77422764","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"yanickrochon","email":"yanick.rochon@gmail.com"},"maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"dist":{"shasum":"2921d245a2e549d10c57ad9cf89dd01c77422764","tarball":"https://registry.npmjs.org/beyo-model-mapper/-/beyo-model-mapper-0.2.0.tgz","integrity":"sha512-dX7em17cMY9x5J4TzISe+p7sEeiSQkbDTB4ixyTfPZNHpAlXiwXT72+6u20Bp6W4EyBhMSTSS+TVjgvnF9GPgg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICu7rffqca+KZ/X8q4nIZOqnovdVk7F2IvuueW1Evv+FAiEAvwILhISm907o5/R58CI4y9A2uT9KZecq/ReTgUzc0Rg="}]},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"readme":"## Beyo Model Mapper\n\nData mappers for beyo models\n\n\n## Preamble\n\nThis module is *not* an ORM. It is a DI abstraction layer for models, but still\nallowing projects to manually access the persistence layer and optimize data access.\n\n\n## Install\n\n```\nnpm install beyo-model-mapper\n```\n\n\n## Usage\n\n```javascript\n// declare\nvar mapper = Mapper.define('Foo', {    // define \"FooMapper\"\n  model: {\n    type: 'Foo',       // must be a defined model (see beyo-model)\n    methods: {\n      save: function * () {\n        if (this is a new model) {\n          return yield mapper.create(this);\n        } else {\n          return yield mapper.update(this);\n        }\n      }\n    }\n  },\n  connection: 'postgre',\n  options: {\n    /* whatever options */\n  },\n  methods: {\n    create: createModel,\n    find: findModel,\n    findAll: findAllModels,\n    update: updateModel,\n    delete: deleteModel\n  },\n  events: {\n    /* emitter: ...  // instance of EventEmitter, or compatible interface */\n    /* pattern: ...  // event pattern string. Defaults to \"mapper.{mapper}.{event}\".\n    mapping: {\n      create: 'create',\n      update: 'update',\n      delete: 'delete'\n    }\n  }\n});\n\n\nfunction * createModel(model) {\n  // create new model and return it\n}\n\nfunction * findModel(filter) {\n  // find the first model matching `filter` and return it\n}\n\nfunction * findAllModels(filter) {\n  // find all models matching `filter` and return a Collection\n}\n\nfunction * updateModel(model) {\n  // update model `model` and return it\n}\n\nfunction * deleteModel(model) {\n  // delete model `model` and return success state\n}\n```\n\n```javascript\n// fetching the mapper\nvar fooMapper = Mapper.get('Foo');\n\n// fetching the model mapper\nvar FooModel = Model.get('Foo');\nvar foo = FooModel();   // new instance\n\n// foo._mapper === FooModel.mapper === fooMapper\n\nfoo.save();\n```\n\n\n## Mapper\n\nA mapper's purpose is to bind a model to a persistence storage.\n\n**NOTE** : A model bound to a mapper cannot be bound again with another mapper.\n\n\n### Mapper Public API\n\n* **define** *(mapperName:String, options:Object)*:*{Mapper}* - define a new mapper\nand return it\n* **get** *(mapperName:String)*:*{Mapper}* - return a defined mapper, or throw an\nexception is the mapper does not exist\n* **isDefined** *(mapperName:String)*:*{Boolean}* - check if a mapper is defined\n\n\n### Mapper Options\n\n* **model**:*{Object}* - the mapped model options. The model class (model type) will\nbe extended with a static property `mapper, and the prototype with a property\n`_mapper`, which returns the defining mapper instance for the model.\n  * **type**:*{String}* - the model type (must be already defined, see\n    [Model.define](https://github.com/beyo/model#models).\n  * **methods**:*{Object}* - *(optional)* the methods to add to the model's prototype.\n    This option behaves like the mapper's `methods` options, but methods are added\n    to the model's prototype.\n* **options**:*{mixed}* - any value that will be mixed with the mapper's prototype.\n* **connection**:*{String}* - the defined connection name. Defining this option\n  will add `_connectionName`, the connection name as string, and `getAdapter()`, a\n  yieldable function returning the define connection adapter's client (see\n  [Connections.define](#connections-api)), to the\n  mapper's prototype\n* **methods**:*{Object}* - an object mapping the methods to add to the mapper's\n  prototype. Typically, all the basic CRUD methods should be defined here. These\n  methods should be, `create`, `find`, `findAll`, `update`, `delete`, and `deleteAll`.\n* **events**:*{Object}* - an object to enable the mapper's methods to emit events. \n  * **emitter** *(optional)* - the event emitter to use. The value may be any object\n    exposing an `emit` method. The value may also be a getter (i.e. `get emitter() { ... }`)\n    for lazy emitter loading, where the getter will be called every time a method\n    event is emitted. (Defaults to the Mapper's built-in event emitter. See \n    [Mapper Events](#mapper-events).)\n  * **pattern** *(optional)* - a string representing the event name pattern to emit.\n    The default pattern, if none specified is `\"mapper.{mapper}.{event}\"`. The pattern\n    may include the tokens `{mapper}`, the mapper's `typeName`; `{event}`, the events\n    being fired, according to the event `mapping`; and `{model}` the model (if any)\n    provided. Any token may include a cannonical path, for example : `{model.id}`.\n  * **mapping** *(optional)* - an object consisting of method names (keys) with their\n    associated event--action--names. The default mapping defines the method/action as\n    `create`/`create`, `update`/`update`, `delete`/`delete`, and `deleteAll`/`delete`.\n    Specifying a mapping will not extend the default mapping, but override it.\n\n\n**NOTE**: all basic CRUD methods must be define, or the application may throw\nan `AbstractMapperMethodException` error. More methods may also be defined.\n\n\n### CRUD methods\n\nAll CRUD methods must be yieldable. The following methods are defined abstract and\nmust be defined to be used. Calling any of these methods without defining them\nusing the mapper options will throw a `\"Method ... not implemented\"` error.\n\n* **Create** - create a new model.\n  * `create(model)` - receive a model as argument, and should return it\n* **Read** - find one or more models given a filter and sorter arguments\n  * `find(filter, sorter)` - receive a filter and sorter and should return the\n    first model found.\n  * `findAll(filter, sorter)` - receive a filter and sorter and should return a\n    `Collection` of models found.\n* **Update** - update the specified model\n  * `update(model)` - receive the model to update and return it\n* **Delete** - delete the specified model(s)\n  * `delete(model)` - receive the model to delete and return a boolean status\n  * `deleteAll(filter)` - receive a filter and delete all matching models, and\n    return the number of models deleted.\n\n\n### Mapper Events\n\nThe module itself extends `events.EventEmitter` and will emit two events; `define`\nand `create`.\n\n* `define` handlers will receive an object as first argument, where `mapperName` is\n  the actual mapper name (fully qualified), `namespace` is the mapper's namespace, \n  `typeName` the relative name (used to create the mapper's constructor name),\n  `prototype` is the actual mapper's prototype before it get's frozen, and `options`\n  is the unmodified options object.\n* `create` handlers will receive an object as first argument, where `typeName` is the\n  mapper's relative name, and `instance` is the newly created mapper's instance.\n  **Note**: the event is emitted *before* the constructor is returned! Any error\n  thrown in a sync'ed emitter will fail at constructing the new mapper.\n\nAlong with global events, the module's event emitter may be used to send any method's\nevents for the mappers not specifying their own event emitters. See [Mapper Options](#mapper-options)'s\nevents configuration.\n\n\n## Connections\n\nTo facilitate connection pooling and management, the `Connections` class act as a\nconnection registry for mappers. In such, mappers will make use of this registry\nto return their persistence storage adapter.\n\nFor example, for [PostgreSQL](https://github.com/brianc/node-postgres) :\n\n```javascript\nvar suspend = require('co-suspend');\nvar pg = require('pg');\nvar mapper;\n\nConnections.registerAdapter('postgres', function * memoryAdapter(info) {\n  // info = {\n  //   source: 'postgres://user:pass@host/dbname',\n  //   type: 'postgres',\n  //   user: 'user',\n  //   pass: 'pass',\n  //   host: 'host',\n  //   dbname: 'dbname'\n  // }\n  var marker = suspend();\n\n  pg.connect(info.source, function(err, client, done) {\n    marker.resume(err, client);\n    done();\n  });\n\n  return yield marker.wait(3000);  // wait 3 seconds for connection\n});\n\nConnections.define('fooConnection', 'postgres://user:pass@host/dbname')\n\nmapper = Mapper.define('Foo', {\n  connection: 'fooConnection'\n});\n\nvar client = yield (mapper.getAdapter)();\n```\n\n\n### Connections Public API\n\n* **registerAdapter** *(name:String, factory:Function)* - register a new client\n  adapter factory. The `factory` should be a yieldable function and should return\n  the client storage object that the mapper can use to perform basic CRUD operatons.\n* **isAdapterRegistered** *(name:String)*:*{Boolean}* - return true if the adapter\n  factory is defined.\n* **unregisterAdapter** *(name:String)* - unregister an adapter factory. This\n  method does not perform any check and this may break mappers using a connection\n  for the specified adapter factory!\n* **define** *(name:String, conStr:String)* - define a new named connection string\n  usable by mappers. The connection string should have the format 'adapter://user:pass@host/dbname',\n  where `adapter` is the registered adpater factory. All other values are optional,\n  but should follow the format is specified.\n* **isDefined** *(name:String)*:*{Boolean}* - returns true if the named connection exists.\n* **get** *(name:String)*:*{mixed}* - a yieldable function returning the adapter's factory\n  client instance.\n* **undefine** *(name:String)* - undefine a named connection.\n* **DEFAULT_EVENT_PATTERN** *{String}* - the default event pattern string.\n* **DEFAULT_EVENT_MAPPING** *{Object}* - the default event method mapping.\n\n\n## Contribution\n\nAll contributions welcome! Every PR **must** be accompanied by their associated\nunit tests!\n\n\n## License\n\nThe MIT License (MIT)\n\nCopyright (c) 2014 Mind2Soft <yanick.rochon@mind2soft.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","maintainers":[{"name":"yanickrochon","email":"yanick.rochon@gmail.com"}],"time":{"modified":"2023-03-19T02:11:54.403Z","created":"2014-04-03T16:00:58.259Z","0.0.1":"2014-04-03T16:00:58.260Z","0.0.2":"2014-04-10T19:24:02.777Z","0.0.5":"2014-04-30T15:46:46.218Z","0.0.6":"2014-05-01T19:57:37.198Z","0.0.7":"2014-05-05T19:52:59.734Z","0.1.0":"2014-05-12T20:04:54.983Z","0.1.1":"2014-05-23T20:11:31.296Z","0.1.2":"2014-05-29T05:35:02.498Z","0.1.3":"2014-06-16T17:43:08.620Z","0.1.3-1":"2014-07-02T15:52:28.347Z","0.1.3-2":"2014-07-02T21:04:00.063Z","0.2.0":"2014-07-16T20:45:27.825Z"},"homepage":"https://github.com/beyo/model-mapper","keywords":["beyo","model","mapper","data"],"repository":{"type":"git","url":"https://github.com/beyo/model-mapper"},"author":{"name":"Yanick Rochon","email":"yanick.rochon@gmail.com"},"bugs":{"url":"https://github.com/beyo/model-mapper/issues"},"license":"MIT","readmeFilename":"README.md"}