UNPKG

astx

Version:

super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring

34 lines (31 loc) 4.06 kB
import compilePlaceholderReplacement from './Placeholder.mjs' export default function compileTSPropertySignatureReplacement( path, compileOptions ) { const n = compileOptions.backend.t.namedTypes const pattern = path.value if (n.Identifier.check(pattern.key)) { var _pattern$typeAnnotati if ( !pattern.optional && !pattern.computed && (pattern.typeAnnotation == null || (n.TSTypeReference.check( (_pattern$typeAnnotati = pattern.typeAnnotation) === null || _pattern$typeAnnotati === void 0 ? void 0 : _pattern$typeAnnotati.typeAnnotation ) && n.Identifier.check(pattern.typeAnnotation.typeAnnotation.typeName) && pattern.typeAnnotation.typeAnnotation.typeName.name === '$')) ) { const placeholderReplacement = compilePlaceholderReplacement( path, pattern.key.name, compileOptions ) if (placeholderReplacement) return placeholderReplacement } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlUGxhY2Vob2xkZXJSZXBsYWNlbWVudCIsImNvbXBpbGVUU1Byb3BlcnR5U2lnbmF0dXJlUmVwbGFjZW1lbnQiLCJwYXRoIiwiY29tcGlsZU9wdGlvbnMiLCJuIiwiYmFja2VuZCIsInQiLCJuYW1lZFR5cGVzIiwicGF0dGVybiIsInZhbHVlIiwiSWRlbnRpZmllciIsImNoZWNrIiwia2V5Iiwib3B0aW9uYWwiLCJjb21wdXRlZCIsInR5cGVBbm5vdGF0aW9uIiwiVFNUeXBlUmVmZXJlbmNlIiwidHlwZU5hbWUiLCJuYW1lIiwicGxhY2Vob2xkZXJSZXBsYWNlbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21waWxlUmVwbGFjZW1lbnQvVFNQcm9wZXJ0eVNpZ25hdHVyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUU1Byb3BlcnR5U2lnbmF0dXJlLCBOb2RlUGF0aCB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgQ29tcGlsZWRSZXBsYWNlbWVudCwgQ29tcGlsZVJlcGxhY2VtZW50T3B0aW9ucyB9IGZyb20gJy4nXG5pbXBvcnQgY29tcGlsZVBsYWNlaG9sZGVyUmVwbGFjZW1lbnQgZnJvbSAnLi9QbGFjZWhvbGRlcidcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29tcGlsZVRTUHJvcGVydHlTaWduYXR1cmVSZXBsYWNlbWVudChcbiAgcGF0aDogTm9kZVBhdGg8VFNQcm9wZXJ0eVNpZ25hdHVyZSwgVFNQcm9wZXJ0eVNpZ25hdHVyZT4sXG4gIGNvbXBpbGVPcHRpb25zOiBDb21waWxlUmVwbGFjZW1lbnRPcHRpb25zXG4pOiBDb21waWxlZFJlcGxhY2VtZW50IHwgdm9pZCB7XG4gIGNvbnN0IG4gPSBjb21waWxlT3B0aW9ucy5iYWNrZW5kLnQubmFtZWRUeXBlc1xuICBjb25zdCBwYXR0ZXJuID0gcGF0aC52YWx1ZVxuICBpZiAobi5JZGVudGlmaWVyLmNoZWNrKHBhdHRlcm4ua2V5KSkge1xuICAgIGlmIChcbiAgICAgICFwYXR0ZXJuLm9wdGlvbmFsICYmXG4gICAgICAhcGF0dGVybi5jb21wdXRlZCAmJlxuICAgICAgKHBhdHRlcm4udHlwZUFubm90YXRpb24gPT0gbnVsbCB8fFxuICAgICAgICAobi5UU1R5cGVSZWZlcmVuY2UuY2hlY2socGF0dGVybi50eXBlQW5ub3RhdGlvbj8udHlwZUFubm90YXRpb24pICYmXG4gICAgICAgICAgbi5JZGVudGlmaWVyLmNoZWNrKHBhdHRlcm4udHlwZUFubm90YXRpb24udHlwZUFubm90YXRpb24udHlwZU5hbWUpICYmXG4gICAgICAgICAgcGF0dGVybi50eXBlQW5ub3RhdGlvbi50eXBlQW5ub3RhdGlvbi50eXBlTmFtZS5uYW1lID09PSAnJCcpKVxuICAgICkge1xuICAgICAgY29uc3QgcGxhY2Vob2xkZXJSZXBsYWNlbWVudCA9IGNvbXBpbGVQbGFjZWhvbGRlclJlcGxhY2VtZW50KFxuICAgICAgICBwYXRoLFxuICAgICAgICBwYXR0ZXJuLmtleS5uYW1lLFxuICAgICAgICBjb21waWxlT3B0aW9uc1xuICAgICAgKVxuICAgICAgaWYgKHBsYWNlaG9sZGVyUmVwbGFjZW1lbnQpIHJldHVybiBwbGFjZWhvbGRlclJlcGxhY2VtZW50XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBRUEsT0FBT0EsNkJBQVAsTUFBMEMsZUFBMUM7O0FBRUEsZUFBZSxTQUFTQyxxQ0FBVDtBQUNiQyxJQURhO0FBRWJDLGNBRmE7QUFHZTtFQUM1QixNQUFNQyxDQUFDLEdBQUdELGNBQWMsQ0FBQ0UsT0FBZixDQUF1QkMsQ0FBdkIsQ0FBeUJDLFVBQW5DO0VBQ0EsTUFBTUMsT0FBTyxHQUFHTixJQUFJLENBQUNPLEtBQXJCO0VBQ0EsSUFBSUwsQ0FBQyxDQUFDTSxVQUFGLENBQWFDLEtBQWIsQ0FBbUJILE9BQU8sQ0FBQ0ksR0FBM0IsQ0FBSixFQUFxQztJQUNuQztJQUNFLENBQUNKLE9BQU8sQ0FBQ0ssUUFBVDtJQUNBLENBQUNMLE9BQU8sQ0FBQ00sUUFEVDtJQUVDTixPQUFPLENBQUNPLGNBQVIsSUFBMEIsSUFBMUI7SUFDRVgsQ0FBQyxDQUFDWSxlQUFGLENBQWtCTCxLQUFsQiwwQkFBd0JILE9BQU8sQ0FBQ08sY0FBaEMsMERBQXdCLHNCQUF3QkEsY0FBaEQ7SUFDQ1gsQ0FBQyxDQUFDTSxVQUFGLENBQWFDLEtBQWIsQ0FBbUJILE9BQU8sQ0FBQ08sY0FBUixDQUF1QkEsY0FBdkIsQ0FBc0NFLFFBQXpELENBREQ7SUFFQ1QsT0FBTyxDQUFDTyxjQUFSLENBQXVCQSxjQUF2QixDQUFzQ0UsUUFBdEMsQ0FBK0NDLElBQS9DLEtBQXdELEdBTDVELENBREY7SUFPRTtNQUNBLE1BQU1DLHNCQUFzQixHQUFHbkIsNkJBQTZCO01BQzFERSxJQUQwRDtNQUUxRE0sT0FBTyxDQUFDSSxHQUFSLENBQVlNLElBRjhDO01BRzFEZixjQUgwRCxDQUE1RDs7TUFLQSxJQUFJZ0Isc0JBQUosRUFBNEIsT0FBT0Esc0JBQVA7SUFDN0I7RUFDRjtBQUNGIn0=