s2s: 형식 정보로 변수 초기화

2379 단어 babelflowtypeS2SAST
Flow 타입 정보를 이용하여 변수를 초기화합니다.
테스트나 storybook 등으로 다른 파일로 로드할 때 활용할 수 있습니다.

s2s에 대해서는 이미 몇 가지 기사를 작성했으므로 그곳을 참조하십시오. 안녕 보일러 플레이트. s2s로 빠른 redux 애플리케이션 구축 - Qiita

바로 동작 확인할 수 있는 샘플이 있으므로, 도입에 대해서 그것을 봐 주세요.

How to work?



Flow는, 에디터등에서 이용 가능하도록, 커서의 위치의 형태 정보가 CLI로부터 취득 가능합니다.flow type-at-pos --json path/to/file row column 의 형태로 커서의 위치의 형태 정보를 json으로 취득할 수 있습니다.
그러나 json이라고 해도 json5입니다 (이것을 눈치 채지 못하고 왠지 퍼스 할 수 없어서 고생했습니다)

에디터에서는 형태 정보의 표시에 이용합니다만, 이번은 코드의 생성에 이용합니다.

s2s 플러그인은 다음과 같은 방법으로 코드를 생성합니다.
  • babylon에서 변수 선언과 그 유형의 위치를 ​​가져옵니다.
  • Flow에서 형식 정보 (JSON) 얻기
  • 그 유형의 AST를 얻기 위해 type X = 取得したjson라는 가짜 코드를 생성하고 그것을 babylon으로 퍼스
  • AST를 travase하고 TypeAlias의 오른쪽을 가져옵니다
  • 그것을 객체로 변환하고 재귀 적으로 각 유형의 초기화 값으로 바꿉니다.

    왠지 이상하게 복잡하게 되어 버렸습니다만, 요점은 취득한 형태를 number 그렇다면 0 , string 그렇다면 "" , bool

    요약



    뭔가 있으시면 코멘트란이나 트위터로 논의해 보세요.


    s2s에 정말 작은 샘플을 추가했습니다. 형식 정보를 사용하여 변수 초기화. 설정 파일은 10행 이하. 우선 시험해 보시기 바랍니다. htps // t. 코 / 5 p99의 Q




    <script async=""src="https://platform.twitter.com/widgets.js"/>



    <script async=""src="https://platform.twitter.com/widgets.js"/>
  • 좋은 웹페이지 즐겨찾기