UNPKG

astx

Version:

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

34 lines (31 loc) 3.78 kB
import compilePlaceholderMatcher from './Placeholder.mjs' export default function compileClassPropertyMatcher(path, compileOptions) { const pattern = path.value const n = compileOptions.backend.t.namedTypes if (n.Identifier.check(pattern.key)) { if ( !pattern.computed && !pattern.static && pattern.typeAnnotation == null && pattern.variance == null && pattern.value == null ) { const placeholderMatcher = compilePlaceholderMatcher( path, pattern.key.name, compileOptions, { getCondition: () => (path) => { var _path$parent return n.ClassBody.check( (_path$parent = path.parent) === null || _path$parent === void 0 ? void 0 : _path$parent.value ) }, } ) if (placeholderMatcher) return placeholderMatcher } } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21waWxlUGxhY2Vob2xkZXJNYXRjaGVyIiwiY29tcGlsZUNsYXNzUHJvcGVydHlNYXRjaGVyIiwicGF0aCIsImNvbXBpbGVPcHRpb25zIiwicGF0dGVybiIsInZhbHVlIiwibiIsImJhY2tlbmQiLCJ0IiwibmFtZWRUeXBlcyIsIklkZW50aWZpZXIiLCJjaGVjayIsImtleSIsImNvbXB1dGVkIiwic3RhdGljIiwidHlwZUFubm90YXRpb24iLCJ2YXJpYW5jZSIsInBsYWNlaG9sZGVyTWF0Y2hlciIsIm5hbWUiLCJnZXRDb25kaXRpb24iLCJDbGFzc0JvZHkiLCJwYXJlbnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcGlsZU1hdGNoZXIvQ2xhc3NQcm9wZXJ0eS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGFzc1Byb3BlcnR5LCBOb2RlUGF0aCB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgQ29tcGlsZWRNYXRjaGVyLCBDb21waWxlT3B0aW9ucyB9IGZyb20gJy4nXG5pbXBvcnQgY29tcGlsZVBsYWNlaG9sZGVyTWF0Y2hlciBmcm9tICcuL1BsYWNlaG9sZGVyJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb21waWxlQ2xhc3NQcm9wZXJ0eU1hdGNoZXIoXG4gIHBhdGg6IE5vZGVQYXRoPENsYXNzUHJvcGVydHksIENsYXNzUHJvcGVydHk+LFxuICBjb21waWxlT3B0aW9uczogQ29tcGlsZU9wdGlvbnNcbik6IENvbXBpbGVkTWF0Y2hlciB8IHZvaWQge1xuICBjb25zdCBwYXR0ZXJuOiBDbGFzc1Byb3BlcnR5ID0gcGF0aC52YWx1ZVxuICBjb25zdCBuID0gY29tcGlsZU9wdGlvbnMuYmFja2VuZC50Lm5hbWVkVHlwZXNcblxuICBpZiAobi5JZGVudGlmaWVyLmNoZWNrKHBhdHRlcm4ua2V5KSkge1xuICAgIGlmIChcbiAgICAgICFwYXR0ZXJuLmNvbXB1dGVkICYmXG4gICAgICAhcGF0dGVybi5zdGF0aWMgJiZcbiAgICAgIHBhdHRlcm4udHlwZUFubm90YXRpb24gPT0gbnVsbCAmJlxuICAgICAgcGF0dGVybi52YXJpYW5jZSA9PSBudWxsICYmXG4gICAgICBwYXR0ZXJuLnZhbHVlID09IG51bGxcbiAgICApIHtcbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVyTWF0Y2hlciA9IGNvbXBpbGVQbGFjZWhvbGRlck1hdGNoZXIoXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHBhdHRlcm4ua2V5Lm5hbWUsXG4gICAgICAgIGNvbXBpbGVPcHRpb25zLFxuICAgICAgICB7XG4gICAgICAgICAgZ2V0Q29uZGl0aW9uOiAoKSA9PiAocGF0aDogTm9kZVBhdGgpID0+XG4gICAgICAgICAgICAobiBhcyBhbnkpLkNsYXNzQm9keS5jaGVjayhwYXRoLnBhcmVudD8udmFsdWUpLFxuICAgICAgICB9XG4gICAgICApXG5cbiAgICAgIGlmIChwbGFjZWhvbGRlck1hdGNoZXIpIHJldHVybiBwbGFjZWhvbGRlck1hdGNoZXJcbiAgICB9XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPQSx5QkFBUCxNQUFzQyxlQUF0Qzs7QUFFQSxlQUFlLFNBQVNDLDJCQUFUO0FBQ2JDLElBRGE7QUFFYkMsY0FGYTtBQUdXO0VBQ3hCLE1BQU1DLE9BQXNCLEdBQUdGLElBQUksQ0FBQ0csS0FBcEM7RUFDQSxNQUFNQyxDQUFDLEdBQUdILGNBQWMsQ0FBQ0ksT0FBZixDQUF1QkMsQ0FBdkIsQ0FBeUJDLFVBQW5DOztFQUVBLElBQUlILENBQUMsQ0FBQ0ksVUFBRixDQUFhQyxLQUFiLENBQW1CUCxPQUFPLENBQUNRLEdBQTNCLENBQUosRUFBcUM7SUFDbkM7SUFDRSxDQUFDUixPQUFPLENBQUNTLFFBQVQ7SUFDQSxDQUFDVCxPQUFPLENBQUNVLE1BRFQ7SUFFQVYsT0FBTyxDQUFDVyxjQUFSLElBQTBCLElBRjFCO0lBR0FYLE9BQU8sQ0FBQ1ksUUFBUixJQUFvQixJQUhwQjtJQUlBWixPQUFPLENBQUNDLEtBQVIsSUFBaUIsSUFMbkI7SUFNRTtNQUNBLE1BQU1ZLGtCQUFrQixHQUFHakIseUJBQXlCO01BQ2xERSxJQURrRDtNQUVsREUsT0FBTyxDQUFDUSxHQUFSLENBQVlNLElBRnNDO01BR2xEZixjQUhrRDtNQUlsRDtRQUNFZ0IsWUFBWSxFQUFFLE1BQU0sQ0FBQ2pCLElBQUQ7WUFDakJJLENBQUQsQ0FBV2MsU0FBWCxDQUFxQlQsS0FBckIsaUJBQTJCVCxJQUFJLENBQUNtQixNQUFoQyxpREFBMkIsYUFBYWhCLEtBQXhDLENBRGtCLEdBRHRCLEVBSmtELENBQXBEOzs7O01BVUEsSUFBSVksa0JBQUosRUFBd0IsT0FBT0Esa0JBQVA7SUFDekI7RUFDRjtBQUNGIn0=