Types for Kantai Collection (Phase 2) API
This library aims to help typescript developers for Kantai Colection (Kancolle) related projects. A good API typing unveils hidden pitfalls created by Mr. Tanaka / C2 Architecture, and also prevents typo bugs.
npm install --save-dev kcsapi
or
yarn add --dev kcsapi
// recommended
import { APIStart2GetDataResponse, APIMstMapinfo } from 'kcsapi/api_start2/getData/response'
// each API's top level interface could be imported in this way
import { APIStart2GetDataResponse } from 'kcsapi'
whole end point omitting kcsapi
part will be splited by _
and /
, and each part's first character will be upper cased.
Exception: api
will always be API
Examples:
Endpoint | Request | Response |
---|---|---|
/kcsapi/api_req_member/get_incentive |
APIReqMemberGetIncentiveRequest |
APIReqMemberGetIncentiveResponse |
/kcsapi/api_start2/getData |
APIStart2GetDataRequest |
APIStart2GetDataResponse |
- Important If top level shape is array, the infered interface will be of its element's shape.
- Some API type missing due to inference failure. Corresponding json schema might be available, however.
- Ranking / score API is removed because it is encrypted
- Collect sample api data, both request and response
- Feed the samples into type generator, namely, quicktype
- Save the generated type
In case the API shape change, old sample files will be completely replaced by new ones (if possible).
Hidden difference or not covered endpoint
A new sample file will be added, with detail description.
Samples will be anonymized to remove sensitive data with which the provider could be identified by game service or third party. All string values are replaced by Tanaka
and numbers by 0
. This way API data shape is preserved and player specific information is removed.
MIT