Skip to content

Commit b23cb82

Browse files
committed
docs: add API reference
1 parent 4c4e779 commit b23cb82

File tree

1 file changed

+57
-2
lines changed

1 file changed

+57
-2
lines changed

README.md

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,61 @@
1-
# template-node-ts
1+
# Vue SFC Parser
22

3-
A project template for a Node.js library using TypeScript.
3+
Vue.js single file component parser with some helpers.
4+
5+
## Usage
6+
7+
Vue SFC Parser is similar to [vue-template-compiler](https://www.npmjs.com/package/vue-template-compiler)'s `parseComponent` but has some useful helpers for code analysis.
8+
9+
```js
10+
const { parseComponent } = require('vue-sfc-parser')
11+
12+
const code = `
13+
<template>
14+
<p>Hi</p>
15+
</template>
16+
17+
<script lang="ts">
18+
export default {}
19+
</script>
20+
`
21+
22+
const res = parseComponent(code)
23+
console.log(res.template.calcGlobalOffset(7))
24+
console.log(res.script.calcGlobalOffset(5))
25+
```
26+
27+
## References
28+
29+
* `parseComponent(code: string): SFCDescriptor`
30+
31+
This is almost same as `vue-template-compiler`'s `parseComponent`. `SFCDescriptor` is looks like following:
32+
33+
```ts
34+
interface SFCDescriptor {
35+
template: SFCBlock | null
36+
script: SFCBlock | null
37+
styles: SFCBlock[]
38+
customBlocks: SFCBlock[]
39+
}
40+
```
41+
42+
The `SFCBlcok` is similar to `vue-template-compiler` one too, but having additional helper methods.
43+
44+
### Additional Helpers of SFCBlock
45+
46+
* `calcGlobalOffset(offset: number): number`
47+
* `calcGlobalRange(range: [number, number]): [number, number]`
48+
49+
These methods are for calcurating global position from block position. For example:
50+
51+
```vue
52+
<docs>Test Docs</docs>
53+
<template>
54+
<p>Hi</p>
55+
</template>
56+
```
57+
58+
On the above SFC, if you provide `5` to `template.calcGlobalOffset` which indicates the position from the beggining of template block, it will return `38` which is the position from the beggining of the file.
459

560
## License
661

0 commit comments

Comments
 (0)