wix-storybook-utils
Version:
Utilities for automated component documentation within Storybook
57 lines • 3.19 kB
JavaScript
;
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