UNPKG

apipost-mock-schema

Version:

Simple utility to mock example objects based on JSON schema definitions

89 lines (70 loc) 1.62 kB
<p align="center"> <a href="https://adesign.apipost.cn/" target="_blank"> <img alt="A-Design Logo" width="360" src="https://img.cdn.apipost.cn/cdn/opensource/apipost-opensource.svg" /> </a> </p> # 🚀 apipost-mock-schema [![Package Quality](https://packagequality.com/shield/apipost-mock-schema.svg)](https://packagequality.com/#?package=apipost-mock-schema) Simple utility to mock example objects based on JSON schema definitions ## Features Minimal & deterministic. Predictable single example with no randomisation involved TypeScript types included Supports $ref pointers Thoroughly tested feature set Supports example, default Supports anyOf, allOf, oneOf Built-in examples for following string formats: - email - hostname - ipv4 - ipv6 - uri - uri-reference - uri-template - json-pointer - date-time - uuid ## Install ``` $ npm install apipost-mock-schema ``` ## Usage ```javascript const schema = { type: 'array', items: { type: 'object', properties: { id: { type: 'integer', minimum: 1, }, name: { type: 'string', example: 'John Doe', }, email: { type: 'string', format: 'email', }, }, }, }; const MockSchema = require('apipost-mock-schema'); const myMockSchema = new MockSchema(); myMockSchema.mock(schema).then(res => { console.log(res) // will return /* [ { "id": 7156472017141059, "name": "John Doe", "email": "y.hbm@tsqxod.dm" } ] */ }).catch(err => { console.log(err) }) ```