/* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/no-explicit-any */ import { CElement } from "react"; import React from "react"; import { Ibdd_in, ITestAdapter } from "Testeranto/src/CoreTypes"; export type I = Ibdd_in< () => JSX.Element, CElement, CElement, CElement, any, () => (s: React.CElement) => any, any >; export const testInterface: ITestAdapter = { andWhen: async (s, whenCB) => { await whenCB(s()); return new Promise((resolve, rej) => { resolve(React.createElement(s)); }); }, butThen: async (subject, thenCB) => { await thenCB(subject()); return new Promise((resolve, rej) => { resolve(React.createElement(subject)); }); }, }; // export type IWhenShape = any; // export type IThenShape = any; // export type InitialState = unknown; // export type IInput = () => JSX.Element; // export type ISelection = CElement; // export type IStore = CElement; // export type ISubject = CElement; // export type ITestImpl< // I extends Ibdd_in< // unknown, // unknown, // unknown, // unknown, // unknown, // unknown, // unknown // >, // O extends Ibdd_out< // Record, // Record, // Record, // Record, // Record // > // > = ITestImplementation; // export type ITestSpec< // I extends Ibdd_in< // unknown, // unknown, // unknown, // unknown, // unknown, // unknown, // unknown // >, // O extends Ibdd_out< // Record, // Record, // Record, // Record, // Record // > // > = ITestSpecification;