npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@hexarc/api-generator

v1.4.0

Published

Hexarc API generator

Downloads

9

Readme

Hexarc API generator for Typescript/Javascript project

This NPM package provides ability to generate a Hexarc API client for frontend TypeScript/Javascript projects from the API schema that can be obtain from one of the Hexarc API services.

Setup

The package can be installed using the npm package manager in a TypeScript/JavaScript frontend project:

npm install --save-dev @hexarc/api-generator

Or globally:

npm install -g @hexarc/api-generator

During installation the package will register a CLI-utility for API client generation.

Be advised that this package is developed and tested under Unix-like environment. Not tested on Win platforms.

Generation

As mentioned the package provides the CLI-utility to build an API client for any Hexarc API that supports API schema exposing via a special endpoint. The CLI-utility can be call via shell:

npx hexarc --help

Or if installed globally:

hexarc --help

--help option will show available options for generation.

A common command to generate an API client:

npx hexarc <api_schema_url> <output_dir>

Arguments:

  • <api_schema_url> - an API services endpoint that expose the API schema,
  • <output_dir> - the output directory for a generated API client.

Options:

  • --api-client-name <name> - an API client class name. Default name is just Api

Usage

A generated API client will be located in the provided output directory.

Now you can import and use the generated API client class into any project file:

import { Api } from "./output_dir"

const api = new Api("https://example.com");

...
await api.controllerName.controllerMethod(arg1, arg2);

Api structure

Every generated API client has a common structure that can be explored:

  • bootstrap - directory for some base classes
  • controllers - concrete API controller classes
  • types - all types used by the API controllers
  • values - common values used between client and server applications (like errors and etc.)
  • api.ts - file with the api client class