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.
 
 
 
 

24 lines
600 B

  1. /**
  2. * Copyright 2015-present Facebook. All Rights Reserved.
  3. *
  4. * @typechecks
  5. *
  6. */
  7. 'use strict';
  8. var partitionObject = require('./partitionObject');
  9. /**
  10. * Partitions the enumerable properties of an object into two objects, given a
  11. * whitelist `Set` for the first object. This is comparable to
  12. * `whitelistObjectKeys`, but eventually keeping all the keys. Returns a tuple
  13. * of objects `[first, second]`.
  14. */
  15. function partitionObjectByKey(source, whitelist) {
  16. return partitionObject(source, function (_, key) {
  17. return whitelist.has(key);
  18. });
  19. }
  20. module.exports = partitionObjectByKey;