租房小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.3 KiB

6 months ago
  1. copy-to
  2. =======
  3. [![Build Status](https://travis-ci.org/node-modules/copy-to.svg?branch=master)](https://travis-ci.org/node-modules/copy-to)
  4. copy an object's properties to another one, include propertiy, getter and setter.
  5. ## Install
  6. ```
  7. npm install copy-to
  8. ```
  9. ## Usage
  10. ```js
  11. copy(src).to(des);
  12. copy(src).toCover(des);
  13. copy(src).override(des);
  14. copy(src).pick('proName1', 'proName2').to(des);
  15. copy(src).pick('proName1', 'proName2').toCover(des);
  16. copy(src).pick('proName1', 'proName2').override(des);
  17. copy(src).and(other).to(des);
  18. copy(src).and(other).toCover(des);
  19. copy(src).and(second).and(third).to(des);
  20. copy(src).and(other).pick('proName1', 'proName2').to(des);
  21. copy(src).and(other).pick('proName1', 'proName2').toCover(des);
  22. copy(src).and(second).and(third).pick('proName1', 'proName2').to(des);
  23. ```
  24. It won't copy access(getter / setter) by default, if you want to copy them, please use:
  25. ```js
  26. copy(src).withAccess().and(other).to(des);
  27. ```
  28. ## Example
  29. ```js
  30. var copy = require('copy-to');
  31. var src = {
  32. _name: 'foo',
  33. set name(val) {
  34. this._name = val;
  35. },
  36. get name() {
  37. return this._name;
  38. },
  39. show: function () {
  40. console.log(this._name);
  41. }
  42. };
  43. var des = {
  44. _name: 'bar'
  45. };
  46. copy(src).to(des);
  47. copy(src).toCover(des);
  48. copy(src).pick('_name', 'name').to(des);
  49. copy(src).pick('_name', 'name').toCover(des);
  50. ```
  51. ## License
  52. MIT