# typescript

【Typescript】axiosのレスポンスはきちんと型チェックしよう

Posted 12. August 2020

Programming #typescript #axios

Axiosでエラー

Axiosで外部APIを叩いてデータを取得したいと思い、下記のコードを書いたとします。

import axios, { AxiosPromise } from "axios";

interface CatApiResponse {
  name: string;
  age: number;
  parents: string[];
}

const client = axios.create({
  baseURL: "https://example.com/api/v2/",
  headers: {
    "Content-Type": "application/json"
  }
});

const fetchAllCat = (): AxiosPromise<CatApiResponse> => client.get("cat");

const hoge = () => {
  const data = fetchAllCat();
  data.then((data) => {
    data.data.parents.map((parent) => {
      console.log(parent);
      return "hoge";
    });
  });
};
Code 1: AxiosでAPIを叩いて情報を取得するコード例

IDEで型推定を確認すると、確かに CatApiResponse になっている。

...

READ MORE

Time to read 1 min

Electron の CORS ブロックを回避する方法について

Posted 6. June 2020

Programming #electron #react #typescript #CORS

Electron で CORS エラー

Electron の Render プロセスでクロスオリジンのリクエストを投げた際、通常の Web と同様 CORS エラーでブロックされます。通信先が自前の API サーバだったりした場合にはそちらの設定でAccess-Control-Allow-Originを許可すれば OK です。

この制約はセキュリティ上必要なものですが、どうしてもクロスオリジンのリクエストを投げたい場合もあるかと思います。私の場合は、ある markdow エディタに、貼り付けた URL から自動的にページのタイトルを fetch して挿入する機能を実装するときに遭遇しました。 ...


READ MORE

Time to read 2 min

Rust で Webassembly を書いて、Typescript で React を書くための環境構築

Posted 28. May 2020

Programming #rust #webassembly #react #typescript #webpack

前提

この記事では、Rust(cargo)と npm は導入済みを前提としています。 知識的にはRust の公式 WebAssembly チュートリアルを一通り読んだくらいで、今回は Wasm と React どう組み合わせるのよってところを重点的に。

必要なモジュール、コマンドの準備

  • wasm-pack

...

READ MORE

Time to read 3 min

Emacs で deno のコード補完を有効化する

Posted 10. May 2020

Editor #emacs #deno #typescript #yarn #rust #language-server

Emacs で Deno

最近 Rust で色々 CLI ツールを作って遊んでいるのですが、そのつながりで Rust で書かれた javascript ランタイムであるDenoの Getting started をちまちまやっていました。

言語は Typescript なので Emacs のTideでコード自動補完を有効化していたのですが、Deno での import 方法が対応していません。 ...


READ MORE

Time to read 2 min