2022-09-28 17:28:18 +00:00
|
|
|
import { extractIdentifierInfoFromCode } from "@shared/ast";
|
2022-09-12 09:15:47 +00:00
|
|
|
|
|
|
|
|
export default class AstService {
|
2022-09-28 17:28:18 +00:00
|
|
|
static async extractIdentifierDataFromScript(
|
2022-09-12 09:15:47 +00:00
|
|
|
script,
|
2022-09-28 17:28:18 +00:00
|
|
|
evalVersion,
|
|
|
|
|
invalidIdentifiers = {}
|
2022-09-12 09:15:47 +00:00
|
|
|
): Promise<any> {
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
try {
|
2022-09-28 17:28:18 +00:00
|
|
|
const identifierInfo = extractIdentifierInfoFromCode(
|
2022-09-12 09:15:47 +00:00
|
|
|
script,
|
2022-09-28 17:28:18 +00:00
|
|
|
evalVersion,
|
|
|
|
|
invalidIdentifiers
|
2022-09-12 09:15:47 +00:00
|
|
|
);
|
|
|
|
|
|
2022-09-28 17:28:18 +00:00
|
|
|
resolve(identifierInfo);
|
2022-09-12 09:15:47 +00:00
|
|
|
} catch (err) {
|
|
|
|
|
reject(err);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|