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.
25 lines
485 B
25 lines
485 B
import t from "@babel/types"; |
|
|
|
export default function generateAsserts() { |
|
let output = `/* |
|
* This file is auto-generated! Do not modify it directly. |
|
* To re-generate run 'make build' |
|
*/ |
|
import * as t from "@babel/types"; |
|
import NodePath from "../index"; |
|
|
|
|
|
export interface NodePathAssetions {`; |
|
|
|
for (const type of [...t.TYPES].sort()) { |
|
output += ` |
|
assert${type}( |
|
opts?: object, |
|
): asserts this is NodePath<t.${type}>;`; |
|
} |
|
|
|
output += ` |
|
}`; |
|
|
|
return output; |
|
}
|
|
|