import * as plugins from './tapbundle.plugins.js'; import { tap } from './tapbundle.classes.tap.js'; class WebHelpers { html: any; fixture: any; constructor() { const smartenv = new plugins.smartenv.Smartenv(); // Initialize HTML template tag function this.html = (strings: TemplateStringsArray, ...values: any[]) => { let result = ''; for (let i = 0; i < strings.length; i++) { result += strings[i]; if (i < values.length) { result += values[i]; } } return result; }; // Initialize fixture function based on environment if (smartenv.isBrowser) { this.fixture = async (htmlString: string): Promise => { const container = document.createElement('div'); container.innerHTML = htmlString.trim(); const element = container.firstChild as HTMLElement; return element; }; } else { // Node.js environment - provide a stub or alternative implementation this.fixture = async (htmlString: string): Promise => { throw new Error('WebHelpers.fixture is only available in browser environment'); }; } } } export const webhelpers = new WebHelpers();