{"_id":"raptor-data-providers","_rev":"21-e01459950d60f2364fd7d20b678e972e","name":"raptor-data-providers","description":"Module to support the optimized delivery of web application resources","dist-tags":{"latest":"1.0.1-beta"},"versions":{"0.2.0-beta":{"name":"raptor-data-providers","version":"0.2.0-beta","description":"Module to support the optimized delivery of web application resources","repository":{"type":"git","url":"https://github.com/raptorjs/raptor-data-providers.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test && node_modules/.bin/jshint lib"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"raptor-util":"^0.2.0-beta","mocha":"~1.15.1","chai":"~1.8.1","jshint":"~2.3.0"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-data-providers.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"bugs":{"url":"https://github.com/raptorjs/raptor-data-providers/issues"},"homepage":"https://github.com/raptorjs/raptor-data-providers","_id":"raptor-data-providers@0.2.0-beta","dist":{"shasum":"f45b523dd527b214190a1470e2a347da356a6f4a","tarball":"https://registry.npmjs.org/raptor-data-providers/-/raptor-data-providers-0.2.0-beta.tgz","integrity":"sha512-BM4oZs/5dfYvGMv5YNey3bM+V5NVAfMDDMzsvofEFUKQZM87IpYW69+LCe76v9xHHG2WZn3PvoqMQCq0/2ZQbQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDBbGcR14QA0jZtl4fRcrh3LlBDm5nrbqhVUCmeE0jZ5AiAMeoh46qScKWJvzkz4NR5IAhDyQ5w9mcV3F059s3/RFg=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"deprecated":"DO NOT USE. Functionality merged into marko-async."},"0.2.1-beta":{"name":"raptor-data-providers","description":"Module to support the optimized delivery of web application resources","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-data-providers.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test && node_modules/.bin/jshint lib"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"}],"dependencies":{},"devDependencies":{"raptor-util":"^0.2.0-beta","mocha":"~1.15.1","chai":"~1.8.1","jshint":"~2.3.0"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-data-providers.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.1-beta","bugs":{"url":"https://github.com/raptorjs3/raptor-data-providers/issues"},"homepage":"https://github.com/raptorjs3/raptor-data-providers","_id":"raptor-data-providers@0.2.1-beta","dist":{"shasum":"7093a384d8f34fdd1727aa8166f3d36727194023","tarball":"https://registry.npmjs.org/raptor-data-providers/-/raptor-data-providers-0.2.1-beta.tgz","integrity":"sha512-eU06TnvkkzWUUec8sklgyxc7xmTYUb2elJYKOEQEpbaPd36ZB2CYDIlFySTcM/6Hq38+IEyDbzmhtSnjA7bC1w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTSRKUmUQc1x8E9qcJ/n8qX7+BiUB1WfbyPg5/iu2tzgIgONKocYPu0M8jfwn6q+bd9YCt2r36JVl/0GJF/lneH3c="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"deprecated":"DO NOT USE. Functionality merged into marko-async."},"0.2.2-beta":{"name":"raptor-data-providers","description":"Module to support the optimized delivery of web application resources","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-data-providers.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test && node_modules/.bin/jshint lib"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"},{"name":"philidem","email":"phillip.idem@gmail.com"}],"dependencies":{"raptor-util":"^0.2.1-beta"},"devDependencies":{"raptor-util":"^0.2.0-beta","mocha":"~1.15.1","chai":"~1.8.1","jshint":"~2.3.0"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-data-providers.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.2-beta","bugs":{"url":"https://github.com/raptorjs3/raptor-data-providers/issues"},"homepage":"https://github.com/raptorjs3/raptor-data-providers","_id":"raptor-data-providers@0.2.2-beta","dist":{"shasum":"31ab4824720fa94a39e9e0a2a687794650fbd4c1","tarball":"https://registry.npmjs.org/raptor-data-providers/-/raptor-data-providers-0.2.2-beta.tgz","integrity":"sha512-QIDz4fdTg8IPomZmSGYCfbdORwU3+rGG8gOST5hml7wNwviwDFug282XyKuP56k/+gZ4NkDQlZyYnsOzmKaW6g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMCNq31rX1gW9hkHUijSOUU+Go4Eu673CanB2I+Ac+6QIhANnSJqXIoTuvDwAtFqjzhUT0gg2TsmhXfuMNSTM6JPF9"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"deprecated":"DO NOT USE. Functionality merged into marko-async."},"0.2.3-beta":{"name":"raptor-data-providers","description":"Module to support the optimized delivery of web application resources","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-data-providers.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test && node_modules/.bin/jshint lib"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"},{"name":"philidem","email":"phillip.idem@gmail.com"}],"dependencies":{"raptor-util":"^0.2.1-beta"},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1","jshint":"~2.3.0"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-data-providers.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.3-beta","bugs":{"url":"https://github.com/raptorjs3/raptor-data-providers/issues"},"homepage":"https://github.com/raptorjs3/raptor-data-providers","_id":"raptor-data-providers@0.2.3-beta","dist":{"shasum":"b8b5b06aebdb4ea43bfaa3a0cfe7c012eb8923c1","tarball":"https://registry.npmjs.org/raptor-data-providers/-/raptor-data-providers-0.2.3-beta.tgz","integrity":"sha512-3HhEC6WGyZY+HiiNhvmA8csAU4zgMatX5We1vyh1paCmzfjTK3nQZRSr6xVMSrXz2uAECtwFsNMdERR8myNdsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDAtymIdpUWlmsrBGxeVQcLeTmEgJZqyliaGRGSjHNitAiEArLE7vn6mxPiLf5W1zrWCDuUBVPPlFoLjasyQEdn0WSE="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"deprecated":"DO NOT USE. Functionality merged into marko-async."},"0.2.4-beta":{"name":"raptor-data-providers","description":"Module to support the optimized delivery of web application resources","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-data-providers.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test && node_modules/.bin/jshint lib"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"},{"name":"philidem","email":"phillip.idem@gmail.com"}],"dependencies":{"raptor-util":"^0.2.1-beta"},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1","jshint":"~2.3.0"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-data-providers.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"0.2.4-beta","gitHead":"e04ed824f2b1725ae9de5bc1ba20ca69af86b42a","bugs":{"url":"https://github.com/raptorjs3/raptor-data-providers/issues"},"homepage":"https://github.com/raptorjs3/raptor-data-providers","_id":"raptor-data-providers@0.2.4-beta","_shasum":"70a87bfd326b9c62726e46bc808220c7e3fd9f86","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"70a87bfd326b9c62726e46bc808220c7e3fd9f86","tarball":"https://registry.npmjs.org/raptor-data-providers/-/raptor-data-providers-0.2.4-beta.tgz","integrity":"sha512-uTMz87i8hu2jn6n5KS10WFN2it13+izy2F//sHLGCZXlkfS/D8PCedasVY59OR3Na1Rgt4FcRKk0RQlAr+++hw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8jgxOurC4BUr1+ZBMmvD5ODNHfRYNSGWusDSQ5mdpEgIgFUgwppx9pwx6Ij93IcZSqXwvaHho2UliCOHUyFSx+Qc="}]},"deprecated":"DO NOT USE. Functionality merged into marko-async."},"1.0.0-beta":{"name":"raptor-data-providers","description":"Module to support the optimized delivery of web application resources","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-data-providers.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test && node_modules/.bin/jshint lib"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"},{"name":"philidem","email":"phillip.idem@gmail.com"}],"dependencies":{"raptor-util":"^0.2.1-beta"},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1","jshint":"~2.3.0"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-data-providers.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.0.0-beta","gitHead":"3bcf7b783d0163efbd24debcb29afa47332808ce","bugs":{"url":"https://github.com/raptorjs3/raptor-data-providers/issues"},"homepage":"https://github.com/raptorjs3/raptor-data-providers","_id":"raptor-data-providers@1.0.0-beta","_shasum":"806e2edc0bf1c56d28422b1067553184202e6844","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"806e2edc0bf1c56d28422b1067553184202e6844","tarball":"https://registry.npmjs.org/raptor-data-providers/-/raptor-data-providers-1.0.0-beta.tgz","integrity":"sha512-9wRwT4/vGPouUTTB6qHKT2i0kOv2lIXy+MLFbDDyVtec6O9cSEH7ZBukPSjtRdthfdhn6Z99bzx4yKSF8OlX/g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEDo45QKW/OyaOU6XrDhRFzFIm4rkYjaObLQpREbY+GeAiAeThwbdE7+XkunXLtZa0oKkEY1Ho5av7ackfxcd4mG6w=="}]},"deprecated":"DO NOT USE. Functionality merged into marko-async."},"1.0.1-beta":{"name":"raptor-data-providers","description":"Module to support the optimized delivery of web application resources","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-data-providers.git"},"scripts":{"test":"mocha --ui bdd --reporter spec ./test && node_modules/.bin/jshint lib"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"maintainers":[{"name":"pnidem","email":"pnidem@gmail.com"},{"name":"philidem","email":"phillip.idem@gmail.com"}],"dependencies":{"raptor-util":"^1.0.0-beta"},"devDependencies":{"mocha":"~1.15.1","chai":"~1.8.1","jshint":"~2.3.0"},"license":"Apache License v2.0","bin":{},"main":"lib/raptor-data-providers.js","publishConfig":{"registry":"https://registry.npmjs.org/"},"version":"1.0.1-beta","gitHead":"f076b35d00daf23932c2d1ced4877804d8d381ce","bugs":{"url":"https://github.com/raptorjs3/raptor-data-providers/issues"},"homepage":"https://github.com/raptorjs3/raptor-data-providers","_id":"raptor-data-providers@1.0.1-beta","_shasum":"d38a5a8da039a31de9fa3c987783d9f7fab42a2c","_from":".","_npmVersion":"1.4.14","_npmUser":{"name":"pnidem","email":"pnidem@gmail.com"},"dist":{"shasum":"d38a5a8da039a31de9fa3c987783d9f7fab42a2c","tarball":"https://registry.npmjs.org/raptor-data-providers/-/raptor-data-providers-1.0.1-beta.tgz","integrity":"sha512-0C2GSksiRWh0ygJ+S5UQCuwMLtyDoeKgawQmJYqTc5cN5502bzK3yXpd0Zbi3G2e6Nf0511haVhrZocJ8Sdw6w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUgeryvzvVKhTACv/9yZM4AV8AxKF8fDd+bz9tof5C/QIhAKXLa9wdykEwYARd+gQIY7w9Fiylz3Vsb0hNJRsIkbrj"}]},"deprecated":"DO NOT USE. Functionality merged into marko-async."}},"readme":"raptor-data-providers\n=====================\n\nThe `raptor-data-providers` module provides support for the more efficient and simpler \"Pull Model \"approach to providing templates with view model data. \n\n* __Push Model:__ Request all needed data upfront and wait for all of the data to be received before building the view model and then rendering the template.\n* __Pull Model:__ Register data providers and immediately start rendering the template. Let the template _pull_ the data needed during rendering.\n\nThe Pull Model approach to template rendering requires the use of a templating engine that supports asynchronous template rendering (e.g. [raptor-templates](https://github.com/raptorjs3/raptor-templates) and [dust](https://github.com/linkedin/dustjs)). This is because before rendering the template begins not all of data may have been fully retrieved. Parts of a template that depend on data that is not yet available are rendered asynchronously with the Pull Model approach.\n\n# Push Model versus Pull Model\n\nThe problem with the traditional Push Model approach is that template rendering is delayed until _all_ data has been fully received. This reduces the time to first byte, and it also may result in the server sitting idle while waiting for data to be loaded from remote services. In addition, if certain data is no longer needed by a template then only the template needs to be modified and not the controller.\n\nWith the new Pull Model approach, template rendering begins immediately. In addition, fragments of the template that depend on data from data providers are rendered asynchronously and wait only on the associated data provider to complete. The template rendering will only be delayed for data that the template actually needs.\n\n# Simple Example\n\nRegister data providers upfront:\n\n```javascript\nrequire('raptor-data-providers').register({\n    weather: function(args, callback) {\n        var zipcode = args.zipcode;\n        weatherService.getWeather({\n                zipcode: zipcode\n            },\n            callback);\n    });\n```\n\n","maintainers":[{"email":"austin.kell47@gmail.com","name":"austinkelleher"},{"email":"pierceydylan@gmail.com","name":"dylanpiercey"},{"email":"ml.rawlings@gmail.com","name":"mlrawlings"},{"email":"pnidem@gmail.com","name":"pnidem"},{"email":"phillip.idem@gmail.com","name":"philidem"}],"time":{"modified":"2022-06-25T12:39:53.355Z","created":"2014-02-26T21:57:59.770Z","0.2.0-beta":"2014-02-26T21:57:59.770Z","0.2.1-beta":"2014-03-13T23:43:07.442Z","0.2.2-beta":"2014-04-09T22:15:04.431Z","0.2.3-beta":"2014-05-05T18:04:10.989Z","0.2.4-beta":"2014-07-29T23:51:22.413Z","1.0.0-beta":"2014-09-04T18:12:32.915Z","1.0.1-beta":"2014-09-04T22:10:56.195Z"},"homepage":"https://github.com/raptorjs3/raptor-data-providers","repository":{"type":"git","url":"https://github.com/raptorjs3/raptor-data-providers.git"},"author":{"name":"Patrick Steele-Idem","email":"pnidem@gmail.com"},"bugs":{"url":"https://github.com/raptorjs3/raptor-data-providers/issues"},"license":"Apache License v2.0","readmeFilename":"README.md"}