vue-styleguidist
Version:
Vue components style guide generator
46 lines (44 loc) • 2.94 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = getExamples;
var fs = _interopRequireWildcard(require("fs"));
var path = _interopRequireWildcard(require("path"));
var _qss = _interopRequireDefault(require("qss"));
var _requireIt = _interopRequireDefault(require("react-styleguidist/lib/loaders/utils/requireIt"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
var examplesLoader = path.resolve(__dirname, '../examples-loader.js');
/**
* Get require statement for examples file if it exists, or for default examples if it was defined.
*
* @param {string} file
* @param {string} examplesFile
* @param {string} displayName
* @param {string} defaultExample
* @param {boolean} isComponentDocInVueFile
* @returns {object|Array}
*/
function getExamples(file, examplesFile, displayName, defaultExample, isComponentDocInVueFile) {
var examplesFileToLoad = examplesFile || defaultExample;
if (!examplesFileToLoad) {
return null;
}
var relativePath = "./".concat(path.relative(path.dirname(examplesFileToLoad), file));
var query = {
displayName: displayName,
file: relativePath,
shouldShowDefaultExample: !examplesFile && !!defaultExample && !isComponentDocInVueFile,
customLangs: 'vue|js|jsx|html'
};
if (examplesFile && fs.existsSync(examplesFile)) {
return (0, _requireIt["default"])("!!".concat(examplesLoader, "?").concat(_qss["default"].encode(query), "!").concat(examplesFile));
}
if (defaultExample && !isComponentDocInVueFile) {
return (0, _requireIt["default"])("!!".concat(examplesLoader, "?").concat(_qss["default"].encode(query), "!").concat(defaultExample));
}
return null;
}