17 lines
736 B
TypeScript
17 lines
736 B
TypeScript
import { z } from 'zod';
|
|
import { advancedCameraCardCustomActionsBaseSchema } from './base';
|
|
|
|
// An action that can be used internally to call a callback (it is not possible
|
|
// for the user to pass this through via the configuration).
|
|
export const INTERNAL_CALLBACK_ACTION = '__INTERNAL_CALLBACK_ACTION__';
|
|
export const internalCallbackActionConfigSchema =
|
|
advancedCameraCardCustomActionsBaseSchema.extend({
|
|
advanced_camera_card_action: z.literal(INTERNAL_CALLBACK_ACTION),
|
|
|
|
// The callback is expected to be called with a CardController API object.
|
|
callback: z.function().args(z.any()).returns(z.promise(z.void())),
|
|
});
|
|
export type InternalCallbackActionConfig = z.infer<
|
|
typeof internalCallbackActionConfigSchema
|
|
>;
|