# Copyright(c) 2015-2021 ACCESS CO., LTD. All rights reserved. use Croma defmodule Antikythera.Metrics.Data do alias AntikytheraCore.Metrics.Buffer alias AntikytheraCore.Metrics.AggregateStrategy, as: Strategy @type t :: {String.t(), Strategy.Name.t(), Buffer.metrics_value()} defun valid?(v :: term) :: boolean do {n, s, v} when is_binary(n) and is_number(v) -> Strategy.Name.valid?(s) _ -> false end end defmodule Antikythera.Metrics.DataList do use Croma.SubtypeOfList, elem_module: Antikythera.Metrics.Data, min_length: 1 end