26 lines
500 B
JavaScript
26 lines
500 B
JavaScript
|
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 type * as t from "@babel/types";
|
||
|
import type 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;
|
||
|
}
|