// Copyright (c) 2024 Huawei Device Co., Ltd. All rights reserved
// Use of this source code is governed by a MIT license that can be
// found in the LICENSE file.

import { RNPackage, TurboModulesFactory } from '@rnoh/react-native-openharmony/ts';
import type { TurboModule, TurboModuleContext } from '@rnoh/react-native-openharmony/ts';
import { ImageCropPickerTurboModule } from './ImageCropPickerTurboModule';

class ImageCropPickerTurboModulesFactory extends TurboModulesFactory {

  createTurboModule(name: string): TurboModule | null {
    if (name === 'ImageCropPicker') {
      return new ImageCropPickerTurboModule(this.ctx);
    }
    return null;
  }

  hasTurboModule(name: string): boolean {
    return name === 'ImageCropPicker';
  }

}

export class ImageCropPickerPackage extends RNPackage {
  createTurboModulesFactory(ctx: TurboModuleContext): TurboModulesFactory {
    return new ImageCropPickerTurboModulesFactory(ctx);
  }
}