UNPKG

wix-storybook-utils

Version:

Utilities for automated component documentation within Storybook

57 lines 3.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AutoTestkit = void 0; var tslib_1 = require("tslib"); var React = tslib_1.__importStar(require("react")); var get_1 = tslib_1.__importDefault(require("lodash/get")); var driver_documentation_1 = require("./driver-documentation"); var unified_testkit_documentation_1 = require("./unified-testkit-documentation"); var determine_testkit_1 = require("./determine-testkit"); var Markdown_1 = tslib_1.__importDefault(require("../Markdown")); var unidriverFirst = function (drivers) { var _a = drivers.reduce(function (_a, driver) { var uni = _a[0], rest = _a[1]; if ((0, determine_testkit_1.isUnidriver)(driver.file)) { uni.push(driver); } else { rest.push(driver); } return [uni, rest]; }, [[], []]), unidrivers = _a[0], others = _a[1]; return tslib_1.__spreadArray(tslib_1.__spreadArray([], unidrivers, true), others, true); }; var createDriverDocumentation = function (metadata, storyConfig, hideImport) { return unidriverFirst(metadata.drivers) .filter(function (_a) { var error = _a.error; return !error; }) .map(function (_a) { var file = _a.file, descriptor = _a.descriptor; var _b = (0, determine_testkit_1.determineTestkit)({ fileName: file, displayName: metadata.displayName, }), type = _b.type, title = _b.title; return (React.createElement(driver_documentation_1.DriverDocumentation, { key: file, dataHook: "auto-testkit-driver", unidriver: (0, determine_testkit_1.isUnidriver)(file), descriptor: descriptor, metadata: metadata, title: title, testkitConfig: (0, get_1.default)(storyConfig, "config.testkits.".concat(type)), hideImport: hideImport })); }); }; var createUnifiedTestkitDocumentation = function (metadata, storyConfig, hideImport) { return (React.createElement(unified_testkit_documentation_1.UnifiedTestkitDocumentation, { dataHook: "auto-unified-testkit", metadata: metadata, storyConfig: storyConfig, hideImport: hideImport })); }; var AutoTestkit = function (_a) { var metadata = _a.metadata, storyConfig = _a.storyConfig, hideImport = _a.hideImport; return (React.createElement("div", { className: "markdown-body" }, (0, get_1.default)(storyConfig, 'config.unifiedTestkit') ? (React.createElement("h1", { "data-hook": "auto-testkit-heading" }, metadata.displayName, " Testkit")) : (React.createElement("h1", { "data-hook": "auto-testkit-heading" }, metadata.displayName, " Testkits")), (0, get_1.default)(storyConfig, 'config.testkitsWarning') && (React.createElement("div", { "data-hook": "auto-testkit-warning" }, React.createElement(Markdown_1.default, { source: storyConfig.config.testkitsWarning }))), (0, get_1.default)(storyConfig, 'config.unifiedTestkit') ? createUnifiedTestkitDocumentation(metadata, storyConfig, hideImport) : createDriverDocumentation(metadata, storyConfig, hideImport))); }; exports.AutoTestkit = AutoTestkit; //# sourceMappingURL=index.js.map