discogs-parser
TypeScript icon, indicating that this package has built-in type declarations

1.7.0 • Public • Published

discogs-parser

The streaming parser takes a read stream and returns an async iterator

const https = require("https");
const { createDiscogsParser } = require("discogs-parser");

// more info here http://data.discogs.com/
const DISCOGS_DATA_URL =
  "https://discogs-data-dumps.s3-us-west-2.amazonaws.com/data/2021/discogs_20210501_artists.xml.gz";

https.get(DISCOGS_DATA_URL, async (httpStream) => {
  for await (const chunk of createDiscogsParser(httpStream)) {
    console.log(chunk.id);
  }

  console.log("done!");
});

You can also read the data dump from disk using fs module (and TypeScript):

import fs from "fs";
import path from "path";
import { Label, createDiscogsParser } from "discogs-parser";

const xmlFile = path.join(__dirname, "discogs_20210501_labels.xml.gz");

async function parseLabels() {
  const stream = createDiscogsParser<Label>(fs.createReadStream(xmlFile));
  for await (const label of stream) {
    console.log(label);
  }
}

parseLabels();

Readme

Keywords

none

Package Sidebar

Install

npm i discogs-parser

Weekly Downloads

3

Version

1.7.0

License

MIT

Unpacked Size

27.8 kB

Total Files

19

Last publish

Collaborators

  • olovsundstrom