https://github.com/eltercero/wanikani
Elixir wrapper for Wanikani API
https://github.com/eltercero/wanikani
elixir elixir-lang wanikani wrapper wrapper-api
Last synced: 5 days ago
JSON representation
Elixir wrapper for Wanikani API
- Host: GitHub
- URL: https://github.com/eltercero/wanikani
- Owner: eltercero
- License: mit
- Created: 2017-12-12T12:33:16.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-12T13:33:11.000Z (over 8 years ago)
- Last Synced: 2025-02-24T13:16:33.245Z (over 1 year ago)
- Topics: elixir, elixir-lang, wanikani, wrapper, wrapper-api
- Language: Elixir
- Size: 29.3 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Wanikani
Wrapper for the Wanikani API V2.
## Installation
The package can be installed by adding `wanikani` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:wanikani, "~> 0.1.0"}
]
end
```
Documentation canbe found at [https://hexdocs.pm/wanikani](https://hexdocs.pm/wanikani).
## Setup
The library will look for a environment variable called WANIKANI_API_TOKEN for your V2 Wanikani Token. [You can get yours in your account](https://www.wanikani.com/settings/account).
## Example usage
For further examples, [refer to the documentation](https://hexdocs.pm/wanikani).
### Getting the user information
```elixir
iex(1)> Wanikani.User.get
{:ok,
%{"data" => %{"current_vacation_started_at" => nil, "level" => 39,
"profile_url" => "https://www.wanikani.com/users/eltercero",
"started_at" => "2016-03-02T09:14:21.072290Z", "subscribed" => true,
"username" => "eltercero"},
"data_updated_at" => "2017-12-12T08:11:06.996305Z", "object" => "user",
"url" => "https://www.wanikani.com/api/v2/user"}}
```
### Listing a resource (e.g., Kanji list)
```elixir
iex(1)> Wanikani.Kanji.list(%{levels: "1,2"})
{:ok,
%{"data" => [%{"data" => %{"character" => "一",
"component_subject_ids" => [1],
"created_at" => "2012-02-27T19:55:19.000000Z",
"document_url" => "https://www.wanikani.com/kanji/%E4%B8%80",
"level" => 1, "meanings" => [%{"meaning" => "One", "primary" => true}],
"readings" => [%{"primary" => true, "reading" => "いち",
"type" => "onyomi"},
%{"primary" => false, "reading" => "ひと", "type" => "kunyomi"},
%{"primary" => false, "reading" => "かず", "type" => "nanori"}],
"slug" => "一"}, "data_updated_at" => "2017-10-04T18:56:21.270971Z",
"id" => 440, "object" => "kanji",
"url" => "https://www.wanikani.com/api/v2/subjects/440"},...
```
### Getting a single resource (e.g., a radical)
```elixir
iex(1)> Wanikani.Radical.get(41)
{:ok,
%{"data" => %{"character" => "手", "character_images" => [],
"created_at" => "2012-02-28T21:14:49.000000Z",
"document_url" => "https://www.wanikani.com/radicals/hand", "level" => 2,
"meanings" => [%{"meaning" => "Hand", "primary" => true}],
"slug" => "hand"}, "data_updated_at" => "2017-06-12T23:21:19.687249Z",
"id" => 41, "object" => "radical",
"url" => "https://www.wanikani.com/api/v2/subjects/41"}}
```