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

@idelic/safety-suite-api

v59.0.10

Published

API helper library for Safety Suite applications

Downloads

734

Readme

Idelic Safety Suite API

This API is to help JavaScript applications run api calls against Idelic's servers.

To create a new API:

All APIs must mirror the server they come from exactly. This includes:

  • the folder structure relative to the URL
  • the TypeScript types relative to the request / response bodies and query params

No logic can be run inside the API functions, they are simply to translate from JavaScript / Immutable types to the format that the server expects.

  1. Identify folder / file to create API in (based on the URL)
  2. Create required request body, response body, and query param types
  3. Create function signatures for normal and Immutable objects
  4. Make the last argument of each API call apiOptions: ApiOptions = {}
  5. Setup Immutable transformers to run based on apiOptions.useImmutable
  6. Build API object and call runApi with it
  7. Ensure the method, url root, route and request options are all correct
  8. Pass through the apiOptions as is
  9. For every new folder, add an index.ts for exporting in it
  10. For every new file, add an export * from './fileName.ts' in its sibling index.ts

To identify the correct folder:

Look for patterns in the URL and put grouped APIs together based on those patterns. Eg, the following would all go in the src/api/notifications.ts file.

GET /api/1.0/notifications
GET /api/1.0/notifications/<id>
POST /api/1.0/notifications
...etc

Eg, the following would all go in the src/api/models/documents.ts file.

GET /api/models/<modelId>/documents
GET /api/models/documemnts/<documentId>/content
POST /api/models/<modelId>/documents
PUT /api/models/documents

If in doubt, ask in the PR! Or take a look through the related server code to see how they structured it.