flow.js 768 B

12345678910111213141516171819202122232425262728293031323334
  1. /**
  2. * Copyright (c) Facebook, Inc. and its affiliates.
  3. *
  4. * This source code is licensed under the MIT license found in the
  5. * LICENSE file in the root directory of this source tree.
  6. */
  7. 'use strict';
  8. const flowParser = require('flow-parser');
  9. const defaultOptions = {
  10. enums: true,
  11. esproposal_class_instance_fields: true,
  12. esproposal_class_static_fields: true,
  13. esproposal_decorators: true,
  14. esproposal_export_star_as: true,
  15. esproposal_optional_chaining: true,
  16. esproposal_nullish_coalescing: true,
  17. tokens: true,
  18. types: true,
  19. };
  20. /**
  21. * Wrapper to set default options
  22. */
  23. module.exports = function(options=defaultOptions) {
  24. return {
  25. parse(code) {
  26. return flowParser.parse(code, options);
  27. },
  28. };
  29. };