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.
- Host: GitHub
- URL: https://github.com/js-ql/scaffold
- Owner: js-ql
- License: mit
- Created: 2019-03-20T14:21:44.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-28T11:47:07.000Z (over 3 years ago)
- Last Synced: 2025-04-18T23:10:43.914Z (about 1 year ago)
- Topics: blueprint, generator, graphql, javascript, library, scaffolding, scaffoldql
- Language: JavaScript
- Size: 538 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### THIS PROJECT IS NOT ACTIVELY MAINTAINED
#
Scaffold
[](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.