我的node项目首次提交!!!
This commit is contained in:
56
node_modules/fast-redact/index.js
generated
vendored
Normal file
56
node_modules/fast-redact/index.js
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
'use strict'
|
||||
|
||||
const validator = require('./lib/validator')
|
||||
const parse = require('./lib/parse')
|
||||
const redactor = require('./lib/redactor')
|
||||
const restorer = require('./lib/restorer')
|
||||
const { groupRedact, nestedRedact } = require('./lib/modifiers')
|
||||
const state = require('./lib/state')
|
||||
const rx = require('./lib/rx')
|
||||
const validate = validator()
|
||||
const noop = (o) => o
|
||||
noop.restore = noop
|
||||
|
||||
const DEFAULT_CENSOR = '[REDACTED]'
|
||||
fastRedact.rx = rx
|
||||
fastRedact.validator = validator
|
||||
|
||||
module.exports = fastRedact
|
||||
|
||||
function fastRedact (opts = {}) {
|
||||
const paths = Array.from(new Set(opts.paths || []))
|
||||
const serialize = 'serialize' in opts ? (
|
||||
opts.serialize === false ? opts.serialize
|
||||
: (typeof opts.serialize === 'function' ? opts.serialize : JSON.stringify)
|
||||
) : JSON.stringify
|
||||
const remove = opts.remove
|
||||
if (remove === true && serialize !== JSON.stringify) {
|
||||
throw Error('fast-redact – remove option may only be set when serializer is JSON.stringify')
|
||||
}
|
||||
const censor = remove === true
|
||||
? undefined
|
||||
: 'censor' in opts ? opts.censor : DEFAULT_CENSOR
|
||||
|
||||
const isCensorFct = typeof censor === 'function'
|
||||
const censorFctTakesPath = isCensorFct && censor.length > 1
|
||||
|
||||
if (paths.length === 0) return serialize || noop
|
||||
|
||||
validate({ paths, serialize, censor })
|
||||
|
||||
const { wildcards, wcLen, secret } = parse({ paths, censor })
|
||||
|
||||
const compileRestore = restorer()
|
||||
const strict = 'strict' in opts ? opts.strict : true
|
||||
|
||||
return redactor({ secret, wcLen, serialize, strict, isCensorFct, censorFctTakesPath }, state({
|
||||
secret,
|
||||
censor,
|
||||
compileRestore,
|
||||
serialize,
|
||||
groupRedact,
|
||||
nestedRedact,
|
||||
wildcards,
|
||||
wcLen
|
||||
}))
|
||||
}
|
||||
Reference in New Issue
Block a user