New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@inrupt/solid-sdk-forms

Package Overview
Dependencies
Maintainers
6
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@inrupt/solid-sdk-forms

Solid library for converting and generating Forms

  • 0.1.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
7
decreased by-22.22%
Maintainers
6
Weekly downloads
 
Created
Source

Solid SDK Forms

This is a standalone Typescript library designed to handle the creation of Form Models from shapes, and other form-related features.

NOTE: This library is still a work in progress. We are using lessons learned while building the library to improve the code and structure.

Installation

To install, simply run the command

npm install --save @inrupt/solid-sdk-forms

Usage

There are a few things you can do with this library. The most common usage will be converting a ShEx shape to a Form Model object.

This can be done with the following code:

import { ShexFormModel, FormModel } from '@inrupt/solid-sdk-forms';

const formModel = new FormModel();
const schema = await formModel.parseSchema(schemaUrl);
const shexClass = new ShexFormModel(schema);
const formModelOutput = shexClass.convert();

In this example, we are given a schemaUrl (hardcoded or fetched, whichever you prefer) and use the new FormModel class to convert it. The breakdown is as follows:

FormModel.parseSchema

This function fetches and parses the ShEx schema and returns it. This can be in ShExC, ShExR, or ShExJ format.

ShexFormModel.convert

This function, belonging to the ShexFormModel class, does the actual conversion from a ShEx schema to a FormModel object. It does this by the following high level steps:

  1. Find the start shape of the schema. This is the shape in the schema that represents the "beginning" of the shape. If one does not exist, we take the first shape in the array. This is very important when a schema file has multiple shapes in the same file.
  2. Traverse the shape recursively, to build out a Form Model. This will walk the whole schema, including nested and linked shapes, and build out the Form Model from each expression in each shape. During traversal, it detects things like annotations, constraints, and data types to make "best guesses" as to which piece of the Form Model it maps to. The output is currently a string representation of a Turtle (.ttl) file that can be copied/uploaded to a Pod.

FAQs

Package last updated on 16 Apr 2020

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc