How to use the superstruct.struct.enum function in superstruct

To help you get started, we’ve selected a few superstruct examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github puzzle-js / puzzle-js / src / configurator.ts View on Github external
const gatewayFragmentAssetsStructure = struct({
    name: 'string',
    fileName: 'string',
    link: 'string?',
    loadMethod: struct.enum(Object.values(RESOURCE_LOADING_TYPE)),
    type: struct.enum(Object.values(RESOURCE_TYPE)),
    dependent: struct.optional(['string'])
});

const gatewayFragmentDependenctStructure = struct({
    name: 'string',
    type: struct.enum(Object.values(RESOURCE_TYPE)),
    link: 'string?',
    preview: 'string?',
    injectType: struct.optional(struct.enum(Object.values(RESOURCE_INJECT_TYPE)))
});

const gatewayFragmentVersionStructure = struct({
    assets: [gatewayFragmentAssetsStructure],
    dependencies: [gatewayFragmentDependenctStructure],
    handler: 'string?'
});


const gatewayFragmentStructure = struct({
    name: 'string',
    testCookie: 'string',
    prg: struct.optional('boolean'),
    render: gatewayRenderStructure,
    warden: struct.optional('object'),
    version: 'string',
github doodlewind / bumpover / examples / basic / index.js View on Github external
import { struct } from 'superstruct'
import { Bumpover } from '../../src'

const Node = struct({
  tag: struct.enum(['span', 'div']),
  children: 'array'
})

const rules = [
  {
    match: node => node.tag === 'div',
    update: node => new Promise((resolve, reject) => {
      resolve({
        node: { ...node, tag: 'span' }
      })
    }),
    struct: Node
  }
]

const input = {
github puzzle-js / puzzle-js / src / configurator.ts View on Github external
const gatewayRenderStructure = struct({
    url: struct.union(['string', ['string']]),
    static: 'boolean?',
    selfReplace: 'boolean?',
    placeholder: 'boolean?',
    error: 'boolean?',
    timeout: 'number?',
    middlewares: struct.optional(['string']),
    routeCache: 'number?'
});

const gatewayFragmentAssetsStructure = struct({
    name: 'string',
    fileName: 'string',
    link: 'string?',
    loadMethod: struct.enum(Object.values(RESOURCE_LOADING_TYPE)),
    type: struct.enum(Object.values(RESOURCE_TYPE)),
    dependent: struct.optional(['string'])
});

const gatewayFragmentDependenctStructure = struct({
    name: 'string',
    type: struct.enum(Object.values(RESOURCE_TYPE)),
    link: 'string?',
    preview: 'string?',
    injectType: struct.optional(struct.enum(Object.values(RESOURCE_INJECT_TYPE)))
});

const gatewayFragmentVersionStructure = struct({
    assets: [gatewayFragmentAssetsStructure],
    dependencies: [gatewayFragmentDependenctStructure],
    handler: 'string?'
github puzzle-js / puzzle-js / src / configurator.ts View on Github external
middlewares: struct.optional(['string']),
    routeCache: 'number?'
});

const gatewayFragmentAssetsStructure = struct({
    name: 'string',
    fileName: 'string',
    link: 'string?',
    loadMethod: struct.enum(Object.values(RESOURCE_LOADING_TYPE)),
    type: struct.enum(Object.values(RESOURCE_TYPE)),
    dependent: struct.optional(['string'])
});

const gatewayFragmentDependenctStructure = struct({
    name: 'string',
    type: struct.enum(Object.values(RESOURCE_TYPE)),
    link: 'string?',
    preview: 'string?',
    injectType: struct.optional(struct.enum(Object.values(RESOURCE_INJECT_TYPE)))
});

const gatewayFragmentVersionStructure = struct({
    assets: [gatewayFragmentAssetsStructure],
    dependencies: [gatewayFragmentDependenctStructure],
    handler: 'string?'
});


const gatewayFragmentStructure = struct({
    name: 'string',
    testCookie: 'string',
    prg: struct.optional('boolean'),
github puzzle-js / puzzle-js / src / configurator.ts View on Github external
allowHTTP1: struct.optional('boolean'),
    key: struct.optional(struct.union(['string', 'buffer'])),
    cert: struct.optional(struct.union(['string', 'buffer']))
});

const serverOptionsStructure = struct({
    port: struct.optional('number'),
    hostname: struct.optional('string'),
    http2: struct.optional('boolean'),
    https: struct.optional(httpsStructure)
});

const apiEndpointsStructure = struct({
    path: 'string',
    middlewares: struct.optional(['string']),
    method: struct.enum(Object.values(HTTP_METHODS)),
    controller: 'string',
    routeCache: 'number?',
    cacheControl: 'string?'
});

const customHeaderStructure = struct({
    key: 'string',
    value: struct.union(['string', 'number']),
    isEnv: 'boolean?'
});

const apiVersionStructure = struct({
    handler: 'string?',
    endpoints: [apiEndpointsStructure]
});