@movable/data-sources-parser

0.4.0 • Public • Published

Movable Ink: Data Sources Parser

This library contains a library for parsing Data Sources responses in a consistent way.

HTMLNormalizer

This class takes an HTML string and the URL of the HTML in its constructor. For example:

import { HTMLNormalizer } from 'data-sources-parser';

new HTMLNormalizer(`
  <html>
   <body>
    <h1>Hello, world!</h1>
   </body>
  </html>
`, 'https://www.movableink.com');

normalizer.document

This provides the created document object.

import { HTMLNormalizer } from 'data-sources-parser';
const { document } = new HTMLNormalizer('<html>...</html>', 'https://www.movableink.com');

const header = document.querySelector('h1');

normalizer.baseURL

This provides the base URL of the page, taking into account any <base> tag and the provided URL:

import { HTMLNormalizer } from 'data-sources-parser';
const { baseURL } = new HTMLNormalizer('<base href="/home/" />', 'https://www.movableink.com');

console.log(baseURL); // https://www.movableink.com/home/

normalizers.absolutizePath

This takes a path (likely from an href or src) and converts it into its fully qualified URL, taking into account the URL and <base> tags of the page.

import { HTMLNormalizer } from 'data-sources-parser';
const normalizer = new HTMLNormalizer('<base href="/home/" />', 'https://www.movableink.com');

const logoURL = normalizer.absolutizePath('images/logo.png');
console.log(logoURL); // https://www.movableink.com/home/images/logo.png

Releases

To release a change, run the release command.

(This uses release-it for managing the releases).

yarn run release

By default, this will be a patch release. If you wish to release a different change:

yarn run release patch;
yarn run release minor;
yarn run release major;
yarn run release 2.8.3;

Readme

Keywords

none

Package Sidebar

Install

npm i @movable/data-sources-parser

Weekly Downloads

42

Version

0.4.0

License

MIT

Unpacked Size

276 kB

Total Files

16

Last publish

Collaborators

  • chayelheinsen
  • polera-mi
  • movable-ink
  • mnutt
  • shyshy
  • nicksteffens_mi
  • mansurtsutiev
  • mi_rtepper
  • aqmnguyen