{"id":27952305,"url":"https://github.com/js-ql/scaffold","last_synced_at":"2025-05-07T17:00:19.966Z","repository":{"id":34306042,"uuid":"176750451","full_name":"js-ql/scaffold","owner":"js-ql","description":"A library that is used to generate object blueprints. Inspired by graphql, powered by JavaScript.","archived":false,"fork":false,"pushed_at":"2023-02-28T11:47:07.000Z","size":551,"stargazers_count":2,"open_issues_count":12,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-18T23:10:43.914Z","etag":null,"topics":["blueprint","generator","graphql","javascript","library","scaffolding","scaffoldql"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/js-ql.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-20T14:21:44.000Z","updated_at":"2023-06-14T20:22:15.000Z","dependencies_parsed_at":"2023-01-15T06:11:23.190Z","dependency_job_id":null,"html_url":"https://github.com/js-ql/scaffold","commit_stats":null,"previous_names":["lloydaf/scaffoldql"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js-ql%2Fscaffold","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js-ql%2Fscaffold/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js-ql%2Fscaffold/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js-ql%2Fscaffold/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/js-ql","download_url":"https://codeload.github.com/js-ql/scaffold/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252921975,"owners_count":21825632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blueprint","generator","graphql","javascript","library","scaffolding","scaffoldql"],"created_at":"2025-05-07T17:00:18.303Z","updated_at":"2025-05-07T17:00:19.882Z","avatar_url":"https://github.com/js-ql.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"### THIS PROJECT IS NOT ACTIVELY MAINTAINED\n\n# \u003cimg src=\"assets/jsql.svg\" alt=\"JSQL Logo\" width=\"100\" height=\"100\" align=\"center\"\u003eScaffold\n\n[![npm version](https://badge.fury.io/js/%40js-ql%2Fscaffold.svg)](https://badge.fury.io/js/%40js-ql%2Fscaffold)\n\nScaffold is a JavaScript library that is used to generate objects using templates inspired from GraphQL.\n\n## Installation\n\n```console\nnpm install --save @js-ql/scaffold\n```\n\n## Usage\n\n### Simple Usage\n\n```javascript\nconst { scaffold } = require('@js-ql/scaffold')\n\nconst queryString = `\n{\n  name\n  age\n}`\n\nconsole.log(scaffold(queryString))\n\n/*\n{\n  name: null,\n  age: null\n}\n */\n\n\n\n```\n\n### With Types\n\n```javascript\nconst { scaffold } = require('@js-ql/scaffold')\n\nconst queryString = `\n{\n  name: String\n  friends: Array\n}\n`\n\n\nconsole.log(scaffold(queryString))\n/*\n{\n  name: '',\n  friends: [],\n}\n*/\n\n```\n\n### By Defining Schemas\n\n```javascript\nconst { Registry } = require('@js-ql/scaffold')\n\nconst queryString = `\ndefine Person {\n  name: String\n  friends: Array\n}\n`\n// Initial Registration\n\nRegistry.register(queryString)\n\n.\n.\n.\n\n// When you need it\n\nconsole.log(Registry.scaffold('Person'))\n\n/*\n{\n  name: '',\n  friends: [],\n}\n*/\n\n```\n\n### Multiple Schemas\n\n```javascript\nconst { Registry } = require('@js-ql/scaffold')\n\nconst queryString = `\n  define Friend {\n    name\n    age\n  }\n  define Person {\n    name: String\n    friends: Array\n    bestFriend: Friend\n  }`\n\n\nRegistry.register(queryString)\n\n.\n.\n.\n\nconsole.log(Registry.scaffold('Person'))\n\n/*\n{\n  name: '',\n  friends: [],\n  bestFriend: {\n    name: null,\n    age: null\n  }\n}\n*/\n\n```\n\nNote: Make sure that schemas that you want to use inside another schema are defined before you use it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjs-ql%2Fscaffold","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjs-ql%2Fscaffold","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjs-ql%2Fscaffold/lists"}