import { CreateElementArgs, CreateValueArgs, events, IRequiredContext, QRType, ValueResult } from '../../types/IQRCodeGenerator' import QRCode from 'react-qr-code' import React from 'react' export async function generateQRCodeValue( args: CreateValueArgs | CreateElementArgs, context?: IRequiredContext ): Promise> { return generateQRCodeValueImpl(args, args, context) } export async function generateQRCodeValueImpl( args: CreateValueArgs | CreateElementArgs, orig: CreateValueArgs | CreateElementArgs, context?: IRequiredContext ): Promise> { const { onGenerate } = orig const { id } = orig.data const value = args.data.object const result: ValueResult = { id, value, data: orig.data, renderingProps: 'renderingProps' in orig ? orig.renderingProps : undefined, context, } if (onGenerate) { onGenerate(result) } if (context) { context.agent.emit(events.QR_CODE_CODE_CREATED, result) } return result } export async function generateQRCodeReactElement( args: CreateElementArgs, context: IRequiredContext ): Promise { return generateQRCodeReactElementImpl(args, args, context) } export async function generateQRCodeReactElementImpl( args: CreateElementArgs, orig: CreateElementArgs, context: IRequiredContext ): Promise { const { renderingProps } = args const { bgColor, fgColor, level, size, title } = renderingProps const result: ValueResult = await generateQRCodeValueImpl(args, orig, context) // @ts-ignore return }