[개발] Steem API 를 위한 Typescript 타입 정의

in SCT.암호화폐.Crypto4 years ago (edited)

안녕하세요 꿀푸입니다.

nest.js 로 api 서버를 만들고 있는데 typescript 기반으로 작성하다 보니 여러 문제들이 있네요. 그중 steem api 라이브러리 사용 시 발생하는 에러에 대한 내용 공유합니다.

Typescript로 코드를 작성할 경우 javascript와 다르게 함수나 변수에 대해 어떤 타입을 주고 받을 수 있는지 지정을 해주어야 합니다. 따라서 Typescript 를 지원하지 않는 외부 라이브러리를 사용할 경우 타입에 대한 정의 파일(.d.ts) 을 제작자가 직접 제공하여 주거나 누가 만들어 놓은 선언 파일을 받아와야 합니다.

 $ npm i @types/[modulename]


위 명령어를 실행 할 경우 여러 기여자들이 등록해 놓은 github DefinitelyTyped에서 받아 올수 있으며 여기에도 없다면 직접 작성하여 추가 해주어야 합니다.

Seeem API 의 경우 Javascript로 작성되었으며 최근 업데이트가 2년 전입니다. 역시나 정의 파일이 없네요. 그래서 .d.ts 파일을 직접 추가해 주었습니다.

tsconfig.json 파일에 "typeRoots": ["./@types", "./node_modules/@types"] 옵션을 추가해주어 라이브러리 별 .d.ts 파일을 추가하는 방법도 있지만
저는 쉽고 간단하게 global.d.ts 파일을 최상위 폴더에 추가한 후 아래 소스를 추가하였습니다.

https://cdn.steemitimages.com/DQmTsgZFNpMkgf2YDewWrMiYnASoBjRM9Y4YCCNWH4zsiYu/image.png

typescript에 대해 공부하는 중이라 아주 간단한 방법을 찾아 해결을 하고 있네요. 시간과 지식만 있다면 github에 type 정의 파일을 올리면 좋겠지만 지식이 아주 미천한지라 생각만 하고 있는 중입니다. ㅋ

Sort:  

@honeybeerbear transfered 3 KRWP to @krwp.burn. voting percent : 61.91%, voting power : 17.79%, steem power : 1919392.91, STU KRW : 1200.
@honeybeerbear staking status : 2095 KRWP
@honeybeerbear limit for KRWP voting service : 2.095 KRWP (rate : 0.001)
What you sent : 3 KRWP
Refund balance : 0.904 KRWP [61415671 - d2b27efac9176aacab2e6b4180292f720d2268c1]

Upvoted! Thank you for supporting witness @jswit.
default.jpg

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.075
BTC 64465.86
ETH 1681.46
USDT 1.00
SBD 0.42