bandcamp-fetch
Version:
Scrape Bandcamp content
33 lines • 976 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class ObjectHelper {
static getProperty(obj, prop, required = false) {
const props = prop.split('.');
let v = obj;
while (props.length > 0) {
const p = props.shift();
if (v && typeof v === 'object') {
v = v[p];
if (v === undefined) {
if (required) {
throw new ObjectPropertyNotFoundError(prop);
}
return v;
}
}
else if (required) {
throw new ObjectPropertyNotFoundError(prop);
}
}
return v;
}
}
exports.default = ObjectHelper;
class ObjectPropertyNotFoundError extends Error {
constructor(prop) {
super();
this.name = 'ObjectPropertyNotFoundError';
this.prop = prop;
}
}
//# sourceMappingURL=ObjectHelper.js.map