Guest User

Untitled

a guest
Jan 21st, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. var Foo = module.exports = function () {
  2.  
  3. var values = { type: 'foo', prop1: '', prop2: '' };
  4.  
  5. function model() {}
  6.  
  7. model.init = function(val) {
  8. _.extend(values, val);
  9. return model;
  10. }
  11.  
  12. model.store = function(cb) {
  13. db.insert(values.type, values, cb);
  14. }
  15.  
  16. model.prop1 = function(val) {
  17. if(!arguments.length) return values.prop1;
  18. values.prop1 = val;
  19. return model;
  20. }
  21.  
  22. return model;
  23. }
  24.  
  25. var foo = Foo();
  26. foo.init({prop1: 'a', prop2: 'b'}).store(function(err) { ... });
  27.  
  28. var Foo = module.exports = function () {
  29.  
  30. var values = { type: 'foo', prop1: '', prop2: '' };
  31.  
  32. function model() { this.extend(base); }
  33.  
  34. model.prop1 = function(val) {
  35. if(!arguments.length) return values.prop1;
  36. values.prop1 = val;
  37. return model;
  38. }
  39.  
  40. return model;
  41. }
  42.  
  43. /** require your db and underscore varialbles etc.. **/
  44.  
  45. module.exports = function(values, base) {
  46. var model = typeof base == 'function' ? base : function() {};
  47.  
  48. model.init = function(val) {
  49. _.extend(values, val);
  50. return model;
  51. }
  52.  
  53. model.store = function(cb) {
  54. db.insert(values.type, values, cb);
  55. }
  56.  
  57. return model;
  58. }
  59.  
  60. var Foo = module.exports = function () {
  61.  
  62. var values = { type: 'foo', prop1: '', prop2: '' };
  63.  
  64. var model = require('/path/to/model.js')(values);
  65.  
  66. model.prop1 = function(val) {
  67. if(!arguments.length) return values.prop1;
  68. values.prop1 = val;
  69. return model;
  70. }
  71.  
  72. return model;
  73. }
  74.  
  75. var Foo = module.exports = function () {
  76.  
  77. var values = { type: 'foo', prop1: '', prop2: '' },
  78. model = function() { ...something here... };
  79.  
  80. require('/path/to/model.js')(values, model);
  81.  
  82. model.prop1 = function(val) {
  83. if(!arguments.length) return values.prop1;
  84. values.prop1 = val;
  85. return model;
  86. }
  87.  
  88. return model;
  89. }
Add Comment
Please, Sign In to add comment