Skip to content

Commit 1a34760

Browse files
committed
doc: add inline comment hints on finalizer signatures
1 parent 7223518 commit 1a34760

1 file changed

Lines changed: 35 additions & 3 deletions

File tree

napi.h

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -422,12 +422,16 @@ class BasicEnv {
422422
#endif // NAPI_VERSION > 8
423423

424424
#ifdef NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER
425+
// FinalizerType must implement `void operator()(Env env)`.
425426
template <typename FinalizerType>
426427
inline void PostFinalizer(FinalizerType finalizeCallback) const;
427428

429+
// FinalizerType must implement `void operator()(Env env, T* data)`.
428430
template <typename FinalizerType, typename T>
429431
inline void PostFinalizer(FinalizerType finalizeCallback, T* data) const;
430432

433+
// FinalizerType must implement `void operator()(Env env, T* data,
434+
// Hint* hint)`.
431435
template <typename FinalizerType, typename T, typename Hint>
432436
inline void PostFinalizer(FinalizerType finalizeCallback,
433437
T* data,
@@ -1107,9 +1111,12 @@ class Object : public TypeTaggable {
11071111
const Function& constructor ///< Constructor function
11081112
) const;
11091113

1114+
// Finalizer must implement `void operator()(Env env, T* data)`.
11101115
template <typename Finalizer, typename T>
11111116
inline void AddFinalizer(Finalizer finalizeCallback, T* data) const;
11121117

1118+
// Finalizer must implement `void operator()(Env env, T* data,
1119+
// Hint* hint)`.
11131120
template <typename Finalizer, typename T, typename Hint>
11141121
inline void AddFinalizer(Finalizer finalizeCallback,
11151122
T* data,
@@ -1157,7 +1164,8 @@ class External : public TypeTaggable {
11571164
// Finalizer must implement `void operator()(Env env, T* data)`.
11581165
template <typename Finalizer>
11591166
static External New(napi_env env, T* data, Finalizer finalizeCallback);
1160-
// Finalizer must implement `void operator()(Env env, T* data, Hint* hint)`.
1167+
// Finalizer must implement `void operator()(Env env, T* data,
1168+
// Hint* hint)`.
11611169
template <typename Finalizer, typename Hint>
11621170
static External New(napi_env env,
11631171
T* data,
@@ -1712,7 +1720,8 @@ class Buffer : public Uint8Array {
17121720
T* data,
17131721
size_t length,
17141722
Finalizer finalizeCallback);
1715-
// Finalizer must implement `void operator()(Env env, T* data, Hint* hint)`.
1723+
// Finalizer must implement `void operator()(Env env, T* data,
1724+
// Hint* hint)`.
17161725
template <typename Finalizer, typename Hint>
17171726
static Buffer<T> New(napi_env env,
17181727
T* data,
@@ -1728,7 +1737,8 @@ class Buffer : public Uint8Array {
17281737
T* data,
17291738
size_t length,
17301739
Finalizer finalizeCallback);
1731-
// Finalizer must implement `void operator()(Env env, T* data, Hint* hint)`.
1740+
// Finalizer must implement `void operator()(Env env, T* data,
1741+
// Hint* hint)`.
17321742
template <typename Finalizer, typename Hint>
17331743
static Buffer<T> NewOrCopy(napi_env env,
17341744
T* data,
@@ -2825,6 +2835,7 @@ class ThreadSafeFunction {
28252835
ContextType* context);
28262836

28272837
// This API may only be called from the main thread.
2838+
// Finalizer must implement `void operator()(Env env)`.
28282839
template <typename ResourceString, typename Finalizer>
28292840
static ThreadSafeFunction New(napi_env env,
28302841
const Function& callback,
@@ -2834,6 +2845,8 @@ class ThreadSafeFunction {
28342845
Finalizer finalizeCallback);
28352846

28362847
// This API may only be called from the main thread.
2848+
// Finalizer must implement
2849+
// `void operator()(Env env, FinalizerDataType* data)`.
28372850
template <typename ResourceString,
28382851
typename Finalizer,
28392852
typename FinalizerDataType>
@@ -2846,6 +2859,8 @@ class ThreadSafeFunction {
28462859
FinalizerDataType* data);
28472860

28482861
// This API may only be called from the main thread.
2862+
// Finalizer must implement
2863+
// `void operator()(Env env, ContextType* context)`.
28492864
template <typename ResourceString, typename ContextType, typename Finalizer>
28502865
static ThreadSafeFunction New(napi_env env,
28512866
const Function& callback,
@@ -2856,6 +2871,8 @@ class ThreadSafeFunction {
28562871
Finalizer finalizeCallback);
28572872

28582873
// This API may only be called from the main thread.
2874+
// Finalizer must implement `void operator()(Env env,
2875+
// FinalizerDataType* data, ContextType* context)`.
28592876
template <typename ResourceString,
28602877
typename ContextType,
28612878
typename Finalizer,
@@ -2889,6 +2906,7 @@ class ThreadSafeFunction {
28892906
ContextType* context);
28902907

28912908
// This API may only be called from the main thread.
2909+
// Finalizer must implement `void operator()(Env env)`.
28922910
template <typename ResourceString, typename Finalizer>
28932911
static ThreadSafeFunction New(napi_env env,
28942912
const Function& callback,
@@ -2899,6 +2917,8 @@ class ThreadSafeFunction {
28992917
Finalizer finalizeCallback);
29002918

29012919
// This API may only be called from the main thread.
2920+
// Finalizer must implement
2921+
// `void operator()(Env env, FinalizerDataType* data)`.
29022922
template <typename ResourceString,
29032923
typename Finalizer,
29042924
typename FinalizerDataType>
@@ -2912,6 +2932,8 @@ class ThreadSafeFunction {
29122932
FinalizerDataType* data);
29132933

29142934
// This API may only be called from the main thread.
2935+
// Finalizer must implement
2936+
// `void operator()(Env env, ContextType* context)`.
29152937
template <typename ResourceString, typename ContextType, typename Finalizer>
29162938
static ThreadSafeFunction New(napi_env env,
29172939
const Function& callback,
@@ -2923,6 +2945,8 @@ class ThreadSafeFunction {
29232945
Finalizer finalizeCallback);
29242946

29252947
// This API may only be called from the main thread.
2948+
// Finalizer must implement `void operator()(Env env,
2949+
// FinalizerDataType* data, ContextType* context)`.
29262950
template <typename ResourceString,
29272951
typename ContextType,
29282952
typename Finalizer,
@@ -3067,6 +3091,8 @@ class TypedThreadSafeFunction {
30673091
// This API may only be called from the main thread.
30683092
// Creates a new threadsafe function with:
30693093
// Callback [missing] Resource [missing] Finalizer [passed]
3094+
// Finalizer must implement `void operator()(Env env,
3095+
// FinalizerDataType* data, ContextType* context)`.
30703096
template <typename ResourceString,
30713097
typename Finalizer,
30723098
typename FinalizerDataType = void>
@@ -3082,6 +3108,8 @@ class TypedThreadSafeFunction {
30823108
// This API may only be called from the main thread.
30833109
// Creates a new threadsafe function with:
30843110
// Callback [missing] Resource [passed] Finalizer [passed]
3111+
// Finalizer must implement `void operator()(Env env,
3112+
// FinalizerDataType* data, ContextType* context)`.
30853113
template <typename ResourceString,
30863114
typename Finalizer,
30873115
typename FinalizerDataType = void>
@@ -3124,6 +3152,8 @@ class TypedThreadSafeFunction {
31243152
// This API may only be called from the main thread.
31253153
// Creates a new threadsafe function with:
31263154
// Callback [passed] Resource [missing] Finalizer [passed]
3155+
// Finalizer must implement `void operator()(Env env,
3156+
// FinalizerDataType* data, ContextType* context)`.
31273157
template <typename ResourceString,
31283158
typename Finalizer,
31293159
typename FinalizerDataType = void>
@@ -3140,6 +3170,8 @@ class TypedThreadSafeFunction {
31403170
// This API may only be called from the main thread.
31413171
// Creates a new threadsafe function with:
31423172
// Callback [passed] Resource [passed] Finalizer [passed]
3173+
// Finalizer must implement `void operator()(Env env,
3174+
// FinalizerDataType* data, ContextType* context)`.
31433175
template <typename CallbackType,
31443176
typename ResourceString,
31453177
typename Finalizer,

0 commit comments

Comments
 (0)