@oslo-flanders/core 1.0.17 → 1.1.0

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.
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getPrefixes = void 0;
7
+ /* eslint-disable @typescript-eslint/consistent-type-assertions */
7
8
  const core_1 = require("@oslo-flanders/core");
8
9
  const node_fetch_1 = __importDefault(require("node-fetch"));
9
10
  const PREFIX_CC_URL = 'https://prefix.cc/context';
@@ -14,7 +15,7 @@ async function getPrefixes() {
14
15
  if (!response.ok) {
15
16
  throw new Error(`Failed to fetch prefixes: ${response.statusText}`);
16
17
  }
17
- const data = await response.json();
18
+ const data = (await response.json());
18
19
  if (data['@context']) {
19
20
  return data['@context'];
20
21
  }
@@ -35,4 +36,5 @@ async function getPrefixes() {
35
36
  }
36
37
  }
37
38
  exports.getPrefixes = getPrefixes;
39
+ /* eslint-enable @typescript-eslint/consistent-type-assertions */
38
40
  //# sourceMappingURL=prefixes.js.map
@@ -31,14 +31,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
31
31
  var __metadata = (this && this.__metadata) || function (k, v) {
32
32
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
33
  };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
34
  Object.defineProperty(exports, "__esModule", { value: true });
38
35
  exports.QuadStore = void 0;
39
36
  const inversify_1 = require("inversify");
40
37
  const N3 = __importStar(require("n3"));
41
- const rdf_parse_1 = __importDefault(require("rdf-parse"));
38
+ const rdf_parse_1 = require("rdf-parse");
42
39
  const fetchFileOrUrl_1 = require("../utils/fetchFileOrUrl");
43
40
  const namespaces_1 = require("../utils/namespaces");
44
41
  let QuadStore = class QuadStore {
@@ -61,7 +58,7 @@ let QuadStore = class QuadStore {
61
58
  const buffer = await (0, fetchFileOrUrl_1.fetchFileOrUrl)(file);
62
59
  const textStream = require('streamify-string')(buffer.toString());
63
60
  return new Promise((resolve, reject) => {
64
- rdf_parse_1.default
61
+ rdf_parse_1.rdfParser
65
62
  .parse(textStream, { path: file })
66
63
  .on('data', (quad) => this.store.addQuad(quad))
67
64
  .on('error', (error) => reject(error))
@@ -1,2 +1,3 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  export declare function fetchFileOrUrl(file: string): Promise<Buffer>;
@@ -117,12 +117,12 @@ function createList(items, store, df) {
117
117
  }
118
118
  exports.createList = createList;
119
119
  function findAllAttributes(subject, attributeIds, store, logger, visited = new Set()) {
120
+ let parentIds = store.findObjects(subject, namespaces_1.ns.rdfs('subClassOf'));
120
121
  if (visited.has(subject.value)) {
121
122
  logger.warn(`[QuadStore]: Circular reference detected for ${subject.value}`);
122
123
  return attributeIds;
123
124
  }
124
125
  visited.add(subject.value);
125
- let parentIds = store.findObjects(subject, namespaces_1.ns.rdfs('subClassOf'));
126
126
  // Merge all referenced dummy parents with the real one based on assigned URI
127
127
  let additionalParentIds = [];
128
128
  for (const parentId of parentIds) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oslo-flanders/core",
3
- "version": "1.0.17",
3
+ "version": "1.1.0",
4
4
  "description": "Core interfaces and utilities",
5
5
  "author": "Digitaal Vlaanderen <https://data.vlaanderen.be/id/organisatie/OVO002949>",
6
6
  "homepage": "https://github.com/informatievlaanderen/OSLO-UML-Transformer/tree/main/packages/oslo-core#readme",
@@ -32,17 +32,17 @@
32
32
  "dependencies": {
33
33
  "crypto-js": "^4.1.1",
34
34
  "inversify": "^6.0.1",
35
- "n3": "^1.16.2",
36
- "rdf-data-factory": "^1.1.1",
37
- "rdf-parse": "^2.1.1",
38
- "reflect-metadata": "^0.1.13",
35
+ "n3": "^2.0.0",
39
36
  "node-fetch": "^2.6.7",
37
+ "rdf-data-factory": "^2.0.0",
38
+ "rdf-parse": "^5.0.0",
39
+ "reflect-metadata": "^0.2.1",
40
40
  "streamify-string": "^1.0.1",
41
41
  "winston": "^3.8.2",
42
42
  "winston-transport": "^4.5.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@rdfjs/types": "^1.1.0",
45
+ "@rdfjs/types": "^2.0.0",
46
46
  "@types/crypto-js": "^4.1.1",
47
47
  "@types/n3": "^1.10.4",
48
48
  "@types/node-fetch": "^2.6.2",
@@ -1,6 +0,0 @@
1
- export interface SplittedUri {
2
- prefix: string;
3
- uri: string;
4
- element: string;
5
- }
6
- export declare function splitUri(uri: string): Promise<SplittedUri | undefined>;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.splitUri = void 0;
4
- const prefixes_1 = require("../constants/prefixes");
5
- async function splitUri(uri) {
6
- /* Extract prefix and element by finding the last occurrence of # or / */
7
- const hashIndex = uri.lastIndexOf('#');
8
- const slashIndex = uri.lastIndexOf('/');
9
- const splitIndex = Math.max(hashIndex, slashIndex);
10
- if (splitIndex > 0) {
11
- const prefixUri = uri.slice(0, Math.max(0, splitIndex + 1));
12
- const element = uri.replace(prefixUri, '');
13
- const prefixes = await (0, prefixes_1.getPrefixes)();
14
- let prefixLabel;
15
- for (const [label, puri] of Object.entries(prefixes)) {
16
- if (puri === prefixUri) {
17
- prefixLabel = label;
18
- break;
19
- }
20
- }
21
- /* No known prefix found for URI */
22
- if (!prefixLabel) {
23
- return undefined;
24
- }
25
- return {
26
- prefix: prefixLabel,
27
- uri: prefixUri,
28
- element,
29
- };
30
- }
31
- /* Splitting failed */
32
- return undefined;
33
- }
34
- exports.splitUri = splitUri;
35
- //# sourceMappingURL=splitUri.js.map
@@ -1,8 +0,0 @@
1
- import type * as RDF from '@rdfjs/types';
2
- /**
3
- * Sort function used on an array of quads. First sorts named nodes alphabetically, then blank nodes alphabetically.
4
- * @param quadA An RDF.Quad
5
- * @param quadB An RDF.Quad
6
- * @returns a number
7
- */
8
- export declare const quadSort: (quadA: RDF.Quad, quadB: RDF.Quad) => number;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.quadSort = void 0;
4
- /**
5
- * Sort function used on an array of quads. First sorts named nodes alphabetically, then blank nodes alphabetically.
6
- * @param quadA An RDF.Quad
7
- * @param quadB An RDF.Quad
8
- * @returns a number
9
- */
10
- const quadSort = (quadA, quadB) => {
11
- if (quadA.subject.termType === quadB.subject.termType) {
12
- return quadA.subject.value.localeCompare(quadB.subject.value);
13
- }
14
- return quadA.subject.termType === 'BlankNode' ? 1 : -1;
15
- };
16
- exports.quadSort = quadSort;
17
- //# sourceMappingURL=quadSort.js.map