redoc/lib/utils/JsonPointer.js

25 lines
614 B
JavaScript
Raw Normal View History

2015-10-08 20:16:45 +03:00
'use strict';
import JsonPointerLib from 'json-pointer';
/**
* Wrapper for JsonPointer. Provides common operations
*/
export class JsonPointer extends JsonPointerLib {
/**
* returns last JsonPointer token
* if level > 1 returns levels last (second last/third last)
2015-10-08 20:16:45 +03:00
* @example
* // returns subpath
* JsonPointerHelper.baseName('/path/0/subpath')
* // returns foo
* JsonPointerHelper.baseName('/path/foo/subpath', 2)
2015-10-08 20:16:45 +03:00
*/
static baseName(pointer, level=1) {
let tokens = JsonPointer.parse(pointer);
2015-10-08 23:21:51 +03:00
return tokens[tokens.length - (level)];
2015-10-08 20:16:45 +03:00
}
}
2015-10-08 23:21:51 +03:00
export default JsonPointer;