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.
26 lines
490 B
26 lines
490 B
2 years ago
|
import * as 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;
|
||
|
}
|