An open API service indexing awesome lists of open source software.

https://github.com/rmariuzzo/xml-comment-api

Parse XML comment that provide an API
https://github.com/rmariuzzo/xml-comment-api

xml

Last synced: about 1 year ago
JSON representation

Parse XML comment that provide an API

Awesome Lists containing this project

README

          


XML Comment API


Parse XML comment that provide an API



## Installation

```shell
npm install xml-comment-api
```

## Usage

```js
const XmlCommentApi = require('xml-comment-api')

const input = `
# Hello World

`

XmlCommentApi(input).replace('salute', (tag) => `Hi ${tag.attributes.name}`)
// > # Hello World
// Hi Rubens
```

## API

Everything starts by invoking the `XmlCommentApi` function passing the string containgin XML comments.

```js
const XmlCommentApi = require('xml-comment-api')
XmlCommentApi(' ')
```

When `XmlCommentApi` is invoked it will return an object exposing a few methods:

### `find(name: String, options: Object) : Array`

Find all tags by `name`. The `name` by default is case sensitive. The second parameter are `options`.

```js
XmlCommentApi('😘')
.find('salute')

// > [{
// tag: 'salute',
// attributes: undefined,
// contents: '😘',
// start: 15,
// end: 17
// }]
```

### `replace(name: String, options: Object, callback: Function|String) : XmlCommentApiObject`

Find all tags by `name` using `options` and replace the contents of matching tags with the result of the `callback` (when a `Function` is given) or with the `callback` itself (when a `String` is given).

```js
XmlCommentApi('😘')
.replace('salute', '❤️')
.contents()

// > ❤️
```

### `contents() : String`

Return the modified string. Useful when using `replace` to obtain the modified string.

#### License

[MIT](LICENSE)