@_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.
Files changed (137) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +285 -0
  3. package/lib/cjs/Datafactory.d.ts +29 -0
  4. package/lib/cjs/Datafactory.js +101 -0
  5. package/lib/cjs/Datafactory.js.map +1 -0
  6. package/lib/cjs/InMemoryStore.d.ts +35 -0
  7. package/lib/cjs/InMemoryStore.js +98 -0
  8. package/lib/cjs/InMemoryStore.js.map +1 -0
  9. package/lib/cjs/collections/NodeMap.d.ts +35 -0
  10. package/lib/cjs/collections/NodeMap.js +244 -0
  11. package/lib/cjs/collections/NodeMap.js.map +1 -0
  12. package/lib/cjs/collections/NodeSet.d.ts +55 -0
  13. package/lib/cjs/collections/NodeSet.js +296 -0
  14. package/lib/cjs/collections/NodeSet.js.map +1 -0
  15. package/lib/cjs/collections/NodeURIMappings.d.ts +20 -0
  16. package/lib/cjs/collections/NodeURIMappings.js +65 -0
  17. package/lib/cjs/collections/NodeURIMappings.js.map +1 -0
  18. package/lib/cjs/collections/NodeValuesSet.d.ts +63 -0
  19. package/lib/cjs/collections/NodeValuesSet.js +100 -0
  20. package/lib/cjs/collections/NodeValuesSet.js.map +1 -0
  21. package/lib/cjs/collections/QuadArray.d.ts +17 -0
  22. package/lib/cjs/collections/QuadArray.js +67 -0
  23. package/lib/cjs/collections/QuadArray.js.map +1 -0
  24. package/lib/cjs/collections/QuadMap.d.ts +64 -0
  25. package/lib/cjs/collections/QuadMap.js +155 -0
  26. package/lib/cjs/collections/QuadMap.js.map +1 -0
  27. package/lib/cjs/collections/QuadSet.d.ts +22 -0
  28. package/lib/cjs/collections/QuadSet.js +106 -0
  29. package/lib/cjs/collections/QuadSet.js.map +1 -0
  30. package/lib/cjs/collections/SearchMap.d.ts +5 -0
  31. package/lib/cjs/collections/SearchMap.js +13 -0
  32. package/lib/cjs/collections/SearchMap.js.map +1 -0
  33. package/lib/cjs/events/EventBatcher.d.ts +20 -0
  34. package/lib/cjs/events/EventBatcher.js +97 -0
  35. package/lib/cjs/events/EventBatcher.js.map +1 -0
  36. package/lib/cjs/events/EventEmitter.d.ts +15 -0
  37. package/lib/cjs/events/EventEmitter.js +102 -0
  38. package/lib/cjs/events/EventEmitter.js.map +1 -0
  39. package/lib/cjs/index.d.ts +14 -0
  40. package/lib/cjs/index.js +48 -0
  41. package/lib/cjs/index.js.map +1 -0
  42. package/lib/cjs/interfaces/IGraphObject.d.ts +29 -0
  43. package/lib/cjs/interfaces/IGraphObject.js +3 -0
  44. package/lib/cjs/interfaces/IGraphObject.js.map +1 -0
  45. package/lib/cjs/interfaces/IGraphObjectSet.d.ts +24 -0
  46. package/lib/cjs/interfaces/IGraphObjectSet.js +3 -0
  47. package/lib/cjs/interfaces/IGraphObjectSet.js.map +1 -0
  48. package/lib/cjs/interfaces/IShape.d.ts +22 -0
  49. package/lib/cjs/interfaces/IShape.js +3 -0
  50. package/lib/cjs/interfaces/IShape.js.map +1 -0
  51. package/lib/cjs/interfaces/ISingleGraphObject.d.ts +3 -0
  52. package/lib/cjs/interfaces/ISingleGraphObject.js +3 -0
  53. package/lib/cjs/interfaces/ISingleGraphObject.js.map +1 -0
  54. package/lib/cjs/models.d.ts +1167 -0
  55. package/lib/cjs/models.js +2668 -0
  56. package/lib/cjs/models.js.map +1 -0
  57. package/lib/cjs/package.json +3 -0
  58. package/lib/cjs/utils/Debug.d.ts +3 -0
  59. package/lib/cjs/utils/Debug.js +46 -0
  60. package/lib/cjs/utils/Debug.js.map +1 -0
  61. package/lib/cjs/utils/LocalQueryResolver.d.ts +21 -0
  62. package/lib/cjs/utils/LocalQueryResolver.js +1442 -0
  63. package/lib/cjs/utils/LocalQueryResolver.js.map +1 -0
  64. package/lib/cjs/utils/URI.d.ts +18 -0
  65. package/lib/cjs/utils/URI.js +42 -0
  66. package/lib/cjs/utils/URI.js.map +1 -0
  67. package/lib/cjs/utils/toNamedNode.d.ts +8 -0
  68. package/lib/cjs/utils/toNamedNode.js +15 -0
  69. package/lib/cjs/utils/toNamedNode.js.map +1 -0
  70. package/lib/esm/Datafactory.d.ts +29 -0
  71. package/lib/esm/Datafactory.js +97 -0
  72. package/lib/esm/Datafactory.js.map +1 -0
  73. package/lib/esm/InMemoryStore.d.ts +35 -0
  74. package/lib/esm/InMemoryStore.js +94 -0
  75. package/lib/esm/InMemoryStore.js.map +1 -0
  76. package/lib/esm/collections/NodeMap.d.ts +35 -0
  77. package/lib/esm/collections/NodeMap.js +240 -0
  78. package/lib/esm/collections/NodeMap.js.map +1 -0
  79. package/lib/esm/collections/NodeSet.d.ts +55 -0
  80. package/lib/esm/collections/NodeSet.js +292 -0
  81. package/lib/esm/collections/NodeSet.js.map +1 -0
  82. package/lib/esm/collections/NodeURIMappings.d.ts +20 -0
  83. package/lib/esm/collections/NodeURIMappings.js +61 -0
  84. package/lib/esm/collections/NodeURIMappings.js.map +1 -0
  85. package/lib/esm/collections/NodeValuesSet.d.ts +63 -0
  86. package/lib/esm/collections/NodeValuesSet.js +96 -0
  87. package/lib/esm/collections/NodeValuesSet.js.map +1 -0
  88. package/lib/esm/collections/QuadArray.d.ts +17 -0
  89. package/lib/esm/collections/QuadArray.js +63 -0
  90. package/lib/esm/collections/QuadArray.js.map +1 -0
  91. package/lib/esm/collections/QuadMap.d.ts +64 -0
  92. package/lib/esm/collections/QuadMap.js +151 -0
  93. package/lib/esm/collections/QuadMap.js.map +1 -0
  94. package/lib/esm/collections/QuadSet.d.ts +22 -0
  95. package/lib/esm/collections/QuadSet.js +102 -0
  96. package/lib/esm/collections/QuadSet.js.map +1 -0
  97. package/lib/esm/collections/SearchMap.d.ts +5 -0
  98. package/lib/esm/collections/SearchMap.js +9 -0
  99. package/lib/esm/collections/SearchMap.js.map +1 -0
  100. package/lib/esm/events/EventBatcher.d.ts +20 -0
  101. package/lib/esm/events/EventBatcher.js +90 -0
  102. package/lib/esm/events/EventBatcher.js.map +1 -0
  103. package/lib/esm/events/EventEmitter.d.ts +15 -0
  104. package/lib/esm/events/EventEmitter.js +98 -0
  105. package/lib/esm/events/EventEmitter.js.map +1 -0
  106. package/lib/esm/index.d.ts +14 -0
  107. package/lib/esm/index.js +22 -0
  108. package/lib/esm/index.js.map +1 -0
  109. package/lib/esm/interfaces/IGraphObject.d.ts +29 -0
  110. package/lib/esm/interfaces/IGraphObject.js +2 -0
  111. package/lib/esm/interfaces/IGraphObject.js.map +1 -0
  112. package/lib/esm/interfaces/IGraphObjectSet.d.ts +24 -0
  113. package/lib/esm/interfaces/IGraphObjectSet.js +2 -0
  114. package/lib/esm/interfaces/IGraphObjectSet.js.map +1 -0
  115. package/lib/esm/interfaces/IShape.d.ts +22 -0
  116. package/lib/esm/interfaces/IShape.js +2 -0
  117. package/lib/esm/interfaces/IShape.js.map +1 -0
  118. package/lib/esm/interfaces/ISingleGraphObject.d.ts +3 -0
  119. package/lib/esm/interfaces/ISingleGraphObject.js +2 -0
  120. package/lib/esm/interfaces/ISingleGraphObject.js.map +1 -0
  121. package/lib/esm/models.d.ts +1167 -0
  122. package/lib/esm/models.js +2659 -0
  123. package/lib/esm/models.js.map +1 -0
  124. package/lib/esm/package.json +3 -0
  125. package/lib/esm/utils/Debug.d.ts +3 -0
  126. package/lib/esm/utils/Debug.js +42 -0
  127. package/lib/esm/utils/Debug.js.map +1 -0
  128. package/lib/esm/utils/LocalQueryResolver.d.ts +21 -0
  129. package/lib/esm/utils/LocalQueryResolver.js +1434 -0
  130. package/lib/esm/utils/LocalQueryResolver.js.map +1 -0
  131. package/lib/esm/utils/URI.d.ts +18 -0
  132. package/lib/esm/utils/URI.js +38 -0
  133. package/lib/esm/utils/URI.js.map +1 -0
  134. package/lib/esm/utils/toNamedNode.d.ts +8 -0
  135. package/lib/esm/utils/toNamedNode.js +12 -0
  136. package/lib/esm/utils/toNamedNode.js.map +1 -0
  137. 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,5 @@
1
+ import { CoreMap } from '@_linked/core/collections/CoreMap';
2
+ import { NamedNode } from '../models.js';
3
+ import { NodeSet } from './NodeSet.js';
4
+ export declare class SearchMap extends CoreMap<NamedNode | NodeSet<NamedNode> | '*', string | NamedNode> {
5
+ }
@@ -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":"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"}
@@ -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';
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IGraphObject.js.map
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IGraphObjectSet.js.map
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IShape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IShape.js","sourceRoot":"","sources":["../../../src/interfaces/IShape.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { IShape } from './IShape.js';
2
+ import { Node } from '../models.js';
3
+ export type ISingleGraphObject = Node | IShape;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ISingleGraphObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ISingleGraphObject.js","sourceRoot":"","sources":["../../../src/interfaces/ISingleGraphObject.ts"],"names":[],"mappings":""}