New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

N-API: tracing work items for stage 1 #231

Closed
yorkie opened this Issue Jul 27, 2018 · 3 comments

Comments

Projects
3 participants
@yorkie
Member

yorkie commented Jul 27, 2018

The following APIs are behind this track:

@yorkie yorkie added the n-api label Jul 27, 2018

@yorkie yorkie added this to To do in Bootstrap N-API Jul 27, 2018

@yorkie yorkie added this to the v0.10.0 milestone Jul 28, 2018

@legendecas

This comment has been minimized.

Member

legendecas commented Aug 7, 2018

Error Handling

Return values

  • napi_get_last_error_info (#260)

Exceptions

  • napi_throw (#260)
  • napi_throw_error (#260)
  • napi_throw_type_error (#260)
  • napi_throw_range_error (#260)
  • napi_is_error (#270)
  • napi_create_error (#281)
  • napi_create_type_error (#281)
  • napi_create_range_error (#281)
  • napi_get_and_clear_last_exception (#260)
  • napi_is_exception_pending (#260)
  • napi_fatal_exception (#260)

Fatal Errors

  • napi_fatal_error (#302)

Object Lifetime management

Making handle lifespan shorter than that of the native method

  • napi_open_handle_scope (#268)
  • napi_close_handle_scope (#268)
  • napi_open_escapable_handle_scope (#268)
  • napi_close_escapable_handle_scope (#268)
  • napi_escape_handle (#268)

References to objects with a lifespan longer than that of the native method

  • napi_create_reference (#277, #304)
  • napi_delete_reference (#277, #304)
  • napi_reference_ref (#277)
  • napi_reference_unref (#277)
  • napi_get_reference_value (#277)

Cleanup on exit of the current Node.js instance

  • napi_add_env_cleanup_hook (#298)
  • napi_remove_env_cleanup_hook (#298)

Working with JavaScript Values

Object Creation Functions

  • napi_create_array (#270)
  • napi_create_array_with_length (#270)
  • napi_create_arraybuffer TODO: ES6 Types
  • napi_create_buffer (#297)
  • napi_create_buffer_copy (#297)
  • napi_create_external (#296)
  • napi_create_external_arraybuffer TODO: ES6 Types
  • napi_create_external_buffer
  • napi_create_object (#270)
  • napi_create_symbol TODO: ES6 types
  • napi_create_typedarray TODO: ES6 Types
  • napi_create_dataview TODO: ES6 Types

Functions to convert from C types to N-API

  • napi_create_int32 (#260)
  • napi_create_uint32 (#260)
  • napi_create_int64 (#260)
  • napi_create_double (#260)
  • napi_create_string_latin1 TODO: await jerry implementation
  • napi_create_string_utf16 TODO: await jerry implementation
  • napi_create_string_utf8 (#260)

Functions to convert from N-API to C types

  • napi_get_array_length (#270)
  • napi_get_arraybuffer_info TODO: ES6 Types
  • napi_get_buffer_info (#297)
  • napi_get_prototype (#270)
  • napi_get_typedarray_info TODO: ES6 Types
  • napi_get_dataview_info TODO: ES6 Types
  • napi_get_value_bool (#270)
  • napi_get_value_double (#260)
  • napi_get_value_external (#296)
  • napi_get_value_int32 (#260)
  • napi_get_value_int64 (#260)
  • napi_get_value_string_latin1 TODO: await jerry implementation
  • napi_get_value_string_utf8 (#296)
  • napi_get_value_string_utf16 TODO: await jerry implementation
  • napi_get_value_uint32 (#260)

Functions to get global instances

  • napi_get_boolean (#270)
  • napi_get_global (#270)
  • napi_get_null (#270)
  • napi_get_undefined (#270)

Working with JavaScript Values - Abstract Operations

  • napi_coerce_to_bool (#270)
  • napi_coerce_to_number (#270)
  • napi_coerce_to_object (#270)
  • napi_coerce_to_string (#270)
  • napi_typeof (#270)
  • napi_instanceof (#281)
  • napi_is_array (#270)
  • napi_is_arraybuffer (#270) TODO: ES6 Types
  • napi_is_buffer (#297)
  • napi_is_error (#270)
  • napi_is_typedarray (#270) TODO: ES6 Types
  • napi_is_dataview TODO: ES6 Types
  • napi_strict_equals (#281)

Working with JavaScript Properties

Functions

  • napi_get_property_names (#264)
  • napi_set_property (#264)
  • napi_get_property (#264)
  • napi_has_property (#264)
  • napi_delete_property (#264)
  • napi_has_own_property (#264)
  • napi_set_named_property (#260, #264)
  • napi_get_named_property (#264)
  • napi_has_named_property (#264)
  • napi_set_element (#264)
  • napi_get_element (#264)
  • napi_has_element (#264)
  • napi_delete_element (#264)
  • napi_define_properties (#264)

Working with JavaScript Functions

  • napi_call_function (#273)
  • napi_create_function (#260, #277)
  • napi_get_cb_info (#273)
  • napi_get_new_target(#295)
  • napi_new_instance (#273)

Object Wrap

  • napi_define_class (#277)
  • napi_wrap (#277)
  • napi_unwrap (#277)
  • napi_remove_wrap (#277)

Version Management

  • napi_get_node_version (#267)
  • napi_get_version (#267)
@yorkie

This comment has been minimized.

Member

yorkie commented Aug 8, 2018

Nice track jobs @legendecas!

@yorkie

This comment has been minimized.

Member

yorkie commented Aug 17, 2018

All stage 1 features have been implemented! Thank you @legendecas :)

@yorkie yorkie closed this Aug 17, 2018

Bootstrap N-API automation moved this from To do to Done Aug 17, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment