hypha-debugger 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/debugger.d.ts +42 -0
- package/dist/hypha-debugger.js +2400 -0
- package/dist/hypha-debugger.js.map +1 -0
- package/dist/hypha-debugger.min.js +2 -0
- package/dist/hypha-debugger.min.js.map +1 -0
- package/dist/hypha-debugger.mjs +2374 -0
- package/dist/hypha-debugger.mjs.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/services/dom.d.ts +156 -0
- package/dist/services/execute.d.ts +31 -0
- package/dist/services/info.d.ts +45 -0
- package/dist/services/navigate.d.ts +65 -0
- package/dist/services/react.d.ts +37 -0
- package/dist/services/screenshot.d.ts +51 -0
- package/dist/ui/overlay.d.ts +28 -0
- package/dist/ui/styles.d.ts +4 -0
- package/dist/utils/env.d.ts +28 -0
- package/package.json +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hypha-debugger.mjs","sources":["../src/ui/styles.ts","../src/ui/overlay.ts","../src/utils/env.ts","../src/services/info.ts","../src/services/dom.ts","../node_modules/html-to-image/es/util.js","../node_modules/html-to-image/es/clone-pseudos.js","../node_modules/html-to-image/es/mimes.js","../node_modules/html-to-image/es/dataurl.js","../node_modules/html-to-image/es/clone-node.js","../node_modules/html-to-image/es/embed-resources.js","../node_modules/html-to-image/es/embed-images.js","../node_modules/html-to-image/es/apply-style.js","../node_modules/html-to-image/es/embed-webfonts.js","../node_modules/html-to-image/es/index.js","../src/services/screenshot.ts","../src/services/execute.ts","../src/services/navigate.ts","../src/services/react.ts","../src/debugger.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,"export function resolveUrl(url, baseUrl) {\n // url is absolute already\n if (url.match(/^[a-z]+:\\/\\//i)) {\n return url;\n }\n // url is absolute already, without protocol\n if (url.match(/^\\/\\//)) {\n return window.location.protocol + url;\n }\n // dataURI, mailto:, tel:, etc.\n if (url.match(/^[a-z]+:/i)) {\n return url;\n }\n const doc = document.implementation.createHTMLDocument();\n const base = doc.createElement('base');\n const a = doc.createElement('a');\n doc.head.appendChild(base);\n doc.body.appendChild(a);\n if (baseUrl) {\n base.href = baseUrl;\n }\n a.href = url;\n return a.href;\n}\nexport const uuid = (() => {\n // generate uuid for className of pseudo elements.\n // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.\n let counter = 0;\n // ref: http://stackoverflow.com/a/6248722/2519373\n const random = () => \n // eslint-disable-next-line no-bitwise\n `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);\n return () => {\n counter += 1;\n return `u${random()}${counter}`;\n };\n})();\nexport function delay(ms) {\n return (args) => new Promise((resolve) => {\n setTimeout(() => resolve(args), ms);\n });\n}\nexport function toArray(arrayLike) {\n const arr = [];\n for (let i = 0, l = arrayLike.length; i < l; i++) {\n arr.push(arrayLike[i]);\n }\n return arr;\n}\nlet styleProps = null;\nexport function getStyleProperties(options = {}) {\n if (styleProps) {\n return styleProps;\n }\n if (options.includeStyleProperties) {\n styleProps = options.includeStyleProperties;\n return styleProps;\n }\n styleProps = toArray(window.getComputedStyle(document.documentElement));\n return styleProps;\n}\nfunction px(node, styleProperty) {\n const win = node.ownerDocument.defaultView || window;\n const val = win.getComputedStyle(node).getPropertyValue(styleProperty);\n return val ? parseFloat(val.replace('px', '')) : 0;\n}\nfunction getNodeWidth(node) {\n const leftBorder = px(node, 'border-left-width');\n const rightBorder = px(node, 'border-right-width');\n return node.clientWidth + leftBorder + rightBorder;\n}\nfunction getNodeHeight(node) {\n const topBorder = px(node, 'border-top-width');\n const bottomBorder = px(node, 'border-bottom-width');\n return node.clientHeight + topBorder + bottomBorder;\n}\nexport function getImageSize(targetNode, options = {}) {\n const width = options.width || getNodeWidth(targetNode);\n const height = options.height || getNodeHeight(targetNode);\n return { width, height };\n}\nexport function getPixelRatio() {\n let ratio;\n let FINAL_PROCESS;\n try {\n FINAL_PROCESS = process;\n }\n catch (e) {\n // pass\n }\n const val = FINAL_PROCESS && FINAL_PROCESS.env\n ? FINAL_PROCESS.env.devicePixelRatio\n : null;\n if (val) {\n ratio = parseInt(val, 10);\n if (Number.isNaN(ratio)) {\n ratio = 1;\n }\n }\n return ratio || window.devicePixelRatio || 1;\n}\n// @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size\nconst canvasDimensionLimit = 16384;\nexport function checkCanvasDimensions(canvas) {\n if (canvas.width > canvasDimensionLimit ||\n canvas.height > canvasDimensionLimit) {\n if (canvas.width > canvasDimensionLimit &&\n canvas.height > canvasDimensionLimit) {\n if (canvas.width > canvas.height) {\n canvas.height *= canvasDimensionLimit / canvas.width;\n canvas.width = canvasDimensionLimit;\n }\n else {\n canvas.width *= canvasDimensionLimit / canvas.height;\n canvas.height = canvasDimensionLimit;\n }\n }\n else if (canvas.width > canvasDimensionLimit) {\n canvas.height *= canvasDimensionLimit / canvas.width;\n canvas.width = canvasDimensionLimit;\n }\n else {\n canvas.width *= canvasDimensionLimit / canvas.height;\n canvas.height = canvasDimensionLimit;\n }\n }\n}\nexport function canvasToBlob(canvas, options = {}) {\n if (canvas.toBlob) {\n return new Promise((resolve) => {\n canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);\n });\n }\n return new Promise((resolve) => {\n const binaryString = window.atob(canvas\n .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)\n .split(',')[1]);\n const len = binaryString.length;\n const binaryArray = new Uint8Array(len);\n for (let i = 0; i < len; i += 1) {\n binaryArray[i] = binaryString.charCodeAt(i);\n }\n resolve(new Blob([binaryArray], {\n type: options.type ? options.type : 'image/png',\n }));\n });\n}\nexport function createImage(url) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => {\n img.decode().then(() => {\n requestAnimationFrame(() => resolve(img));\n });\n };\n img.onerror = reject;\n img.crossOrigin = 'anonymous';\n img.decoding = 'async';\n img.src = url;\n });\n}\nexport async function svgToDataURL(svg) {\n return Promise.resolve()\n .then(() => new XMLSerializer().serializeToString(svg))\n .then(encodeURIComponent)\n .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);\n}\nexport async function nodeToDataURL(node, width, height) {\n const xmlns = 'http://www.w3.org/2000/svg';\n const svg = document.createElementNS(xmlns, 'svg');\n const foreignObject = document.createElementNS(xmlns, 'foreignObject');\n svg.setAttribute('width', `${width}`);\n svg.setAttribute('height', `${height}`);\n svg.setAttribute('viewBox', `0 0 ${width} ${height}`);\n foreignObject.setAttribute('width', '100%');\n foreignObject.setAttribute('height', '100%');\n foreignObject.setAttribute('x', '0');\n foreignObject.setAttribute('y', '0');\n foreignObject.setAttribute('externalResourcesRequired', 'true');\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return svgToDataURL(svg);\n}\nexport const isInstanceOfElement = (node, instance) => {\n if (node instanceof instance)\n return true;\n const nodePrototype = Object.getPrototypeOf(node);\n if (nodePrototype === null)\n return false;\n return (nodePrototype.constructor.name === instance.name ||\n isInstanceOfElement(nodePrototype, instance));\n};\n//# sourceMappingURL=util.js.map","import { uuid, getStyleProperties } from './util';\nfunction formatCSSText(style) {\n const content = style.getPropertyValue('content');\n return `${style.cssText} content: '${content.replace(/'|\"/g, '')}';`;\n}\nfunction formatCSSProperties(style, options) {\n return getStyleProperties(options)\n .map((name) => {\n const value = style.getPropertyValue(name);\n const priority = style.getPropertyPriority(name);\n return `${name}: ${value}${priority ? ' !important' : ''};`;\n })\n .join(' ');\n}\nfunction getPseudoElementStyle(className, pseudo, style, options) {\n const selector = `.${className}:${pseudo}`;\n const cssText = style.cssText\n ? formatCSSText(style)\n : formatCSSProperties(style, options);\n return document.createTextNode(`${selector}{${cssText}}`);\n}\nfunction clonePseudoElement(nativeNode, clonedNode, pseudo, options) {\n const style = window.getComputedStyle(nativeNode, pseudo);\n const content = style.getPropertyValue('content');\n if (content === '' || content === 'none') {\n return;\n }\n const className = uuid();\n try {\n clonedNode.className = `${clonedNode.className} ${className}`;\n }\n catch (err) {\n return;\n }\n const styleElement = document.createElement('style');\n styleElement.appendChild(getPseudoElementStyle(className, pseudo, style, options));\n clonedNode.appendChild(styleElement);\n}\nexport function clonePseudoElements(nativeNode, clonedNode, options) {\n clonePseudoElement(nativeNode, clonedNode, ':before', options);\n clonePseudoElement(nativeNode, clonedNode, ':after', options);\n}\n//# sourceMappingURL=clone-pseudos.js.map","const WOFF = 'application/font-woff';\nconst JPEG = 'image/jpeg';\nconst mimes = {\n woff: WOFF,\n woff2: WOFF,\n ttf: 'application/font-truetype',\n eot: 'application/vnd.ms-fontobject',\n png: 'image/png',\n jpg: JPEG,\n jpeg: JPEG,\n gif: 'image/gif',\n tiff: 'image/tiff',\n svg: 'image/svg+xml',\n webp: 'image/webp',\n};\nfunction getExtension(url) {\n const match = /\\.([^./]*?)$/g.exec(url);\n return match ? match[1] : '';\n}\nexport function getMimeType(url) {\n const extension = getExtension(url).toLowerCase();\n return mimes[extension] || '';\n}\n//# sourceMappingURL=mimes.js.map","function getContentFromDataUrl(dataURL) {\n return dataURL.split(/,/)[1];\n}\nexport function isDataUrl(url) {\n return url.search(/^(data:)/) !== -1;\n}\nexport function makeDataUrl(content, mimeType) {\n return `data:${mimeType};base64,${content}`;\n}\nexport async function fetchAsDataURL(url, init, process) {\n const res = await fetch(url, init);\n if (res.status === 404) {\n throw new Error(`Resource \"${res.url}\" not found`);\n }\n const blob = await res.blob();\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onerror = reject;\n reader.onloadend = () => {\n try {\n resolve(process({ res, result: reader.result }));\n }\n catch (error) {\n reject(error);\n }\n };\n reader.readAsDataURL(blob);\n });\n}\nconst cache = {};\nfunction getCacheKey(url, contentType, includeQueryParams) {\n let key = url.replace(/\\?.*/, '');\n if (includeQueryParams) {\n key = url;\n }\n // font resource\n if (/ttf|otf|eot|woff2?/i.test(key)) {\n key = key.replace(/.*\\//, '');\n }\n return contentType ? `[${contentType}]${key}` : key;\n}\nexport async function resourceToDataURL(resourceUrl, contentType, options) {\n const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);\n if (cache[cacheKey] != null) {\n return cache[cacheKey];\n }\n // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n if (options.cacheBust) {\n // eslint-disable-next-line no-param-reassign\n resourceUrl += (/\\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();\n }\n let dataURL;\n try {\n const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {\n if (!contentType) {\n // eslint-disable-next-line no-param-reassign\n contentType = res.headers.get('Content-Type') || '';\n }\n return getContentFromDataUrl(result);\n });\n dataURL = makeDataUrl(content, contentType);\n }\n catch (error) {\n dataURL = options.imagePlaceholder || '';\n let msg = `Failed to fetch resource: ${resourceUrl}`;\n if (error) {\n msg = typeof error === 'string' ? error : error.message;\n }\n if (msg) {\n console.warn(msg);\n }\n }\n cache[cacheKey] = dataURL;\n return dataURL;\n}\n//# sourceMappingURL=dataurl.js.map","import { clonePseudoElements } from './clone-pseudos';\nimport { createImage, toArray, isInstanceOfElement, getStyleProperties, } from './util';\nimport { getMimeType } from './mimes';\nimport { resourceToDataURL } from './dataurl';\nasync function cloneCanvasElement(canvas) {\n const dataURL = canvas.toDataURL();\n if (dataURL === 'data:,') {\n return canvas.cloneNode(false);\n }\n return createImage(dataURL);\n}\nasync function cloneVideoElement(video, options) {\n if (video.currentSrc) {\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n canvas.width = video.clientWidth;\n canvas.height = video.clientHeight;\n ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);\n const dataURL = canvas.toDataURL();\n return createImage(dataURL);\n }\n const poster = video.poster;\n const contentType = getMimeType(poster);\n const dataURL = await resourceToDataURL(poster, contentType, options);\n return createImage(dataURL);\n}\nasync function cloneIFrameElement(iframe, options) {\n var _a;\n try {\n if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {\n return (await cloneNode(iframe.contentDocument.body, options, true));\n }\n }\n catch (_b) {\n // Failed to clone iframe\n }\n return iframe.cloneNode(false);\n}\nasync function cloneSingleNode(node, options) {\n if (isInstanceOfElement(node, HTMLCanvasElement)) {\n return cloneCanvasElement(node);\n }\n if (isInstanceOfElement(node, HTMLVideoElement)) {\n return cloneVideoElement(node, options);\n }\n if (isInstanceOfElement(node, HTMLIFrameElement)) {\n return cloneIFrameElement(node, options);\n }\n return node.cloneNode(isSVGElement(node));\n}\nconst isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';\nconst isSVGElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SVG';\nasync function cloneChildren(nativeNode, clonedNode, options) {\n var _a, _b;\n if (isSVGElement(clonedNode)) {\n return clonedNode;\n }\n let children = [];\n if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {\n children = toArray(nativeNode.assignedNodes());\n }\n else if (isInstanceOfElement(nativeNode, HTMLIFrameElement) &&\n ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {\n children = toArray(nativeNode.contentDocument.body.childNodes);\n }\n else {\n children = toArray(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);\n }\n if (children.length === 0 ||\n isInstanceOfElement(nativeNode, HTMLVideoElement)) {\n return clonedNode;\n }\n await children.reduce((deferred, child) => deferred\n .then(() => cloneNode(child, options))\n .then((clonedChild) => {\n if (clonedChild) {\n clonedNode.appendChild(clonedChild);\n }\n }), Promise.resolve());\n return clonedNode;\n}\nfunction cloneCSSStyle(nativeNode, clonedNode, options) {\n const targetStyle = clonedNode.style;\n if (!targetStyle) {\n return;\n }\n const sourceStyle = window.getComputedStyle(nativeNode);\n if (sourceStyle.cssText) {\n targetStyle.cssText = sourceStyle.cssText;\n targetStyle.transformOrigin = sourceStyle.transformOrigin;\n }\n else {\n getStyleProperties(options).forEach((name) => {\n let value = sourceStyle.getPropertyValue(name);\n if (name === 'font-size' && value.endsWith('px')) {\n const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;\n value = `${reducedFont}px`;\n }\n if (isInstanceOfElement(nativeNode, HTMLIFrameElement) &&\n name === 'display' &&\n value === 'inline') {\n value = 'block';\n }\n if (name === 'd' && clonedNode.getAttribute('d')) {\n value = `path(${clonedNode.getAttribute('d')})`;\n }\n targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));\n });\n }\n}\nfunction cloneInputValue(nativeNode, clonedNode) {\n if (isInstanceOfElement(nativeNode, HTMLTextAreaElement)) {\n clonedNode.innerHTML = nativeNode.value;\n }\n if (isInstanceOfElement(nativeNode, HTMLInputElement)) {\n clonedNode.setAttribute('value', nativeNode.value);\n }\n}\nfunction cloneSelectValue(nativeNode, clonedNode) {\n if (isInstanceOfElement(nativeNode, HTMLSelectElement)) {\n const clonedSelect = clonedNode;\n const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));\n if (selectedOption) {\n selectedOption.setAttribute('selected', '');\n }\n }\n}\nfunction decorate(nativeNode, clonedNode, options) {\n if (isInstanceOfElement(clonedNode, Element)) {\n cloneCSSStyle(nativeNode, clonedNode, options);\n clonePseudoElements(nativeNode, clonedNode, options);\n cloneInputValue(nativeNode, clonedNode);\n cloneSelectValue(nativeNode, clonedNode);\n }\n return clonedNode;\n}\nasync function ensureSVGSymbols(clone, options) {\n const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];\n if (uses.length === 0) {\n return clone;\n }\n const processedDefs = {};\n for (let i = 0; i < uses.length; i++) {\n const use = uses[i];\n const id = use.getAttribute('xlink:href');\n if (id) {\n const exist = clone.querySelector(id);\n const definition = document.querySelector(id);\n if (!exist && definition && !processedDefs[id]) {\n // eslint-disable-next-line no-await-in-loop\n processedDefs[id] = (await cloneNode(definition, options, true));\n }\n }\n }\n const nodes = Object.values(processedDefs);\n if (nodes.length) {\n const ns = 'http://www.w3.org/1999/xhtml';\n const svg = document.createElementNS(ns, 'svg');\n svg.setAttribute('xmlns', ns);\n svg.style.position = 'absolute';\n svg.style.width = '0';\n svg.style.height = '0';\n svg.style.overflow = 'hidden';\n svg.style.display = 'none';\n const defs = document.createElementNS(ns, 'defs');\n svg.appendChild(defs);\n for (let i = 0; i < nodes.length; i++) {\n defs.appendChild(nodes[i]);\n }\n clone.appendChild(svg);\n }\n return clone;\n}\nexport async function cloneNode(node, options, isRoot) {\n if (!isRoot && options.filter && !options.filter(node)) {\n return null;\n }\n return Promise.resolve(node)\n .then((clonedNode) => cloneSingleNode(clonedNode, options))\n .then((clonedNode) => cloneChildren(node, clonedNode, options))\n .then((clonedNode) => decorate(node, clonedNode, options))\n .then((clonedNode) => ensureSVGSymbols(clonedNode, options));\n}\n//# sourceMappingURL=clone-node.js.map","import { resolveUrl } from './util';\nimport { getMimeType } from './mimes';\nimport { isDataUrl, makeDataUrl, resourceToDataURL } from './dataurl';\nconst URL_REGEX = /url\\((['\"]?)([^'\"]+?)\\1\\)/g;\nconst URL_WITH_FORMAT_REGEX = /url\\([^)]+\\)\\s*format\\(([\"']?)([^\"']+)\\1\\)/g;\nconst FONT_SRC_REGEX = /src:\\s*(?:url\\([^)]+\\)\\s*format\\([^)]+\\)[,;]\\s*)+/g;\nfunction toRegex(url) {\n // eslint-disable-next-line no-useless-escape\n const escaped = url.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1');\n return new RegExp(`(url\\\\(['\"]?)(${escaped})(['\"]?\\\\))`, 'g');\n}\nexport function parseURLs(cssText) {\n const urls = [];\n cssText.replace(URL_REGEX, (raw, quotation, url) => {\n urls.push(url);\n return raw;\n });\n return urls.filter((url) => !isDataUrl(url));\n}\nexport async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {\n try {\n const resolvedURL = baseURL ? resolveUrl(resourceURL, baseURL) : resourceURL;\n const contentType = getMimeType(resourceURL);\n let dataURL;\n if (getContentFromUrl) {\n const content = await getContentFromUrl(resolvedURL);\n dataURL = makeDataUrl(content, contentType);\n }\n else {\n dataURL = await resourceToDataURL(resolvedURL, contentType, options);\n }\n return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);\n }\n catch (error) {\n // pass\n }\n return cssText;\n}\nfunction filterPreferredFontFormat(str, { preferredFontFormat }) {\n return !preferredFontFormat\n ? str\n : str.replace(FONT_SRC_REGEX, (match) => {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];\n if (!format) {\n return '';\n }\n if (format === preferredFontFormat) {\n return `src: ${src};`;\n }\n }\n });\n}\nexport function shouldEmbed(url) {\n return url.search(URL_REGEX) !== -1;\n}\nexport async function embedResources(cssText, baseUrl, options) {\n if (!shouldEmbed(cssText)) {\n return cssText;\n }\n const filteredCSSText = filterPreferredFontFormat(cssText, options);\n const urls = parseURLs(filteredCSSText);\n return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));\n}\n//# sourceMappingURL=embed-resources.js.map","import { embedResources } from './embed-resources';\nimport { toArray, isInstanceOfElement } from './util';\nimport { isDataUrl, resourceToDataURL } from './dataurl';\nimport { getMimeType } from './mimes';\nasync function embedProp(propName, node, options) {\n var _a;\n const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);\n if (propValue) {\n const cssString = await embedResources(propValue, null, options);\n node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));\n return true;\n }\n return false;\n}\nasync function embedBackground(clonedNode, options) {\n ;\n (await embedProp('background', clonedNode, options)) ||\n (await embedProp('background-image', clonedNode, options));\n (await embedProp('mask', clonedNode, options)) ||\n (await embedProp('-webkit-mask', clonedNode, options)) ||\n (await embedProp('mask-image', clonedNode, options)) ||\n (await embedProp('-webkit-mask-image', clonedNode, options));\n}\nasync function embedImageNode(clonedNode, options) {\n const isImageElement = isInstanceOfElement(clonedNode, HTMLImageElement);\n if (!(isImageElement && !isDataUrl(clonedNode.src)) &&\n !(isInstanceOfElement(clonedNode, SVGImageElement) &&\n !isDataUrl(clonedNode.href.baseVal))) {\n return;\n }\n const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;\n const dataURL = await resourceToDataURL(url, getMimeType(url), options);\n await new Promise((resolve, reject) => {\n clonedNode.onload = resolve;\n clonedNode.onerror = options.onImageErrorHandler\n ? (...attributes) => {\n try {\n resolve(options.onImageErrorHandler(...attributes));\n }\n catch (error) {\n reject(error);\n }\n }\n : reject;\n const image = clonedNode;\n if (image.decode) {\n image.decode = resolve;\n }\n if (image.loading === 'lazy') {\n image.loading = 'eager';\n }\n if (isImageElement) {\n clonedNode.srcset = '';\n clonedNode.src = dataURL;\n }\n else {\n clonedNode.href.baseVal = dataURL;\n }\n });\n}\nasync function embedChildren(clonedNode, options) {\n const children = toArray(clonedNode.childNodes);\n const deferreds = children.map((child) => embedImages(child, options));\n await Promise.all(deferreds).then(() => clonedNode);\n}\nexport async function embedImages(clonedNode, options) {\n if (isInstanceOfElement(clonedNode, Element)) {\n await embedBackground(clonedNode, options);\n await embedImageNode(clonedNode, options);\n await embedChildren(clonedNode, options);\n }\n}\n//# sourceMappingURL=embed-images.js.map","export function applyStyle(node, options) {\n const { style } = node;\n if (options.backgroundColor) {\n style.backgroundColor = options.backgroundColor;\n }\n if (options.width) {\n style.width = `${options.width}px`;\n }\n if (options.height) {\n style.height = `${options.height}px`;\n }\n const manual = options.style;\n if (manual != null) {\n Object.keys(manual).forEach((key) => {\n style[key] = manual[key];\n });\n }\n return node;\n}\n//# sourceMappingURL=apply-style.js.map","import { toArray } from './util';\nimport { fetchAsDataURL } from './dataurl';\nimport { shouldEmbed, embedResources } from './embed-resources';\nconst cssFetchCache = {};\nasync function fetchCSS(url) {\n let cache = cssFetchCache[url];\n if (cache != null) {\n return cache;\n }\n const res = await fetch(url);\n const cssText = await res.text();\n cache = { url, cssText };\n cssFetchCache[url] = cache;\n return cache;\n}\nasync function embedFonts(data, options) {\n let cssText = data.cssText;\n const regexUrl = /url\\([\"']?([^\"')]+)[\"']?\\)/g;\n const fontLocs = cssText.match(/url\\([^)]+\\)/g) || [];\n const loadFonts = fontLocs.map(async (loc) => {\n let url = loc.replace(regexUrl, '$1');\n if (!url.startsWith('https://')) {\n url = new URL(url, data.url).href;\n }\n return fetchAsDataURL(url, options.fetchRequestInit, ({ result }) => {\n cssText = cssText.replace(loc, `url(${result})`);\n return [loc, result];\n });\n });\n return Promise.all(loadFonts).then(() => cssText);\n}\nfunction parseCSS(source) {\n if (source == null) {\n return [];\n }\n const result = [];\n const commentsRegex = /(\\/\\*[\\s\\S]*?\\*\\/)/gi;\n // strip out comments\n let cssText = source.replace(commentsRegex, '');\n // eslint-disable-next-line prefer-regex-literals\n const keyframesRegex = new RegExp('((@.*?keyframes [\\\\s\\\\S]*?){([\\\\s\\\\S]*?}\\\\s*?)})', 'gi');\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const matches = keyframesRegex.exec(cssText);\n if (matches === null) {\n break;\n }\n result.push(matches[0]);\n }\n cssText = cssText.replace(keyframesRegex, '');\n const importRegex = /@import[\\s\\S]*?url\\([^)]*\\)[\\s\\S]*?;/gi;\n // to match css & media queries together\n const combinedCSSRegex = '((\\\\s*?(?:\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\/)?\\\\s*?@media[\\\\s\\\\S]' +\n '*?){([\\\\s\\\\S]*?)}\\\\s*?})|(([\\\\s\\\\S]*?){([\\\\s\\\\S]*?)})';\n // unified regex\n const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');\n // eslint-disable-next-line no-constant-condition\n while (true) {\n let matches = importRegex.exec(cssText);\n if (matches === null) {\n matches = unifiedRegex.exec(cssText);\n if (matches === null) {\n break;\n }\n else {\n importRegex.lastIndex = unifiedRegex.lastIndex;\n }\n }\n else {\n unifiedRegex.lastIndex = importRegex.lastIndex;\n }\n result.push(matches[0]);\n }\n return result;\n}\nasync function getCSSRules(styleSheets, options) {\n const ret = [];\n const deferreds = [];\n // First loop inlines imports\n styleSheets.forEach((sheet) => {\n if ('cssRules' in sheet) {\n try {\n toArray(sheet.cssRules || []).forEach((item, index) => {\n if (item.type === CSSRule.IMPORT_RULE) {\n let importIndex = index + 1;\n const url = item.href;\n const deferred = fetchCSS(url)\n .then((metadata) => embedFonts(metadata, options))\n .then((cssText) => parseCSS(cssText).forEach((rule) => {\n try {\n sheet.insertRule(rule, rule.startsWith('@import')\n ? (importIndex += 1)\n : sheet.cssRules.length);\n }\n catch (error) {\n console.error('Error inserting rule from remote css', {\n rule,\n error,\n });\n }\n }))\n .catch((e) => {\n console.error('Error loading remote css', e.toString());\n });\n deferreds.push(deferred);\n }\n });\n }\n catch (e) {\n const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];\n if (sheet.href != null) {\n deferreds.push(fetchCSS(sheet.href)\n .then((metadata) => embedFonts(metadata, options))\n .then((cssText) => parseCSS(cssText).forEach((rule) => {\n inline.insertRule(rule, inline.cssRules.length);\n }))\n .catch((err) => {\n console.error('Error loading remote stylesheet', err);\n }));\n }\n console.error('Error inlining remote css file', e);\n }\n }\n });\n return Promise.all(deferreds).then(() => {\n // Second loop parses rules\n styleSheets.forEach((sheet) => {\n if ('cssRules' in sheet) {\n try {\n toArray(sheet.cssRules || []).forEach((item) => {\n ret.push(item);\n });\n }\n catch (e) {\n console.error(`Error while reading CSS rules from ${sheet.href}`, e);\n }\n }\n });\n return ret;\n });\n}\nfunction getWebFontRules(cssRules) {\n return cssRules\n .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)\n .filter((rule) => shouldEmbed(rule.style.getPropertyValue('src')));\n}\nasync function parseWebFontRules(node, options) {\n if (node.ownerDocument == null) {\n throw new Error('Provided element is not within a Document');\n }\n const styleSheets = toArray(node.ownerDocument.styleSheets);\n const cssRules = await getCSSRules(styleSheets, options);\n return getWebFontRules(cssRules);\n}\nfunction normalizeFontFamily(font) {\n return font.trim().replace(/[\"']/g, '');\n}\nfunction getUsedFonts(node) {\n const fonts = new Set();\n function traverse(node) {\n const fontFamily = node.style.fontFamily || getComputedStyle(node).fontFamily;\n fontFamily.split(',').forEach((font) => {\n fonts.add(normalizeFontFamily(font));\n });\n Array.from(node.children).forEach((child) => {\n if (child instanceof HTMLElement) {\n traverse(child);\n }\n });\n }\n traverse(node);\n return fonts;\n}\nexport async function getWebFontCSS(node, options) {\n const rules = await parseWebFontRules(node, options);\n const usedFonts = getUsedFonts(node);\n const cssTexts = await Promise.all(rules\n .filter((rule) => usedFonts.has(normalizeFontFamily(rule.style.fontFamily)))\n .map((rule) => {\n const baseUrl = rule.parentStyleSheet\n ? rule.parentStyleSheet.href\n : null;\n return embedResources(rule.cssText, baseUrl, options);\n }));\n return cssTexts.join('\\n');\n}\nexport async function embedWebFonts(clonedNode, options) {\n const cssText = options.fontEmbedCSS != null\n ? options.fontEmbedCSS\n : options.skipFonts\n ? null\n : await getWebFontCSS(clonedNode, options);\n if (cssText) {\n const styleNode = document.createElement('style');\n const sytleContent = document.createTextNode(cssText);\n styleNode.appendChild(sytleContent);\n if (clonedNode.firstChild) {\n clonedNode.insertBefore(styleNode, clonedNode.firstChild);\n }\n else {\n clonedNode.appendChild(styleNode);\n }\n }\n}\n//# sourceMappingURL=embed-webfonts.js.map","import { cloneNode } from './clone-node';\nimport { embedImages } from './embed-images';\nimport { applyStyle } from './apply-style';\nimport { embedWebFonts, getWebFontCSS } from './embed-webfonts';\nimport { getImageSize, getPixelRatio, createImage, canvasToBlob, nodeToDataURL, checkCanvasDimensions, } from './util';\nexport async function toSvg(node, options = {}) {\n const { width, height } = getImageSize(node, options);\n const clonedNode = (await cloneNode(node, options, true));\n await embedWebFonts(clonedNode, options);\n await embedImages(clonedNode, options);\n applyStyle(clonedNode, options);\n const datauri = await nodeToDataURL(clonedNode, width, height);\n return datauri;\n}\nexport async function toCanvas(node, options = {}) {\n const { width, height } = getImageSize(node, options);\n const svg = await toSvg(node, options);\n const img = await createImage(svg);\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n const ratio = options.pixelRatio || getPixelRatio();\n const canvasWidth = options.canvasWidth || width;\n const canvasHeight = options.canvasHeight || height;\n canvas.width = canvasWidth * ratio;\n canvas.height = canvasHeight * ratio;\n if (!options.skipAutoScale) {\n checkCanvasDimensions(canvas);\n }\n canvas.style.width = `${canvasWidth}`;\n canvas.style.height = `${canvasHeight}`;\n if (options.backgroundColor) {\n context.fillStyle = options.backgroundColor;\n context.fillRect(0, 0, canvas.width, canvas.height);\n }\n context.drawImage(img, 0, 0, canvas.width, canvas.height);\n return canvas;\n}\nexport async function toPixelData(node, options = {}) {\n const { width, height } = getImageSize(node, options);\n const canvas = await toCanvas(node, options);\n const ctx = canvas.getContext('2d');\n return ctx.getImageData(0, 0, width, height).data;\n}\nexport async function toPng(node, options = {}) {\n const canvas = await toCanvas(node, options);\n return canvas.toDataURL();\n}\nexport async function toJpeg(node, options = {}) {\n const canvas = await toCanvas(node, options);\n return canvas.toDataURL('image/jpeg', options.quality || 1);\n}\nexport async function toBlob(node, options = {}) {\n const canvas = await toCanvas(node, options);\n const blob = await canvasToBlob(canvas);\n return blob;\n}\nexport async function getFontEmbedCSS(node, options = {}) {\n return getWebFontCSS(node, options);\n}\n//# sourceMappingURL=index.js.map",null,null,null,null,null,null],"names":[],"mappings":"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","x_google_ignoreList":[5,6,7,8,9,10,11,12,13,14]}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hypha-debugger - Injectable debugger for web pages, powered by Hypha RPC.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* import { startDebugger } from 'hypha-debugger';
|
|
6
|
+
* const session = await startDebugger({ server_url: 'https://hypha.aicell.io' });
|
|
7
|
+
*/
|
|
8
|
+
export { HyphaDebugger } from "./debugger.js";
|
|
9
|
+
export type { DebuggerConfig, DebugSession } from "./debugger.js";
|
|
10
|
+
export type { PageInfo } from "./utils/env.js";
|
|
11
|
+
import { type DebuggerConfig, type DebugSession } from "./debugger.js";
|
|
12
|
+
/**
|
|
13
|
+
* Start the Hypha debugger. Connects to a Hypha server and registers
|
|
14
|
+
* a debug service that remote clients can use to inspect and interact
|
|
15
|
+
* with this web page.
|
|
16
|
+
*
|
|
17
|
+
* @param config - Configuration for the debugger.
|
|
18
|
+
* @returns A session object with service_id, workspace, and destroy().
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```js
|
|
22
|
+
* import { startDebugger } from 'hypha-debugger';
|
|
23
|
+
* const session = await startDebugger({ server_url: 'https://hypha.aicell.io' });
|
|
24
|
+
* console.log(`Service: ${session.service_id}, Workspace: ${session.workspace}`);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare function startDebugger(config: DebuggerConfig): Promise<DebugSession>;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOM query and manipulation service.
|
|
3
|
+
*/
|
|
4
|
+
export interface ElementInfo {
|
|
5
|
+
tag: string;
|
|
6
|
+
id: string;
|
|
7
|
+
classes: string[];
|
|
8
|
+
text: string;
|
|
9
|
+
attributes: Record<string, string>;
|
|
10
|
+
bounds: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
};
|
|
16
|
+
visible: boolean;
|
|
17
|
+
children_count: number;
|
|
18
|
+
}
|
|
19
|
+
export declare function queryDom(selector: string, options?: {
|
|
20
|
+
limit?: number;
|
|
21
|
+
include_text?: boolean;
|
|
22
|
+
}): ElementInfo[];
|
|
23
|
+
export declare namespace queryDom {
|
|
24
|
+
var __schema__: {
|
|
25
|
+
name: string;
|
|
26
|
+
description: string;
|
|
27
|
+
parameters: {
|
|
28
|
+
type: string;
|
|
29
|
+
properties: {
|
|
30
|
+
selector: {
|
|
31
|
+
type: string;
|
|
32
|
+
description: string;
|
|
33
|
+
};
|
|
34
|
+
limit: {
|
|
35
|
+
type: string;
|
|
36
|
+
description: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
required: string[];
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export declare function clickElement(selector: string): {
|
|
44
|
+
success: boolean;
|
|
45
|
+
message: string;
|
|
46
|
+
};
|
|
47
|
+
export declare namespace clickElement {
|
|
48
|
+
var __schema__: {
|
|
49
|
+
name: string;
|
|
50
|
+
description: string;
|
|
51
|
+
parameters: {
|
|
52
|
+
type: string;
|
|
53
|
+
properties: {
|
|
54
|
+
selector: {
|
|
55
|
+
type: string;
|
|
56
|
+
description: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
required: string[];
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export declare function fillInput(selector: string, value: string): {
|
|
64
|
+
success: boolean;
|
|
65
|
+
message: string;
|
|
66
|
+
};
|
|
67
|
+
export declare namespace fillInput {
|
|
68
|
+
var __schema__: {
|
|
69
|
+
name: string;
|
|
70
|
+
description: string;
|
|
71
|
+
parameters: {
|
|
72
|
+
type: string;
|
|
73
|
+
properties: {
|
|
74
|
+
selector: {
|
|
75
|
+
type: string;
|
|
76
|
+
description: string;
|
|
77
|
+
};
|
|
78
|
+
value: {
|
|
79
|
+
type: string;
|
|
80
|
+
description: string;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
required: string[];
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export declare function scrollTo(target: string | {
|
|
88
|
+
x: number;
|
|
89
|
+
y: number;
|
|
90
|
+
}): {
|
|
91
|
+
success: boolean;
|
|
92
|
+
message: string;
|
|
93
|
+
};
|
|
94
|
+
export declare namespace scrollTo {
|
|
95
|
+
var __schema__: {
|
|
96
|
+
name: string;
|
|
97
|
+
description: string;
|
|
98
|
+
parameters: {
|
|
99
|
+
type: string;
|
|
100
|
+
properties: {
|
|
101
|
+
target: {
|
|
102
|
+
description: string;
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
required: string[];
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
export declare function getComputedStyles(selector: string, properties?: string[]): Record<string, string> | {
|
|
110
|
+
error: string;
|
|
111
|
+
};
|
|
112
|
+
export declare namespace getComputedStyles {
|
|
113
|
+
var __schema__: {
|
|
114
|
+
name: string;
|
|
115
|
+
description: string;
|
|
116
|
+
parameters: {
|
|
117
|
+
type: string;
|
|
118
|
+
properties: {
|
|
119
|
+
selector: {
|
|
120
|
+
type: string;
|
|
121
|
+
description: string;
|
|
122
|
+
};
|
|
123
|
+
properties: {
|
|
124
|
+
type: string;
|
|
125
|
+
items: {
|
|
126
|
+
type: string;
|
|
127
|
+
};
|
|
128
|
+
description: string;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
required: string[];
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
export declare function getElementBounds(selector: string): {
|
|
136
|
+
bounds: ElementInfo["bounds"];
|
|
137
|
+
visible: boolean;
|
|
138
|
+
} | {
|
|
139
|
+
error: string;
|
|
140
|
+
};
|
|
141
|
+
export declare namespace getElementBounds {
|
|
142
|
+
var __schema__: {
|
|
143
|
+
name: string;
|
|
144
|
+
description: string;
|
|
145
|
+
parameters: {
|
|
146
|
+
type: string;
|
|
147
|
+
properties: {
|
|
148
|
+
selector: {
|
|
149
|
+
type: string;
|
|
150
|
+
description: string;
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
required: string[];
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arbitrary JavaScript execution service.
|
|
3
|
+
*/
|
|
4
|
+
export declare function executeScript(code: string, options?: {
|
|
5
|
+
timeout_ms?: number;
|
|
6
|
+
}): Promise<{
|
|
7
|
+
result: any;
|
|
8
|
+
type: string;
|
|
9
|
+
} | {
|
|
10
|
+
error: string;
|
|
11
|
+
}>;
|
|
12
|
+
export declare namespace executeScript {
|
|
13
|
+
var __schema__: {
|
|
14
|
+
name: string;
|
|
15
|
+
description: string;
|
|
16
|
+
parameters: {
|
|
17
|
+
type: string;
|
|
18
|
+
properties: {
|
|
19
|
+
code: {
|
|
20
|
+
type: string;
|
|
21
|
+
description: string;
|
|
22
|
+
};
|
|
23
|
+
timeout_ms: {
|
|
24
|
+
type: string;
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
required: string[];
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page information service.
|
|
3
|
+
*/
|
|
4
|
+
import { type PageInfo } from "../utils/env.js";
|
|
5
|
+
export declare function getPageInfo(): PageInfo;
|
|
6
|
+
export declare namespace getPageInfo {
|
|
7
|
+
var __schema__: {
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
parameters: {
|
|
11
|
+
type: string;
|
|
12
|
+
properties: {};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare function getConsoleLogs(options?: {
|
|
17
|
+
level?: string;
|
|
18
|
+
limit?: number;
|
|
19
|
+
}): Array<{
|
|
20
|
+
level: string;
|
|
21
|
+
message: string;
|
|
22
|
+
timestamp: string;
|
|
23
|
+
}>;
|
|
24
|
+
export declare namespace getConsoleLogs {
|
|
25
|
+
var __schema__: {
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
parameters: {
|
|
29
|
+
type: string;
|
|
30
|
+
properties: {
|
|
31
|
+
level: {
|
|
32
|
+
type: string;
|
|
33
|
+
description: string;
|
|
34
|
+
enum: string[];
|
|
35
|
+
};
|
|
36
|
+
limit: {
|
|
37
|
+
type: string;
|
|
38
|
+
description: string;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/** Install console interceptor to capture logs. */
|
|
45
|
+
export declare function installConsoleCapture(maxEntries?: number): void;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Navigation service.
|
|
3
|
+
*/
|
|
4
|
+
export declare function navigate(url: string): {
|
|
5
|
+
success: boolean;
|
|
6
|
+
message: string;
|
|
7
|
+
};
|
|
8
|
+
export declare namespace navigate {
|
|
9
|
+
var __schema__: {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
parameters: {
|
|
13
|
+
type: string;
|
|
14
|
+
properties: {
|
|
15
|
+
url: {
|
|
16
|
+
type: string;
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
required: string[];
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export declare function goBack(): {
|
|
25
|
+
success: boolean;
|
|
26
|
+
message: string;
|
|
27
|
+
};
|
|
28
|
+
export declare namespace goBack {
|
|
29
|
+
var __schema__: {
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
parameters: {
|
|
33
|
+
type: string;
|
|
34
|
+
properties: {};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export declare function goForward(): {
|
|
39
|
+
success: boolean;
|
|
40
|
+
message: string;
|
|
41
|
+
};
|
|
42
|
+
export declare namespace goForward {
|
|
43
|
+
var __schema__: {
|
|
44
|
+
name: string;
|
|
45
|
+
description: string;
|
|
46
|
+
parameters: {
|
|
47
|
+
type: string;
|
|
48
|
+
properties: {};
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export declare function reload(): {
|
|
53
|
+
success: boolean;
|
|
54
|
+
message: string;
|
|
55
|
+
};
|
|
56
|
+
export declare namespace reload {
|
|
57
|
+
var __schema__: {
|
|
58
|
+
name: string;
|
|
59
|
+
description: string;
|
|
60
|
+
parameters: {
|
|
61
|
+
type: string;
|
|
62
|
+
properties: {};
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React component tree inspection service.
|
|
3
|
+
*/
|
|
4
|
+
interface ReactComponentInfo {
|
|
5
|
+
name: string;
|
|
6
|
+
type: "function" | "class" | "host" | "other";
|
|
7
|
+
props: Record<string, any>;
|
|
8
|
+
state: any;
|
|
9
|
+
key: string | null;
|
|
10
|
+
children: ReactComponentInfo[];
|
|
11
|
+
}
|
|
12
|
+
export declare function getReactTree(options?: {
|
|
13
|
+
selector?: string;
|
|
14
|
+
max_depth?: number;
|
|
15
|
+
}): ReactComponentInfo | {
|
|
16
|
+
error: string;
|
|
17
|
+
};
|
|
18
|
+
export declare namespace getReactTree {
|
|
19
|
+
var __schema__: {
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
parameters: {
|
|
23
|
+
type: string;
|
|
24
|
+
properties: {
|
|
25
|
+
selector: {
|
|
26
|
+
type: string;
|
|
27
|
+
description: string;
|
|
28
|
+
};
|
|
29
|
+
max_depth: {
|
|
30
|
+
type: string;
|
|
31
|
+
description: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export {};
|