#pragma once

#include "HybridDigestSpec.hpp"
#include <NitroModules/ArrayBuffer.hpp>

namespace margelo::nitro::nitrokryptom {

class HybridDigest: public HybridDigestSpec {
public:
    HybridDigest(): HybridObject(TAG) { }
    
public:
    std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> sha512(const std::shared_ptr<ArrayBuffer>& data) override;
    std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> sha256(const std::shared_ptr<ArrayBuffer>& data) override;
};

}
