#include "shape.h"
#include "../tensor.h"
#include "../utils.h"
#include <torch/torch.h>

namespace TensorOps {

Napi::Value Shape(Tensor* self, const Napi::CallbackInfo& info) {
  Napi::Env env = info.Env();

  auto sizes = self->tensor.sizes();
  Napi::Array arr = Napi::Array::New(env, sizes.size());

  for (size_t i = 0; i < sizes.size(); i++) {
    arr[i] = Napi::Number::New(env, sizes[i]);
  }

  return arr;
}

}  // namespace TensorOps
