UNPKG

64.4 kBJavaScriptView Raw
1(function webpackUniversalModuleDefinition(root, factory) {
2 if(typeof exports === 'object' && typeof module === 'object')
3 module.exports = factory(require("babel-runtime/core-js/object/assign"), require("babel-runtime/core-js/object/define-property"), require("babel-runtime/core-js/object/keys"), require("babel-runtime/core-js/promise"), require("babel-runtime/helpers/defineEnumerableProperties"), require("babel-runtime/helpers/extends"), require("babel-runtime/helpers/toConsumableArray"), require("babel-runtime/helpers/typeof"), require("docblock-parser"), require("js-yaml"), require("lodash"), require("lodash/omit"), require("mdast-util-heading-range"), require("mdast-util-inject"), require("mdast-util-to-string"), require("remark"), require("remark-autolink-headings"), require("remark-comment-blocks"), require("remark-comment-config"), require("remark-contributors"), require("remark-github"), require("remark-html"), require("remark-normalize-headings"), require("remark-parse"), require("remark-slug"), require("remark-squeeze-paragraphs"), require("remark-stringify"), require("remark-strip-badges"), require("remark-toc"), require("skypager-document-types-babel"), require("unist-util-filter"), require("unist-util-find-after"), require("unist-util-find-all-after"), require("unist-util-find-all-before"), require("unist-util-index"), require("unist-util-map"), require("unist-util-parents"), require("unist-util-position"), require("unist-util-remove-position"), require("unist-util-select"), require("unist-util-source"), require("unist-util-visit"), require("util"), require("vfile-reporter"));
4 else if(typeof define === 'function' && define.amd)
5 define(["babel-runtime/core-js/object/assign", "babel-runtime/core-js/object/define-property", "babel-runtime/core-js/object/keys", "babel-runtime/core-js/promise", "babel-runtime/helpers/defineEnumerableProperties", "babel-runtime/helpers/extends", "babel-runtime/helpers/toConsumableArray", "babel-runtime/helpers/typeof", "docblock-parser", "js-yaml", "lodash", "lodash/omit", "mdast-util-heading-range", "mdast-util-inject", "mdast-util-to-string", "remark", "remark-autolink-headings", "remark-comment-blocks", "remark-comment-config", "remark-contributors", "remark-github", "remark-html", "remark-normalize-headings", "remark-parse", "remark-slug", "remark-squeeze-paragraphs", "remark-stringify", "remark-strip-badges", "remark-toc", "skypager-document-types-babel", "unist-util-filter", "unist-util-find-after", "unist-util-find-all-after", "unist-util-find-all-before", "unist-util-index", "unist-util-map", "unist-util-parents", "unist-util-position", "unist-util-remove-position", "unist-util-select", "unist-util-source", "unist-util-visit", "util", "vfile-reporter"], factory);
6 else {
7 var a = typeof exports === 'object' ? factory(require("babel-runtime/core-js/object/assign"), require("babel-runtime/core-js/object/define-property"), require("babel-runtime/core-js/object/keys"), require("babel-runtime/core-js/promise"), require("babel-runtime/helpers/defineEnumerableProperties"), require("babel-runtime/helpers/extends"), require("babel-runtime/helpers/toConsumableArray"), require("babel-runtime/helpers/typeof"), require("docblock-parser"), require("js-yaml"), require("lodash"), require("lodash/omit"), require("mdast-util-heading-range"), require("mdast-util-inject"), require("mdast-util-to-string"), require("remark"), require("remark-autolink-headings"), require("remark-comment-blocks"), require("remark-comment-config"), require("remark-contributors"), require("remark-github"), require("remark-html"), require("remark-normalize-headings"), require("remark-parse"), require("remark-slug"), require("remark-squeeze-paragraphs"), require("remark-stringify"), require("remark-strip-badges"), require("remark-toc"), require("skypager-document-types-babel"), require("unist-util-filter"), require("unist-util-find-after"), require("unist-util-find-all-after"), require("unist-util-find-all-before"), require("unist-util-index"), require("unist-util-map"), require("unist-util-parents"), require("unist-util-position"), require("unist-util-remove-position"), require("unist-util-select"), require("unist-util-source"), require("unist-util-visit"), require("util"), require("vfile-reporter")) : factory(root["babel-runtime/core-js/object/assign"], root["babel-runtime/core-js/object/define-property"], root["babel-runtime/core-js/object/keys"], root["babel-runtime/core-js/promise"], root["babel-runtime/helpers/defineEnumerableProperties"], root["babel-runtime/helpers/extends"], root["babel-runtime/helpers/toConsumableArray"], root["babel-runtime/helpers/typeof"], root["docblock-parser"], root["js-yaml"], root["lodash"], root["lodash/omit"], root["mdast-util-heading-range"], root["mdast-util-inject"], root["mdast-util-to-string"], root["remark"], root["remark-autolink-headings"], root["remark-comment-blocks"], root["remark-comment-config"], root["remark-contributors"], root["remark-github"], root["remark-html"], root["remark-normalize-headings"], root["remark-parse"], root["remark-slug"], root["remark-squeeze-paragraphs"], root["remark-stringify"], root["remark-strip-badges"], root["remark-toc"], root["skypager-document-types-babel"], root["unist-util-filter"], root["unist-util-find-after"], root["unist-util-find-all-after"], root["unist-util-find-all-before"], root["unist-util-index"], root["unist-util-map"], root["unist-util-parents"], root["unist-util-position"], root["unist-util-remove-position"], root["unist-util-select"], root["unist-util-source"], root["unist-util-visit"], root["util"], root["vfile-reporter"]);
8 for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
9 }
10})(this, function(__WEBPACK_EXTERNAL_MODULE_10__, __WEBPACK_EXTERNAL_MODULE_11__, __WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_5__, __WEBPACK_EXTERNAL_MODULE_12__, __WEBPACK_EXTERNAL_MODULE_13__, __WEBPACK_EXTERNAL_MODULE_14__, __WEBPACK_EXTERNAL_MODULE_15__, __WEBPACK_EXTERNAL_MODULE_16__, __WEBPACK_EXTERNAL_MODULE_17__, __WEBPACK_EXTERNAL_MODULE_6__, __WEBPACK_EXTERNAL_MODULE_18__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_19__, __WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_20__, __WEBPACK_EXTERNAL_MODULE_21__, __WEBPACK_EXTERNAL_MODULE_22__, __WEBPACK_EXTERNAL_MODULE_23__, __WEBPACK_EXTERNAL_MODULE_24__, __WEBPACK_EXTERNAL_MODULE_25__, __WEBPACK_EXTERNAL_MODULE_26__, __WEBPACK_EXTERNAL_MODULE_27__, __WEBPACK_EXTERNAL_MODULE_28__, __WEBPACK_EXTERNAL_MODULE_29__, __WEBPACK_EXTERNAL_MODULE_30__, __WEBPACK_EXTERNAL_MODULE_31__, __WEBPACK_EXTERNAL_MODULE_32__, __WEBPACK_EXTERNAL_MODULE_33__, __WEBPACK_EXTERNAL_MODULE_34__, __WEBPACK_EXTERNAL_MODULE_35__, __WEBPACK_EXTERNAL_MODULE_7__, __WEBPACK_EXTERNAL_MODULE_8__, __WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_36__, __WEBPACK_EXTERNAL_MODULE_37__, __WEBPACK_EXTERNAL_MODULE_38__, __WEBPACK_EXTERNAL_MODULE_39__, __WEBPACK_EXTERNAL_MODULE_40__, __WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_41__, __WEBPACK_EXTERNAL_MODULE_42__, __WEBPACK_EXTERNAL_MODULE_43__) {
11return /******/ (function(modules) { // webpackBootstrap
12/******/ // The module cache
13/******/ var installedModules = {};
14/******/
15/******/ // The require function
16/******/ function __webpack_require__(moduleId) {
17/******/
18/******/ // Check if module is in cache
19/******/ if(installedModules[moduleId])
20/******/ return installedModules[moduleId].exports;
21/******/
22/******/ // Create a new module (and put it into the cache)
23/******/ var module = installedModules[moduleId] = {
24/******/ i: moduleId,
25/******/ l: false,
26/******/ exports: {}
27/******/ };
28/******/
29/******/ // Execute the module function
30/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
31/******/
32/******/ // Flag the module as loaded
33/******/ module.l = true;
34/******/
35/******/ // Return the exports of the module
36/******/ return module.exports;
37/******/ }
38/******/
39/******/
40/******/ // expose the modules object (__webpack_modules__)
41/******/ __webpack_require__.m = modules;
42/******/
43/******/ // expose the module cache
44/******/ __webpack_require__.c = installedModules;
45/******/
46/******/ // identity function for calling harmory imports with the correct context
47/******/ __webpack_require__.i = function(value) { return value; };
48/******/
49/******/ // define getter function for harmory exports
50/******/ __webpack_require__.d = function(exports, name, getter) {
51/******/ Object.defineProperty(exports, name, {
52/******/ configurable: false,
53/******/ enumerable: true,
54/******/ get: getter
55/******/ });
56/******/ };
57/******/
58/******/ // getDefaultExport function for compatibility with non-harmony modules
59/******/ __webpack_require__.n = function(module) {
60/******/ var getter = module && module.__esModule ?
61/******/ function getDefault() { return module['default']; } :
62/******/ function getModuleExports() { return module; };
63/******/ __webpack_require__.d(getter, 'a', getter);
64/******/ return getter;
65/******/ };
66/******/
67/******/ // Object.prototype.hasOwnProperty.call
68/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
69/******/
70/******/ // __webpack_public_path__
71/******/ __webpack_require__.p = "/";
72/******/
73/******/ // Load entry module and return exports
74/******/ return __webpack_require__(__webpack_require__.s = 44);
75/******/ })
76/************************************************************************/
77/******/ ({
78
79/***/ "./src/document-types/markdown/index.js":
80/***/ function(module, exports, __webpack_require__) {
81
82"use strict";
83"use strict";
84
85Object.defineProperty(exports, "__esModule", {
86 value: true
87});
88exports.decorate = exports.testDocument = exports.toAST = exports.compile = exports.getUtils = exports.getTransforms = exports.transformPresets = exports.rules = undefined;
89
90var _typeof2 = __webpack_require__(15);
91
92var _typeof3 = _interopRequireDefault(_typeof2);
93
94var _toConsumableArray2 = __webpack_require__(14);
95
96var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
97
98var _extends2 = __webpack_require__(13);
99
100var _extends3 = _interopRequireDefault(_extends2);
101
102var _promise = __webpack_require__(5);
103
104var _promise2 = _interopRequireDefault(_promise);
105
106var _defineEnumerableProperties2 = __webpack_require__(12);
107
108var _defineEnumerableProperties3 = _interopRequireDefault(_defineEnumerableProperties2);
109
110var _assign = __webpack_require__(10);
111
112var _assign2 = _interopRequireDefault(_assign);
113
114var _keys = __webpack_require__(4);
115
116var _keys2 = _interopRequireDefault(_keys);
117
118var _jsYaml = __webpack_require__(17);
119
120var _jsYaml2 = _interopRequireDefault(_jsYaml);
121
122var _markdown2 = __webpack_require__("./src/document-types/markdown/transformers/markdown.js");
123
124var _markdown3 = _interopRequireDefault(_markdown2);
125
126var _pathMatcher = __webpack_require__("./src/runtime/utils/path-matcher.js");
127
128var _pathMatcher2 = _interopRequireDefault(_pathMatcher);
129
130var _string = __webpack_require__("./src/runtime/utils/string.js");
131
132var _omit = __webpack_require__(18);
133
134var _omit2 = _interopRequireDefault(_omit);
135
136var _skypagerDocumentTypesBabel = __webpack_require__(34);
137
138var _lodash = __webpack_require__(6);
139
140var _lodash2 = _interopRequireDefault(_lodash);
141
142function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
143
144var rules = exports.rules = [/\.md$/];
145
146var transformPresets = exports.transformPresets = function transformPresets() {
147 return {
148 markdown: (0, _keys2.default)(_markdown2.profiles)
149 };
150};
151
152var getTransforms = exports.getTransforms = function getTransforms() {
153 return {
154 markdown: __webpack_require__("./src/document-types/markdown/transformers/markdown.js").default
155 };
156};
157
158var getUtils = exports.getUtils = function getUtils() {
159 var loaders = (0, _markdown2.utilLoaders)();
160
161 return (0, _keys2.default)(loaders).reduce(function (memo, key) {
162 var _Object$assign2, _mutatorMap;
163
164 return (0, _assign2.default)(memo, (_Object$assign2 = {}, _mutatorMap = {}, _mutatorMap[key] = _mutatorMap[key] || {}, _mutatorMap[key].get = function () {
165 return loaders[key]();
166 }, (0, _defineEnumerableProperties3.default)(_Object$assign2, _mutatorMap), _Object$assign2));
167 }, {});
168};
169
170var compile = exports.compile = function compile(contents) {
171 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
172
173 var profile = options.profile || "standard";
174 var html = "html";
175
176 try {
177 var ast = toAST(contents, {
178 profile: profile
179 });
180
181 return (0, _markdown3.default)({ profile: "html" }).stringify(ast);
182 } catch (error) {
183 var stack = ["```", error.stack, "```"].join("\n");
184 return (0, _markdown3.default)({ profile: "html" }).stringify(toAST("# Error\n\n" + error.message + "\n\n" + stack + "\n"));
185 }
186};
187
188var toAST = exports.toAST = function toAST(contents, options) {
189 var profile = options.profile || "standard";
190
191 try {
192 return (0, _markdown3.default)(profile, options).parse(contents);
193 } catch (error) {
194 return (0, _markdown3.default)(profile, options).parse("# Error\n\n" + error.message + "\n\n" + createBlock(error.stack) + "\n## Contents\n" + createBlock(contents));
195 }
196};
197
198var testDocument = exports.testDocument = function testDocument(doc) {
199 return typeof rules.find(function (rule) {
200 return (0, _pathMatcher2.default)(rule, doc.fileBaseName);
201 }) !== "undefined";
202};
203
204var decorate = exports.decorate = function decorate(doc) {
205 doc.lazy("exportables", function () {
206 return doc.createExportable();
207 });
208 doc.lazy("exports", function () {
209 return doc.createExportable();
210 });
211
212 (0, _assign2.default)(doc, {
213 stringify: function stringify() {
214 return this.markdown("stringify", {}).stringify(doc.ast);
215 },
216 toCode: function toCode() {
217 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
218
219 var codeBlocks = doc.compileCodeBlocks({ keyBy: "accessor" });
220
221 return codeBlocks.mapValues(function (block, id) {
222 return ("\n // " + block.docPath + " at " + block.index + "\n " + block.value + "\n ").trim();
223 }).values().join("\n\n");
224 },
225 toModule: function toModule() {
226 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
227
228 return doc.project.createModule(doc.toCode(), options);
229 },
230 toEntity: function toEntity() {
231 var selectorMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
232
233 var obj = doc.exportables;
234 var frontmatter = obj.frontmatter;
235 var instance = (0, _assign2.default)({}, obj, frontmatter);
236
237 if (_lodash2.default.isEmpty(selectorMap)) {
238 (0, _assign2.default)(instance, doc.se);
239 }
240 },
241 transformWith: function transformWith(transformerFn) {
242 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
243
244 var doc = this;
245 transformerFn.call(doc, doc, options);
246
247 return doc;
248 },
249 createExportable: function createExportable() {
250 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
251
252 var html = doc.markdown("html", options);
253
254 var source = typeof options.transform === "function" ? doc.transformWith(options.transform, options) || doc : doc;
255
256 var contents = source.contents || source.result("file.contents", function () {
257 return doc.readFile().get("file.contents", "");
258 });
259
260 var exportable = (0, _assign2.default)({}, doc.frontmatter, {
261 id: source.id,
262 get contents() {
263 return contents;
264 },
265 get frontmatter() {
266 return doc.frontmatter;
267 },
268 get ast() {
269 return source.ast;
270 },
271 get file() {
272 return (0, _omit2.default)(doc.file, "contents");
273 },
274 get html() {
275 return doc.remarkHTML({
276 ast: source.renderAST || source.ast
277 });
278 }
279 });
280
281 return exportable;
282 },
283 compileCodeBlocks: function compileCodeBlocks() {
284 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
285 var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
286
287 var babelRc = doc.result("project.babelRc", { presets: ["skypager"], plugins: ["transform-decorators-legacy"] });
288
289 return doc.selectChain("code-blocks", options).mapValues(function (nodes) {
290 return nodes.map(function (node) {
291 var result = void 0;
292
293 try {
294 result = (0, _skypagerDocumentTypesBabel.transpile)(node.value, babelRc);
295 } catch (error) {
296 result = { error: error, code: "", metadata: {} };
297 }
298
299 (0, _assign2.default)(node, {
300 run: function run() {
301 if (result.error) {
302 return _promise2.default.resolve((0, _assign2.default)(node, { error: error }));
303 }
304
305 return doc.asyncRunner(result.code)().then(function (result) {
306 return (0, _assign2.default)(node, {
307 get result() {
308 return typeof result.value === "function" ? result.value() : result;
309 },
310 inspectResult: function inspectResult() {
311 return __webpack_require__(42).inspect(node.result);
312 }
313 });
314 }).catch(function (error) {
315 return (0, _assign2.default)(node, { error: error });
316 });
317 },
318
319 get compiled() {
320 return result.code;
321 },
322 get metadata() {
323 return result.metadata;
324 }
325 });
326
327 return node;
328 });
329 });
330 },
331 updateFrontmatter: function updateFrontmatter() {
332 var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
333 var save = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
334
335 var ast = doc.ast;
336 var frontmatter = doc.frontmatter;
337
338 if (!this.hasFrontmatter()) {
339 this.ast.children.unshift({});
340 }
341
342 frontmatter = (0, _assign2.default)(frontmatter, { updatedAt: Math.floor(new Date() / 1000) }, data);
343
344 var _doc$markdown$parse = doc.markdown().parse("---\n" + _jsYaml2.default.safeDump(frontmatter) + "\n---\n"),
345 children = _doc$markdown$parse.children;
346
347 this.ast.children[0] = children[0];
348
349 if (save) {
350 var contents = doc.contents = doc.file.contents = doc.stringify();
351 doc.project.writeFileSync(doc.path, contents);
352 }
353
354 return this;
355 },
356 hasFrontmatter: function hasFrontmatter() {
357 var zero = this.firstNode();
358 return zero && zero.type === "yaml";
359 },
360 remarkAST: function remarkAST() {
361 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
362
363 var profile = options.profile || "standard";
364 var contents = options.contents || this.contents || this.getFileContents();
365
366 try {
367 var result = doc.markdown(profile, options).parse(contents);
368
369 return (0, _assign2.default)(result, {
370 children: result.children.map(function (node) {
371 return doc.decorateNode(node);
372 })
373 });
374 } catch (error) {
375 return doc.markdown(profile, options).parse("# Error\n\n" + error.message + "\n\n" + createBlock(error.stack) + "\n## Contents\n" + createBlock(contents));
376 }
377 },
378 remarkHTML: function remarkHTML() {
379 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
380
381 var profile = options.profile || "standard";
382 var parser = options.parser || doc.markdown(profile, options);
383 var contents = !options.ast && (options.contents || this.contents || this.getFileContents());
384 var ast = options.ast || parser.parse(contents);
385 var html = "html";
386
387 try {
388 return doc.markdown(html, options).stringify(ast);
389 } catch (error) {
390 var stack = ["```", error.stack, "```"].join("\n");
391 return doc.markdown(html, {}).stringify(doc.markdown(profile, {}).parse("# Error\n\n" + error.message + "\n\n" + stack + "\n"));
392 }
393 },
394 markdown: function markdown() {
395 var profile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "parser";
396 var options = arguments[1];
397
398 return (0, _markdown3.default)((0, _extends3.default)({ profile: profile }, options));
399 },
400 createTree: function createTree() {
401 var headings = this.createHeadingsMap("headingPath");
402
403 var tree = {};
404
405 (0, _keys2.default)(headings).forEach(function (headingPath) {
406 var treePath = headingPath.split("/").map(function (v) {
407 return (0, _string.camelCase)((0, _string.kebabCase)(v));
408 });
409 _lodash2.default.set(tree, treePath, headings[headingPath]);
410 });
411
412 return tree;
413 },
414 createHeadingsMap: function createHeadingsMap() {
415 var keyBy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "accessor";
416 var stayChained = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
417
418 var obj = this.chain.invoke("selectHeadingNodes").map(function (heading) {
419 heading.accessorMethod = (0, _string.camelCase)((0, _string.snakeCase)(heading.textContent()));
420 heading.headingPath = heading.getHeadingPath();
421 heading.accessors = heading.headingPath.split("/").map(function (i) {
422 return (0, _string.camelCase)((0, _string.snakeCase)(i));
423 });
424 heading.accessor = (0, _string.camelCase)((0, _string.snakeCase)(heading.headingPath.replace(/\//g, "_")));
425 return heading;
426 }).keyBy(keyBy);
427
428 return stayChained ? obj : obj.value();
429 },
430 stringifyNode: function stringifyNode(node) {
431 return __webpack_require__(2)(node);
432 },
433 getSourceForNode: function getSourceForNode(node) {
434 return __webpack_require__(3)(node);
435 },
436 decorateNode: function decorateNode(node) {
437 var _original = _lodash2.default.cloneDeep(node);
438
439 return (0, _assign2.default)(node, {
440 original: function original() {
441 return _original;
442 },
443 slug: function slug() {
444 return _lodash2.default.kebabCase(this.textContent());
445 },
446 textContent: function textContent() {
447 return doc.stringifyNode(node) || "";
448 },
449 getHeadingPath: function getHeadingPath() {
450 if (node.type !== "heading") {
451 var prev = node.previousHeading();
452 return prev && prev.getHeadingPath();
453 }
454
455 var textContent = (0, _string.kebabCase)(node.textContent().toLowerCase());
456 var prevSuperior = node.getPreviousSuperior();
457 var previousPath = typeof prevSuperior === "undefined" ? "" : prevSuperior.depth >= 2 && prevSuperior.getHeadingPath() || "";
458
459 return [previousPath, textContent].filter(function (i) {
460 return i && i.length > 0;
461 }).join("/");
462 },
463 headingRangeSync: function headingRangeSync() {
464 var alpha = node;
465 var bravo = node.getFinalHeading() || doc.finalNode();
466
467 return doc.getNodesBetweenPositions(alpha, bravo || 50000).value();
468 },
469 headingRange: function headingRange() {
470 var test = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : node.textContent();
471
472 var ast = doc.ast;
473
474 return new _promise2.default(function (resolve, reject) {
475 try {
476 __webpack_require__(1)(ast, test, function (startNode, nodes, endNode) {
477 resolve({ startNode: startNode, nodes: nodes, endNode: endNode });
478 });
479 } catch (error) {
480 reject(error);
481 }
482 });
483 },
484 getFinalHeading: function getFinalHeading() {
485 return doc.findAllNodesAfter(node, function (n) {
486 return n.type === "heading" && n.depth <= node.depth;
487 })[0];
488 },
489 getPreviousSuperior: function getPreviousSuperior() {
490 return node && node.getNodesBefore && node.getNodesBefore(function (n) {
491 return n.type === "heading" && n.depth < node.depth;
492 })[0];
493 },
494 previousHeading: function previousHeading() {
495 return node.getNodesBefore(function (n) {
496 return n.type === "heading";
497 }).shift();
498 },
499 nextHeading: function nextHeading() {
500 return node.type === "heading" ? node.getNextNode(function (n) {
501 return n.type === "heading" && n.depth >= node.depth;
502 }) : node.getNextNode(function (n) {
503 return n.type === "heading";
504 });
505 },
506 getNextNode: function getNextNode() {
507 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
508 args[_key] = arguments[_key];
509 }
510
511 return doc.findNodeAfter.apply(doc, [node].concat((0, _toConsumableArray3.default)(args)));
512 },
513 getNodesAfter: function getNodesAfter() {
514 for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
515 args[_key2] = arguments[_key2];
516 }
517
518 return doc.findAllNodesAfter.apply(doc, [node].concat((0, _toConsumableArray3.default)(args)));
519 },
520 getNodesBefore: function getNodesBefore() {
521 for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
522 args[_key3] = arguments[_key3];
523 }
524
525 return doc.findAllNodesBefore.apply(doc, [node].concat((0, _toConsumableArray3.default)(args)));
526 },
527 selectChildren: function selectChildren(selector, testFn) {
528 if (node.type === "heading") {
529 return node.selectHeadingChildren(selector, testFn);
530 }
531
532 var results = __webpack_require__(0)(node)(selector);
533
534 return typeof testFn === "function" ? results.filter(function (r) {
535 return testFn.call(doc, r);
536 }) : results;
537 },
538 virtualAST: function virtualAST() {
539 return {
540 type: "root",
541 children: node.headingRangeSync().map(function (n) {
542 return n.original();
543 }).map(function (n, i) {
544 n.index = i;
545 return n;
546 })
547 };
548 },
549 selectHeadingChildrenSync: function selectHeadingChildrenSync() {
550 var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "*";
551 var testFn = arguments[1];
552
553 var results = __webpack_require__(0)(node.virtualAST())(selector);
554
555 results = typeof testFn === "function" ? results.filter(function (r) {
556 return testFn.call(doc, r);
557 }) : results;
558
559 return results;
560 },
561 selectHeadingChildren: function selectHeadingChildren() {
562 var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "*";
563 var testFn = arguments[1];
564
565 return node.headingRange().then(function (_ref) {
566 var nodes = _ref.nodes;
567
568 var base = {
569 type: "root",
570 children: nodes
571 };
572
573 return __webpack_require__(0)(base)(selector);
574 }).then(function (results) {
575 return typeof testFn === "function" ? results.filter(function (r) {
576 return testFn.call(doc, r);
577 }) : results;
578 });
579 }
580 });
581 },
582 headingRange: function headingRange(test) {
583 var ast = doc.ast;
584
585 return new _promise2.default(function (resolve, reject) {
586 try {
587 __webpack_require__(1)(ast, test, function (startNode, nodes, endNode) {
588 resolve({ startNode: startNode, nodes: nodes, endNode: endNode });
589 });
590 } catch (error) {
591 reject(error);
592 }
593 });
594 },
595 documentTitle: function documentTitle() {
596 var titleNode = doc.titleNode();
597
598 if (!titleNode) {
599 return this.get("frontmatter.title", doc.variations.humanized);
600 } else {
601 return titleNode.textContent();
602 }
603 },
604 yamlBlocks: function yamlBlocks() {
605 return this.selectNodes('code[lang="yaml"], yaml');
606 },
607 introParagraphs: function introParagraphs() {
608 var until = this.selectHeadingNodes()[1] || this.finalNode();
609
610 if (!until) {
611 return doc.selectNodes("paragraph");
612 } else {
613 var _children = until.getNodesBefore(function (node) {
614 return ["paragraph"].indexOf(node.type) >= 0;
615 }).reverse();
616
617 return __webpack_require__(2)({ type: "root", children: _children });
618 }
619 },
620 wrapSections: function wrapSections() {
621 var _this = this;
622
623 var asts = this.sectionHeadingNodes().map(function (node) {
624 return _this.createAstFromSection(node, {
625 offset: false,
626 type: "div",
627 data: {
628 hName: "section",
629 hProperties: {
630 "data-section-path": node.getHeadingPath(),
631 "data-node-index": node.index
632 }
633 }
634 });
635 });
636
637 return asts;
638 },
639 createDocumentFromSection: function createDocumentFromSection(node) {
640 var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
641
642 var _node$headingRange = node.headingRange(),
643 _node$headingRange$st = _node$headingRange.startNode,
644 startNode = _node$headingRange$st === undefined ? node : _node$headingRange$st,
645 endNode = _node$headingRange.endNode,
646 _node$headingRange$no = _node$headingRange.nodes,
647 nodes = _node$headingRange$no === undefined ? [] : _node$headingRange$no;
648
649 var ast = doc.createAstFromSection(startNode, nodes);
650
651 return {
652 id: doc.id + "/~/" + (node.headingPath || node.getHeadingPath()),
653 ast: ast,
654 contents: __webpack_require__(3)(ast)
655 };
656 },
657 createAstFromSection: function createAstFromSection(node, children) {
658 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
659
660 var startDepth = node.depth;
661 var offset = options.offset !== false ? 1 - startDepth : 0;
662
663 children = children.map(function (node) {
664 return node.original ? node.original() : node;
665 }).map(function (child) {
666 return child.type === "heading" ? (0, _assign2.default)(child, { depth: child.depth + offset }) : child;
667 });
668
669 var newAST = {
670 type: options.type || "root",
671 children: children,
672 data: options.data || {}
673 };
674
675 return newAST;
676 },
677 withoutNodeIndexes: function withoutNodeIndexes() {
678 var indexList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
679
680 var ast = this.ast;
681
682 return {
683 type: "root",
684 children: children.filter(function (node) {
685 return indexList.indexOf(node.index) === -1;
686 }),
687 data: ast.data
688 };
689 },
690 replaceSection: function replaceSection(sectionNode, newNode) {
691 var _this2 = this;
692
693 return this.extractSectionNodes(sectionNode).then(function (nodes) {
694 return _this2.withoutNodeIndexes(nodes.map(function (n) {
695 return n.index;
696 }));
697 }).then(function (newAst) {
698 return newAst;
699 });
700 },
701 createContentNode: function createContentNode(tagName) {
702 var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
703 var value = arguments[2];
704
705 var node = {
706 type: "div",
707 data: {
708 hName: tagName || "div",
709 hProperties: attributes
710 }
711 };
712
713 if (typeof value === "string") {
714 node.value = value;
715 }
716
717 return node;
718 },
719 createAST: function createAST() {
720 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
721
722 var newAST = {
723 type: options.type || "root",
724 children: options.children || [],
725 data: options.data || {}
726 };
727
728 return newAST;
729 },
730 extractSectionNodes: function extractSectionNodes(node) {
731 return node.headingRange().then(function (_ref2) {
732 var nodes = _ref2.nodes;
733 return nodes;
734 });
735 },
736 inspectOutline: function inspectOutline() {
737 var headings = this.selectHeadingNodes();
738
739 return headings.map(function (headingNode) {
740 var content = "- " + headingNode.textContent();
741 return _lodash2.default.padStart(content, content.length + (headingNode.depth - 1) * 2);
742 }).join("\n");
743 },
744 headingIndexes: function headingIndexes(depth) {
745 return this.chain.invoke("selectHeadingNodes", depth && "[depth=" + depth + "]").sortBy(function (node) {
746 return node.position ? node.position.start.line : node.index;
747 }).map(function (node) {
748 return node.index;
749 }).value();
750 },
751 references: function references() {
752 return (0, _assign2.default)({}, this.referenceImages(), this.referenceLinks());
753 },
754 referenceImages: function referenceImages() {
755 return this.chain.invoke("selectNodes", "imageReference").keyBy("identifier").mapValues(function (refLink, identifier) {
756 var definitionNodes = doc.definitionNodes();
757
758 return (0, _assign2.default)(refLink, {
759 definitionNode: function definitionNode() {
760 return definitionNodes[identifier];
761 },
762
763 get definition() {
764 return _lodash2.default.pick(definitionNodes[identifier], "title", "url", "identifier");
765 }
766 });
767 }).value();
768 },
769 imageNodes: function imageNodes() {
770 return this.selectNodes("image");
771 },
772 referenceLinks: function referenceLinks() {
773 return this.chain.invoke("selectNodes", "linkReference").keyBy("identifier").mapValues(function (refLink, identifier) {
774 var definitionNodes = doc.definitionNodes();
775
776 return (0, _assign2.default)(refLink, {
777 definitionNode: function definitionNode() {
778 return definitionNodes[identifier];
779 },
780
781 get definition() {
782 return _lodash2.default.pick(definitionNodes[identifier], "title", "url", "identifier");
783 }
784 });
785 }).value();
786 },
787 definitionNodes: function definitionNodes() {
788 return this.chain.invoke("selectNodes", "definition").keyBy("identifier").value();
789 },
790 selectHeadingsByDepth: function selectHeadingsByDepth() {
791 var depth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
792
793 return this.selectHeadingNodes("[depth=" + depth + "]");
794 },
795 selectOneNode: function selectOneNode(selector) {
796 return __webpack_require__(0)(this.ast)(selector)[0];
797 },
798 selectNodes: function selectNodes() {
799 var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "*";
800 var testFn = arguments[1];
801
802 var results = __webpack_require__(0)(this.ast)(selector);
803
804 return typeof testFn === "function" ? results.filter(function (r) {
805 return testFn.call(doc, r);
806 }) : results;
807 },
808 selectHeadingNodes: function selectHeadingNodes() {
809 var enhance = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
810
811 return doc.selectNodes(("heading" + enhance).trim());
812 },
813 selectCodeBlocks: function selectCodeBlocks() {
814 var lang = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "javascript";
815 var enhance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
816
817 return doc.selectNodes(("code[lang=" + lang + "]" + enhance).trim());
818 },
819 findNodeAfter: function findNodeAfter(node) {
820 for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
821 args[_key4 - 1] = arguments[_key4];
822 }
823
824 return __webpack_require__(7).apply(undefined, [this.ast, node].concat((0, _toConsumableArray3.default)(args)));
825 },
826 findAllNodesAfter: function findAllNodesAfter(node) {
827 for (var _len5 = arguments.length, args = Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {
828 args[_key5 - 1] = arguments[_key5];
829 }
830
831 return __webpack_require__(8).apply(undefined, [this.ast, node].concat((0, _toConsumableArray3.default)(args)));
832 },
833 findAllNodesBefore: function findAllNodesBefore(node) {
834 for (var _len6 = arguments.length, args = Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {
835 args[_key6 - 1] = arguments[_key6];
836 }
837
838 return __webpack_require__(9).apply(undefined, [this.ast, node].concat((0, _toConsumableArray3.default)(args)));
839 },
840 nodesIndexedByPosition: function nodesIndexedByPosition() {
841 return doc.chain.get("ast.children").keyBy(function (node) {
842 return parseInt(node.position.start.line);
843 }).value();
844 },
845 introNodes: function introNodes() {
846 var f = this.selectNodes("heading");
847 var m = f.find(function (n) {
848 return n.depth > 1;
849 });
850
851 var nodes = m ? m.getNodesBefore().reverse() : this.ast.children;
852
853 return nodes.filter(function (n) {
854 return n.type !== "yaml";
855 });
856 },
857 finalHeading: function finalHeading() {
858 return this.selectNodes("heading:last-of-type");
859 },
860 titleNode: function titleNode() {
861 return this.selectOneNode("heading[depth=1]") || this.selectOneNode("heading:first-of-type");
862 },
863 firstSectionHeadingNode: function firstSectionHeadingNode() {
864 return this.selectOneNode("heading[depth=2]");
865 },
866 sectionHeadingNodes: function sectionHeadingNodes() {
867 return this.selectNodes("heading[depth=2]");
868 },
869 articleHeadingNodes: function articleHeadingNodes() {
870 return this.selectNodes("heading[depth=3]");
871 },
872 subarticleHeadingNodes: function subarticleHeadingNodes() {
873 return this.selectNodes("heading").filter(function (n) {
874 return n.depth >= 4;
875 });
876 },
877 getNodesBetweenPositions: function getNodesBetweenPositions(alpha, bravo) {
878 var start = isNode(alpha) ? alpha.position.start.line : parseInt(alpha);
879 var end = isNode(bravo) ? bravo.position.start.line : parseInt(bravo);
880
881 return doc.chain.get("ast.children").filter(function (node) {
882 var line = node.position.start.line;
883
884
885 return line > start && line < end;
886 });
887 },
888 firstNode: function firstNode() {
889 return this.chain.get("ast.children", []).first().value();
890 },
891 finalNode: function finalNode() {
892 return this.chain.get("ast.children", []).last().value();
893 },
894 getAST: function getAST() {
895 var _ast = doc.remarkAST();
896
897 return (0, _assign2.default)(_ast, {
898 children: _ast.children.map(function (n, i) {
899 var d = doc.decorateNode(n);
900 d.index = i;
901 return d;
902 })
903 });
904 },
905 getResults: function getResults() {
906 var _this3 = this;
907
908 var codeBlocks = doc.compileCodeBlocks().values().flatten().invokeMap("run").thru(function (r) {
909 return _promise2.default.all(r);
910 }).value();
911
912 return codeBlocks.then(function (results) {
913 doc.hide("codeBlockResults", results);
914 }).then(function () {
915 return _this3;
916 });
917 }
918 });
919
920 doc.lazy("ast", function () {
921 return doc.getAST();
922 });
923
924 doc.lazy("renderAST", function () {
925 return doc.remarkAST();
926 });
927
928 doc.hide("parseFrontmatter", function (val) {
929 if (!val) {
930 var firstNode = doc.get("ast.children[0]", {});
931 val = firstNode.type === "yaml" ? firstNode.value : undefined;
932 }
933
934 return val && val.length > 0 ? _jsYaml2.default.safeLoad(val) : {};
935 });
936
937 doc.lazy("frontmatter", function () {
938 var firstNode = doc.get("ast.children[0]", {});
939 return firstNode.type === "yaml" ? _jsYaml2.default.load(firstNode.value) : {};
940 });
941
942 doc.lazy("headingsMap", function () {
943 return doc.createHeadingsMap();
944 });
945
946 return doc;
947};
948
949exports.default = decorate;
950
951
952function isNode(obj) {
953 return (typeof obj === "undefined" ? "undefined" : (0, _typeof3.default)(obj)) === "object" && typeof obj.type === "string" && obj.position;
954}
955
956function createBlock(contents) {
957 var lang = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
958
959 return ["```" + lang, contents, "```"].join("\n");
960}
961
962/***/ },
963
964/***/ "./src/document-types/markdown/transformers/markdown.js":
965/***/ function(module, exports, __webpack_require__) {
966
967"use strict";
968'use strict';
969
970Object.defineProperty(exports, "__esModule", {
971 value: true
972});
973exports.utilLoaders = exports.addons = exports.profiles = exports.github = exports.stringifier = exports.html = exports.parser = exports.comments = exports.standard = exports.applyTo = undefined;
974
975var _promise = __webpack_require__(5);
976
977var _promise2 = _interopRequireDefault(_promise);
978
979var _remark = __webpack_require__(20);
980
981var _remark2 = _interopRequireDefault(_remark);
982
983var _remarkCommentBlocks = __webpack_require__(22);
984
985var _remarkCommentBlocks2 = _interopRequireDefault(_remarkCommentBlocks);
986
987var _remarkCommentConfig = __webpack_require__(23);
988
989var _remarkCommentConfig2 = _interopRequireDefault(_remarkCommentConfig);
990
991var _remarkHtml = __webpack_require__(26);
992
993var _remarkHtml2 = _interopRequireDefault(_remarkHtml);
994
995var _remarkSlug = __webpack_require__(29);
996
997var _remarkSlug2 = _interopRequireDefault(_remarkSlug);
998
999var _remarkSqueezeParagraphs = __webpack_require__(30);
1000
1001var _remarkSqueezeParagraphs2 = _interopRequireDefault(_remarkSqueezeParagraphs);
1002
1003var _remarkStringify = __webpack_require__(31);
1004
1005var _remarkStringify2 = _interopRequireDefault(_remarkStringify);
1006
1007var _remarkNormalizeHeadings = __webpack_require__(27);
1008
1009var _remarkNormalizeHeadings2 = _interopRequireDefault(_remarkNormalizeHeadings);
1010
1011var _remarkGithub = __webpack_require__(25);
1012
1013var _remarkGithub2 = _interopRequireDefault(_remarkGithub);
1014
1015var _remarkToc = __webpack_require__(33);
1016
1017var _remarkToc2 = _interopRequireDefault(_remarkToc);
1018
1019var _remarkAutolinkHeadings = __webpack_require__(21);
1020
1021var _remarkAutolinkHeadings2 = _interopRequireDefault(_remarkAutolinkHeadings);
1022
1023var _remarkContributors = __webpack_require__(24);
1024
1025var _remarkContributors2 = _interopRequireDefault(_remarkContributors);
1026
1027var _remarkStripBadges = __webpack_require__(32);
1028
1029var _remarkStripBadges2 = _interopRequireDefault(_remarkStripBadges);
1030
1031var _remarkParse = __webpack_require__(28);
1032
1033var _remarkParse2 = _interopRequireDefault(_remarkParse);
1034
1035function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1036
1037/**
1038 * Run a remark parser profile with optional add-ons. Available profiles
1039 * can be found @see profiles and addOns @see addOns
1040 *
1041 * @param {Object} options - the options object
1042 * @param {String} options.profile - which parser profile to use?
1043 * @param {Array} options.addOns - which addons to include?
1044 */
1045exports.default = function () {
1046 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1047 var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1048 var _options$profile = options.profile,
1049 profile = _options$profile === undefined ? 'parser' : _options$profile,
1050 _options$addOns = options.addOns,
1051 addOns = _options$addOns === undefined ? [] : _options$addOns;
1052
1053 var unified = profiles[profile] || parser;
1054
1055 return addOns.reduce(function (memo, addon) {
1056 return addons[addOn] ? memo.use(addons[addOn]) : memo;
1057 }, unified(options));
1058};
1059
1060var applyTo = exports.applyTo = function applyTo(input, options) {
1061 var _options$method = options.method,
1062 method = _options$method === undefined ? 'process' : _options$method,
1063 _options$parser = options.parser,
1064 parser = _options$parser === undefined ? 'github' : _options$parser;
1065
1066 return new _promise2.default(function (resolve, reject) {
1067 profiles[parser](options)[method](input, function (err, file) {
1068 err ? reject(err) : resolve(file);
1069 });
1070 });
1071};
1072
1073var standard = exports.standard = function standard() {
1074 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1075 return (0, _remark2.default)().use(_remarkCommentConfig2.default).use(_remarkNormalizeHeadings2.default).use(_remarkSqueezeParagraphs2.default).use(_remarkSlug2.default).use(_remarkAutolinkHeadings2.default);
1076};
1077
1078var comments = exports.comments = function comments() {
1079 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1080 return standard(options).use(_remarkCommentBlocks2.default);
1081};
1082
1083var parser = exports.parser = function parser() {
1084 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1085 return standard(options).use(_remarkParse2.default);
1086};
1087
1088var html = exports.html = function html() {
1089 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1090 return standard(options).use(_remarkHtml2.default);
1091};
1092
1093var stringifier = exports.stringifier = function stringifier() {
1094 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1095 return standard(options).use(_remarkStringify2.default);
1096};
1097
1098var github = exports.github = function github() {
1099 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1100 return standard(options).use(_remarkGithub2.default).use(_remarkAutolinkHeadings2.default);
1101};
1102
1103var profiles = exports.profiles = {
1104 parser: parser,
1105 standard: standard,
1106 comments: comments,
1107 github: github,
1108 html: html,
1109 stringifier: stringifier
1110};
1111
1112var addons = exports.addons = {
1113 contributors: _remarkContributors2.default,
1114 stripBadges: _remarkStripBadges2.default,
1115 toc: _remarkToc2.default
1116};
1117
1118var utilLoaders = exports.utilLoaders = function utilLoaders() {
1119 return {
1120 filter: function filter() {
1121 return __webpack_require__(35);
1122 },
1123 findAfter: function findAfter() {
1124 return __webpack_require__(7);
1125 },
1126 findAllAfter: function findAllAfter() {
1127 return __webpack_require__(8);
1128 },
1129 findAllBefore: function findAllBefore() {
1130 return __webpack_require__(9);
1131 },
1132 index: function index() {
1133 return __webpack_require__(36);
1134 },
1135 map: function map() {
1136 return __webpack_require__(37);
1137 },
1138 parents: function parents() {
1139 return __webpack_require__(38);
1140 },
1141 position: function position() {
1142 return __webpack_require__(39);
1143 },
1144 removePosition: function removePosition() {
1145 return __webpack_require__(40);
1146 },
1147 select: function select() {
1148 return __webpack_require__(0);
1149 },
1150 source: function source() {
1151 return __webpack_require__(3);
1152 },
1153 visit: function visit() {
1154 return __webpack_require__(41);
1155 },
1156 reporter: function reporter() {
1157 return __webpack_require__(43);
1158 },
1159 docblockParser: function docblockParser() {
1160 return __webpack_require__(16);
1161 },
1162 toString: function toString() {
1163 return __webpack_require__(2);
1164 },
1165 headingRange: function headingRange() {
1166 return __webpack_require__(1);
1167 },
1168 inject: function inject() {
1169 return __webpack_require__(19);
1170 }
1171 };
1172};
1173
1174/***/ },
1175
1176/***/ "./src/runtime/lodash-dependencies.js":
1177/***/ function(module, exports, __webpack_require__) {
1178
1179"use strict";
1180"use strict";
1181
1182module.exports = typeof lodash !== "undefined" ? lodash : __webpack_require__(6);
1183
1184/***/ },
1185
1186/***/ "./src/runtime/utils/inflect.js":
1187/***/ function(module, exports, __webpack_require__) {
1188
1189"use strict";
1190'use strict';
1191
1192var _lodashDependencies = __webpack_require__("./src/runtime/lodash-dependencies.js");
1193
1194/**
1195 * @copyright https://github.com/sonnym/inflect-js/
1196 */
1197var uncountable_words = ['equipment', 'information', 'rice', 'money', 'species', 'series', 'fish', 'sheep', 'moose', 'deer', 'news']
1198
1199// These rules translate from the singular form of a noun to its plural form.
1200,
1201 plural_rules = [[new RegExp('(m)an$', 'gi'), '$1en'], [new RegExp('(pe)rson$', 'gi'), '$1ople'], [new RegExp('(child)$', 'gi'), '$1ren'], [new RegExp('^(ox)$', 'gi'), '$1en'], [new RegExp('(ax|test)is$', 'gi'), '$1es'], [new RegExp('(octop|vir)us$', 'gi'), '$1i'], [new RegExp('(alias|status)$', 'gi'), '$1es'], [new RegExp('(bu)s$', 'gi'), '$1ses'], [new RegExp('(buffal|tomat|potat)o$', 'gi'), '$1oes'], [new RegExp('([ti])um$', 'gi'), '$1a'], [new RegExp('sis$', 'gi'), 'ses'], [new RegExp('(?:([^f])fe|([lr])f)$', 'gi'), '$1$2ves'], [new RegExp('(hive)$', 'gi'), '$1s'], [new RegExp('([^aeiouy]|qu)y$', 'gi'), '$1ies'], [new RegExp('(x|ch|ss|sh)$', 'gi'), '$1es'], [new RegExp('(matr|vert|ind)ix|ex$', 'gi'), '$1ices'], [new RegExp('([m|l])ouse$', 'gi'), '$1ice'], [new RegExp('(quiz)$', 'gi'), '$1zes'], [new RegExp('s$', 'gi'), 's'], [new RegExp('$', 'gi'), 's']]
1202
1203// These rules translate from the plural form of a noun to its singular form.
1204,
1205 singular_rules = [[new RegExp('(m)en$', 'gi'), '$1an'], [new RegExp('(pe)ople$', 'gi'), '$1rson'], [new RegExp('(child)ren$', 'gi'), '$1'], [new RegExp('([ti])a$', 'gi'), '$1um'], [new RegExp('((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$', 'gi'), '$1$2sis'], [new RegExp('(hive)s$', 'gi'), '$1'], [new RegExp('(tive)s$', 'gi'), '$1'], [new RegExp('(curve)s$', 'gi'), '$1'], [new RegExp('([lr])ves$', 'gi'), '$1f'], [new RegExp('([^fo])ves$', 'gi'), '$1fe'], [new RegExp('([^aeiouy]|qu)ies$', 'gi'), '$1y'], [new RegExp('(s)eries$', 'gi'), '$1eries'], [new RegExp('(m)ovies$', 'gi'), '$1ovie'], [new RegExp('(x|ch|ss|sh)es$', 'gi'), '$1'], [new RegExp('([m|l])ice$', 'gi'), '$1ouse'], [new RegExp('(bus)es$', 'gi'), '$1'], [new RegExp('(o)es$', 'gi'), '$1'], [new RegExp('(shoe)s$', 'gi'), '$1'], [new RegExp('(cris|ax|test)es$', 'gi'), '$1is'], [new RegExp('(octop|vir)i$', 'gi'), '$1us'], [new RegExp('(alias|status)es$', 'gi'), '$1'], [new RegExp('^(ox)en', 'gi'), '$1'], [new RegExp('(vert|ind)ices$', 'gi'), '$1ex'], [new RegExp('(matr)ices$', 'gi'), '$1ix'], [new RegExp('(quiz)zes$', 'gi'), '$1'], [new RegExp('s$', 'gi'), '']]
1206
1207// This is a list of words that should not be capitalized for title case
1208,
1209 non_titlecased_words = ['and', 'or', 'nor', 'a', 'an', 'the', 'so', 'but', 'to', 'of', 'at', 'by', 'from', 'into', 'on', 'onto', 'off', 'out', 'in', 'over', 'with', 'for']
1210
1211// These are regular expressions used for converting between String formats
1212,
1213 id_suffix = new RegExp('(_ids|_id)$', 'g'),
1214 underbar = new RegExp('_', 'g'),
1215 space_or_underbar = new RegExp('[\ _]', 'g'),
1216 uppercase = new RegExp('([A-Z])', 'g'),
1217 underbar_prefix = new RegExp('^_');
1218
1219/*
1220This is a helper method that applies rules based replacement to a String
1221 Signature:
1222 apply_rules(str, rules, skip, override) == String
1223 Arguments:
1224 str - String - String to modify and return based on the passed rules
1225 rules - Array: [RegExp, String] - Regexp to match paired with String to use for replacement
1226 skip - Array: [String] - Strings to skip if they match
1227 override - String (optional) - String to return as though this method succeeded (used to conform to APIs)
1228 Returns:
1229 String - passed String modified by passed rules
1230 Examples:
1231 apply_rules("cows", InflectionJs.singular_rules) === 'cow'
1232*/
1233function apply_rules(str, rules, skip, override) {
1234 if (override) {
1235 str = override;
1236 } else {
1237 var ignore = skip.indexOf(str.toLowerCase()) > -1;
1238 if (!ignore) {
1239 for (var x = 0; x < rules.length; x++) {
1240 if (str.match(rules[x][0])) {
1241 str = str.replace(rules[x][0], rules[x][1]);
1242 break;
1243 }
1244 }
1245 }
1246 }
1247 return str;
1248}
1249
1250module.exports.pluralize = function (string, plural) {
1251 return apply_rules(string, plural_rules, uncountable_words);
1252};
1253
1254module.exports.singularize = function (string, singular) {
1255 return apply_rules(string, singular_rules, uncountable_words, singular);
1256};
1257
1258module.exports.humanize = function (string, lowFirstLetter) {
1259 var str = string.toLowerCase();
1260 str = str.replace(id_suffix, '');
1261 str = str.replace(underbar, ' ');
1262 if (!lowFirstLetter) {
1263 str = (0, _lodashDependencies.capitalize)(str);
1264 }
1265 return str;
1266};
1267
1268module.exports.camelize = function (string, lowFirstLetter) {
1269 var str = string.toLowerCase();
1270 var str_path = str.split('/');
1271
1272 for (var i = 0; i < str_path.length; i++) {
1273 var str_arr = str_path[i].split('_');
1274 var initX = lowFirstLetter && i + 1 === str_path.length ? 1 : 0;
1275
1276 for (var x = initX; x < str_arr.length; x++) {
1277 str_arr[x] = str_arr[x].charAt(0).toUpperCase() + str_arr[x].substring(1);
1278 }
1279
1280 str_path[i] = str_arr.join('');
1281 }
1282 str = str_path.join('');
1283 return str;
1284};
1285
1286module.exports.underscore = function (str) {
1287 var str_path = str.split('::');
1288 for (var i = 0; i < str_path.length; i++) {
1289 str_path[i] = str_path[i].replace(uppercase, '_$1');
1290 str_path[i] = str_path[i].replace(underbar_prefix, '');
1291 }
1292 str = str_path.join('/').toLowerCase();
1293 return str;
1294};
1295
1296module.exports.dasherize = function (str) {
1297 str = str.replace(space_or_underbar, '-');
1298 return str;
1299};
1300
1301module.exports.titleize = function (string) {
1302 var str = string.toLowerCase();
1303 str = str.replace(underbar, ' ');
1304 var str_arr = str.split(' ');
1305 for (var x = 0; x < str_arr.length; x++) {
1306 var d = str_arr[x].split('-');
1307 for (var i = 0; i < d.length; i++) {
1308 if (non_titlecased_words.indexOf(d[i].toLowerCase()) < 0) {
1309 d[i] = (0, _lodashDependencies.capitalize)(d[i]);
1310 }
1311 }
1312 str_arr[x] = d.join('-');
1313 }
1314 str = str_arr.join(' ');
1315 str = str.substring(0, 1).toUpperCase() + str.substring(1);
1316 return str;
1317};
1318
1319module.exports.demodulize = function (str) {
1320 var str_arr = str.split('::');
1321 str = str_arr[str_arr.length - 1];
1322 return str;
1323};
1324
1325module.exports.tableize = function (str) {
1326 return this.pluralize(this.underscore(str));
1327};
1328
1329module.exports.classify = function (str) {
1330 return this.singularize(this.camelize(str));
1331};
1332
1333module.exports.foreign_key = function (str, dropIdUbar) {
1334 str = this.underscore(this.demodulize(str)) + (dropIdUbar ? '' : '_') + 'id';
1335 return str;
1336};
1337
1338module.exports.ordinalize = function (str) {
1339 var str_arr = str.split(' ');
1340 for (var x = 0; x < str_arr.length; x++) {
1341 var i = parseInt(str_arr[x]);
1342 if (i !== NaN) {
1343 var ltd = str_arr[x].substring(str_arr[x].length - 2);
1344 var ld = str_arr[x].substring(str_arr[x].length - 1);
1345 var suf = "th";
1346 if (ltd != "11" && ltd != "12" && ltd != "13") {
1347 if (ld === "1") {
1348 suf = "st";
1349 } else if (ld === "2") {
1350 suf = "nd";
1351 } else if (ld === "3") {
1352 suf = "rd";
1353 }
1354 }
1355 str_arr[x] += suf;
1356 }
1357 }
1358 str = str_arr.join(' ');
1359 return str;
1360};
1361
1362/***/ },
1363
1364/***/ "./src/runtime/utils/path-matcher.js":
1365/***/ function(module, exports, __webpack_require__) {
1366
1367"use strict";
1368'use strict';
1369
1370Object.defineProperty(exports, "__esModule", {
1371 value: true
1372});
1373exports.pathMatcher = undefined;
1374var _arguments = arguments;
1375
1376var _lodashDependencies = __webpack_require__("./src/runtime/lodash-dependencies.js");
1377
1378var pathMatcher = exports.pathMatcher = function pathMatcher(rule, subject) {
1379 if ((0, _lodashDependencies.isUndefined)(rule) || (0, _lodashDependencies.isUndefined)(subject)) {
1380 throw new Error('Expects a rule to test and a subject to test against');
1381 }
1382
1383 if ((0, _lodashDependencies.isString)(rule) && !(0, _lodashDependencies.isString)(subject)) {
1384 rule = _arguments[1];
1385 subject = _arguments[0];
1386 }
1387
1388 if ((0, _lodashDependencies.isRegExp)(rule)) {
1389 return rule.test(subject);
1390 } else if ((0, _lodashDependencies.isFunction)(rule)) {
1391 return !!rule(subject);
1392 } else if ((0, _lodashDependencies.isArray)(rule)) {
1393 return (0, _lodashDependencies.every)(rule, function (condition) {
1394 return pathMatcher(condition, subject);
1395 });
1396 } else if ((0, _lodashDependencies.isString)(rule)) {
1397 return new RegExp(rule).test(subject);
1398 } else {
1399 throw new Error('Invalid include / exclude rule');
1400 }
1401};
1402
1403exports.default = pathMatcher;
1404
1405/***/ },
1406
1407/***/ "./src/runtime/utils/string.js":
1408/***/ function(module, exports, __webpack_require__) {
1409
1410"use strict";
1411/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_define_property__ = __webpack_require__(11);
1412/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_define_property___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_define_property__);
1413/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys__ = __webpack_require__(4);
1414/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys__);
1415'use strict';
1416
1417
1418
1419Object.defineProperty(exports, "__esModule", {
1420 value: true
1421});
1422
1423var _inflect = __webpack_require__("./src/runtime/utils/inflect.js");
1424
1425__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_keys___default()(_inflect).forEach(function (key) {
1426 if (key === "default" || key === "__esModule") return;
1427
1428 __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_object_define_property___default()(exports, key, {
1429 enumerable: true,
1430 get: function get() {
1431 return _inflect[key];
1432 }
1433 });
1434});
1435
1436var _lodashDependencies = __webpack_require__("./src/runtime/lodash-dependencies.js");
1437
1438Object.defineProperty(exports, 'camelCase', {
1439 enumerable: true,
1440 get: function get() {
1441 return _lodashDependencies.camelCase;
1442 }
1443});
1444Object.defineProperty(exports, 'capitalize', {
1445 enumerable: true,
1446 get: function get() {
1447 return _lodashDependencies.capitalize;
1448 }
1449});
1450Object.defineProperty(exports, 'kebabCase', {
1451 enumerable: true,
1452 get: function get() {
1453 return _lodashDependencies.kebabCase;
1454 }
1455});
1456Object.defineProperty(exports, 'lowerCase', {
1457 enumerable: true,
1458 get: function get() {
1459 return _lodashDependencies.lowerCase;
1460 }
1461});
1462Object.defineProperty(exports, 'lowerFirst', {
1463 enumerable: true,
1464 get: function get() {
1465 return _lodashDependencies.lowerFirst;
1466 }
1467});
1468Object.defineProperty(exports, 'snakeCase', {
1469 enumerable: true,
1470 get: function get() {
1471 return _lodashDependencies.snakeCase;
1472 }
1473});
1474Object.defineProperty(exports, 'startCase', {
1475 enumerable: true,
1476 get: function get() {
1477 return _lodashDependencies.startCase;
1478 }
1479});
1480Object.defineProperty(exports, 'template', {
1481 enumerable: true,
1482 get: function get() {
1483 return _lodashDependencies.template;
1484 }
1485});
1486Object.defineProperty(exports, 'toLower', {
1487 enumerable: true,
1488 get: function get() {
1489 return _lodashDependencies.toLower;
1490 }
1491});
1492Object.defineProperty(exports, 'toUpper', {
1493 enumerable: true,
1494 get: function get() {
1495 return _lodashDependencies.toUpper;
1496 }
1497});
1498Object.defineProperty(exports, 'trimStart', {
1499 enumerable: true,
1500 get: function get() {
1501 return _lodashDependencies.trimStart;
1502 }
1503});
1504Object.defineProperty(exports, 'upperFirst', {
1505 enumerable: true,
1506 get: function get() {
1507 return _lodashDependencies.upperFirst;
1508 }
1509});
1510
1511/***/ },
1512
1513/***/ 0:
1514/***/ function(module, exports) {
1515
1516module.exports = require("unist-util-select");
1517
1518/***/ },
1519
1520/***/ 1:
1521/***/ function(module, exports) {
1522
1523module.exports = require("mdast-util-heading-range");
1524
1525/***/ },
1526
1527/***/ 10:
1528/***/ function(module, exports) {
1529
1530module.exports = require("babel-runtime/core-js/object/assign");
1531
1532/***/ },
1533
1534/***/ 11:
1535/***/ function(module, exports) {
1536
1537module.exports = require("babel-runtime/core-js/object/define-property");
1538
1539/***/ },
1540
1541/***/ 12:
1542/***/ function(module, exports) {
1543
1544module.exports = require("babel-runtime/helpers/defineEnumerableProperties");
1545
1546/***/ },
1547
1548/***/ 13:
1549/***/ function(module, exports) {
1550
1551module.exports = require("babel-runtime/helpers/extends");
1552
1553/***/ },
1554
1555/***/ 14:
1556/***/ function(module, exports) {
1557
1558module.exports = require("babel-runtime/helpers/toConsumableArray");
1559
1560/***/ },
1561
1562/***/ 15:
1563/***/ function(module, exports) {
1564
1565module.exports = require("babel-runtime/helpers/typeof");
1566
1567/***/ },
1568
1569/***/ 16:
1570/***/ function(module, exports) {
1571
1572module.exports = require("docblock-parser");
1573
1574/***/ },
1575
1576/***/ 17:
1577/***/ function(module, exports) {
1578
1579module.exports = require("js-yaml");
1580
1581/***/ },
1582
1583/***/ 18:
1584/***/ function(module, exports) {
1585
1586module.exports = require("lodash/omit");
1587
1588/***/ },
1589
1590/***/ 19:
1591/***/ function(module, exports) {
1592
1593module.exports = require("mdast-util-inject");
1594
1595/***/ },
1596
1597/***/ 2:
1598/***/ function(module, exports) {
1599
1600module.exports = require("mdast-util-to-string");
1601
1602/***/ },
1603
1604/***/ 20:
1605/***/ function(module, exports) {
1606
1607module.exports = require("remark");
1608
1609/***/ },
1610
1611/***/ 21:
1612/***/ function(module, exports) {
1613
1614module.exports = require("remark-autolink-headings");
1615
1616/***/ },
1617
1618/***/ 22:
1619/***/ function(module, exports) {
1620
1621module.exports = require("remark-comment-blocks");
1622
1623/***/ },
1624
1625/***/ 23:
1626/***/ function(module, exports) {
1627
1628module.exports = require("remark-comment-config");
1629
1630/***/ },
1631
1632/***/ 24:
1633/***/ function(module, exports) {
1634
1635module.exports = require("remark-contributors");
1636
1637/***/ },
1638
1639/***/ 25:
1640/***/ function(module, exports) {
1641
1642module.exports = require("remark-github");
1643
1644/***/ },
1645
1646/***/ 26:
1647/***/ function(module, exports) {
1648
1649module.exports = require("remark-html");
1650
1651/***/ },
1652
1653/***/ 27:
1654/***/ function(module, exports) {
1655
1656module.exports = require("remark-normalize-headings");
1657
1658/***/ },
1659
1660/***/ 28:
1661/***/ function(module, exports) {
1662
1663module.exports = require("remark-parse");
1664
1665/***/ },
1666
1667/***/ 29:
1668/***/ function(module, exports) {
1669
1670module.exports = require("remark-slug");
1671
1672/***/ },
1673
1674/***/ 3:
1675/***/ function(module, exports) {
1676
1677module.exports = require("unist-util-source");
1678
1679/***/ },
1680
1681/***/ 30:
1682/***/ function(module, exports) {
1683
1684module.exports = require("remark-squeeze-paragraphs");
1685
1686/***/ },
1687
1688/***/ 31:
1689/***/ function(module, exports) {
1690
1691module.exports = require("remark-stringify");
1692
1693/***/ },
1694
1695/***/ 32:
1696/***/ function(module, exports) {
1697
1698module.exports = require("remark-strip-badges");
1699
1700/***/ },
1701
1702/***/ 33:
1703/***/ function(module, exports) {
1704
1705module.exports = require("remark-toc");
1706
1707/***/ },
1708
1709/***/ 34:
1710/***/ function(module, exports) {
1711
1712module.exports = require("skypager-document-types-babel");
1713
1714/***/ },
1715
1716/***/ 35:
1717/***/ function(module, exports) {
1718
1719module.exports = require("unist-util-filter");
1720
1721/***/ },
1722
1723/***/ 36:
1724/***/ function(module, exports) {
1725
1726module.exports = require("unist-util-index");
1727
1728/***/ },
1729
1730/***/ 37:
1731/***/ function(module, exports) {
1732
1733module.exports = require("unist-util-map");
1734
1735/***/ },
1736
1737/***/ 38:
1738/***/ function(module, exports) {
1739
1740module.exports = require("unist-util-parents");
1741
1742/***/ },
1743
1744/***/ 39:
1745/***/ function(module, exports) {
1746
1747module.exports = require("unist-util-position");
1748
1749/***/ },
1750
1751/***/ 4:
1752/***/ function(module, exports) {
1753
1754module.exports = require("babel-runtime/core-js/object/keys");
1755
1756/***/ },
1757
1758/***/ 40:
1759/***/ function(module, exports) {
1760
1761module.exports = require("unist-util-remove-position");
1762
1763/***/ },
1764
1765/***/ 41:
1766/***/ function(module, exports) {
1767
1768module.exports = require("unist-util-visit");
1769
1770/***/ },
1771
1772/***/ 42:
1773/***/ function(module, exports) {
1774
1775module.exports = require("util");
1776
1777/***/ },
1778
1779/***/ 43:
1780/***/ function(module, exports) {
1781
1782module.exports = require("vfile-reporter");
1783
1784/***/ },
1785
1786/***/ 44:
1787/***/ function(module, exports, __webpack_require__) {
1788
1789module.exports = __webpack_require__("./src/document-types/markdown/index.js");
1790
1791
1792/***/ },
1793
1794/***/ 5:
1795/***/ function(module, exports) {
1796
1797module.exports = require("babel-runtime/core-js/promise");
1798
1799/***/ },
1800
1801/***/ 6:
1802/***/ function(module, exports) {
1803
1804module.exports = require("lodash");
1805
1806/***/ },
1807
1808/***/ 7:
1809/***/ function(module, exports) {
1810
1811module.exports = require("unist-util-find-after");
1812
1813/***/ },
1814
1815/***/ 8:
1816/***/ function(module, exports) {
1817
1818module.exports = require("unist-util-find-all-after");
1819
1820/***/ },
1821
1822/***/ 9:
1823/***/ function(module, exports) {
1824
1825module.exports = require("unist-util-find-all-before");
1826
1827/***/ }
1828
1829/******/ })
1830});
1831;
\No newline at end of file