dark-horse-thing
Version:
Abstract classes for Dark Horse things
35 lines (27 loc) • 615 B
JavaScript
const context = require('./context')
const SimpleRDF = require('simplerdf/lite').SimpleRDF
function flattenTypes (types) {
if (!Array.isArray(types)) {
types = [types]
}
return types.reduce(function (types, type) {
if (Array.isArray(type)) {
return types.concat(falttenTypes(type))
} else {
return types.concat([type])
}
}, [])
}
class Thing extends SimpleRDF {
constructor (iri, config) {
super(context, iri)
if (config && config.type) {
this.type = flattenTypes(config.type)
}
}
get () {
return this
}
}
module.exports = Thing