admiral_stats_parser v0.1.0 AdmiralStatsParser.Parser.ParserUtil

Parser が共通して用いる関数をまとめたモジュールです。

Summary

Functions

JSON オブジェクトに含まれる値を格納した構造体を返します。

与えられた引数が、整数のリストの場合に true を返します。

与えられた引数がリストで、かつリストの要素がすべて func に対して true を返す場合に、この関数も true を返します。

与えられた引数が、表示可能な文字列の場合に true を返します。

与えられた引数が、表示可能な文字列のリストの場合に true を返します。

与えられた構造体に、与えられた JSON オブジェクトの内容を格納した結果を返します。 json_obj には、keys が示すキーがすべて含まれている必要があります。

与えられた構造体に、与えられた JSON オブジェクトの内容を格納した結果を返します。 json_obj には、keys が示すキーがすべて含まれている必要はありません。

snake_case で書かれたフィールド名を、JSON に書かれている camelCase(先頭は小文字)に変換します。

与えられた JSON オブジェクトに、必要なキーが、正しい型で含まれているかどうかを検査します。

Functions

create_struct(validation_res, obj, mandatory_keys, optional_keys)

JSON オブジェクトに含まれる値を格納した構造体を返します。

validation_res がエラーの場合は、validation_res をそのまま返します。

パラメータ

  • validation_res: validate_keys 関数の返り値
  • obj: 返り値を格納する構造体
  • mandatory_keys: 必須のキー名(snake_case)と、検査のための関数のマップ
  • optional_keys: オプションのキー名(snake_case)と、検査のための関数のマップ

返り値

{:ok, obj} |

is_integer_list(term)

与えられた引数が、整数のリストの場合に true を返します。

パラメータ

  • term: 検査対象

返り値

boolean

is_list_of(term, func)

与えられた引数がリストで、かつリストの要素がすべて func に対して true を返す場合に、この関数も true を返します。

パラメータ

  • term: 検査対象
  • func: 検査関数

返り値

boolean

is_string(term)

与えられた引数が、表示可能な文字列の場合に true を返します。

パラメータ

  • term: 検査対象

返り値

boolean

is_string_list(term)

与えられた引数が、表示可能な文字列のリストの場合に true を返します。

パラメータ

  • term: 検査対象

返り値

boolean

set_mandatory_values(obj, json_obj, keys)

与えられた構造体に、与えられた JSON オブジェクトの内容を格納した結果を返します。 json_obj には、keys が示すキーがすべて含まれている必要があります。

パラメータ

  • obj: 返り値として使われる構造体
  • json_obj: JSON オブジェクト
  • keys: 構造体のフィールド名のリスト

返り値

JSON オブジェクトの内容を格納した構造体

set_optional_values(obj, json_obj, keys)

与えられた構造体に、与えられた JSON オブジェクトの内容を格納した結果を返します。 json_obj には、keys が示すキーがすべて含まれている必要はありません。

パラメータ

  • obj: 返り値として使われる構造体
  • json_obj: JSON オブジェクト
  • keys: 構造体のフィールド名のリスト

返り値

JSON オブジェクトの内容を格納した構造体

to_camel_case(snake_case)

snake_case で書かれたフィールド名を、JSON に書かれている camelCase(先頭は小文字)に変換します。

パラメータ

  • snake_case: snake_case で書かれたフィールド名

返り値

camelCase に変換されたフィールド名

validate_keys(json_obj, mandatory_keys, optional_keys)

与えられた JSON オブジェクトに、必要なキーが、正しい型で含まれているかどうかを検査します。

複数のエラーがある場合は、最初に発見されたエラーのみをエラーメッセージで通知します。

パラメータ

  • json_obj: JSON オブジェクト
  • mandatory_keys: 必須のキー名(snake_case)と、検査のための関数のマップ
  • optional_keys: オプションのキー名(snake_case)と、検査のための関数のマップ

返り値

{:ok, json_obj} |