@jvs-milkdown/transformer 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +11 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +384 -0
- package/lib/index.js.map +1 -0
- package/lib/parser/index.d.ts +3 -0
- package/lib/parser/index.d.ts.map +1 -0
- package/lib/parser/stack-element.d.ts +12 -0
- package/lib/parser/stack-element.d.ts.map +1 -0
- package/lib/parser/stack-element.spec.d.ts +2 -0
- package/lib/parser/stack-element.spec.d.ts.map +1 -0
- package/lib/parser/state.d.ts +23 -0
- package/lib/parser/state.d.ts.map +1 -0
- package/lib/parser/state.spec.d.ts +2 -0
- package/lib/parser/state.spec.d.ts.map +1 -0
- package/lib/parser/types.d.ts +13 -0
- package/lib/parser/types.d.ts.map +1 -0
- package/lib/serializer/index.d.ts +3 -0
- package/lib/serializer/index.d.ts.map +1 -0
- package/lib/serializer/stack-element.d.ts +14 -0
- package/lib/serializer/stack-element.d.ts.map +1 -0
- package/lib/serializer/stack-element.spec.d.ts +2 -0
- package/lib/serializer/stack-element.spec.d.ts.map +1 -0
- package/lib/serializer/state.d.ts +22 -0
- package/lib/serializer/state.d.ts.map +1 -0
- package/lib/serializer/state.spec.d.ts +2 -0
- package/lib/serializer/state.spec.d.ts.map +1 -0
- package/lib/serializer/types.d.ts +12 -0
- package/lib/serializer/types.d.ts.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/utility/index.d.ts +3 -0
- package/lib/utility/index.d.ts.map +1 -0
- package/lib/utility/stack.d.ts +12 -0
- package/lib/utility/stack.d.ts.map +1 -0
- package/lib/utility/stack.spec.d.ts +2 -0
- package/lib/utility/stack.spec.d.ts.map +1 -0
- package/lib/utility/types.d.ts +31 -0
- package/lib/utility/types.d.ts.map +1 -0
- package/package.json +39 -0
- package/src/index.ts +3 -0
- package/src/parser/index.ts +2 -0
- package/src/parser/stack-element.spec.ts +25 -0
- package/src/parser/stack-element.ts +25 -0
- package/src/parser/state.spec.ts +265 -0
- package/src/parser/state.ts +217 -0
- package/src/parser/types.ts +55 -0
- package/src/serializer/index.ts +2 -0
- package/src/serializer/stack-element.spec.ts +17 -0
- package/src/serializer/stack-element.ts +30 -0
- package/src/serializer/state.spec.ts +287 -0
- package/src/serializer/state.ts +355 -0
- package/src/serializer/types.ts +51 -0
- package/src/utility/index.ts +2 -0
- package/src/utility/stack.spec.ts +30 -0
- package/src/utility/stack.ts +48 -0
- package/src/utility/types.ts +63 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Mark, Node } from '@jvs-milkdown/prose/model';
|
|
2
|
+
import type { SerializerState } from './state';
|
|
3
|
+
export type Serializer = (content: Node) => string;
|
|
4
|
+
export interface NodeSerializerSpec {
|
|
5
|
+
match: (node: Node) => boolean;
|
|
6
|
+
runner: (state: SerializerState, node: Node) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface MarkSerializerSpec {
|
|
9
|
+
match: (mark: Mark) => boolean;
|
|
10
|
+
runner: (state: SerializerState, mark: Mark, node: Node) => void | boolean;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/serializer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,MAAM,CAAA;AAGlD,MAAM,WAAW,kBAAkB;IAOjC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;IAa9B,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;CACrD;AAGD,MAAM,WAAW,kBAAkB;IAOjC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAA;IAU9B,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAA;CAC3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/orderedmap@2.1.1/node_modules/orderedmap/dist/index.d.ts","../../../node_modules/.pnpm/prosemirror-model@1.25.4/node_modules/prosemirror-model/dist/index.d.ts","../../prose/lib/model.d.ts","../../../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts","../../../node_modules/.pnpm/@types+mdast@4.0.4/node_modules/@types/mdast/index.d.ts","../../../node_modules/.pnpm/micromark-util-types@2.0.2/node_modules/micromark-util-types/index.d.ts","../../../node_modules/.pnpm/mdast-util-from-markdown@2.0.3/node_modules/mdast-util-from-markdown/lib/types.d.ts","../../../node_modules/.pnpm/mdast-util-from-markdown@2.0.3/node_modules/mdast-util-from-markdown/lib/index.d.ts","../../../node_modules/.pnpm/mdast-util-from-markdown@2.0.3/node_modules/mdast-util-from-markdown/index.d.ts","../../../node_modules/.pnpm/vfile-message@4.0.3/node_modules/vfile-message/lib/index.d.ts","../../../node_modules/.pnpm/vfile-message@4.0.3/node_modules/vfile-message/index.d.ts","../../../node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/lib/index.d.ts","../../../node_modules/.pnpm/vfile@6.0.3/node_modules/vfile/index.d.ts","../../../node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/callable-instance.d.ts","../../../node_modules/.pnpm/trough@2.2.0/node_modules/trough/lib/index.d.ts","../../../node_modules/.pnpm/trough@2.2.0/node_modules/trough/index.d.ts","../../../node_modules/.pnpm/unified@11.0.5/node_modules/unified/lib/index.d.ts","../../../node_modules/.pnpm/unified@11.0.5/node_modules/unified/index.d.ts","../../../node_modules/.pnpm/remark-parse@11.0.0/node_modules/remark-parse/lib/index.d.ts","../../../node_modules/.pnpm/remark-parse@11.0.0/node_modules/remark-parse/index.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/types.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/index.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/break.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/code.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/html.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/root.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/text.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/lib/handle/index.d.ts","../../../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/index.d.ts","../../../node_modules/.pnpm/remark-stringify@11.0.0/node_modules/remark-stringify/lib/index.d.ts","../../../node_modules/.pnpm/remark-stringify@11.0.0/node_modules/remark-stringify/index.d.ts","../../../node_modules/.pnpm/remark@15.0.1/node_modules/remark/index.d.ts","../../exception/lib/code.d.ts","../../exception/lib/error.d.ts","../../exception/lib/index.d.ts","../src/utility/stack.ts","../src/utility/index.ts","../src/serializer/stack-element.ts","../src/serializer/state.ts","../src/serializer/types.ts","../src/utility/types.ts","../src/parser/stack-element.ts","../src/parser/state.ts","../src/parser/types.ts","../src/parser/index.ts","../src/serializer/index.ts","../src/index.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.0/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.0/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.0/node_modules/@vitest/runner/dist/tasks.d-d2gkpdwq.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.0/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/chunks/traces.d.402v_yfi.d.ts","../../../node_modules/.pnpm/vite@8.0.1_@types+node@24.1_876433a21c88fe1552cff9da3a930571/node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/.pnpm/vite@8.0.1_@types+node@24.1_876433a21c88fe1552cff9da3a930571/node_modules/vite/dist/node/chunks/modulerunnertransport.d.ts","../../../node_modules/.pnpm/vite@8.0.1_@types+node@24.1_876433a21c88fe1552cff9da3a930571/node_modules/vite/types/customevent.d.ts","../../../node_modules/.pnpm/vite@8.0.1_@types+node@24.1_876433a21c88fe1552cff9da3a930571/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@8.0.1_@types+node@24.1_876433a21c88fe1552cff9da3a930571/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.0/node_modules/@vitest/snapshot/dist/environment.d-dojxxzv9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.0/node_modules/@vitest/snapshot/dist/rawsnapshot.d-u2kjuxdr.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.0/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/chunks/config.d.ejlve3es.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/chunks/environment.d.crsxczp1.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/chunks/rpc.d.bfmwpdph.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/chunks/worker.d.b84svry0.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/chunks/browser.d.x3sxoocv.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.0/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.0/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.0/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/chunks/benchmark.d.daahlpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/chunks/global.d.x-ilcfae.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.0_vite@8_4e6228533c587271678a054b13744890/node_modules/@vitest/mocker/dist/types.d-bji5eawu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.0_vite@8_4e6228533c587271678a054b13744890/node_modules/@vitest/mocker/dist/index.d-b41z0auw.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.0_vite@8_4e6228533c587271678a054b13744890/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/chunks/suite.d.udjtyagw.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/chunks/evaluatedmodules.d.bxj5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.0_@types+node@24_44b8d052b1a18cdf1651bd8d8e21974e/node_modules/vitest/dist/index.d.ts","../src/parser/stack-element.spec.ts","../src/parser/state.spec.ts","../src/serializer/stack-element.spec.ts","../src/serializer/state.spec.ts","../src/utility/stack.spec.ts"],"fileIdsList":[[147,148],[62],[121,127,129,144,145,146,149,154],[155],[155,156],[125,127,128],[125,127],[125],[120,125,136,137],[120,136],[120,126],[120],[122],[120,121,122,123,124],[161,162],[161,162,163,164],[161,163],[161],[64,65,66,67],[63,64,65,67],[63,64,67],[79,80,100],[63,101],[63],[81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99],[62,63],[59],[63,64,67,76,77,78,103],[63,67,71,76,78,103],[63,76,78,101,102,103],[63,71,76,78,101,103],[63,76,78,103],[73],[71,75],[62,71,72,74,76,78,103],[68],[69,70],[62,69,71],[131],[131,132,133,134],[133],[129,151,152,154],[129,130,142,154],[120,127,129,138,154],[135],[120,129,138,141,150,153,154],[129,130,135,138,154],[129,151,152,153,154],[129,135,139,140,141,154],[120,125,127,129,130,135,138,139,140,141,142,143,144,150,151,152,153,154,157,158,159,160,165],[120,127,129,130,138,139,151,152,153,154,158],[105],[106],[60],[109,117,118],[115,116],[61,114,166],[61,109],[61,109,115,166],[61,107,109,114,116],[61,113,115],[111,112],[110,166],[109,119],[61,111,166],[61,107,109,110,112],[61,111],[108,113],[108,166],[107],[61,76,78,103,104,112,116]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"264f935450101e4b000eb351cf75c9d799ca20a278b260a9e5770303b5f2b6a3","impliedFormat":99},{"version":"f6f171b23ae6db93454343f1b788960f799c8f37043904874a752c0990c6fca6","impliedFormat":99},"478e59ac0830a0f6360236632d0d589fb0211183aa1ab82292fbca529c0cce35",{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"a5dbd4c9941b614526619bad31047ddd5f504ec4cdad88d6117b549faef34dd3","impliedFormat":99},{"version":"d36518bd617ff673c7d9f372706f241932a43f27673187f2a8472e93c40041c6","impliedFormat":99},{"version":"f8eb2909590ec619643841ead2fc4b4b183fbd859848ef051295d35fef9d8469","impliedFormat":99},{"version":"fe784567dd721417e2c4c7c1d7306f4b8611a4f232f5b7ce734382cf34b417d2","impliedFormat":99},{"version":"2b37ba54ec067598bf912d56fcb81f6d8ad86a045c757e79440bdef97b52fe1b","impliedFormat":99},{"version":"1bc9dd465634109668661f998485a32da369755d9f32b5a55ed64a525566c94b","impliedFormat":99},{"version":"5702b3c2f5d248290ed99419d77ca1cc3e6c29db5847172377659c50e6303768","impliedFormat":99},{"version":"9764b2eb5b4fc0b8951468fb3dbd6cd922d7752343ef5fbf1a7cd3dfcd54a75e","impliedFormat":99},{"version":"1fc2d3fe8f31c52c802c4dee6c0157c5a1d1f6be44ece83c49174e316cf931ad","impliedFormat":99},{"version":"dc4aae103a0c812121d9db1f7a5ea98231801ed405bf577d1c9c46a893177e36","impliedFormat":99},{"version":"106d3f40907ba68d2ad8ce143a68358bad476e1cc4a5c710c11c7dbaac878308","impliedFormat":99},{"version":"42ad582d92b058b88570d5be95393cf0a6c09a29ba9aa44609465b41d39d2534","impliedFormat":99},{"version":"36e051a1e0d2f2a808dbb164d846be09b5d98e8b782b37922a3b75f57ee66698","impliedFormat":99},{"version":"4f7e6730a707b0d4971d96de3b562819ce304af770723707a58a578dd55a5e52","impliedFormat":99},{"version":"d1c1213e9176398b4d1d9aa543691181fd5ae23ae5415e80ede41f1ec1ccf72a","impliedFormat":99},{"version":"45d1e8fb4fd3e265b15f5a77866a8e21870eae4c69c473c33289a4b971e93704","impliedFormat":99},{"version":"cd40919f70c875ca07ecc5431cc740e366c008bcbe08ba14b8c78353fb4680df","impliedFormat":99},{"version":"ddfd9196f1f83997873bbe958ce99123f11b062f8309fc09d9c9667b2c284391","impliedFormat":99},{"version":"2999ba314a310f6a333199848166d008d088c6e36d090cbdcc69db67d8ae3154","impliedFormat":99},{"version":"62c1e573cd595d3204dfc02b96eba623020b181d2aa3ce6a33e030bc83bebb41","impliedFormat":99},{"version":"ca1616999d6ded0160fea978088a57df492b6c3f8c457a5879837a7e68d69033","impliedFormat":99},{"version":"835e3d95251bbc48918bb874768c13b8986b87ea60471ad8eceb6e38ddd8845e","impliedFormat":99},{"version":"de54e18f04dbcc892a4b4241b9e4c233cfce9be02ac5f43a631bbc25f479cd84","impliedFormat":99},{"version":"453fb9934e71eb8b52347e581b36c01d7751121a75a5cd1a96e3237e3fd9fc7e","impliedFormat":99},{"version":"bc1a1d0eba489e3eb5c2a4aa8cd986c700692b07a76a60b73a3c31e52c7ef983","impliedFormat":99},{"version":"4098e612efd242b5e203c5c0b9afbf7473209905ab2830598be5c7b3942643d0","impliedFormat":99},{"version":"28410cfb9a798bd7d0327fbf0afd4c4038799b1d6a3f86116dc972e31156b6d2","impliedFormat":99},{"version":"514ae9be6724e2164eb38f2a903ef56cf1d0e6ddb62d0d40f155f32d1317c116","impliedFormat":99},{"version":"970e5e94a9071fd5b5c41e2710c0ef7d73e7f7732911681592669e3f7bd06308","impliedFormat":99},{"version":"491fb8b0e0aef777cec1339cb8f5a1a599ed4973ee22a2f02812dd0f48bd78c1","impliedFormat":99},{"version":"6acf0b3018881977d2cfe4382ac3e3db7e103904c4b634be908f1ade06eb302d","impliedFormat":99},{"version":"2dbb2e03b4b7f6524ad5683e7b5aa2e6aef9c83cab1678afd8467fde6d5a3a92","impliedFormat":99},{"version":"135b12824cd5e495ea0a8f7e29aba52e1adb4581bb1e279fb179304ba60c0a44","impliedFormat":99},{"version":"e4c784392051f4bbb80304d3a909da18c98bc58b093456a09b3e3a1b7b10937f","impliedFormat":99},{"version":"2e87c3480512f057f2e7f44f6498b7e3677196e84e0884618fc9e8b6d6228bed","impliedFormat":99},{"version":"66984309d771b6b085e3369227077da237b40e798570f0a2ddbfea383db39812","impliedFormat":99},{"version":"e41be8943835ad083a4f8a558bd2a89b7fe39619ed99f1880187c75e231d033e","impliedFormat":99},{"version":"260558fff7344e4985cfc78472ae58cbc2487e406d23c1ddaf4d484618ce4cfd","impliedFormat":99},{"version":"e6274d956641c1cbd5a01a221a85a6671fd85104ed6b530f8d34ad3086804133","impliedFormat":99},{"version":"77516308358982bb05209e8c0ed6f321860e03393587d89f61055941e5bbcdd2","impliedFormat":99},{"version":"dc8652855a95ef9b9c12be8d2f5e6fc37b96aa2144f6c6f195cd1d2e07f721ee","impliedFormat":99},"16976e5481a0abbe56fa82010ecd47c152e76d9c7ecb5977d68a1b2c4a785c91","749f3bd08d4fc5cc1c95e3c3b07dede327898a51cf6fa7f156456c0d46aae680","7797184093e9b9f6203d001829de6f91d142497913c67a8d0c2a5b25de005a68",{"version":"a3ff94e5894b7a7ae48ecb7960f87b1353034e07bb565c6394a39b8c409c0cbf","signature":"e2cb25ca55e10ba874410188a53331a6b0b2bc13c0ee4d538bde50460a4e1b77"},{"version":"3baa072e5d6dd380a7746ff7c60e3526b671d7aad067f838caa4d69f31553a14","signature":"041afde4e1ac27e6fabdc2ca87882a3a766443fcfe1a1cfc3ed78bcc1c25b28a"},{"version":"1bb0f6db98afe3fbc6b863b5a98ffca5d7e6be91fb91daf65b5e331363fcc59f","signature":"c2049793874bbeafd60402bab915f3d285f4057e718dfdefe8a54ccc80c991dd"},{"version":"dc1394c7784861124467d84eb7dfdf07d2a41764d4fc5534919d36f0ed780385","signature":"8a2b6f999a708119f4fa55fc58c5803ca9563340d0a54b9fe2a4fa14838f148c"},{"version":"5be1acf369586d569acc19853431d5c09fb9693e60db9407015288cafe4994a7","signature":"2db5b1bbf946e20cef3c889cb7be46e3da384bdd1b4b53964253d97635718774"},{"version":"07bd9ccdef0b316961ca91c33a534f54d12110629f305205ac68c974306039c7","signature":"79e620484ae1a7011482631159563e4729f7f4d4c316b914125cb95f678ffbb9"},{"version":"c502ce1b0e18e0e8c98fdacae6845ad2f5a3626a1b59b9611c1d75d12b875303","signature":"6434c2976daf446cfd95935af4e0a0b6b369ce81af183579dab3ac6567dbbfd0"},{"version":"2186a316d657c211e3e0795d6180289d921cd4bcf208fd1d07617545528efc66","signature":"f50c1778b48a9275078ad81abaa5b4cb13a295b3889986f8e72fe61dd9cd8b86"},{"version":"4c961072b477bf817ba8b9ddbd5216b8fbe7cd3916de28fe910fa7fd6cbae746","signature":"6e935a5aec1b1f86cfa97fb93ec13c8759479712014d7dc4c13f140f7d409357"},{"version":"604d9f16f502530f2e373e81b38c9e5bfeb7fdf01fce122ee5c11af44b949f8e","signature":"8cd4c86b90f9a96ba804585a4b6a998f484a860af3dfd12641ecb9eca109274b"},{"version":"604d9f16f502530f2e373e81b38c9e5bfeb7fdf01fce122ee5c11af44b949f8e","signature":"8cd4c86b90f9a96ba804585a4b6a998f484a860af3dfd12641ecb9eca109274b"},{"version":"12480aa782316058e0f3ffdca0c851c0f47af0a427172e9c0a1ee617c24c62fe","signature":"1b92de1f5b74cf4bda283aa7688c80781e9c7273f44a4ef2db084747a94be933"},{"version":"cadeb2c96f1c964d7e49c0f17d6805e1b4dee62f0862c49bb178dae6ab277e8e","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"eb64a68249f1ee45e496a23cd0be8fe8c84aecb4c038b86d4abcc765c5ba115e","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"3b0a56d056d81a011e484b9c05d5e430711aaecd561a788bad1d0498aad782c7","impliedFormat":99},{"version":"3354286ef917d22c72e0c830324062f950134d8882e9ea57ad6ade3d8ad943cf","impliedFormat":99},{"version":"3dedc468e9b0ed804c0226482e344bd769417f834988af838d814504af81cba6","impliedFormat":99},{"version":"ac3d263474022e9a14c43f588f485d549641d839b159ecc971978b90f34bdf6b","impliedFormat":99},{"version":"3b89216a7e38a454985ad17bb2ff85792837dc812f2a89fa5f60ad0a2e216fa7","impliedFormat":99},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"82179358c2d9d7347f1602dc9300039a2250e483137b38ebf31d4d2e5519c181","impliedFormat":99},{"version":"4e003c868b0d8f8ad200b96cbc653e18e513fa23e1c19c4fe3cc25d4394efc47","impliedFormat":99},{"version":"091546ac9077cddcd7b9479cc2e0c677238bf13e39eab4b13e75046c3328df93","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"727858fb893b87791876dee5e3cd4c187a721d2de516fd19d3d00dc6e8a894b3","impliedFormat":99},{"version":"5bfaa2ee33e63a1b17b08dbefd7a3c42d1e0f914e52aca5bef679b420bd7a07c","impliedFormat":99},{"version":"7d5c6cc5d537c47c7723a1fe76411b99373eb55c487045dfd076c1956e87389a","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"a86701e56b10a6d1ef9b2ecaeedbab94ed7b957a646cd71fd09d02b323c6d3d7","impliedFormat":99},{"version":"b3f0791a73b6521da68107c5ba1bfed4bc21ff7099b892700fd65670e88ef6ee","impliedFormat":99},{"version":"d0411dddbef50f9ad568ee9d24b108153bcb8f0db1094de6dfbadf02feb3aa70","impliedFormat":99},{"version":"25249ca5fe64ca60d7bfb7fbbf0cb084324853b03a265dbbbc45fb4949de7567","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"31d5fb0aeb0368909fbe8cd9b893c16350aa94d48a2f909fdd393982ceb4814d","affectsGlobalScope":true,"impliedFormat":99},{"version":"90fe5875e2c7519711442683a9489416819c6cec8d395e48ff568e94254533e7","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"72a863bc6c0fc7a6263d8e07279167d86467a3869b5f002b1df6eaf5000ccc7b","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"42f0f7e74d73ae5873ed666373e09a367d62232ca378677094d0dc06020d6e00","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"ebb9b9fa684d70aef64614a59b7582f46f4982139b8b632b911ef98e10c4d117","impliedFormat":99},{"version":"abbed051434e75a4b00e438911530ebede822917b9d8d2393f98754e34273c4c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"413568d7c46092487b245c658819945cb23f37505594c38d3625897f7b64db3a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f703dae6f015f12e79e586d7392b9d71a22a43e24ce2225f7d8d6526676d524b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f9c6f1468df94a9306ad2dbd950c4c4cba532d45faaaa340f1242225b7a2bcb4","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6db67137551b19992f24e8d368e78aa1ef2f19de4fabe5cfd5c93f61a916d8a5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[108,119],[167,171]],"options":{"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":99,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noPropertyAccessFromIndexSignature":false,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":5,"tsBuildInfoFile":"./tsconfig.tsbuildinfo","useUnknownInCatchVariables":true,"verbatimModuleSyntax":true},"referencedMap":[[149,1],[63,2],[150,3],[156,4],[157,5],[129,6],[128,7],[151,6],[136,8],[138,9],[137,10],[127,11],[121,12],[123,13],[125,14],[126,12],[163,15],[165,16],[164,17],[162,18],[67,19],[66,20],[65,21],[101,22],[81,23],[82,23],[83,23],[84,23],[85,23],[86,23],[87,24],[89,23],[88,23],[100,25],[90,23],[92,23],[91,23],[94,23],[93,23],[95,23],[96,23],[97,23],[98,23],[99,23],[80,23],[79,26],[60,27],[78,28],[77,29],[103,30],[102,31],[104,32],[74,33],[76,34],[75,35],[69,36],[68,2],[71,37],[70,38],[132,39],[135,40],[133,39],[134,41],[153,42],[143,43],[139,44],[140,8],[159,45],[154,46],[141,47],[158,48],[142,49],[166,50],[160,51],[106,52],[107,53],[61,54],[119,55],[117,56],[167,57],[114,58],[168,59],[115,60],[116,61],[118,62],[169,63],[110,64],[170,65],[111,66],[112,67],[109,68],[171,69],[108,70],[113,71]],"latestChangedDtsFile":"./utility/stack.spec.d.ts","version":"6.0.2"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utility/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare abstract class StackElement<Node> {
|
|
2
|
+
abstract push(node: Node, ...rest: Node[]): void;
|
|
3
|
+
}
|
|
4
|
+
export declare class Stack<Node, Element extends StackElement<Node>> {
|
|
5
|
+
protected elements: Element[];
|
|
6
|
+
size: () => number;
|
|
7
|
+
top: () => Element | undefined;
|
|
8
|
+
push: (node: Node) => void;
|
|
9
|
+
open: (node: Element) => void;
|
|
10
|
+
close: () => Element;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/utility/stack.ts"],"names":[],"mappings":"AAGA,8BAAsB,YAAY,CAAC,IAAI;IAErC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI;CACjD;AAWD,qBAAa,KAAK,CAAC,IAAI,EAAE,OAAO,SAAS,YAAY,CAAC,IAAI,CAAC;IACzD,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAK;IAGlC,IAAI,QAAO,MAAM,CAEhB;IAGD,GAAG,QAAO,OAAO,GAAG,SAAS,CAE5B;IAGD,IAAI,GAAI,MAAM,IAAI,KAAG,IAAI,CAExB;IAGD,IAAI,GAAI,MAAM,OAAO,KAAG,IAAI,CAE3B;IAGD,KAAK,QAAO,OAAO,CAKlB;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.spec.d.ts","sourceRoot":"","sources":["../../src/utility/stack.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { MarkSpec, NodeSpec } from '@jvs-milkdown/prose/model';
|
|
2
|
+
import type { remark } from 'remark';
|
|
3
|
+
import type { Plugin, Transformer } from 'unified';
|
|
4
|
+
import type { MarkParserSpec, NodeParserSpec } from '../parser/types';
|
|
5
|
+
import type { MarkSerializerSpec, NodeSerializerSpec } from '../serializer/types';
|
|
6
|
+
export type Node = Parameters<Transformer>[0];
|
|
7
|
+
export type Root = Parameters<(typeof remark)['stringify']>[0];
|
|
8
|
+
export type JSONValue = string | number | boolean | null | JSONValue[] | {
|
|
9
|
+
[key: string]: JSONValue;
|
|
10
|
+
};
|
|
11
|
+
export type JSONRecord = Record<string, JSONValue>;
|
|
12
|
+
export type RemarkPluginRaw<T> = Plugin<[T], Root>;
|
|
13
|
+
export interface RemarkPlugin<T = Record<string, unknown>> {
|
|
14
|
+
plugin: Plugin<[T], Root>;
|
|
15
|
+
options: T;
|
|
16
|
+
}
|
|
17
|
+
export type RemarkParser = ReturnType<typeof remark>;
|
|
18
|
+
export type MarkdownNode = Node & {
|
|
19
|
+
children?: MarkdownNode[];
|
|
20
|
+
[x: string]: unknown;
|
|
21
|
+
};
|
|
22
|
+
export interface NodeSchema extends NodeSpec {
|
|
23
|
+
readonly toMarkdown: NodeSerializerSpec;
|
|
24
|
+
readonly parseMarkdown: NodeParserSpec;
|
|
25
|
+
readonly priority?: number;
|
|
26
|
+
}
|
|
27
|
+
export interface MarkSchema extends MarkSpec {
|
|
28
|
+
readonly toMarkdown: MarkSerializerSpec;
|
|
29
|
+
readonly parseMarkdown: MarkParserSpec;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utility/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAG5B,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AAG7C,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAG9D,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAGhC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAGlD,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAGlD,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IACzB,OAAO,EAAE,CAAC,CAAA;CACX;AAGD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAA;AAGpD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG;IAChC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB,CAAA;AAGD,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAE1C,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IAEvC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IAEtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAGD,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAE1C,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAA;IAEvC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;CACvC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jvs-milkdown/transformer",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"keywords": [
|
|
5
|
+
"markdown",
|
|
6
|
+
"milkdown",
|
|
7
|
+
"prosemirror",
|
|
8
|
+
"remark"
|
|
9
|
+
],
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "git+https://github.com/Milkdown/milkdown.git",
|
|
14
|
+
"directory": "packages/transformer"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"lib",
|
|
18
|
+
"src"
|
|
19
|
+
],
|
|
20
|
+
"type": "module",
|
|
21
|
+
"sideEffects": false,
|
|
22
|
+
"main": "./lib/index.js",
|
|
23
|
+
"exports": {
|
|
24
|
+
".": {
|
|
25
|
+
"import": "./lib/index.js",
|
|
26
|
+
"types": "./lib/index.d.ts"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"remark": "^15.0.1",
|
|
31
|
+
"unified": "^11.0.3",
|
|
32
|
+
"@jvs-milkdown/exception": "1.0.0",
|
|
33
|
+
"@jvs-milkdown/prose": "1.0.0"
|
|
34
|
+
},
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "vite build"
|
|
37
|
+
},
|
|
38
|
+
"types": "./lib/index.d.ts"
|
|
39
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Node, NodeType } from '@jvs-milkdown/prose/model'
|
|
2
|
+
|
|
3
|
+
import { expect, it } from 'vitest'
|
|
4
|
+
|
|
5
|
+
import { ParserStackElement } from './stack-element'
|
|
6
|
+
|
|
7
|
+
it('parser-stack-element', () => {
|
|
8
|
+
const type = {} as NodeType
|
|
9
|
+
const content: Node[] = []
|
|
10
|
+
|
|
11
|
+
const parserStackElement = ParserStackElement.create(type, content)
|
|
12
|
+
|
|
13
|
+
expect(parserStackElement.type).toBe(type)
|
|
14
|
+
expect(parserStackElement.content).toBe(content)
|
|
15
|
+
expect(parserStackElement.attrs).toBeUndefined()
|
|
16
|
+
|
|
17
|
+
const node1: any = {}
|
|
18
|
+
const node2: any = {}
|
|
19
|
+
|
|
20
|
+
parserStackElement.push(node1, node2)
|
|
21
|
+
expect(content).toEqual([node1, node2])
|
|
22
|
+
|
|
23
|
+
expect(parserStackElement.pop()).toBe(node2)
|
|
24
|
+
expect(content).toEqual([node1])
|
|
25
|
+
})
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Attrs, Node, NodeType } from '@jvs-milkdown/prose/model'
|
|
2
|
+
|
|
3
|
+
import { StackElement } from '../utility'
|
|
4
|
+
|
|
5
|
+
export class ParserStackElement extends StackElement<Node> {
|
|
6
|
+
constructor(
|
|
7
|
+
public type: NodeType,
|
|
8
|
+
public content: Node[],
|
|
9
|
+
public attrs?: Attrs
|
|
10
|
+
) {
|
|
11
|
+
super()
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
push(node: Node, ...rest: Node[]) {
|
|
15
|
+
this.content.push(node, ...rest)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
pop(): Node | undefined {
|
|
19
|
+
return this.content.pop()
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static create(type: NodeType, content: Node[], attrs?: Attrs) {
|
|
23
|
+
return new ParserStackElement(type, content, attrs)
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import type { MarkType, NodeType, Schema } from '@jvs-milkdown/prose/model'
|
|
2
|
+
|
|
3
|
+
import { describe, expect, it, vi } from 'vitest'
|
|
4
|
+
|
|
5
|
+
import type { MarkdownNode } from '../utility'
|
|
6
|
+
|
|
7
|
+
import { ParserState } from './state'
|
|
8
|
+
|
|
9
|
+
const docNodeType = {
|
|
10
|
+
createAndFill: vi.fn().mockImplementation((attrs, content, marks) => ({
|
|
11
|
+
name: 'docNode',
|
|
12
|
+
content,
|
|
13
|
+
attrs,
|
|
14
|
+
marks,
|
|
15
|
+
})),
|
|
16
|
+
} as unknown as NodeType
|
|
17
|
+
const paragraphNodeType = {
|
|
18
|
+
createAndFill: vi.fn().mockImplementation((attrs, content, marks) => ({
|
|
19
|
+
name: 'paragraphNode',
|
|
20
|
+
content,
|
|
21
|
+
attrs,
|
|
22
|
+
marks,
|
|
23
|
+
})),
|
|
24
|
+
} as unknown as NodeType
|
|
25
|
+
const blockquoteNodeType = {
|
|
26
|
+
createAndFill: vi.fn().mockImplementation((attrs, content, marks) => ({
|
|
27
|
+
name: 'blockquoteNode',
|
|
28
|
+
content,
|
|
29
|
+
attrs,
|
|
30
|
+
marks,
|
|
31
|
+
})),
|
|
32
|
+
} as unknown as NodeType
|
|
33
|
+
const boldType = {
|
|
34
|
+
create: vi.fn().mockImplementation((attrs) => ({
|
|
35
|
+
name: 'boldMark',
|
|
36
|
+
attrs,
|
|
37
|
+
addToSet: (arr: string[]) => arr.concat('bold'),
|
|
38
|
+
removeFromSet: (arr: string[]) => arr.filter((x) => x !== 'bold'),
|
|
39
|
+
})),
|
|
40
|
+
addToSet: (arr: string[]) => arr.concat('bold'),
|
|
41
|
+
removeFromSet: (arr: string[]) => arr.filter((x) => x !== 'bold'),
|
|
42
|
+
} as unknown as MarkType
|
|
43
|
+
|
|
44
|
+
const schema = {
|
|
45
|
+
nodes: {
|
|
46
|
+
paragraph: {
|
|
47
|
+
spec: {
|
|
48
|
+
parseMarkdown: {
|
|
49
|
+
match: (node: { type: string }) => node.type === 'paragraphNode',
|
|
50
|
+
runner: (state: ParserState, node: { value: string }) => {
|
|
51
|
+
state.addText(node.value)
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
blockquote: {
|
|
57
|
+
spec: {
|
|
58
|
+
parseMarkdown: {
|
|
59
|
+
match: (node: { type: string }) => node.type === 'blockquoteNode',
|
|
60
|
+
runner: (state: ParserState, node: { children: MarkdownNode[] }) => {
|
|
61
|
+
state.openNode(blockquoteNodeType)
|
|
62
|
+
state.next(node.children)
|
|
63
|
+
state.closeNode()
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
text: (text: string, marks: string[]) => ({ text, marks, isText: true }),
|
|
70
|
+
} as unknown as Schema
|
|
71
|
+
|
|
72
|
+
describe('parser-state', () => {
|
|
73
|
+
it('node', () => {
|
|
74
|
+
const state = new ParserState(schema)
|
|
75
|
+
state.openNode(docNodeType)
|
|
76
|
+
|
|
77
|
+
state
|
|
78
|
+
.openNode(blockquoteNodeType, { id: 'blockquote' })
|
|
79
|
+
.addNode(paragraphNodeType, { id: 1 })
|
|
80
|
+
.addNode(paragraphNodeType, { id: 2 })
|
|
81
|
+
.closeNode()
|
|
82
|
+
|
|
83
|
+
expect(state.top()).toMatchObject({
|
|
84
|
+
content: [
|
|
85
|
+
{
|
|
86
|
+
name: 'blockquoteNode',
|
|
87
|
+
content: [
|
|
88
|
+
{
|
|
89
|
+
name: 'paragraphNode',
|
|
90
|
+
attrs: {
|
|
91
|
+
id: 1,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'paragraphNode',
|
|
96
|
+
attrs: {
|
|
97
|
+
id: 2,
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
})
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
it('mark', () => {
|
|
107
|
+
const state = new ParserState(schema)
|
|
108
|
+
state.openNode(docNodeType)
|
|
109
|
+
state.openMark(boldType).addNode(paragraphNodeType).closeMark(boldType)
|
|
110
|
+
|
|
111
|
+
expect(state.top()).toMatchObject({
|
|
112
|
+
content: [
|
|
113
|
+
{
|
|
114
|
+
name: 'paragraphNode',
|
|
115
|
+
marks: ['bold'],
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
})
|
|
119
|
+
})
|
|
120
|
+
|
|
121
|
+
it('merge text for no mark', () => {
|
|
122
|
+
const state = new ParserState(schema)
|
|
123
|
+
state.openNode(docNodeType)
|
|
124
|
+
|
|
125
|
+
state
|
|
126
|
+
.openNode(paragraphNodeType)
|
|
127
|
+
.addText('The lunatic is on the grass.\n')
|
|
128
|
+
.addText("I'll see you on the dark side of the moon.")
|
|
129
|
+
.closeNode()
|
|
130
|
+
|
|
131
|
+
expect(state.top()).toMatchObject({
|
|
132
|
+
content: [
|
|
133
|
+
{
|
|
134
|
+
name: 'paragraphNode',
|
|
135
|
+
content: [
|
|
136
|
+
{
|
|
137
|
+
text: "The lunatic is on the grass.\nI'll see you on the dark side of the moon.",
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
})
|
|
143
|
+
})
|
|
144
|
+
|
|
145
|
+
it('merge text for same mark', () => {
|
|
146
|
+
const state = new ParserState(schema)
|
|
147
|
+
state.openNode(docNodeType)
|
|
148
|
+
|
|
149
|
+
state
|
|
150
|
+
.openNode(paragraphNodeType)
|
|
151
|
+
.openMark(boldType)
|
|
152
|
+
.addText('The lunatic is on the grass.\n')
|
|
153
|
+
.addText("I'll see you on the dark side of the moon.")
|
|
154
|
+
.closeMark(boldType)
|
|
155
|
+
.closeNode()
|
|
156
|
+
|
|
157
|
+
expect(state.top()).toMatchObject({
|
|
158
|
+
content: [
|
|
159
|
+
{
|
|
160
|
+
name: 'paragraphNode',
|
|
161
|
+
content: [
|
|
162
|
+
{
|
|
163
|
+
text: "The lunatic is on the grass.\nI'll see you on the dark side of the moon.",
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
})
|
|
169
|
+
})
|
|
170
|
+
|
|
171
|
+
it('not merge text for different marks', () => {
|
|
172
|
+
const state = new ParserState(schema)
|
|
173
|
+
state.openNode(docNodeType)
|
|
174
|
+
|
|
175
|
+
state
|
|
176
|
+
.openNode(paragraphNodeType)
|
|
177
|
+
.openMark(boldType)
|
|
178
|
+
.addText('The lunatic is on the grass.\n')
|
|
179
|
+
.closeMark(boldType)
|
|
180
|
+
.addText("I'll see you on the dark side of the moon.")
|
|
181
|
+
.closeNode()
|
|
182
|
+
|
|
183
|
+
expect(state.top()).toMatchObject({
|
|
184
|
+
content: [
|
|
185
|
+
{
|
|
186
|
+
name: 'paragraphNode',
|
|
187
|
+
content: [
|
|
188
|
+
{
|
|
189
|
+
text: 'The lunatic is on the grass.\n',
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
text: "I'll see you on the dark side of the moon.",
|
|
193
|
+
},
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
],
|
|
197
|
+
})
|
|
198
|
+
})
|
|
199
|
+
|
|
200
|
+
it('build', () => {
|
|
201
|
+
const state = new ParserState(schema)
|
|
202
|
+
state.openNode(docNodeType)
|
|
203
|
+
|
|
204
|
+
state
|
|
205
|
+
.openNode(blockquoteNodeType, { id: 'blockquote' })
|
|
206
|
+
.addNode(paragraphNodeType, { id: 1 })
|
|
207
|
+
.addNode(paragraphNodeType, { id: 2 })
|
|
208
|
+
.closeNode()
|
|
209
|
+
|
|
210
|
+
const node = state.build()
|
|
211
|
+
expect(node).toMatchObject({
|
|
212
|
+
name: 'docNode',
|
|
213
|
+
content: [
|
|
214
|
+
{
|
|
215
|
+
name: 'blockquoteNode',
|
|
216
|
+
content: [
|
|
217
|
+
{
|
|
218
|
+
name: 'paragraphNode',
|
|
219
|
+
attrs: {
|
|
220
|
+
id: 1,
|
|
221
|
+
},
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
name: 'paragraphNode',
|
|
225
|
+
attrs: {
|
|
226
|
+
id: 2,
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
],
|
|
230
|
+
},
|
|
231
|
+
],
|
|
232
|
+
})
|
|
233
|
+
})
|
|
234
|
+
|
|
235
|
+
it('next', () => {
|
|
236
|
+
const state = new ParserState(schema)
|
|
237
|
+
state.openNode(docNodeType)
|
|
238
|
+
state.next([
|
|
239
|
+
{
|
|
240
|
+
type: 'blockquoteNode',
|
|
241
|
+
children: [
|
|
242
|
+
{
|
|
243
|
+
type: 'paragraphNode',
|
|
244
|
+
value: 'The lunatic is on the grass.',
|
|
245
|
+
},
|
|
246
|
+
],
|
|
247
|
+
},
|
|
248
|
+
])
|
|
249
|
+
|
|
250
|
+
const node = state.build()
|
|
251
|
+
expect(node).toMatchObject({
|
|
252
|
+
name: 'docNode',
|
|
253
|
+
content: [
|
|
254
|
+
{
|
|
255
|
+
name: 'blockquoteNode',
|
|
256
|
+
content: [
|
|
257
|
+
{
|
|
258
|
+
text: 'The lunatic is on the grass.',
|
|
259
|
+
},
|
|
260
|
+
],
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
})
|
|
264
|
+
})
|
|
265
|
+
})
|