OR-1 dataflow CPU sketch
1#ifndef NODE_TREE_SITTER_LOOKAHEAD_ITERATOR_H_
2#define NODE_TREE_SITTER_LOOKAHEAD_ITERATOR_H_
3
4#include "tree_sitter/api.h"
5
6#include <napi.h>
7
8namespace node_tree_sitter {
9
10class LookaheadIterator final : public Napi::ObjectWrap<LookaheadIterator> {
11 public:
12 static void Init(Napi::Env env, Napi::Object exports);
13 static Napi::Value NewInstance(Napi::Env env, TSLookaheadIterator *);
14 static LookaheadIterator *UnwrapLookaheadIterator(const Napi::Value &);
15
16 explicit LookaheadIterator(const Napi::CallbackInfo &);
17 ~LookaheadIterator() final;
18
19 private:
20 TSLookaheadIterator *iterator_;
21
22 Napi::Value New(const Napi::CallbackInfo &);
23 Napi::Value Reset(const Napi::CallbackInfo &);
24 Napi::Value ResetState(const Napi::CallbackInfo &);
25 Napi::Value Next(const Napi::CallbackInfo &);
26
27 Napi::Value CurrentTypeId(const Napi::CallbackInfo &);
28 Napi::Value CurrentType(const Napi::CallbackInfo &);
29};
30
31} // namespace node_tree_sitter
32
33#endif // NODE_TREE_SITTER_LOOKAHEAD_ITERATOR_H_