@tpluscode/rdfine
Advanced tools
Comparing version 0.4.15 to 0.4.16
@@ -6,2 +6,13 @@ # Change Log | ||
## [0.4.16](https://github.com/tpluscode/rdfine/compare/@tpluscode/rdfine@0.4.15...@tpluscode/rdfine@0.4.16) (2020-07-03) | ||
### Bug Fixes | ||
* **resource:** fix bnode id equality ([c13c821](https://github.com/tpluscode/rdfine/commit/c13c821e887c80b39addbde78043a942870d83cb)) | ||
## [0.4.15](https://github.com/tpluscode/rdfine/compare/@tpluscode/rdfine@0.4.14...@tpluscode/rdfine@0.4.15) (2020-06-08) | ||
@@ -8,0 +19,0 @@ |
24
index.js
@@ -1,4 +0,20 @@ | ||
import RdfResourceImpl from './RdfResource'; | ||
export { crossBoundaries } from './lib/path'; | ||
export * from './lib/decorators'; | ||
export default RdfResourceImpl; | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const RdfResource_1 = __importDefault(require("./RdfResource")); | ||
var path_1 = require("./lib/path"); | ||
Object.defineProperty(exports, "crossBoundaries", { enumerable: true, get: function () { return path_1.crossBoundaries; } }); | ||
__exportStar(require("./lib/decorators"), exports); | ||
exports.default = RdfResource_1.default; |
@@ -1,5 +0,9 @@ | ||
export function terms(left, right) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.resources = exports.terms = void 0; | ||
function terms(left, right) { | ||
return left && left.equals(right); | ||
} | ||
export function resources(compareGraph) { | ||
exports.terms = terms; | ||
function resources(compareGraph) { | ||
return (left, right) => { | ||
@@ -16,1 +20,2 @@ if (!left || !right) { | ||
} | ||
exports.resources = resources; |
@@ -1,5 +0,11 @@ | ||
import rdf from '@rdfjs/data-model'; | ||
import { xsd } from '@tpluscode/rdf-ns-builders'; | ||
const trueLiteral = rdf.literal('true', xsd.boolean); | ||
export function fromLiteral(type, obj) { | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.fromLiteral = void 0; | ||
const data_model_1 = __importDefault(require("@rdfjs/data-model")); | ||
const rdf_ns_builders_1 = require("@tpluscode/rdf-ns-builders"); | ||
const trueLiteral = data_model_1.default.literal('true', rdf_ns_builders_1.xsd.boolean); | ||
function fromLiteral(type, obj) { | ||
if (type === Boolean) { | ||
@@ -13,1 +19,2 @@ return trueLiteral.equals(obj.term); | ||
} | ||
exports.fromLiteral = fromLiteral; |
@@ -1,2 +0,6 @@ | ||
export { namespace } from './namespace'; | ||
export { property } from './property'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var namespace_1 = require("./namespace"); | ||
Object.defineProperty(exports, "namespace", { enumerable: true, get: function () { return namespace_1.namespace; } }); | ||
var property_1 = require("./property"); | ||
Object.defineProperty(exports, "property", { enumerable: true, get: function () { return property_1.property; } }); |
@@ -1,5 +0,11 @@ | ||
import ns from '@rdfjs/namespace'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.namespace = void 0; | ||
const namespace_1 = __importDefault(require("@rdfjs/namespace")); | ||
function setNamespace(clazz, stringOrNamespace) { | ||
clazz.__ns = typeof stringOrNamespace === 'string' | ||
? ns(stringOrNamespace) : stringOrNamespace; | ||
? namespace_1.default(stringOrNamespace) : stringOrNamespace; | ||
} | ||
@@ -21,4 +27,4 @@ const legacyNamespace = (stringOrNamespace, clazz) => { | ||
}; | ||
export const namespace = (stringOrNamespace) => (classOrDescriptor) => (typeof classOrDescriptor === 'function') | ||
exports.namespace = (stringOrNamespace) => (classOrDescriptor) => (typeof classOrDescriptor === 'function') | ||
? legacyNamespace(stringOrNamespace, classOrDescriptor) | ||
: standardNamespace(stringOrNamespace, classOrDescriptor); |
@@ -1,10 +0,35 @@ | ||
import TermSet from '@rdfjs/term-set'; | ||
import { toEdgeTraversals } from '../path'; | ||
import cf from 'clownface'; | ||
import { isList, enumerateList } from '../rdf-list'; | ||
import literalPropertyDecorator from './property/literal'; | ||
import resourcePropertyDecorator from './property/resource'; | ||
import { rdf } from '@tpluscode/rdf-ns-builders'; | ||
import { onlyUnique } from '../filter'; | ||
import * as compare from '../compare'; | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.property = exports.propertyDecorator = void 0; | ||
const term_set_1 = __importDefault(require("@rdfjs/term-set")); | ||
const path_1 = require("../path"); | ||
const clownface_1 = __importDefault(require("clownface")); | ||
const rdf_list_1 = require("../rdf-list"); | ||
const literal_1 = __importDefault(require("./property/literal")); | ||
const resource_1 = __importDefault(require("./property/resource")); | ||
const rdf_ns_builders_1 = require("@tpluscode/rdf-ns-builders"); | ||
const filter_1 = require("../filter"); | ||
const compare = __importStar(require("../compare")); | ||
function getObjects(subjects, path) { | ||
@@ -21,3 +46,3 @@ const nodes = path.reduce((subjects, edge) => { | ||
}, []); | ||
return cf({ | ||
return clownface_1.default({ | ||
dataset: subjects[0].dataset, | ||
@@ -32,3 +57,3 @@ _context: context, | ||
}, set); | ||
}, new TermSet()); | ||
}, new term_set_1.default()); | ||
const graphNodes = [...graphs.values()]; | ||
@@ -38,3 +63,3 @@ if (!graphNodes.length) { | ||
} | ||
return graphNodes.map(graph => cf({ | ||
return graphNodes.map(graph => clownface_1.default({ | ||
dataset: node.dataset, | ||
@@ -49,4 +74,4 @@ term: node.term, | ||
const getPath = () => Array.isArray(options.path) | ||
? toEdgeTraversals(proto, options.path) | ||
: toEdgeTraversals(proto, [options.path || name]); | ||
? path_1.toEdgeTraversals(proto, options.path) | ||
: path_1.toEdgeTraversals(proto, [options.path || name]); | ||
Object.defineProperty(proto, name, { | ||
@@ -62,10 +87,10 @@ get() { | ||
const returnValues = nodes.map((obj, index) => { | ||
if (isList(obj)) { | ||
if (rdf_list_1.isList(obj)) { | ||
if (index > 0) { | ||
throw new Error('Lists of lists are not supported'); | ||
} | ||
return enumerateList(this, obj, fromTerm.bind(this)); | ||
return rdf_list_1.enumerateList(this, obj, fromTerm.bind(this)); | ||
} | ||
return fromTerm.call(this, obj); | ||
}).filter(onlyUnique(compare)); | ||
}).filter(filter_1.onlyUnique(compare)); | ||
if (values === 'array') { | ||
@@ -98,3 +123,3 @@ return returnValues; | ||
subject.out(lastPredicate).forEach(obj => { | ||
if (isList(obj)) { | ||
if (rdf_list_1.isList(obj)) { | ||
subject.deleteList(lastPredicate); | ||
@@ -132,3 +157,3 @@ } | ||
if (termsArray.length === 0) { | ||
subject.addOut(lastPredicate, rdf.nil); | ||
subject.addOut(lastPredicate, rdf_ns_builders_1.rdf.nil); | ||
} | ||
@@ -179,3 +204,3 @@ else { | ||
}; | ||
export function propertyDecorator(options) { | ||
function propertyDecorator(options) { | ||
return (protoOrDescriptor, name) => (name !== undefined) | ||
@@ -185,3 +210,4 @@ ? legacyProperty(options, protoOrDescriptor, name) | ||
} | ||
export function property(options = {}) { | ||
exports.propertyDecorator = propertyDecorator; | ||
function property(options = {}) { | ||
return propertyDecorator({ | ||
@@ -196,3 +222,4 @@ ...options, | ||
} | ||
property.literal = literalPropertyDecorator; | ||
property.resource = resourcePropertyDecorator; | ||
exports.property = property; | ||
property.literal = literal_1.default; | ||
property.resource = resource_1.default; |
@@ -1,12 +0,17 @@ | ||
import { fromLiteral } from '../../conversion'; | ||
import { xsd } from '@tpluscode/rdf-ns-builders'; | ||
import rdf from '@rdfjs/data-model'; | ||
import { propertyDecorator } from '../property'; | ||
const trueLiteral = rdf.literal('true', xsd.boolean); | ||
export default function (options = {}) { | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const conversion_1 = require("../../conversion"); | ||
const rdf_ns_builders_1 = require("@tpluscode/rdf-ns-builders"); | ||
const data_model_1 = __importDefault(require("@rdfjs/data-model")); | ||
const property_1 = require("../property"); | ||
const trueLiteral = data_model_1.default.literal('true', rdf_ns_builders_1.xsd.boolean); | ||
function default_1(options = {}) { | ||
const type = options.type || String; | ||
return propertyDecorator({ | ||
return property_1.propertyDecorator({ | ||
...options, | ||
fromTerm(obj) { | ||
return fromLiteral(type, obj); | ||
return conversion_1.fromLiteral(type, obj); | ||
}, | ||
@@ -18,6 +23,6 @@ toTerm(value) { | ||
if (Number.isInteger(value)) { | ||
datatype = xsd.integer; | ||
datatype = rdf_ns_builders_1.xsd.integer; | ||
} | ||
else { | ||
datatype = xsd.float; | ||
datatype = rdf_ns_builders_1.xsd.float; | ||
} | ||
@@ -29,5 +34,5 @@ break; | ||
case 'bigint': | ||
datatype = xsd.long; | ||
datatype = rdf_ns_builders_1.xsd.long; | ||
} | ||
return rdf.literal(value.toString(), datatype); | ||
return data_model_1.default.literal(value.toString(), datatype); | ||
}, | ||
@@ -56,1 +61,2 @@ valueTypeName: type.name, | ||
} | ||
exports.default = default_1; |
@@ -1,10 +0,31 @@ | ||
import { rdf } from '@tpluscode/rdf-ns-builders'; | ||
import { propertyDecorator } from '../property'; | ||
import * as compare from '../../compare'; | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const rdf_ns_builders_1 = require("@tpluscode/rdf-ns-builders"); | ||
const property_1 = require("../property"); | ||
const compare = __importStar(require("../../compare")); | ||
function resourcePropertyDecorator(options = {}) { | ||
return propertyDecorator({ | ||
return property_1.propertyDecorator({ | ||
...options, | ||
fromTerm(obj) { | ||
if (options.implicitTypes) { | ||
obj.addOut(rdf.type, options.implicitTypes); | ||
obj.addOut(rdf_ns_builders_1.rdf.type, options.implicitTypes); | ||
} | ||
@@ -26,3 +47,3 @@ return this._create(obj, options.as, { parent: this }); | ||
if (value.types && Array.isArray(value.types)) { | ||
valueNode.addOut(rdf.type, value.types); | ||
valueNode.addOut(rdf_ns_builders_1.rdf.type, value.types); | ||
} | ||
@@ -54,2 +75,2 @@ const valueResource = this._create(valueNode); | ||
} | ||
export default resourcePropertyDecorator; | ||
exports.default = resourcePropertyDecorator; |
@@ -1,2 +0,5 @@ | ||
export function onlyUnique(areEqual) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.onlyUnique = void 0; | ||
function onlyUnique(areEqual) { | ||
return function (value, index, self) { | ||
@@ -15,1 +18,2 @@ if (Array.isArray(value)) { | ||
} | ||
exports.onlyUnique = onlyUnique; |
@@ -1,3 +0,9 @@ | ||
import RDF from '@rdfjs/data-model'; | ||
import cf from 'clownface'; | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.toEdgeTraversals = exports.crossBoundaries = void 0; | ||
const data_model_1 = __importDefault(require("@rdfjs/data-model")); | ||
const clownface_1 = __importDefault(require("clownface")); | ||
function namespacedPredicate(term, namespace) { | ||
@@ -12,3 +18,3 @@ if (!namespace) { | ||
if (termOrString.match(/^(http|urn):\/\//)) { | ||
return RDF.namedNode(termOrString); | ||
return data_model_1.default.namedNode(termOrString); | ||
} | ||
@@ -36,3 +42,3 @@ return namespacedPredicate(termOrString, namespace); | ||
if (!graphNodes.has(quad.graph.value)) { | ||
graphNodes.set(quad.graph.value, cf({ | ||
graphNodes.set(quad.graph.value, clownface_1.default({ | ||
dataset: subject.dataset, | ||
@@ -51,6 +57,7 @@ term: quad.subject, | ||
} | ||
export function crossBoundaries(prop) { | ||
function crossBoundaries(prop) { | ||
return ns => anyGraph(predicate(prop, ns)); | ||
} | ||
export function toEdgeTraversals({ constructor }, path) { | ||
exports.crossBoundaries = crossBoundaries; | ||
function toEdgeTraversals({ constructor }, path) { | ||
const namespace = constructor.__ns; | ||
@@ -64,1 +71,2 @@ return path.map(prop => { | ||
} | ||
exports.toEdgeTraversals = toEdgeTraversals; |
@@ -1,2 +0,24 @@ | ||
import * as rdfList from './rdf-list'; | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createProxy = void 0; | ||
const rdfList = __importStar(require("./rdf-list")); | ||
function nodeToValue(target) { | ||
@@ -17,3 +39,3 @@ const fromTerm = (obj) => { | ||
} | ||
export function createProxy(resource) { | ||
function createProxy(resource) { | ||
return new Proxy(resource, { | ||
@@ -59,1 +81,2 @@ get(target, property) { | ||
} | ||
exports.createProxy = createProxy; |
@@ -1,15 +0,19 @@ | ||
import { rdf } from '@tpluscode/rdf-ns-builders'; | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.enumerateList = exports.isList = void 0; | ||
const rdf_ns_builders_1 = require("@tpluscode/rdf-ns-builders"); | ||
function isLast(node) { | ||
return rdf.nil.equals(node.term); | ||
return rdf_ns_builders_1.rdf.nil.equals(node.term); | ||
} | ||
export function isList(node) { | ||
function isList(node) { | ||
const isLastListNode = isLast(node); | ||
const isListNode = node.out([rdf.first, rdf.rest]).values.length === 2; | ||
const isListNode = node.out([rdf_ns_builders_1.rdf.first, rdf_ns_builders_1.rdf.rest]).values.length === 2; | ||
return isLastListNode || isListNode; | ||
} | ||
export function enumerateList(parent, listNode, fromTerm) { | ||
exports.isList = isList; | ||
function enumerateList(parent, listNode, fromTerm) { | ||
const items = []; | ||
let current = listNode; | ||
while (!isLast(current)) { | ||
const firstItem = current.out(rdf.first).map((first, index) => { | ||
const firstItem = current.out(rdf_ns_builders_1.rdf.first).map((first, index) => { | ||
if (index > 0) { | ||
@@ -26,3 +30,3 @@ throw new Error('Malformed RDF List with multiple rdf:first objects'); | ||
}); | ||
current = current.out(rdf.rest).map((quad, index) => { | ||
current = current.out(rdf_ns_builders_1.rdf.rest).map((quad, index) => { | ||
if (index > 0) { | ||
@@ -36,1 +40,2 @@ throw new Error('Malformed RDF List with multiple rdf:rest objects'); | ||
} | ||
exports.enumerateList = enumerateList; |
@@ -1,5 +0,10 @@ | ||
import cf from 'clownface'; | ||
import { rdf } from '@tpluscode/rdf-ns-builders'; | ||
import { createProxy } from './proxy'; | ||
export default class { | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const clownface_1 = __importDefault(require("clownface")); | ||
const rdf_ns_builders_1 = require("@tpluscode/rdf-ns-builders"); | ||
const proxy_1 = require("./proxy"); | ||
class default_1 { | ||
constructor(baseClass) { | ||
@@ -28,3 +33,3 @@ this.__mixins = new Set(); | ||
createEntity(term, typeAndMixins = [], options = {}) { | ||
const graphPointer = cf(term); | ||
const graphPointer = clownface_1.default(term); | ||
let BaseClass = this.BaseClass; | ||
@@ -39,3 +44,3 @@ let explicitMixins = typeAndMixins; | ||
} | ||
BaseClass = this.__getBaseClass(BaseClass, graphPointer.out(rdf.type).values); | ||
BaseClass = this.__getBaseClass(BaseClass, graphPointer.out(rdf_ns_builders_1.rdf.type).values); | ||
const entity = new BaseClass(term); | ||
@@ -49,3 +54,3 @@ const mixins = [...this.__mixins].reduce((selected, next) => { | ||
const Type = this.__extend(BaseClass, [...mixins]); | ||
return createProxy(new Type(term, {}, options.parent)); | ||
return proxy_1.createProxy(new Type(term, {}, options.parent)); | ||
} | ||
@@ -76,1 +81,2 @@ __getBaseClass(baseClass, types) { | ||
} | ||
exports.default = default_1; |
@@ -1,9 +0,33 @@ | ||
import cf from 'clownface'; | ||
import { rdf } from '@tpluscode/rdf-ns-builders'; | ||
import RDF from '@rdfjs/data-model'; | ||
import { onlyUnique } from './filter'; | ||
import * as compare from './compare'; | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const clownface_1 = __importDefault(require("clownface")); | ||
const rdf_ns_builders_1 = require("@tpluscode/rdf-ns-builders"); | ||
const data_model_1 = __importDefault(require("@rdfjs/data-model")); | ||
const filter_1 = require("./filter"); | ||
const compare = __importStar(require("./compare")); | ||
function getNode(value) { | ||
if (typeof value === 'string') { | ||
return RDF.namedNode(value); | ||
return data_model_1.default.namedNode(value); | ||
} | ||
@@ -15,17 +39,17 @@ if ('termType' in value) { | ||
} | ||
export default class { | ||
class default_1 { | ||
constructor(resource, allGraphs = false) { | ||
this.__resource = resource; | ||
this.__allGraphs = allGraphs; | ||
this.__graph = allGraphs ? cf({ dataset: resource._selfGraph.dataset, term: resource._selfGraph.term, graph: undefined }) : resource._selfGraph; | ||
this.__graph = allGraphs ? clownface_1.default({ dataset: resource._selfGraph.dataset, term: resource._selfGraph.term, graph: undefined }) : resource._selfGraph; | ||
} | ||
add(value) { | ||
this.__resource._selfGraph.addOut(rdf.type, getNode(value)); | ||
this.__resource._selfGraph.addOut(rdf_ns_builders_1.rdf.type, getNode(value)); | ||
return this; | ||
} | ||
clear() { | ||
this.__graph.deleteOut(rdf.type); | ||
this.__graph.deleteOut(rdf_ns_builders_1.rdf.type); | ||
} | ||
delete(value) { | ||
const deletedQuads = this.__graph.dataset.match(this.__resource.id, rdf.type, getNode(value)); | ||
const deletedQuads = this.__graph.dataset.match(this.__resource.id, rdf_ns_builders_1.rdf.type, getNode(value)); | ||
for (const quad of deletedQuads) { | ||
@@ -42,6 +66,6 @@ this.__graph.dataset.delete(quad); | ||
has(value) { | ||
return this.__graph.has(rdf.type, getNode(value)).terms.length > 0; | ||
return this.__graph.has(rdf_ns_builders_1.rdf.type, getNode(value)).terms.length > 0; | ||
} | ||
get size() { | ||
return this.__graph.out(rdf.type).terms.filter(onlyUnique(compare.terms)).length; | ||
return this.__graph.out(rdf_ns_builders_1.rdf.type).terms.filter(filter_1.onlyUnique(compare.terms)).length; | ||
} | ||
@@ -62,6 +86,6 @@ [Symbol.iterator]() { | ||
const graphId = !this.__allGraphs ? this.__resource._graphId : null; | ||
const typeQuads = this.__graph.dataset.match(this.__resource.id, rdf.type, null, graphId); | ||
const typeQuads = this.__graph.dataset.match(this.__resource.id, rdf_ns_builders_1.rdf.type, null, graphId); | ||
return [...typeQuads] | ||
.map(quad => { | ||
return cf({ | ||
return clownface_1.default({ | ||
dataset: this.__graph.dataset, | ||
@@ -73,4 +97,5 @@ term: quad.object, | ||
.map(type => this.__resource._create(type)) | ||
.filter(onlyUnique(compare.resources(false))); | ||
.filter(filter_1.onlyUnique(compare.resources(false))); | ||
} | ||
} | ||
exports.default = default_1; |
{ | ||
"name": "@tpluscode/rdfine", | ||
"version": "0.4.15", | ||
"version": "0.4.16", | ||
"description": "RDF/JS idiomatic, native, effective", | ||
"main": "main.js", | ||
"module": "index.js", | ||
"main": "index.js", | ||
"module": "index.mjs", | ||
"browser": "index.mjs", | ||
"types": "index.d.ts", | ||
"exports": { | ||
"./": { | ||
"require": "./index.js", | ||
"import": "./index.mjs" | ||
}, | ||
"./RdfResource": { | ||
"require": "./RdfResource.js", | ||
"import": "./RdfResource.mjs" | ||
} | ||
}, | ||
"scripts": { | ||
"prepack": "npm run build", | ||
"build": "tsc -p tsconfig.build.json", | ||
"test": "run-p test:*", | ||
"test:ts-node": "jest --coverage", | ||
"test:babel": "jest --coverage -c jest.babel.config.js" | ||
"build": "run-p build:*", | ||
"build:cjs": "tsc -p tsconfig.build.json", | ||
"build:mjs": "BABEL_ENV=modules babel . --out-dir . --extensions .ts --out-file-extension .mjs" | ||
}, | ||
@@ -23,20 +33,20 @@ "repository": { | ||
"@rdfjs/term-set": "^1.0.1", | ||
"@tpluscode/rdf-ns-builders": "^0.3", | ||
"@tpluscode/rdf-ns-builders": "^0.3.6", | ||
"@types/clownface": "^0.12.13", | ||
"@types/rdf-js": "^2.0.12", | ||
"@types/rdf-js": "^3", | ||
"@types/rdfjs__namespace": "^1.1.1", | ||
"clownface": "^0.12.3", | ||
"esm": "^3.2.25", | ||
"once": "^1.4.0" | ||
}, | ||
"devDependencies": { | ||
"@babel/plugin-proposal-class-properties": "^7.8.3", | ||
"@babel/plugin-proposal-decorators": "^7.8.3", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.8.3", | ||
"@babel/plugin-proposal-optional-chaining": "^7.8.3", | ||
"@babel/preset-env": "^7.8.3", | ||
"@babel/preset-typescript": "^7.8.3", | ||
"@babel/cli": "^7.10.3", | ||
"@babel/plugin-proposal-class-properties": "^7.10.4", | ||
"@babel/plugin-proposal-decorators": "^7.10.4", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.10.4", | ||
"@babel/plugin-proposal-optional-chaining": "^7.10.4", | ||
"@babel/preset-env": "^7.10.4", | ||
"@babel/preset-typescript": "^7.10.4", | ||
"@rdfjs/dataset": "^1.0.1", | ||
"@rdfjs/parser-n3": "^1.1.3", | ||
"@tpluscode/rdf-string": "^0.2.13", | ||
"@tpluscode/rdf-string": "^0.2.16", | ||
"@types/node": "^12", | ||
@@ -48,9 +58,8 @@ "@types/once": "^1.4.0", | ||
"@types/rdfjs__term-set": "^1", | ||
"@zazuko/rdf-vocabularies": "^2020.3.17", | ||
"jest": "^25.1.0", | ||
"@zazuko/rdf-vocabularies": "^2020.6.29", | ||
"babel-plugin-add-import-extension": "github:tpluscode/babel-plugin-add-import-extension#type-only-export", | ||
"npm-run-all": "^4.1.5", | ||
"rdf-ext": "^1.3.0", | ||
"string-to-stream": "^3.0.1", | ||
"ts-jest": "^25.2.1", | ||
"typescript": "^3.8.3" | ||
"typescript": "^3.9.5" | ||
}, | ||
@@ -74,3 +83,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "40285686b0da2d645d57dc462b7d9a73c12c48bd" | ||
"gitHead": "0abde7732d56d75f18d038fc17800b2ae52d5e35" | ||
} |
@@ -24,2 +24,3 @@ /// <reference types="rdfjs__namespace" /> | ||
readonly isAnonymous: boolean; | ||
equals(other: RdfResource | undefined | null): boolean; | ||
hasType(type: string | NamedNode): boolean; | ||
@@ -26,0 +27,0 @@ /** |
@@ -0,9 +1,15 @@ | ||
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.fromObject = void 0; | ||
/* eslint-disable camelcase,@typescript-eslint/camelcase,no-dupe-class-members */ | ||
import RDF from '@rdfjs/data-model'; | ||
import cf from 'clownface'; | ||
import ResourceFactoryImpl from './lib/ResourceFactory'; | ||
import once from 'once'; | ||
import TypeCollectionCtor from './lib/TypeCollection'; | ||
import { xsd } from '@tpluscode/rdf-ns-builders'; | ||
export default class RdfResourceImpl { | ||
const data_model_1 = __importDefault(require("@rdfjs/data-model")); | ||
const clownface_1 = __importDefault(require("clownface")); | ||
const ResourceFactory_1 = __importDefault(require("./lib/ResourceFactory")); | ||
const once_1 = __importDefault(require("once")); | ||
const TypeCollection_1 = __importDefault(require("./lib/TypeCollection")); | ||
const rdf_ns_builders_1 = require("@tpluscode/rdf-ns-builders"); | ||
class RdfResourceImpl { | ||
constructor(graph, init = {}, parent) { | ||
@@ -14,3 +20,3 @@ this.__initialized = false; | ||
} | ||
const selfGraph = cf({ | ||
const selfGraph = clownface_1.default({ | ||
...graph, | ||
@@ -21,9 +27,9 @@ term: graph.term, | ||
this._selfGraph = selfGraph; | ||
this._unionGraph = cf({ dataset: selfGraph.dataset, term: selfGraph.term, graph: undefined }); | ||
this._unionGraph = clownface_1.default({ dataset: selfGraph.dataset, term: selfGraph.term, graph: undefined }); | ||
} | ||
else { | ||
this._selfGraph = cf({ dataset: selfGraph.dataset, term: selfGraph.term, graph: RDF.defaultGraph() }); | ||
this._unionGraph = cf({ dataset: selfGraph.dataset, term: selfGraph.term }); | ||
this._selfGraph = clownface_1.default({ dataset: selfGraph.dataset, term: selfGraph.term, graph: data_model_1.default.defaultGraph() }); | ||
this._unionGraph = clownface_1.default({ dataset: selfGraph.dataset, term: selfGraph.term }); | ||
} | ||
this.__initializeProperties = once(() => { | ||
this.__initializeProperties = once_1.default(() => { | ||
const self = this; | ||
@@ -67,3 +73,3 @@ const defaults = self.constructor.__defaults || new Map(); | ||
get types() { | ||
return new TypeCollectionCtor(this); | ||
return new TypeCollection_1.default(this); | ||
} | ||
@@ -80,3 +86,7 @@ get isAnonymous() { | ||
} | ||
return this.id.equals(other.id); | ||
const idsEqual = this.id.equals(other.id); | ||
if (this.isAnonymous || other.isAnonymous) { | ||
return idsEqual && this._selfGraph.dataset === other._selfGraph.dataset; | ||
} | ||
return idsEqual; | ||
} | ||
@@ -126,3 +136,3 @@ get(property, options) { | ||
} | ||
if (value.term.termType === 'Literal' && xsd.boolean.equals(value.term.datatype)) { | ||
if (value.term.termType === 'Literal' && rdf_ns_builders_1.xsd.boolean.equals(value.term.datatype)) { | ||
return value.term.equals(this._selfGraph.literal(true).term); | ||
@@ -144,6 +154,8 @@ } | ||
} | ||
RdfResourceImpl.factory = new ResourceFactoryImpl(RdfResourceImpl); | ||
exports.default = RdfResourceImpl; | ||
RdfResourceImpl.factory = new ResourceFactory_1.default(RdfResourceImpl); | ||
RdfResourceImpl.__mixins = []; | ||
export function fromObject(initializer) { | ||
function fromObject(initializer) { | ||
return initializer; | ||
} | ||
exports.fromObject = fromObject; |
109233
9
49
2088
+ Added@types/rdf-js@3.0.3(transitive)
- Removedesm@^3.2.25
- Removed@types/rdf-js@2.0.12(transitive)
- Removedesm@3.2.25(transitive)
Updated@types/rdf-js@^3