parseDirectives.d.ts 1.5 KB

1234567891011121314151617181920
  1. import * as t from '@babel/types';
  2. import { NodePath } from '@babel/traverse';
  3. import { State } from '.';
  4. export declare type Tag = t.Identifier | t.MemberExpression | t.StringLiteral | t.CallExpression;
  5. declare const parseDirectives: (params: {
  6. name: string;
  7. path: NodePath<t.JSXAttribute>;
  8. value: t.Expression | null;
  9. state: State;
  10. tag: Tag;
  11. isComponent: boolean;
  12. }) => {
  13. directiveName: string;
  14. modifiers: Set<string>[];
  15. values: (t.Expression | null)[];
  16. args: t.Expression[];
  17. directive: (t.ArrayExpression | t.ArrowFunctionExpression | t.AssignmentExpression | t.AwaitExpression | t.BigIntLiteral | t.BinaryExpression | t.LogicalExpression | t.BindExpression | t.FunctionExpression | t.BooleanLiteral | t.CallExpression | t.ClassExpression | t.ConditionalExpression | t.DecimalLiteral | t.DoExpression | t.Identifier | t.StringLiteral | t.NumericLiteral | t.NullLiteral | t.RegExpLiteral | t.MemberExpression | t.NewExpression | t.ObjectExpression | t.SequenceExpression | t.ParenthesizedExpression | t.ThisExpression | t.UnaryExpression | t.UpdateExpression | t.MetaProperty | t.Super | t.TaggedTemplateExpression | t.TemplateLiteral | t.YieldExpression | t.Import | t.OptionalMemberExpression | t.OptionalCallExpression | t.TypeCastExpression | t.JSXElement | t.JSXFragment | t.PipelinePrimaryTopicReference | t.RecordExpression | t.TupleExpression | t.TSAsExpression | t.TSTypeAssertion | t.TSNonNullExpression)[] | undefined;
  18. };
  19. export default parseDirectives;