Files
codeql-action/node_modules/concordance/lib/complexValues/dataView.js
2021-10-25 08:56:16 -07:00

30 lines
949 B
JavaScript

'use strict'
const typedArray = require('./typedArray')
function describe (props) {
return new DescribedDataViewValue(Object.assign({
buffer: typedArray.getBuffer(props.value),
// Set isArray and isList so the property recursor excludes the byte accessors
isArray: true,
isList: true,
}, props))
}
exports.describe = describe
function deserialize (state, recursor) {
return new DeserializedDataViewValue(state, recursor)
}
exports.deserialize = deserialize
const tag = Symbol('DataViewValue')
exports.tag = tag
// DataViews can be represented as regular Buffers, allowing them to be treated
// as TypedArrays for the purposes of this package.
class DataViewValue extends typedArray.TypedArrayValue {}
Object.defineProperty(DataViewValue.prototype, 'tag', { value: tag })
const DescribedDataViewValue = typedArray.DescribedMixin(DataViewValue)
const DeserializedDataViewValue = typedArray.DeserializedMixin(DataViewValue)