Files
react-native-devtools-frontend/node_modules/unist-util-stringify-position/index.js
T
Mathias Bynens 79e2cf0633 Add stylelint dependency
This also adds CC-BY-4.0 to the list of accepted licenses.

DISABLE_THIRD_PARTY_CHECK=update dependencies

Bug: chromium:1083142
Change-Id: I8612de2fba52dae32eeb71af79d5aacfde52142b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2220097
Reviewed-by: Paul Lewis <aerotwist@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
2020-06-11 06:20:04 +00:00

51 lines
890 B
JavaScript

'use strict'
var own = {}.hasOwnProperty
module.exports = stringify
function stringify(value) {
// Nothing.
if (!value || typeof value !== 'object') {
return ''
}
// Node.
if (own.call(value, 'position') || own.call(value, 'type')) {
return position(value.position)
}
// Position.
if (own.call(value, 'start') || own.call(value, 'end')) {
return position(value)
}
// Point.
if (own.call(value, 'line') || own.call(value, 'column')) {
return point(value)
}
// ?
return ''
}
function point(point) {
if (!point || typeof point !== 'object') {
point = {}
}
return index(point.line) + ':' + index(point.column)
}
function position(pos) {
if (!pos || typeof pos !== 'object') {
pos = {}
}
return point(pos.start) + '-' + point(pos.end)
}
function index(value) {
return value && typeof value === 'number' ? value : 1
}