Socket
Socket
Sign inDemoInstall

@har-sdk/core

Package Overview
Dependencies
4
Maintainers
2
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @har-sdk/core

The base package can be used to import specification files (i.e. HAR, OAS and Postman Collection) and detect their type.


Version published
Weekly downloads
351
increased by61.01%
Maintainers
2
Created
Weekly downloads
 

Readme

Source

@har-sdk/core

The base package can be used to import specification files (i.e. HAR, OAS and Postman Collection) and detect their type.

Setup

npm i --save @har-sdk/core

Usage

To import a specification you just need to create an instance of SpecImporter and call its import method passing the data file. The importer performs syntactic analysis and parses a provided file.

import { SpecImporter } from '@har-sdk/core';

const result = await new SpecImporter().import(sourceAsString);
console.log(result);
// {
//   type: 'postman',
//   format: 'json',
//   doc: {
//     info: {
//       name: 'Postman Sample',
//       schema: 'https://schema.getpostman.com/json/collection/v2.1.0/collection.json'
//     },
//     item: [
//       // ...
//     ]
//   },
//   name: 'Postman Sample.json'
// }

To configure the list of importers, you can pass them as an array to the constructor.

import { SpecImporter, HarImporter } from '@har-sdk/core';

const explorer = new SpecImporter([new HarImporter()]);

To extend an explorer by adding a new custom importer, you can easily implement an Importer interface.

import { Importer, Doc, Spec, Importer } from '@har-sdk/core';

class RamlImporter implements Importer<'raml'> {
  get type(): 'raml' {
    return 'raml';
  }

  async import(content: string): Promise<Spec<'raml'>> {
    // your code

    return {
      // other fields
      type: this.type,
      format: 'yaml'
    };
  }
}

The package also contains a set of useful utilities like normalizeUrl:

import { normalizeUrl } from '@har-sdk/core';

normalizeUrl('HTTP://example.COM////foo////dummy/../bar/?'); // http://example.com/foo/bar

Keywords

FAQs

Last updated on 23 Feb 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc