Buckets:
ktongue/docker_container / .cache /opencode /node_modules /light-my-request /build /build-validation.js
| const http = require('node:http') | |
| const AjvStandaloneCompiler = require('@fastify/ajv-compiler/standalone') | |
| const fs = require('node:fs') | |
| const path = require('node:path') | |
| const urlSchema = { | |
| oneOf: [ | |
| { type: 'string' }, | |
| { | |
| type: 'object', | |
| properties: { | |
| protocol: { type: 'string' }, | |
| hostname: { type: 'string' }, | |
| pathname: { type: 'string' } | |
| // port type => any | |
| // query type => any | |
| }, | |
| additionalProperties: true, | |
| required: ['pathname'] | |
| } | |
| ] | |
| } | |
| const schema = { | |
| type: 'object', | |
| properties: { | |
| url: urlSchema, | |
| path: urlSchema, | |
| cookies: { | |
| type: 'object', | |
| additionalProperties: true | |
| }, | |
| headers: { | |
| type: 'object', | |
| additionalProperties: true | |
| }, | |
| query: { | |
| anyOf: [ | |
| { | |
| type: 'object', | |
| additionalProperties: true | |
| }, | |
| { | |
| type: 'string' | |
| } | |
| ] | |
| }, | |
| simulate: { | |
| type: 'object', | |
| properties: { | |
| end: { type: 'boolean' }, | |
| split: { type: 'boolean' }, | |
| error: { type: 'boolean' }, | |
| close: { type: 'boolean' } | |
| } | |
| }, | |
| authority: { type: 'string' }, | |
| remoteAddress: { type: 'string' }, | |
| method: { type: 'string', enum: http.METHODS.concat(http.METHODS.map(toLowerCase)) }, | |
| validate: { type: 'boolean' } | |
| // payload type => any | |
| }, | |
| additionalProperties: true, | |
| oneOf: [ | |
| { required: ['url'] }, | |
| { required: ['path'] } | |
| ] | |
| } | |
| function toLowerCase (m) { return m.toLowerCase() } | |
| const factory = AjvStandaloneCompiler({ | |
| readMode: false, | |
| storeFunction (routeOpts, schemaValidationCode) { | |
| const moduleCode = `// This file is autogenerated by ${__filename.replace(__dirname, 'build')}, do not edit | |
| /* c8 ignore start */ | |
| /* eslint-disable */ | |
| ${schemaValidationCode} | |
| ` | |
| const file = path.join(__dirname, '..', 'lib', 'config-validator.js') | |
| fs.writeFileSync(file, moduleCode) | |
| console.log(`Saved ${file} file successfully`) | |
| } | |
| }) | |
| const compiler = factory({}, { | |
| customOptions: { | |
| code: { | |
| source: true, | |
| lines: true, | |
| optimize: 3 | |
| }, | |
| removeAdditional: true, | |
| coerceTypes: true | |
| } | |
| }) | |
| compiler({ schema }) | |
Xet Storage Details
- Size:
- 2.23 kB
- Xet hash:
- 807a1b570d558a2da058bb9e862eb1c4d6aa15ffdb633588050a6aaa027239ab
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.