micromark-extension-gfm-table
Advanced tools
Comparing version 1.0.6 to 1.0.7
@@ -0,2 +1,33 @@ | ||
import type {Align} from './lib/infer.js' | ||
export {gfmTableHtml} from './lib/html.js' | ||
export {gfmTable} from './lib/syntax.js' | ||
declare module 'micromark-util-types' { | ||
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions | ||
interface Token { | ||
_align?: Align[] | ||
} | ||
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions | ||
interface TokenTypeMap { | ||
table: 'table' | ||
tableBody: 'tableBody' | ||
tableCellDivider: 'tableCellDivider' | ||
tableContent: 'tableContent' | ||
tableData: 'tableData' | ||
tableDelimiter: 'tableDelimiter' | ||
tableDelimiterFiller: 'tableDelimiterFiller' | ||
tableDelimiterMarker: 'tableDelimiterMarker' | ||
tableDelimiterRow: 'tableDelimiterRow' | ||
tableHead: 'tableHead' | ||
tableHeader: 'tableHeader' | ||
tableRow: 'tableRow' | ||
} | ||
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions | ||
interface CompileData { | ||
tableAlign?: Align[] | ||
tableColumn?: number | ||
} | ||
} |
@@ -9,2 +9,4 @@ /** | ||
import {ok as assert} from 'uvu/assert' | ||
const alignment = { | ||
@@ -29,5 +31,4 @@ none: '', | ||
table(token) { | ||
/** @type {Array<Align>} */ | ||
// @ts-expect-error Custom. | ||
const tableAlign = token._align | ||
assert(tableAlign, 'expected `_align`') | ||
this.lineEndingIfNeeded() | ||
@@ -41,6 +42,6 @@ this.tag('<table>') | ||
tableData() { | ||
const tableAlign = /** @type {Array<Align>} */ ( | ||
this.getData('tableAlign') | ||
) | ||
const tableColumn = /** @type {number} */ (this.getData('tableColumn')) | ||
const tableAlign = this.getData('tableAlign') | ||
const tableColumn = this.getData('tableColumn') | ||
assert(tableAlign, 'expected `tableAlign`') | ||
assert(typeof tableColumn === 'number', 'expected `tableColumn`') | ||
const align = alignment[tableAlign[tableColumn]] | ||
@@ -61,8 +62,7 @@ | ||
tableHeader() { | ||
const tableAlign = /** @type {Array<Align>} */ ( | ||
this.getData('tableAlign') | ||
) | ||
const tableColumn = /** @type {number} */ (this.getData('tableColumn')) | ||
const tableAlign = this.getData('tableAlign') | ||
const tableColumn = this.getData('tableColumn') | ||
assert(tableAlign, 'expected `tableAlign`') | ||
assert(typeof tableColumn === 'number', 'expected `tableColumn`') | ||
const align = alignment[tableAlign[tableColumn]] | ||
this.lineEndingIfNeeded() | ||
@@ -103,6 +103,6 @@ this.tag('<th' + align + '>') | ||
tableData() { | ||
const tableAlign = /** @type {Array<Align>} */ ( | ||
this.getData('tableAlign') | ||
) | ||
const tableColumn = /** @type {number} */ (this.getData('tableColumn')) | ||
const tableAlign = this.getData('tableAlign') | ||
const tableColumn = this.getData('tableColumn') | ||
assert(tableAlign, 'expected `tableAlign`') | ||
assert(typeof tableColumn === 'number', 'expected `tableColumn`') | ||
@@ -122,3 +122,4 @@ if (tableColumn in tableAlign) { | ||
tableHeader() { | ||
const tableColumn = /** @type {number} */ (this.getData('tableColumn')) | ||
const tableColumn = this.getData('tableColumn') | ||
assert(typeof tableColumn === 'number', 'expected `tableColumn`') | ||
this.tag('</th>') | ||
@@ -128,6 +129,6 @@ this.setData('tableColumn', tableColumn + 1) | ||
tableRow() { | ||
const tableAlign = /** @type {Array<Align>} */ ( | ||
this.getData('tableAlign') | ||
) | ||
let tableColumn = /** @type {number} */ (this.getData('tableColumn')) | ||
const tableAlign = this.getData('tableAlign') | ||
let tableColumn = this.getData('tableColumn') | ||
assert(tableAlign, 'expected `tableAlign`') | ||
assert(typeof tableColumn === 'number', 'expected `tableColumn`') | ||
@@ -134,0 +135,0 @@ while (tableColumn < tableAlign.length) { |
@@ -292,2 +292,3 @@ /** | ||
if (markdownSpace(code)) { | ||
assert(self.parser.constructs.disable.null, 'expected `disabled.null`') | ||
return factorySpace( | ||
@@ -795,3 +796,2 @@ effects, | ||
if (event[0] === 'enter' && event[1].type === 'table') { | ||
// @ts-expect-error: custom field. | ||
event[1]._align = gfmTableAlign(context.events, index) | ||
@@ -870,2 +870,3 @@ } | ||
const relatedEnd = getPoint(context.events, range[3]) | ||
/** @type {Token} */ | ||
const valueToken = { | ||
@@ -885,3 +886,2 @@ type: valueName, | ||
start[1].type = types.chunkText | ||
// @ts-expect-error It’s fine. | ||
start[1].contentType = constants.contentTypeText | ||
@@ -888,0 +888,0 @@ |
@@ -0,2 +1,33 @@ | ||
import type {Align} from './lib/infer.js' | ||
export {gfmTableHtml} from './lib/html.js' | ||
export {gfmTable} from './lib/syntax.js' | ||
declare module 'micromark-util-types' { | ||
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions | ||
interface Token { | ||
_align?: Align[] | ||
} | ||
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions | ||
interface TokenTypeMap { | ||
table: 'table' | ||
tableBody: 'tableBody' | ||
tableCellDivider: 'tableCellDivider' | ||
tableContent: 'tableContent' | ||
tableData: 'tableData' | ||
tableDelimiter: 'tableDelimiter' | ||
tableDelimiterFiller: 'tableDelimiterFiller' | ||
tableDelimiterMarker: 'tableDelimiterMarker' | ||
tableDelimiterRow: 'tableDelimiterRow' | ||
tableHead: 'tableHead' | ||
tableHeader: 'tableHeader' | ||
tableRow: 'tableRow' | ||
} | ||
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions | ||
interface CompileData { | ||
tableAlign?: Align[] | ||
tableColumn?: number | ||
} | ||
} |
@@ -28,4 +28,2 @@ /** | ||
table(token) { | ||
/** @type {Array<Align>} */ | ||
// @ts-expect-error Custom. | ||
const tableAlign = token._align | ||
@@ -40,4 +38,4 @@ this.lineEndingIfNeeded() | ||
tableData() { | ||
const tableAlign = /** @type {Array<Align>} */ this.getData('tableAlign') | ||
const tableColumn = /** @type {number} */ this.getData('tableColumn') | ||
const tableAlign = this.getData('tableAlign') | ||
const tableColumn = this.getData('tableColumn') | ||
const align = alignment[tableAlign[tableColumn]] | ||
@@ -57,4 +55,4 @@ if (align === undefined) { | ||
tableHeader() { | ||
const tableAlign = /** @type {Array<Align>} */ this.getData('tableAlign') | ||
const tableColumn = /** @type {number} */ this.getData('tableColumn') | ||
const tableAlign = this.getData('tableAlign') | ||
const tableColumn = this.getData('tableColumn') | ||
const align = alignment[tableAlign[tableColumn]] | ||
@@ -94,4 +92,4 @@ this.lineEndingIfNeeded() | ||
tableData() { | ||
const tableAlign = /** @type {Array<Align>} */ this.getData('tableAlign') | ||
const tableColumn = /** @type {number} */ this.getData('tableColumn') | ||
const tableAlign = this.getData('tableAlign') | ||
const tableColumn = this.getData('tableColumn') | ||
if (tableColumn in tableAlign) { | ||
@@ -110,3 +108,3 @@ this.tag('</td>') | ||
tableHeader() { | ||
const tableColumn = /** @type {number} */ this.getData('tableColumn') | ||
const tableColumn = this.getData('tableColumn') | ||
this.tag('</th>') | ||
@@ -116,4 +114,4 @@ this.setData('tableColumn', tableColumn + 1) | ||
tableRow() { | ||
const tableAlign = /** @type {Array<Align>} */ this.getData('tableAlign') | ||
let tableColumn = /** @type {number} */ this.getData('tableColumn') | ||
const tableAlign = this.getData('tableAlign') | ||
let tableColumn = this.getData('tableColumn') | ||
while (tableColumn < tableAlign.length) { | ||
@@ -120,0 +118,0 @@ this.lineEndingIfNeeded() |
@@ -739,3 +739,2 @@ /** | ||
if (event[0] === 'enter' && event[1].type === 'table') { | ||
// @ts-expect-error: custom field. | ||
event[1]._align = gfmTableAlign(context.events, index) | ||
@@ -812,2 +811,3 @@ } | ||
const relatedEnd = getPoint(context.events, range[3]) | ||
/** @type {Token} */ | ||
const valueToken = { | ||
@@ -825,3 +825,2 @@ type: valueName, | ||
start[1].type = 'chunkText' | ||
// @ts-expect-error It’s fine. | ||
start[1].contentType = 'text' | ||
@@ -828,0 +827,0 @@ |
{ | ||
"name": "micromark-extension-gfm-table", | ||
"version": "1.0.6", | ||
"version": "1.0.7", | ||
"description": "micromark extension to support GFM tables", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
89360
2667
0