comment-parser
Version:
Generic JSDoc-like comment parser
1 lines • 8.96 kB
Source Map (JSON)
{"version":3,"file":"align.cjs","names":["__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","defineProperty","exports","value","default","align","primitives_js_1","require","util_js_1","zeroWidth","start","tag","type","name","getWidth","markers","Markers","w","tokens","delimiter","Math","max","space","len","padStart","intoTags","update","line","assign","isEmpty","description","end","delim","postDelimiter","nothingAfter","postName","postType","postTag","_a","source","fields","reduce","rewireSource","map"],"sources":["align.js"],"sourcesContent":["\"use strict\";\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = align;\nconst primitives_js_1 = require(\"../primitives.js\");\nconst util_js_1 = require(\"../util.js\");\nconst zeroWidth = {\n start: 0,\n tag: 0,\n type: 0,\n name: 0,\n};\nconst getWidth = (markers = primitives_js_1.Markers) => (w, { tokens: t }) => ({\n start: t.delimiter === markers.start ? t.start.length : w.start,\n tag: Math.max(w.tag, t.tag.length),\n type: Math.max(w.type, t.type.length),\n name: Math.max(w.name, t.name.length),\n});\nconst space = (len) => ''.padStart(len, ' ');\nfunction align(markers = primitives_js_1.Markers) {\n let intoTags = false;\n let w;\n function update(line) {\n const tokens = Object.assign({}, line.tokens);\n if (tokens.tag !== '')\n intoTags = true;\n const isEmpty = tokens.tag === '' &&\n tokens.name === '' &&\n tokens.type === '' &&\n tokens.description === '';\n // dangling '*/'\n if (tokens.end === markers.end && isEmpty) {\n tokens.start = space(w.start + 1);\n return Object.assign(Object.assign({}, line), { tokens });\n }\n switch (tokens.delimiter) {\n case markers.start:\n tokens.start = space(w.start);\n break;\n case markers.delim:\n tokens.start = space(w.start + 1);\n break;\n default:\n tokens.delimiter = '';\n tokens.start = space(w.start + 2); // compensate delimiter\n }\n if (!intoTags) {\n tokens.postDelimiter = tokens.description === '' ? '' : ' ';\n return Object.assign(Object.assign({}, line), { tokens });\n }\n const nothingAfter = {\n delim: false,\n tag: false,\n type: false,\n name: false,\n };\n if (tokens.description === '') {\n nothingAfter.name = true;\n tokens.postName = '';\n if (tokens.name === '') {\n nothingAfter.type = true;\n tokens.postType = '';\n if (tokens.type === '') {\n nothingAfter.tag = true;\n tokens.postTag = '';\n if (tokens.tag === '') {\n nothingAfter.delim = true;\n }\n }\n }\n }\n tokens.postDelimiter = nothingAfter.delim ? '' : ' ';\n if (!nothingAfter.tag)\n tokens.postTag = space(w.tag - tokens.tag.length + 1);\n if (!nothingAfter.type)\n tokens.postType = space(w.type - tokens.type.length + 1);\n if (!nothingAfter.name)\n tokens.postName = space(w.name - tokens.name.length + 1);\n return Object.assign(Object.assign({}, line), { tokens });\n }\n return (_a) => {\n var { source } = _a, fields = __rest(_a, [\"source\"]);\n w = source.reduce(getWidth(markers), Object.assign({}, zeroWidth));\n return (0, util_js_1.rewireSource)(Object.assign(Object.assign({}, fields), { source: source.map(update) }));\n };\n}\n"],"mappings":"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","ignoreList":[]}