UNPKG

@react-native-ohos/sample-package

Version:

react native harmony sample package

45 lines (38 loc) 1.5 kB
/* * 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 { TurboModulesFactory, RNPackage} from '@rnoh/react-native-openharmony/ts'; import type { TurboModule, TurboModuleContext, DescriptorWrapperFactoryByDescriptorTypeCtx, DescriptorWrapperFactoryByDescriptorType } from '@rnoh/react-native-openharmony/ts'; import { SampleViewArkTS } from "./generated/components/ts" import { SampleTurboModule } from "./generated/turboModules/ts" import { TurboModuleSample } from './TurboModule'; class SampleTurboModulesFactory extends TurboModulesFactory { createTurboModule(name: string): TurboModule | null { if (name === SampleTurboModule.NAME) { return new TurboModuleSample(this.ctx); } return null; } hasTurboModule(name: string): boolean { return name === SampleTurboModule.NAME; } } export class SamplePackage extends RNPackage { createTurboModulesFactory(ctx: TurboModuleContext): TurboModulesFactory { return new SampleTurboModulesFactory(ctx); } createDescriptorWrapperFactoryByDescriptorType(ctx: DescriptorWrapperFactoryByDescriptorTypeCtx): DescriptorWrapperFactoryByDescriptorType { const result: DescriptorWrapperFactoryByDescriptorType = {} result[SampleViewArkTS.NAME] = (ctx) => new SampleViewArkTS.DescriptorWrapper(ctx.descriptor) return result } }