Added support for record and tuple syntax. (#10865)
* Added support for record and tuple syntax.
This commit adds support for both the hash #{} and bar {||}
syntaxes to babel-parser, as well as adds the supporting
babel-plugin-syntax-record-and-tuple plugin to enable support
for the syntax. Does not include any transform for records and
tuples.
* typo
* added check to ensure recordAndTuple in babel-parser
* switched to syntaxType option instead of explicit entries for each record and tuple type
* switched to using recordAndTupleSyntaxType for generator options instead of adding to node
* added tests for generator option recordAndTupleSyntaxType
* added test for record and tuple bar syntax with flow typings
* added tests for invalid/missing recordAndTuple syntaxType parser option
* fixed flowcheck errors
* fix merge with class privates in tokenizer
* Update packages/babel-parser/src/types.js
Co-Authored-By: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
* improved recordAndTuple generator error message, added tests for invalid,missing options
* updated error messages for invalid parser syntaxType option
* updated error message
* added better error messages for when the recordAndTuple syntaxType is doesn't match the syntax used
* updated record and tuple support to use new error message templates
* added recordAndTuple to missing plugin helpers
* Fix linting
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
This commit is contained in:
18
packages/babel-plugin-syntax-record-and-tuple/src/index.js
Normal file
18
packages/babel-plugin-syntax-record-and-tuple/src/index.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import { declare } from "@babel/helper-plugin-utils";
|
||||
|
||||
export default declare((api, options) => {
|
||||
api.assertVersion(7);
|
||||
|
||||
return {
|
||||
name: "syntax-record-and-tuple",
|
||||
|
||||
manipulateOptions(opts, parserOpts) {
|
||||
opts.generatorOpts.recordAndTupleSyntaxType = options.syntaxType;
|
||||
|
||||
parserOpts.plugins.push([
|
||||
"recordAndTuple",
|
||||
{ syntaxType: options.syntaxType },
|
||||
]);
|
||||
},
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user