web 3d图形渲染器
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.

23 lines
499 B

  1. "use strict";
  2. var keys = require("../keys")
  3. , value = require("../valid-value")
  4. , max = Math.max;
  5. module.exports = function (dest, src/*, …srcn*/) {
  6. var error, i, length = max(arguments.length, 2), assign;
  7. dest = Object(value(dest));
  8. assign = function (key) {
  9. try {
  10. dest[key] = src[key];
  11. } catch (e) {
  12. if (!error) error = e;
  13. }
  14. };
  15. for (i = 1; i < length; ++i) {
  16. src = arguments[i];
  17. keys(src).forEach(assign);
  18. }
  19. if (error !== undefined) throw error;
  20. return dest;
  21. };