@_linked/rdf-mem-store 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +285 -0
- package/lib/cjs/Datafactory.d.ts +29 -0
- package/lib/cjs/Datafactory.js +101 -0
- package/lib/cjs/Datafactory.js.map +1 -0
- package/lib/cjs/InMemoryStore.d.ts +35 -0
- package/lib/cjs/InMemoryStore.js +98 -0
- package/lib/cjs/InMemoryStore.js.map +1 -0
- package/lib/cjs/collections/NodeMap.d.ts +35 -0
- package/lib/cjs/collections/NodeMap.js +244 -0
- package/lib/cjs/collections/NodeMap.js.map +1 -0
- package/lib/cjs/collections/NodeSet.d.ts +55 -0
- package/lib/cjs/collections/NodeSet.js +296 -0
- package/lib/cjs/collections/NodeSet.js.map +1 -0
- package/lib/cjs/collections/NodeURIMappings.d.ts +20 -0
- package/lib/cjs/collections/NodeURIMappings.js +65 -0
- package/lib/cjs/collections/NodeURIMappings.js.map +1 -0
- package/lib/cjs/collections/NodeValuesSet.d.ts +63 -0
- package/lib/cjs/collections/NodeValuesSet.js +100 -0
- package/lib/cjs/collections/NodeValuesSet.js.map +1 -0
- package/lib/cjs/collections/QuadArray.d.ts +17 -0
- package/lib/cjs/collections/QuadArray.js +67 -0
- package/lib/cjs/collections/QuadArray.js.map +1 -0
- package/lib/cjs/collections/QuadMap.d.ts +64 -0
- package/lib/cjs/collections/QuadMap.js +155 -0
- package/lib/cjs/collections/QuadMap.js.map +1 -0
- package/lib/cjs/collections/QuadSet.d.ts +22 -0
- package/lib/cjs/collections/QuadSet.js +106 -0
- package/lib/cjs/collections/QuadSet.js.map +1 -0
- package/lib/cjs/collections/SearchMap.d.ts +5 -0
- package/lib/cjs/collections/SearchMap.js +13 -0
- package/lib/cjs/collections/SearchMap.js.map +1 -0
- package/lib/cjs/events/EventBatcher.d.ts +20 -0
- package/lib/cjs/events/EventBatcher.js +97 -0
- package/lib/cjs/events/EventBatcher.js.map +1 -0
- package/lib/cjs/events/EventEmitter.d.ts +15 -0
- package/lib/cjs/events/EventEmitter.js +102 -0
- package/lib/cjs/events/EventEmitter.js.map +1 -0
- package/lib/cjs/index.d.ts +14 -0
- package/lib/cjs/index.js +48 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/interfaces/IGraphObject.d.ts +29 -0
- package/lib/cjs/interfaces/IGraphObject.js +3 -0
- package/lib/cjs/interfaces/IGraphObject.js.map +1 -0
- package/lib/cjs/interfaces/IGraphObjectSet.d.ts +24 -0
- package/lib/cjs/interfaces/IGraphObjectSet.js +3 -0
- package/lib/cjs/interfaces/IGraphObjectSet.js.map +1 -0
- package/lib/cjs/interfaces/IShape.d.ts +22 -0
- package/lib/cjs/interfaces/IShape.js +3 -0
- package/lib/cjs/interfaces/IShape.js.map +1 -0
- package/lib/cjs/interfaces/ISingleGraphObject.d.ts +3 -0
- package/lib/cjs/interfaces/ISingleGraphObject.js +3 -0
- package/lib/cjs/interfaces/ISingleGraphObject.js.map +1 -0
- package/lib/cjs/models.d.ts +1167 -0
- package/lib/cjs/models.js +2668 -0
- package/lib/cjs/models.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/cjs/utils/Debug.d.ts +3 -0
- package/lib/cjs/utils/Debug.js +46 -0
- package/lib/cjs/utils/Debug.js.map +1 -0
- package/lib/cjs/utils/LocalQueryResolver.d.ts +21 -0
- package/lib/cjs/utils/LocalQueryResolver.js +1442 -0
- package/lib/cjs/utils/LocalQueryResolver.js.map +1 -0
- package/lib/cjs/utils/URI.d.ts +18 -0
- package/lib/cjs/utils/URI.js +42 -0
- package/lib/cjs/utils/URI.js.map +1 -0
- package/lib/cjs/utils/toNamedNode.d.ts +8 -0
- package/lib/cjs/utils/toNamedNode.js +15 -0
- package/lib/cjs/utils/toNamedNode.js.map +1 -0
- package/lib/esm/Datafactory.d.ts +29 -0
- package/lib/esm/Datafactory.js +97 -0
- package/lib/esm/Datafactory.js.map +1 -0
- package/lib/esm/InMemoryStore.d.ts +35 -0
- package/lib/esm/InMemoryStore.js +94 -0
- package/lib/esm/InMemoryStore.js.map +1 -0
- package/lib/esm/collections/NodeMap.d.ts +35 -0
- package/lib/esm/collections/NodeMap.js +240 -0
- package/lib/esm/collections/NodeMap.js.map +1 -0
- package/lib/esm/collections/NodeSet.d.ts +55 -0
- package/lib/esm/collections/NodeSet.js +292 -0
- package/lib/esm/collections/NodeSet.js.map +1 -0
- package/lib/esm/collections/NodeURIMappings.d.ts +20 -0
- package/lib/esm/collections/NodeURIMappings.js +61 -0
- package/lib/esm/collections/NodeURIMappings.js.map +1 -0
- package/lib/esm/collections/NodeValuesSet.d.ts +63 -0
- package/lib/esm/collections/NodeValuesSet.js +96 -0
- package/lib/esm/collections/NodeValuesSet.js.map +1 -0
- package/lib/esm/collections/QuadArray.d.ts +17 -0
- package/lib/esm/collections/QuadArray.js +63 -0
- package/lib/esm/collections/QuadArray.js.map +1 -0
- package/lib/esm/collections/QuadMap.d.ts +64 -0
- package/lib/esm/collections/QuadMap.js +151 -0
- package/lib/esm/collections/QuadMap.js.map +1 -0
- package/lib/esm/collections/QuadSet.d.ts +22 -0
- package/lib/esm/collections/QuadSet.js +102 -0
- package/lib/esm/collections/QuadSet.js.map +1 -0
- package/lib/esm/collections/SearchMap.d.ts +5 -0
- package/lib/esm/collections/SearchMap.js +9 -0
- package/lib/esm/collections/SearchMap.js.map +1 -0
- package/lib/esm/events/EventBatcher.d.ts +20 -0
- package/lib/esm/events/EventBatcher.js +90 -0
- package/lib/esm/events/EventBatcher.js.map +1 -0
- package/lib/esm/events/EventEmitter.d.ts +15 -0
- package/lib/esm/events/EventEmitter.js +98 -0
- package/lib/esm/events/EventEmitter.js.map +1 -0
- package/lib/esm/index.d.ts +14 -0
- package/lib/esm/index.js +22 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/interfaces/IGraphObject.d.ts +29 -0
- package/lib/esm/interfaces/IGraphObject.js +2 -0
- package/lib/esm/interfaces/IGraphObject.js.map +1 -0
- package/lib/esm/interfaces/IGraphObjectSet.d.ts +24 -0
- package/lib/esm/interfaces/IGraphObjectSet.js +2 -0
- package/lib/esm/interfaces/IGraphObjectSet.js.map +1 -0
- package/lib/esm/interfaces/IShape.d.ts +22 -0
- package/lib/esm/interfaces/IShape.js +2 -0
- package/lib/esm/interfaces/IShape.js.map +1 -0
- package/lib/esm/interfaces/ISingleGraphObject.d.ts +3 -0
- package/lib/esm/interfaces/ISingleGraphObject.js +2 -0
- package/lib/esm/interfaces/ISingleGraphObject.js.map +1 -0
- package/lib/esm/models.d.ts +1167 -0
- package/lib/esm/models.js +2659 -0
- package/lib/esm/models.js.map +1 -0
- package/lib/esm/package.json +3 -0
- package/lib/esm/utils/Debug.d.ts +3 -0
- package/lib/esm/utils/Debug.js +42 -0
- package/lib/esm/utils/Debug.js.map +1 -0
- package/lib/esm/utils/LocalQueryResolver.d.ts +21 -0
- package/lib/esm/utils/LocalQueryResolver.js +1434 -0
- package/lib/esm/utils/LocalQueryResolver.js.map +1 -0
- package/lib/esm/utils/URI.d.ts +18 -0
- package/lib/esm/utils/URI.js +38 -0
- package/lib/esm/utils/URI.js.map +1 -0
- package/lib/esm/utils/toNamedNode.d.ts +8 -0
- package/lib/esm/utils/toNamedNode.js +12 -0
- package/lib/esm/utils/toNamedNode.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QuadSet = void 0;
|
|
4
|
+
const CoreSet_1 = require("@_linked/core/collections/CoreSet");
|
|
5
|
+
const NodeSet_js_1 = require("./NodeSet.js");
|
|
6
|
+
class QuadSet extends CoreSet_1.CoreSet {
|
|
7
|
+
removeAll(alteration = false) {
|
|
8
|
+
this.forEach((quad) => quad.remove(alteration));
|
|
9
|
+
}
|
|
10
|
+
moveTo(graph, alteration = true) {
|
|
11
|
+
let newSet = new QuadSet();
|
|
12
|
+
this.forEach((quad) => {
|
|
13
|
+
newSet.add(quad.moveToGraph(graph, alteration));
|
|
14
|
+
});
|
|
15
|
+
return newSet;
|
|
16
|
+
}
|
|
17
|
+
makeExplicit() {
|
|
18
|
+
this.forEach((quad) => quad.makeExplicit());
|
|
19
|
+
}
|
|
20
|
+
getSubjects() {
|
|
21
|
+
//return new NamedNodeSet(this.map(quad => quad.subject).values());
|
|
22
|
+
//that's short, but probably this is faster:
|
|
23
|
+
var res = new NodeSet_js_1.NodeSet();
|
|
24
|
+
for (var quad of this) {
|
|
25
|
+
res.add(quad.subject);
|
|
26
|
+
}
|
|
27
|
+
return res;
|
|
28
|
+
}
|
|
29
|
+
getPredicates() {
|
|
30
|
+
var res = new NodeSet_js_1.NodeSet();
|
|
31
|
+
for (var quad of this) {
|
|
32
|
+
res.add(quad.predicate);
|
|
33
|
+
}
|
|
34
|
+
return res;
|
|
35
|
+
}
|
|
36
|
+
getObjects() {
|
|
37
|
+
var res = new NodeSet_js_1.NodeSet();
|
|
38
|
+
for (var quad of this) {
|
|
39
|
+
res.add(quad.object);
|
|
40
|
+
}
|
|
41
|
+
return res;
|
|
42
|
+
}
|
|
43
|
+
getNamedNodeObjects() {
|
|
44
|
+
var res = new NodeSet_js_1.NodeSet();
|
|
45
|
+
for (var quad of this) {
|
|
46
|
+
//using instanceof NamedNode here will cause circular references
|
|
47
|
+
if ('uri' in quad.object) {
|
|
48
|
+
res.add(quad.object);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return res;
|
|
52
|
+
}
|
|
53
|
+
getLiteralObjects() {
|
|
54
|
+
var res = new NodeSet_js_1.NodeSet();
|
|
55
|
+
for (var quad of this) {
|
|
56
|
+
//using instanceof Literal here will cause circular references
|
|
57
|
+
if (!('uri' in quad.object)) {
|
|
58
|
+
res.add(quad.object);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return res;
|
|
62
|
+
}
|
|
63
|
+
getLike(subject, predicate, object) {
|
|
64
|
+
return this.filter((quad) => {
|
|
65
|
+
return ((!subject || quad.subject === subject) &&
|
|
66
|
+
(!predicate || quad.predicate === predicate) &&
|
|
67
|
+
(!object || quad.object === object));
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
getNamedNodes() {
|
|
71
|
+
return new NodeSet_js_1.NodeSet()
|
|
72
|
+
.concat(this.getSubjects())
|
|
73
|
+
.concat(this.getPredicates())
|
|
74
|
+
.concat(this.getNamedNodeObjects());
|
|
75
|
+
}
|
|
76
|
+
getNodes() {
|
|
77
|
+
return new NodeSet_js_1.NodeSet()
|
|
78
|
+
.concat(this.getSubjects())
|
|
79
|
+
.concat(this.getPredicates())
|
|
80
|
+
.concat(this.getObjects());
|
|
81
|
+
}
|
|
82
|
+
hasNode(node) {
|
|
83
|
+
return this.some((quad) => {
|
|
84
|
+
return (quad.subject === node || quad.predicate === node || quad.object === node);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
getExplicit() {
|
|
88
|
+
return this.filter((quad) => !quad.implicit);
|
|
89
|
+
}
|
|
90
|
+
getImplicit() {
|
|
91
|
+
return this.filter((quad) => quad.implicit);
|
|
92
|
+
}
|
|
93
|
+
turnOn() {
|
|
94
|
+
return this.forEach((t) => t.turnOn());
|
|
95
|
+
}
|
|
96
|
+
turnOff() {
|
|
97
|
+
return this.forEach((t) => t.turnOff());
|
|
98
|
+
}
|
|
99
|
+
toString() {
|
|
100
|
+
var str = '';
|
|
101
|
+
this.forEach((item) => (str += '\t' + item.toString() + '\n'));
|
|
102
|
+
return 'QuadSet(' + this.size + ') [\n' + str + ']';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.QuadSet = QuadSet;
|
|
106
|
+
//# sourceMappingURL=QuadSet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuadSet.js","sourceRoot":"","sources":["../../../src/collections/QuadSet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SearchMap = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
6
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
7
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
8
|
+
*/
|
|
9
|
+
const CoreMap_1 = require("@_linked/core/collections/CoreMap");
|
|
10
|
+
class SearchMap extends CoreMap_1.CoreMap {
|
|
11
|
+
}
|
|
12
|
+
exports.SearchMap = SearchMap;
|
|
13
|
+
//# sourceMappingURL=SearchMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchMap.js","sourceRoot":"","sources":["../../../src/collections/SearchMap.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,+DAA0D;AAI1D,MAAa,SAAU,SAAQ,iBAG9B;CAAG;AAHJ,8BAGI"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventEmitter } from 'eventemitter3';
|
|
2
|
+
import { CoreSet } from '@_linked/core/collections/CoreSet';
|
|
3
|
+
export interface BatchedEventEmitter {
|
|
4
|
+
emitBatchedEvents(resolve?: any, reject?: any): void;
|
|
5
|
+
}
|
|
6
|
+
export declare class EventBatcher extends EventEmitter {
|
|
7
|
+
static ALL_EVENTS_DISPATCHED: string;
|
|
8
|
+
emitters: CoreSet<BatchedEventEmitter>;
|
|
9
|
+
private batching;
|
|
10
|
+
private emitting;
|
|
11
|
+
get isBatching(): boolean;
|
|
12
|
+
hasBatchedEvents(filterFn?: (emitter: BatchedEventEmitter) => boolean): boolean;
|
|
13
|
+
getPendingEmitters(filterFn?: (emitter: BatchedEventEmitter) => boolean): CoreSet<BatchedEventEmitter>;
|
|
14
|
+
promiseDone(): Promise<unknown>;
|
|
15
|
+
dispatchBatchedEventsOnceReady(): void;
|
|
16
|
+
dispatchBatchedEvents(): void;
|
|
17
|
+
dispatchSomeEvents(filterEmitters: (emitter: BatchedEventEmitter) => boolean): boolean;
|
|
18
|
+
register(emitter: BatchedEventEmitter): void;
|
|
19
|
+
}
|
|
20
|
+
export declare const eventBatcher: EventBatcher;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.eventBatcher = exports.EventBatcher = void 0;
|
|
7
|
+
/*
|
|
8
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
9
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
10
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
11
|
+
*/
|
|
12
|
+
const next_tick_1 = __importDefault(require("next-tick"));
|
|
13
|
+
const eventemitter3_1 = require("eventemitter3");
|
|
14
|
+
const CoreSet_1 = require("@_linked/core/collections/CoreSet");
|
|
15
|
+
class EventBatcher extends eventemitter3_1.EventEmitter {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.emitters = new CoreSet_1.CoreSet();
|
|
19
|
+
this.batching = false;
|
|
20
|
+
}
|
|
21
|
+
get isBatching() {
|
|
22
|
+
return this.batching;
|
|
23
|
+
}
|
|
24
|
+
hasBatchedEvents(filterFn) {
|
|
25
|
+
if (filterFn && this.batching) {
|
|
26
|
+
return this.emitters.filter(filterFn).size > 0;
|
|
27
|
+
}
|
|
28
|
+
return this.batching;
|
|
29
|
+
}
|
|
30
|
+
getPendingEmitters(filterFn) {
|
|
31
|
+
if (filterFn && this.batching) {
|
|
32
|
+
return this.emitters.filter(filterFn);
|
|
33
|
+
}
|
|
34
|
+
return this.emitters;
|
|
35
|
+
}
|
|
36
|
+
promiseDone() {
|
|
37
|
+
if (this.emitters.size == 0) {
|
|
38
|
+
return Promise.resolve(true);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return new Promise((resolve, reject) => {
|
|
42
|
+
this.once(EventBatcher.ALL_EVENTS_DISPATCHED, () => {
|
|
43
|
+
resolve(true);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
dispatchBatchedEventsOnceReady() {
|
|
49
|
+
//if we're currently emitting events, then we dont want to do nextTick yet, because those who consume events may want to set nextTick first
|
|
50
|
+
if (this.emitting) {
|
|
51
|
+
//so once all is dispatched, then we dispatch again
|
|
52
|
+
this.once(EventBatcher.ALL_EVENTS_DISPATCHED, () => {
|
|
53
|
+
(0, next_tick_1.default)(this.dispatchBatchedEvents.bind(this));
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
//we're already not emitting, so on the next tick we can dispatch events
|
|
58
|
+
(0, next_tick_1.default)(this.dispatchBatchedEvents.bind(this));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
dispatchBatchedEvents() {
|
|
62
|
+
//reset things before emitting so that new events will be added to new stacks
|
|
63
|
+
var toEmit = this.emitters;
|
|
64
|
+
this.emitters = new CoreSet_1.CoreSet();
|
|
65
|
+
this.batching = false;
|
|
66
|
+
this.emitting = true;
|
|
67
|
+
//tell all emitters to dispatch
|
|
68
|
+
toEmit.forEach((emitter) => {
|
|
69
|
+
emitter.emitBatchedEvents();
|
|
70
|
+
});
|
|
71
|
+
this.emitting = false;
|
|
72
|
+
this.emit(EventBatcher.ALL_EVENTS_DISPATCHED);
|
|
73
|
+
}
|
|
74
|
+
dispatchSomeEvents(filterEmitters) {
|
|
75
|
+
//tell all emitters to dispatch
|
|
76
|
+
this.emitters.forEach((emitter) => {
|
|
77
|
+
if (filterEmitters(emitter)) {
|
|
78
|
+
emitter.emitBatchedEvents();
|
|
79
|
+
this.emitters.delete(emitter);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
this.batching = this.emitters.size > 0;
|
|
83
|
+
return this.batching;
|
|
84
|
+
}
|
|
85
|
+
register(emitter) {
|
|
86
|
+
//first time someone registers an event we will make sure to emit all batched events at the next tick
|
|
87
|
+
if (!this.batching) {
|
|
88
|
+
this.batching = true;
|
|
89
|
+
this.dispatchBatchedEventsOnceReady();
|
|
90
|
+
}
|
|
91
|
+
this.emitters.add(emitter);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.EventBatcher = EventBatcher;
|
|
95
|
+
EventBatcher.ALL_EVENTS_DISPATCHED = 'ALL_EVENTS_DISPATCHED';
|
|
96
|
+
exports.eventBatcher = new EventBatcher();
|
|
97
|
+
//# sourceMappingURL=EventBatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventBatcher.js","sourceRoot":"","sources":["../../../src/events/EventBatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EventEmitter as EventEmitter3 } from 'eventemitter3';
|
|
2
|
+
export declare class EventEmitter extends EventEmitter3 {
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
* @protected
|
|
6
|
+
*/
|
|
7
|
+
protected _events: any;
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
* @protected
|
|
11
|
+
*/
|
|
12
|
+
protected _eventsCount: number;
|
|
13
|
+
emitPromise(evt: string | symbol, a1?: any, a2?: any, a3?: any, a4?: any, a5?: any): Promise<any>;
|
|
14
|
+
removeListenerByContext(event: string | symbol, context?: any, once?: boolean): this;
|
|
15
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EventEmitter = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
6
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
7
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
8
|
+
*/
|
|
9
|
+
const eventemitter3_1 = require("eventemitter3");
|
|
10
|
+
var prefix = eventemitter3_1.EventEmitter['prefixed'];
|
|
11
|
+
class EventEmitter extends eventemitter3_1.EventEmitter {
|
|
12
|
+
emitPromise(evt, a1, a2, a3, a4, a5) {
|
|
13
|
+
//BASED ON eventemitter3 implementation of emit
|
|
14
|
+
//But I removed prefix functionality and listeners.fn
|
|
15
|
+
//And then added support for promises
|
|
16
|
+
if (!this._events[evt])
|
|
17
|
+
return Promise.resolve();
|
|
18
|
+
var listeners = this._events[evt], len = arguments.length, args, i;
|
|
19
|
+
if (listeners.fn) {
|
|
20
|
+
listeners = [listeners];
|
|
21
|
+
}
|
|
22
|
+
//ignored listeners.fn
|
|
23
|
+
var length = listeners.length, j;
|
|
24
|
+
let listenerPromises = [];
|
|
25
|
+
for (i = 0; i < length; i++) {
|
|
26
|
+
if (listeners[i].once)
|
|
27
|
+
this.removeListener(evt, listeners[i].fn, undefined, true);
|
|
28
|
+
switch (len) {
|
|
29
|
+
case 1:
|
|
30
|
+
listenerPromises.push(listeners[i].fn.call(listeners[i].context));
|
|
31
|
+
break;
|
|
32
|
+
case 2:
|
|
33
|
+
listenerPromises.push(listeners[i].fn.call(listeners[i].context, a1));
|
|
34
|
+
break;
|
|
35
|
+
case 3:
|
|
36
|
+
listenerPromises.push(listeners[i].fn.call(listeners[i].context, a1, a2));
|
|
37
|
+
break;
|
|
38
|
+
case 4:
|
|
39
|
+
listenerPromises.push(listeners[i].fn.call(listeners[i].context, a1, a2, a3));
|
|
40
|
+
break;
|
|
41
|
+
default:
|
|
42
|
+
if (!args)
|
|
43
|
+
for (j = 1, args = new Array(len - 1); j < len; j++) {
|
|
44
|
+
args[j - 1] = arguments[j];
|
|
45
|
+
}
|
|
46
|
+
listenerPromises.push(listeners[i].fn.apply(listeners[i].context, args));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return Promise.all(listenerPromises).catch(function (err) {
|
|
50
|
+
console.log('Error during emitPromise of event ' +
|
|
51
|
+
evt.toString() +
|
|
52
|
+
' with args ' +
|
|
53
|
+
JSON.stringify(arguments), err.toString());
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
removeListenerByContext(event, context, once) {
|
|
57
|
+
//copied from source and adjusted
|
|
58
|
+
var evt = prefix && typeof event === 'string' ? prefix + event : event;
|
|
59
|
+
if (!this._events[evt])
|
|
60
|
+
return this;
|
|
61
|
+
var listeners = this._events[evt];
|
|
62
|
+
//make a list of events to keep:
|
|
63
|
+
//if a single listener is registered
|
|
64
|
+
let eventsToKeep;
|
|
65
|
+
if (listeners.fn) {
|
|
66
|
+
//check if 'once' and 'context' match
|
|
67
|
+
if ((once && !listeners.fn.once) ||
|
|
68
|
+
(context && listeners.fn.context !== context)) {
|
|
69
|
+
//if not we keep it 'as is'
|
|
70
|
+
eventsToKeep = listeners;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else if (listeners) {
|
|
74
|
+
eventsToKeep = [];
|
|
75
|
+
//if there's an array of listeners, go over each
|
|
76
|
+
for (var i = 0, length = listeners.length; i < length; i++) {
|
|
77
|
+
//check if 'once' and 'context' match
|
|
78
|
+
if ((once && !listeners[i].once) ||
|
|
79
|
+
(context && listeners[i].context !== context)) {
|
|
80
|
+
//if not, keep this single listener
|
|
81
|
+
eventsToKeep.push(listeners[i]);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// update events and events count
|
|
86
|
+
if (eventsToKeep) {
|
|
87
|
+
//take the one event, or, if its an array, take the array, unless theres only one element left, then just use that directly
|
|
88
|
+
this._events[evt] = eventsToKeep.fn
|
|
89
|
+
? eventsToKeep
|
|
90
|
+
: eventsToKeep.length === 1
|
|
91
|
+
? eventsToKeep[0]
|
|
92
|
+
: eventsToKeep;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
--this._eventsCount;
|
|
96
|
+
delete this._events[evt];
|
|
97
|
+
}
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.EventEmitter = EventEmitter;
|
|
102
|
+
//# sourceMappingURL=EventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../src/events/EventEmitter.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,iDAA4D;AAE5D,IAAI,MAAM,GAAG,4BAAa,CAAC,UAAU,CAAC,CAAC;AAEvC,MAAa,YAAa,SAAQ,4BAAa;IAY7C,WAAW,CAAC,GAAoB,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG;QACvD,+CAA+C;QAC/C,qDAAqD;QACrD,qCAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAEjD,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAC/B,GAAG,GAAG,SAAS,CAAC,MAAM,EACtB,IAAI,EACJ,CAAC,CAAC;QAEJ,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;YACjB,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QACD,sBAAsB;QACtB,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,EAC3B,CAAC,CAAC;QAEJ,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnB,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE7D,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,CAAC;oBACJ,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,CAAC;oBACJ,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;oBACtE,MAAM;gBACR,KAAK,CAAC;oBACJ,gBAAgB,CAAC,IAAI,CACnB,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CACnD,CAAC;oBACF,MAAM;gBACR,KAAK,CAAC;oBACJ,gBAAgB,CAAC,IAAI,CACnB,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CACvD,CAAC;oBACF,MAAM;gBACR;oBACE,IAAI,CAAC,IAAI;wBACP,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;4BACpD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC7B,CAAC;oBAEH,gBAAgB,CAAC,IAAI,CACnB,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAClD,CAAC;YACN,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG;YACtD,OAAO,CAAC,GAAG,CACT,oCAAoC;gBAClC,GAAG,CAAC,QAAQ,EAAE;gBACd,aAAa;gBACb,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAC3B,GAAG,CAAC,QAAQ,EAAE,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CACrB,KAAsB,EACtB,OAAa,EACb,IAAc;QAEd,iCAAiC;QACjC,IAAI,GAAG,GAAG,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAEvE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAElC,gCAAgC;QAChC,oCAAoC;QACpC,IAAI,YAAY,CAAC;QAEjB,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;YACjB,qCAAqC;YACrC,IACE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;gBAC5B,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,EAC7C,CAAC;gBACD,2BAA2B;gBAC3B,YAAY,GAAG,SAAS,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,YAAY,GAAG,EAAE,CAAC;YAClB,gDAAgD;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3D,qCAAqC;gBACrC,IACE,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5B,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAC7C,CAAC;oBACD,mCAAmC;oBACnC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,YAAY,EAAE,CAAC;YACjB,2HAA2H;YAC3H,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,EAAE;gBACjC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;oBACzB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC,YAAY,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,EAAE,IAAI,CAAC,YAAY,CAAC;YACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAjID,oCAiIC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { NamedNode, BlankNode, Literal, Quad, Graph, defaultGraph, } from './models.js';
|
|
2
|
+
export { InMemoryStore } from './InMemoryStore.js';
|
|
3
|
+
export { resolveLocal, createLocal, updateLocal, deleteLocal, } from './utils/LocalQueryResolver.js';
|
|
4
|
+
export { QuadSet } from './collections/QuadSet.js';
|
|
5
|
+
export { QuadArray } from './collections/QuadArray.js';
|
|
6
|
+
export { QuadMap } from './collections/QuadMap.js';
|
|
7
|
+
export { NodeSet } from './collections/NodeSet.js';
|
|
8
|
+
export { NodeMap } from './collections/NodeMap.js';
|
|
9
|
+
export { NodeURIMappings } from './collections/NodeURIMappings.js';
|
|
10
|
+
export { SearchMap } from './collections/SearchMap.js';
|
|
11
|
+
export { NodeValuesSet } from './collections/NodeValuesSet.js';
|
|
12
|
+
export { Datafactory } from './Datafactory.js';
|
|
13
|
+
export { EventBatcher, eventBatcher } from './events/EventBatcher.js';
|
|
14
|
+
export { toNamedNode } from './utils/toNamedNode.js';
|
package/lib/cjs/index.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toNamedNode = exports.eventBatcher = exports.EventBatcher = exports.Datafactory = exports.NodeValuesSet = exports.SearchMap = exports.NodeURIMappings = exports.NodeMap = exports.NodeSet = exports.QuadMap = exports.QuadArray = exports.QuadSet = exports.deleteLocal = exports.updateLocal = exports.createLocal = exports.resolveLocal = exports.InMemoryStore = exports.defaultGraph = exports.Graph = exports.Quad = exports.Literal = exports.BlankNode = exports.NamedNode = void 0;
|
|
4
|
+
// RDF models
|
|
5
|
+
var models_js_1 = require("./models.js");
|
|
6
|
+
Object.defineProperty(exports, "NamedNode", { enumerable: true, get: function () { return models_js_1.NamedNode; } });
|
|
7
|
+
Object.defineProperty(exports, "BlankNode", { enumerable: true, get: function () { return models_js_1.BlankNode; } });
|
|
8
|
+
Object.defineProperty(exports, "Literal", { enumerable: true, get: function () { return models_js_1.Literal; } });
|
|
9
|
+
Object.defineProperty(exports, "Quad", { enumerable: true, get: function () { return models_js_1.Quad; } });
|
|
10
|
+
Object.defineProperty(exports, "Graph", { enumerable: true, get: function () { return models_js_1.Graph; } });
|
|
11
|
+
Object.defineProperty(exports, "defaultGraph", { enumerable: true, get: function () { return models_js_1.defaultGraph; } });
|
|
12
|
+
// InMemoryStore
|
|
13
|
+
var InMemoryStore_js_1 = require("./InMemoryStore.js");
|
|
14
|
+
Object.defineProperty(exports, "InMemoryStore", { enumerable: true, get: function () { return InMemoryStore_js_1.InMemoryStore; } });
|
|
15
|
+
// LocalQueryResolver
|
|
16
|
+
var LocalQueryResolver_js_1 = require("./utils/LocalQueryResolver.js");
|
|
17
|
+
Object.defineProperty(exports, "resolveLocal", { enumerable: true, get: function () { return LocalQueryResolver_js_1.resolveLocal; } });
|
|
18
|
+
Object.defineProperty(exports, "createLocal", { enumerable: true, get: function () { return LocalQueryResolver_js_1.createLocal; } });
|
|
19
|
+
Object.defineProperty(exports, "updateLocal", { enumerable: true, get: function () { return LocalQueryResolver_js_1.updateLocal; } });
|
|
20
|
+
Object.defineProperty(exports, "deleteLocal", { enumerable: true, get: function () { return LocalQueryResolver_js_1.deleteLocal; } });
|
|
21
|
+
// RDF collections
|
|
22
|
+
var QuadSet_js_1 = require("./collections/QuadSet.js");
|
|
23
|
+
Object.defineProperty(exports, "QuadSet", { enumerable: true, get: function () { return QuadSet_js_1.QuadSet; } });
|
|
24
|
+
var QuadArray_js_1 = require("./collections/QuadArray.js");
|
|
25
|
+
Object.defineProperty(exports, "QuadArray", { enumerable: true, get: function () { return QuadArray_js_1.QuadArray; } });
|
|
26
|
+
var QuadMap_js_1 = require("./collections/QuadMap.js");
|
|
27
|
+
Object.defineProperty(exports, "QuadMap", { enumerable: true, get: function () { return QuadMap_js_1.QuadMap; } });
|
|
28
|
+
var NodeSet_js_1 = require("./collections/NodeSet.js");
|
|
29
|
+
Object.defineProperty(exports, "NodeSet", { enumerable: true, get: function () { return NodeSet_js_1.NodeSet; } });
|
|
30
|
+
var NodeMap_js_1 = require("./collections/NodeMap.js");
|
|
31
|
+
Object.defineProperty(exports, "NodeMap", { enumerable: true, get: function () { return NodeMap_js_1.NodeMap; } });
|
|
32
|
+
var NodeURIMappings_js_1 = require("./collections/NodeURIMappings.js");
|
|
33
|
+
Object.defineProperty(exports, "NodeURIMappings", { enumerable: true, get: function () { return NodeURIMappings_js_1.NodeURIMappings; } });
|
|
34
|
+
var SearchMap_js_1 = require("./collections/SearchMap.js");
|
|
35
|
+
Object.defineProperty(exports, "SearchMap", { enumerable: true, get: function () { return SearchMap_js_1.SearchMap; } });
|
|
36
|
+
var NodeValuesSet_js_1 = require("./collections/NodeValuesSet.js");
|
|
37
|
+
Object.defineProperty(exports, "NodeValuesSet", { enumerable: true, get: function () { return NodeValuesSet_js_1.NodeValuesSet; } });
|
|
38
|
+
// Datafactory
|
|
39
|
+
var Datafactory_js_1 = require("./Datafactory.js");
|
|
40
|
+
Object.defineProperty(exports, "Datafactory", { enumerable: true, get: function () { return Datafactory_js_1.Datafactory; } });
|
|
41
|
+
// Events
|
|
42
|
+
var EventBatcher_js_1 = require("./events/EventBatcher.js");
|
|
43
|
+
Object.defineProperty(exports, "EventBatcher", { enumerable: true, get: function () { return EventBatcher_js_1.EventBatcher; } });
|
|
44
|
+
Object.defineProperty(exports, "eventBatcher", { enumerable: true, get: function () { return EventBatcher_js_1.eventBatcher; } });
|
|
45
|
+
// Helpers
|
|
46
|
+
var toNamedNode_js_1 = require("./utils/toNamedNode.js");
|
|
47
|
+
Object.defineProperty(exports, "toNamedNode", { enumerable: true, get: function () { return toNamedNode_js_1.toNamedNode; } });
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACb,yCAOqB;AANnB,sGAAA,SAAS,OAAA;AACT,sGAAA,SAAS,OAAA;AACT,oGAAA,OAAO,OAAA;AACP,iGAAA,IAAI,OAAA;AACJ,kGAAA,KAAK,OAAA;AACL,yGAAA,YAAY,OAAA;AAGd,gBAAgB;AAChB,uDAAiD;AAAzC,iHAAA,aAAa,OAAA;AAErB,qBAAqB;AACrB,uEAKuC;AAJrC,qHAAA,YAAY,OAAA;AACZ,oHAAA,WAAW,OAAA;AACX,oHAAA,WAAW,OAAA;AACX,oHAAA,WAAW,OAAA;AAGb,kBAAkB;AAClB,uDAAiD;AAAzC,qGAAA,OAAO,OAAA;AACf,2DAAqD;AAA7C,yGAAA,SAAS,OAAA;AACjB,uDAAiD;AAAzC,qGAAA,OAAO,OAAA;AACf,uDAAiD;AAAzC,qGAAA,OAAO,OAAA;AACf,uDAAiD;AAAzC,qGAAA,OAAO,OAAA;AACf,uEAAiE;AAAzD,qHAAA,eAAe,OAAA;AACvB,2DAAqD;AAA7C,yGAAA,SAAS,OAAA;AACjB,mEAA6D;AAArD,iHAAA,aAAa,OAAA;AAErB,cAAc;AACd,mDAA6C;AAArC,6GAAA,WAAW,OAAA;AAEnB,SAAS;AACT,4DAAoE;AAA5D,+GAAA,YAAY,OAAA;AAAE,+GAAA,YAAY,OAAA;AAElC,UAAU;AACV,yDAAmD;AAA3C,6GAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NamedNode, Node } from '../models.js';
|
|
2
|
+
import { NodeSet } from '../collections/NodeSet.js';
|
|
3
|
+
import { QuadSet } from '../collections/QuadSet.js';
|
|
4
|
+
import { QuadArray } from '../collections/QuadArray.js';
|
|
5
|
+
import { ICoreIterable } from '@_linked/core/interfaces/ICoreIterable';
|
|
6
|
+
export interface IGraphObject {
|
|
7
|
+
getProperties(includeFromIncomingArcs?: boolean, includeImplicitFacts?: boolean): NodeSet<NamedNode>;
|
|
8
|
+
getInverseProperties(): NodeSet<NamedNode>;
|
|
9
|
+
/**
|
|
10
|
+
* Returns the first property value, if any
|
|
11
|
+
* For sets, returns the first property value for the first node that has values for this property
|
|
12
|
+
* @param property
|
|
13
|
+
*/
|
|
14
|
+
getOne(property: NamedNode): Node | undefined;
|
|
15
|
+
getOneInverse(property: NamedNode): NamedNode | undefined;
|
|
16
|
+
getAll(property: NamedNode): NodeSet;
|
|
17
|
+
getAllInverse(property: NamedNode): NodeSet<NamedNode>;
|
|
18
|
+
getMultiple(properties: ICoreIterable<NamedNode>): NodeSet;
|
|
19
|
+
getMultipleInverse(properties: ICoreIterable<NamedNode>): NodeSet;
|
|
20
|
+
getDeep(property: NamedNode, maxDepth?: number, partialResult?: NodeSet): NodeSet;
|
|
21
|
+
getOneFromPath(...properties: NamedNode[]): Node | undefined;
|
|
22
|
+
getAllFromPath(...properties: NamedNode[]): NodeSet;
|
|
23
|
+
getQuads(property: NamedNode, value?: Node): QuadSet;
|
|
24
|
+
getInverseQuads(property: NamedNode): QuadSet;
|
|
25
|
+
getAllQuads(includeAsObject?: boolean, includeImplicit?: boolean): QuadArray;
|
|
26
|
+
getAllInverseQuads(includeImplicit?: boolean): QuadArray;
|
|
27
|
+
isLoaded(includingIncomingProperties?: boolean): boolean;
|
|
28
|
+
promiseLoaded(loadInverseProperties?: boolean): Promise<boolean>;
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IGraphObject.js","sourceRoot":"","sources":["../../../src/interfaces/IGraphObject.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NamedNode, Node } from '../models.js';
|
|
2
|
+
import { NodeSet } from '../collections/NodeSet.js';
|
|
3
|
+
import { QuadSet } from '../collections/QuadSet.js';
|
|
4
|
+
import { IGraphObject } from './IGraphObject.js';
|
|
5
|
+
import { ICoreIterable } from '@_linked/core/interfaces/ICoreIterable';
|
|
6
|
+
/**
|
|
7
|
+
* a set of objects that all have IGraphObject methods, and this set itself also has those methods so you can call them directly on the set instead of for each item
|
|
8
|
+
*/
|
|
9
|
+
export interface IGraphObjectSet<R extends IGraphObject> extends IGraphObject, ICoreIterable<R> {
|
|
10
|
+
getQuads(property: NamedNode): QuadSet;
|
|
11
|
+
getInverseQuads(property: NamedNode): QuadSet;
|
|
12
|
+
getAll(property: NamedNode): NodeSet;
|
|
13
|
+
getAllInverse(property: NamedNode): NodeSet<NamedNode>;
|
|
14
|
+
setEach(property: NamedNode, value: Node): boolean;
|
|
15
|
+
msetEach(property: NamedNode, values: ICoreIterable<Node>): boolean;
|
|
16
|
+
updateEach(property: NamedNode, value: Node): boolean;
|
|
17
|
+
mupdateEach(property: NamedNode, values: ICoreIterable<Node>): boolean;
|
|
18
|
+
unsetEach(property: NamedNode, value: Node): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Unset all values for the given property for each item in the set
|
|
21
|
+
* @param property
|
|
22
|
+
*/
|
|
23
|
+
unsetAllEach(property: NamedNode): boolean;
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IGraphObjectSet.js","sourceRoot":"","sources":["../../../src/interfaces/IGraphObjectSet.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IGraphObject } from './IGraphObject.js';
|
|
2
|
+
import { NamedNode, Node } from '../models.js';
|
|
3
|
+
import { ICoreIterable } from '@_linked/core/interfaces/ICoreIterable';
|
|
4
|
+
export interface IShape extends IGraphObject {
|
|
5
|
+
namedNode: NamedNode;
|
|
6
|
+
node: Node;
|
|
7
|
+
set(property: NamedNode, value: Node): boolean;
|
|
8
|
+
mset(property: NamedNode, values: ICoreIterable<Node>): boolean;
|
|
9
|
+
overwrite(property: NamedNode, value: Node): boolean;
|
|
10
|
+
moverwrite(property: NamedNode, values: ICoreIterable<Node>): boolean;
|
|
11
|
+
unset(property: NamedNode, value: Node): boolean;
|
|
12
|
+
unsetAll(property: NamedNode): boolean;
|
|
13
|
+
hasExact(property: NamedNode, value: Node): boolean;
|
|
14
|
+
has(property: NamedNode, value: Node): boolean;
|
|
15
|
+
hasProperty(property: NamedNode): boolean;
|
|
16
|
+
hasInverseProperty(property: NamedNode): boolean;
|
|
17
|
+
hasInverse(property: NamedNode, value: Node): boolean;
|
|
18
|
+
hasPath(properties: NamedNode[]): boolean;
|
|
19
|
+
hasPathTo(properties: NamedNode[], value?: Node): boolean;
|
|
20
|
+
hasPathToSomeInSet(properties: NamedNode[], endPoints?: ICoreIterable<Node>): boolean;
|
|
21
|
+
hasExplicit(property: NamedNode, value: Node): boolean;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IShape.js","sourceRoot":"","sources":["../../../src/interfaces/IShape.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ISingleGraphObject.js","sourceRoot":"","sources":["../../../src/interfaces/ISingleGraphObject.ts"],"names":[],"mappings":""}
|