ktongue/docker_container / .cache /opencode /node_modules /fastify /lib /initial-config-validation.js
download
raw
1.01 kB
'use strict'
const validate = require('./config-validator')
const deepClone = require('rfdc')({ circles: true, proto: false })
const { FST_ERR_INIT_OPTS_INVALID } = require('./errors')
function validateInitialConfig (options) {
const opts = deepClone(options)
if (!validate(opts)) {
const error = new FST_ERR_INIT_OPTS_INVALID(JSON.stringify(validate.errors.map(e => e.message)))
error.errors = validate.errors
throw error
}
return deepFreezeObject(opts)
}
function deepFreezeObject (object) {
const properties = Object.getOwnPropertyNames(object)
for (const name of properties) {
const value = object[name]
if (ArrayBuffer.isView(value) && !(value instanceof DataView)) {
continue
}
object[name] = value && typeof value === 'object' ? deepFreezeObject(value) : value
}
return Object.freeze(object)
}
module.exports = validateInitialConfig
module.exports.defaultInitOptions = validate.defaultInitOptions
module.exports.utils = { deepFreezeObject }

Xet Storage Details

Size:
1.01 kB
·
Xet hash:
67c388138a372d558ef75e94547ec193778cad05260ea5b880140ebc0bf9f017

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.