JSClassDefinition.create constructor

Implementation

factory JSClassDefinition.create({
  int version = 0,
  JSClassAttributes attributes = JSClassAttributes.kJSClassAttributeNone,
  required String className,
  JSClass? parentClass,
  List<JSStaticValue>? staticValues,
  List<JSStaticFunction>? staticFunctions,
  Pointer<NativeFunction<js_bd.JSObjectInitializeCallback>>? initialize,
  Pointer<NativeFunction<js_bd.JSObjectFinalizeCallback>>? finalize,
  Pointer<NativeFunction<js_bd.JSObjectHasPropertyCallback>>? hasProperty,
  Pointer<NativeFunction<js_bd.JSObjectGetPropertyCallback>>? getProperty,
  Pointer<NativeFunction<js_bd.JSObjectSetPropertyCallback>>? setProperty,
  Pointer<NativeFunction<js_bd.JSObjectDeletePropertyCallback>>? deleteProperty,
  Pointer<NativeFunction<js_bd.JSObjectGetPropertyNamesCallback>>? getPropertyNames,
  Pointer<NativeFunction<js_bd.JSObjectCallAsFunctionCallback>>? callAsFunction,
  Pointer<NativeFunction<js_bd.JSObjectCallAsConstructorCallback>>? callAsConstructor,
  Pointer<NativeFunction<js_bd.JSObjectHasInstanceCallback>>? hasInstance,
  Pointer<NativeFunction<js_bd.JSObjectConvertToTypeCallback>>? convertToType,
}) {
  final Pointer<js_bd.JSStaticValue>? staticValuesRef = staticValues?.ref;
  final Pointer<js_bd.JSStaticFunction>? staticFunctionsRef = staticFunctions?.ref;
  return JSClassDefinition(
    js_bd.JSClassDefinition.allocate(
      version,
      JSClassAttributes.values.indexOf(attributes),
      className.toNativeUtf8(),
      parentClass?.ref ?? nullptr,
      staticValuesRef ?? nullptr,
      staticFunctionsRef ?? nullptr,
      initialize ?? nullptr,
      finalize ?? nullptr,
      hasProperty ?? nullptr,
      getProperty ?? nullptr,
      setProperty ?? nullptr,
      deleteProperty ?? nullptr,
      getPropertyNames ?? nullptr,
      callAsFunction ?? nullptr,
      callAsConstructor ?? nullptr,
      hasInstance ?? nullptr,
      convertToType ?? nullptr,
    ),
    staticValuesRef,
    staticFunctionsRef,
  );
}