// vim:ts=2:tw=2:et

#pragma once

#include <erl_nif.h>
#include "simdjson.h"

static ErlNifResourceType* JSON_RESOURCE;

static ERL_NIF_TERM ATOM_OK;
static ERL_NIF_TERM ATOM_ERROR;
static ERL_NIF_TERM ATOM_TRUE;
static ERL_NIF_TERM ATOM_FALSE;
static ERL_NIF_TERM ATOM_BADARG;
static ERL_NIF_TERM ATOM_NULL;
static ERL_NIF_TERM ATOM_NIL;
static ERL_NIF_TERM ATOM_ENOMEM;
static ERL_NIF_TERM ATOM_ENOPROCESS;
static ERL_NIF_TERM ATOM_ENOCALLBACK;

static ERL_NIF_TERM ATOM_DUP_KEYS_FOUND;
static ERL_NIF_TERM ATOM_RETURN_MAPS;
static ERL_NIF_TERM ATOM_OBJECT_AS_TUPLE;
static ERL_NIF_TERM ATOM_USE_NIL;
static ERL_NIF_TERM ATOM_NULL_TERM;
static ERL_NIF_TERM ATOM_DEDUPE_KEYS;

static ERL_NIF_TERM ATOM_UESCAPE;
static ERL_NIF_TERM ATOM_PRETTY;
static ERL_NIF_TERM ATOM_ESCAPE_FWD_SLASH;
static ERL_NIF_TERM ATOM_FORCE_UTF8;
static ERL_NIF_TERM ATOM_BYTES_PER_RED;
static ERL_NIF_TERM ATOM_ITER;
static ERL_NIF_TERM ATOM_PARTIAL;

static ERL_NIF_TERM am_null;
