An open API service indexing awesome lists of open source software.

https://github.com/js-ql/scaffold

A library that is used to generate object blueprints. Inspired by graphql, powered by JavaScript.
https://github.com/js-ql/scaffold

blueprint generator graphql javascript library scaffolding scaffoldql

Last synced: about 1 year ago
JSON representation

A library that is used to generate object blueprints. Inspired by graphql, powered by JavaScript.

Awesome Lists containing this project

README

          

### THIS PROJECT IS NOT ACTIVELY MAINTAINED

# JSQL LogoScaffold

[![npm version](https://badge.fury.io/js/%40js-ql%2Fscaffold.svg)](https://badge.fury.io/js/%40js-ql%2Fscaffold)

Scaffold is a JavaScript library that is used to generate objects using templates inspired from GraphQL.

## Installation

```console
npm install --save @js-ql/scaffold
```

## Usage

### Simple Usage

```javascript
const { scaffold } = require('@js-ql/scaffold')

const queryString = `
{
name
age
}`

console.log(scaffold(queryString))

/*
{
name: null,
age: null
}
*/

```

### With Types

```javascript
const { scaffold } = require('@js-ql/scaffold')

const queryString = `
{
name: String
friends: Array
}
`

console.log(scaffold(queryString))
/*
{
name: '',
friends: [],
}
*/

```

### By Defining Schemas

```javascript
const { Registry } = require('@js-ql/scaffold')

const queryString = `
define Person {
name: String
friends: Array
}
`
// Initial Registration

Registry.register(queryString)

.
.
.

// When you need it

console.log(Registry.scaffold('Person'))

/*
{
name: '',
friends: [],
}
*/

```

### Multiple Schemas

```javascript
const { Registry } = require('@js-ql/scaffold')

const queryString = `
define Friend {
name
age
}
define Person {
name: String
friends: Array
bestFriend: Friend
}`

Registry.register(queryString)

.
.
.

console.log(Registry.scaffold('Person'))

/*
{
name: '',
friends: [],
bestFriend: {
name: null,
age: null
}
}
*/

```

Note: Make sure that schemas that you want to use inside another schema are defined before you use it.