@kgdiff/formats 0.0.0-stage → 0.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.
- package/LICENSE +21 -0
- package/README.md +68 -2
- package/dist/detect.d.ts +47 -0
- package/dist/detect.d.ts.map +1 -0
- package/dist/detect.js +425 -0
- package/dist/detect.js.map +1 -0
- package/dist/index.d.ts +203 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +114 -0
- package/dist/index.js.map +1 -0
- package/dist/iri.d.ts +13 -0
- package/dist/iri.d.ts.map +1 -0
- package/dist/iri.js +91 -0
- package/dist/iri.js.map +1 -0
- package/dist/json.d.ts +30 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +749 -0
- package/dist/json.js.map +1 -0
- package/dist/jsonld.d.ts +16 -0
- package/dist/jsonld.d.ts.map +1 -0
- package/dist/jsonld.js +1249 -0
- package/dist/jsonld.js.map +1 -0
- package/dist/obo.d.ts +25 -0
- package/dist/obo.d.ts.map +1 -0
- package/dist/obo.js +478 -0
- package/dist/obo.js.map +1 -0
- package/dist/prefixes.d.ts +49 -0
- package/dist/prefixes.d.ts.map +1 -0
- package/dist/prefixes.js +177 -0
- package/dist/prefixes.js.map +1 -0
- package/dist/rdf.d.ts +46 -0
- package/dist/rdf.d.ts.map +1 -0
- package/dist/rdf.js +1047 -0
- package/dist/rdf.js.map +1 -0
- package/dist/rdfxml.d.ts +8 -0
- package/dist/rdfxml.d.ts.map +1 -0
- package/dist/rdfxml.js +529 -0
- package/dist/rdfxml.js.map +1 -0
- package/dist/shared.d.ts +117 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +355 -0
- package/dist/shared.js.map +1 -0
- package/dist/xml.d.ts +50 -0
- package/dist/xml.d.ts.map +1 -0
- package/dist/xml.js +508 -0
- package/dist/xml.js.map +1 -0
- package/package.json +55 -3
- package/src/detect.ts +435 -0
- package/src/index.ts +296 -0
- package/src/iri.ts +86 -0
- package/src/json.ts +835 -0
- package/src/jsonld.ts +1376 -0
- package/src/obo.ts +557 -0
- package/src/prefixes.ts +195 -0
- package/src/rdf.ts +1181 -0
- package/src/rdfxml.ts +633 -0
- package/src/shared.ts +408 -0
- package/src/xml.ts +550 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rdfxml.js","sourceRoot":"","sources":["../src/rdfxml.ts"],"names":[],"mappings":"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"}
|
package/dist/shared.d.ts
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers shared by every parser: deterministic ordering, attribute bags, node / edge
|
|
3
|
+
* builders, hashing and error construction. Nothing here knows about a concrete format.
|
|
4
|
+
*/
|
|
5
|
+
import type { Attrs, AttrValue, EdgeInput, GraphMeta, NodeInput, Point } from '@kgdiff/core';
|
|
6
|
+
import { KgdiffError } from '@kgdiff/core';
|
|
7
|
+
import type { ParseWarning, ParseWarningCode } from './index.js';
|
|
8
|
+
/** UTF-16 code unit order: locale-independent and identical in every runtime. */
|
|
9
|
+
export declare function compareStrings(a: string, b: string): number;
|
|
10
|
+
/** `true` for plain JSON objects (not arrays, not null). */
|
|
11
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
12
|
+
/**
|
|
13
|
+
* Sets an own, enumerable property. Plain assignment of `__proto__` would replace the
|
|
14
|
+
* prototype instead, silently dropping a legitimate data key (JSON allows it).
|
|
15
|
+
*/
|
|
16
|
+
export declare function setOwn<T>(target: Record<string, T>, key: string, value: T): void;
|
|
17
|
+
/** Own property value, ignoring anything inherited from `Object.prototype` (`constructor`, …). */
|
|
18
|
+
export declare function getOwn<T>(source: Readonly<Record<string, T>>, key: string): T | undefined;
|
|
19
|
+
/** Deepest nesting of arrays / objects accepted in attribute values. */
|
|
20
|
+
export declare const MAX_NESTING = 1000;
|
|
21
|
+
/**
|
|
22
|
+
* Converts a parsed JSON value into an `AttrValue`, sorting object keys recursively. Throws
|
|
23
|
+
* `KgdiffError('invalid-input')` for values nested deeper than `MAX_NESTING`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function toAttrValue(value: unknown, depth?: number): AttrValue | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Collects attribute values per key. `build` sorts keys, de-duplicates values and turns a
|
|
28
|
+
* single value into a scalar (multi-values become a sorted array), unless the key is listed
|
|
29
|
+
* as always-array.
|
|
30
|
+
*/
|
|
31
|
+
export declare class AttrBag {
|
|
32
|
+
private readonly values;
|
|
33
|
+
add(key: string, value: AttrValue): void;
|
|
34
|
+
/** Replaces every value collected for `key`. */
|
|
35
|
+
set(key: string, value: AttrValue): void;
|
|
36
|
+
has(key: string): boolean;
|
|
37
|
+
build(alwaysArray?: ReadonlySet<string>): Attrs | undefined;
|
|
38
|
+
}
|
|
39
|
+
/** Mutable accumulator for one node; `build` emits a `NodeInput` without empty fields. */
|
|
40
|
+
export declare class NodeBuilder {
|
|
41
|
+
readonly id: string;
|
|
42
|
+
label: string | undefined;
|
|
43
|
+
readonly types: Set<string>;
|
|
44
|
+
readonly aliases: Set<string>;
|
|
45
|
+
readonly attrs: AttrBag;
|
|
46
|
+
deprecated: boolean;
|
|
47
|
+
readonly replaces: Set<string>;
|
|
48
|
+
readonly replacedBy: Set<string>;
|
|
49
|
+
constructor(id: string);
|
|
50
|
+
build(alwaysArray?: ReadonlySet<string>): NodeInput;
|
|
51
|
+
}
|
|
52
|
+
interface NodeFields {
|
|
53
|
+
readonly id: string;
|
|
54
|
+
readonly label?: string | undefined;
|
|
55
|
+
readonly types?: Iterable<string>;
|
|
56
|
+
readonly aliases?: Iterable<string>;
|
|
57
|
+
readonly attrs?: Attrs | undefined;
|
|
58
|
+
readonly deprecated?: boolean;
|
|
59
|
+
readonly replaces?: Iterable<string>;
|
|
60
|
+
readonly replacedBy?: Iterable<string>;
|
|
61
|
+
readonly position?: Point | undefined;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Builds a `NodeInput` with a fixed key order and no empty fields: one type becomes a string,
|
|
65
|
+
* several a sorted array; aliases are sorted and never repeat the label; `deprecated` only
|
|
66
|
+
* appears when true.
|
|
67
|
+
*/
|
|
68
|
+
export declare function makeNode(fields: NodeFields): NodeInput;
|
|
69
|
+
export interface EdgeFields {
|
|
70
|
+
readonly id?: string | undefined;
|
|
71
|
+
readonly source: string;
|
|
72
|
+
readonly target: string;
|
|
73
|
+
readonly predicate?: string | undefined;
|
|
74
|
+
readonly label?: string | undefined;
|
|
75
|
+
readonly attrs?: Attrs | undefined;
|
|
76
|
+
}
|
|
77
|
+
/** Builds an `EdgeInput` with a fixed key order and no empty fields. */
|
|
78
|
+
export declare function makeEdge(fields: EdgeFields): EdgeInput;
|
|
79
|
+
/** Nodes sorted by id (ties, i.e. duplicate ids, by their canonical JSON). */
|
|
80
|
+
export declare function sortNodes(nodes: NodeInput[]): NodeInput[];
|
|
81
|
+
/** Edges sorted by (source, predicate, target, id, label, attrs). */
|
|
82
|
+
export declare function sortEdges(edges: EdgeInput[]): EdgeInput[];
|
|
83
|
+
/** Meta with keys sorted and empty values dropped; `undefined` when nothing is left. */
|
|
84
|
+
export declare function makeMeta(meta: Record<string, unknown>): GraphMeta | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* 53-bit string hash (cyrb53), as 14 hex digits. Not cryptographic; used for content-addressed
|
|
87
|
+
* blank node ids where a collision would need ~10^8 distinct blank nodes to become likely.
|
|
88
|
+
*/
|
|
89
|
+
export declare function hash53(text: string): string;
|
|
90
|
+
/** Collects warnings; counted warnings are reported once with their total. */
|
|
91
|
+
export declare class Warnings {
|
|
92
|
+
private readonly list;
|
|
93
|
+
private readonly counts;
|
|
94
|
+
add(code: ParseWarningCode, message: string, line?: number): void;
|
|
95
|
+
/** Counts an occurrence; `finish` emits one warning per code with `message(total)`. */
|
|
96
|
+
count(code: ParseWarningCode, message: (count: number) => string, by?: number): void;
|
|
97
|
+
finish(): ParseWarning[];
|
|
98
|
+
}
|
|
99
|
+
export declare const plural: (count: number, word: string, many?: string) => string;
|
|
100
|
+
/** A `KgdiffError('invalid-input')`; `line` (1-based) is appended to the message and details. */
|
|
101
|
+
export declare function invalidInput(message: string, details?: Readonly<Record<string, unknown>>): KgdiffError;
|
|
102
|
+
/** 1-based line and column of a UTF-16 offset. */
|
|
103
|
+
export declare function lineAndColumn(text: string, offset: number): {
|
|
104
|
+
line: number;
|
|
105
|
+
column: number;
|
|
106
|
+
};
|
|
107
|
+
export declare function stripBom(text: string): string;
|
|
108
|
+
/** Exhaustiveness guard for `switch` statements. */
|
|
109
|
+
export declare function assertNever(value: never): never;
|
|
110
|
+
/**
|
|
111
|
+
* JSON value of a literal with an XSD datatype (`xsdType` is the local name, e.g. `integer`):
|
|
112
|
+
* numeric types become numbers (integers only when safe), `boolean` becomes a boolean, and
|
|
113
|
+
* everything else — including lexical forms that do not parse — stays the lexical string.
|
|
114
|
+
*/
|
|
115
|
+
export declare function typedValue(lexical: string, xsdType: string | undefined): AttrValue;
|
|
116
|
+
export {};
|
|
117
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE3D;AAOD,4DAA4D;AAC5D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAShF;AAED,kGAAkG;AAClG,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAEzF;AAID,wEAAwE;AACxE,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,SAAS,GAAG,SAAS,CAsB5E;AAqCD;;;;GAIG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IAEzD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAIvC;IAED,gDAAgD;IAChD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAEvC;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAExB;IAED,KAAK,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,SAAS,CAa1D;CACF;AAID,0FAA0F;AAC1F,qBAAa,WAAW;IASV,QAAQ,CAAC,EAAE,EAAE,MAAM;IAR/B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,KAAK,cAAqB;IACnC,QAAQ,CAAC,OAAO,cAAqB;IACrC,QAAQ,CAAC,KAAK,UAAiB;IAC/B,UAAU,UAAS;IACnB,QAAQ,CAAC,QAAQ,cAAqB;IACtC,QAAQ,CAAC,UAAU,cAAqB;IAExC,YAAqB,EAAE,EAAE,MAAM,EAAI;IAEnC,KAAK,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAWlD;CACF;AAED,UAAU,UAAU;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAuBtD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CACpC;AAED,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAatD;AAID,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAIzD;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAUzD;AAED,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,CAO7E;AAID;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAe3C;AAID,8EAA8E;AAC9E,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGnB;IAEJ,GAAG,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAEhE;IAED,uFAAuF;IACvF,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,EAAE,SAAI,GAAG,IAAI,CAI9E;IAED,MAAM,IAAI,YAAY,EAAE,CAKvB;CACF;AAED,eAAO,MAAM,MAAM,UAAW,MAAM,QAAQ,MAAM,oBAAsB,MAC/B,CAAC;AAE1C,iGAAiG;AACjG,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM,GAC9C,WAAW,CAEb;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAW5F;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,oDAAoD;AACpD,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAE/C;AAuBD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAkBlF"}
|
package/dist/shared.js
ADDED
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
import { KgdiffError } from '@kgdiff/core';
|
|
2
|
+
/** UTF-16 code unit order: locale-independent and identical in every runtime. */
|
|
3
|
+
export function compareStrings(a, b) {
|
|
4
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
5
|
+
}
|
|
6
|
+
/** Sorted, de-duplicated copy of `values` (code unit order). */
|
|
7
|
+
function sortedUnique(values) {
|
|
8
|
+
return [...new Set(values)].sort(compareStrings);
|
|
9
|
+
}
|
|
10
|
+
/** `true` for plain JSON objects (not arrays, not null). */
|
|
11
|
+
export function isRecord(value) {
|
|
12
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Sets an own, enumerable property. Plain assignment of `__proto__` would replace the
|
|
16
|
+
* prototype instead, silently dropping a legitimate data key (JSON allows it).
|
|
17
|
+
*/
|
|
18
|
+
export function setOwn(target, key, value) {
|
|
19
|
+
if (key === '__proto__') {
|
|
20
|
+
Object.defineProperty(target, key, {
|
|
21
|
+
value,
|
|
22
|
+
enumerable: true,
|
|
23
|
+
writable: true,
|
|
24
|
+
configurable: true,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else
|
|
28
|
+
target[key] = value;
|
|
29
|
+
}
|
|
30
|
+
/** Own property value, ignoring anything inherited from `Object.prototype` (`constructor`, …). */
|
|
31
|
+
export function getOwn(source, key) {
|
|
32
|
+
return Object.hasOwn(source, key) ? source[key] : undefined;
|
|
33
|
+
}
|
|
34
|
+
// ─── Attribute values ───────────────────────────────────────────────────────
|
|
35
|
+
/** Deepest nesting of arrays / objects accepted in attribute values. */
|
|
36
|
+
export const MAX_NESTING = 1000;
|
|
37
|
+
/**
|
|
38
|
+
* Converts a parsed JSON value into an `AttrValue`, sorting object keys recursively. Throws
|
|
39
|
+
* `KgdiffError('invalid-input')` for values nested deeper than `MAX_NESTING`.
|
|
40
|
+
*/
|
|
41
|
+
export function toAttrValue(value, depth = 0) {
|
|
42
|
+
if (value === null || typeof value === 'string' || typeof value === 'boolean')
|
|
43
|
+
return value;
|
|
44
|
+
if (typeof value === 'number')
|
|
45
|
+
return Number.isFinite(value) ? value : undefined;
|
|
46
|
+
if (typeof value !== 'object')
|
|
47
|
+
return undefined;
|
|
48
|
+
if (depth >= MAX_NESTING) {
|
|
49
|
+
throw invalidInput(`Values nested deeper than ${MAX_NESTING} levels are not supported.`);
|
|
50
|
+
}
|
|
51
|
+
if (Array.isArray(value)) {
|
|
52
|
+
const out = [];
|
|
53
|
+
for (const item of value) {
|
|
54
|
+
const converted = toAttrValue(item, depth + 1);
|
|
55
|
+
out.push(converted === undefined ? null : converted);
|
|
56
|
+
}
|
|
57
|
+
return out;
|
|
58
|
+
}
|
|
59
|
+
const record = value;
|
|
60
|
+
const out = {};
|
|
61
|
+
for (const key of Object.keys(record).sort(compareStrings)) {
|
|
62
|
+
const converted = toAttrValue(record[key], depth + 1);
|
|
63
|
+
if (converted !== undefined)
|
|
64
|
+
setOwn(out, key, converted);
|
|
65
|
+
}
|
|
66
|
+
return out;
|
|
67
|
+
}
|
|
68
|
+
/** Canonical JSON (object keys sorted) used to compare and de-duplicate attribute values. */
|
|
69
|
+
function canonicalJson(value) {
|
|
70
|
+
if (Array.isArray(value))
|
|
71
|
+
return `[${value.map(canonicalJson).join(',')}]`;
|
|
72
|
+
if (value !== null && typeof value === 'object') {
|
|
73
|
+
const record = value;
|
|
74
|
+
const keys = Object.keys(record).sort(compareStrings);
|
|
75
|
+
return `{${keys.map((key) => `${JSON.stringify(key)}:${canonicalJson(record[key] ?? null)}`).join(',')}}`;
|
|
76
|
+
}
|
|
77
|
+
return JSON.stringify(value);
|
|
78
|
+
}
|
|
79
|
+
function valueRank(value) {
|
|
80
|
+
if (value === null)
|
|
81
|
+
return 0;
|
|
82
|
+
switch (typeof value) {
|
|
83
|
+
case 'boolean':
|
|
84
|
+
return 1;
|
|
85
|
+
case 'number':
|
|
86
|
+
return 2;
|
|
87
|
+
case 'string':
|
|
88
|
+
return 3;
|
|
89
|
+
default:
|
|
90
|
+
return Array.isArray(value) ? 4 : 5;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** Total order on attribute values: null < booleans < numbers < strings < arrays < objects. */
|
|
94
|
+
function compareAttrValues(a, b) {
|
|
95
|
+
const rank = valueRank(a) - valueRank(b);
|
|
96
|
+
if (rank !== 0)
|
|
97
|
+
return rank;
|
|
98
|
+
if (typeof a === 'number' && typeof b === 'number')
|
|
99
|
+
return a - b;
|
|
100
|
+
if (typeof a === 'string' && typeof b === 'string')
|
|
101
|
+
return compareStrings(a, b);
|
|
102
|
+
if (typeof a === 'boolean' && typeof b === 'boolean')
|
|
103
|
+
return Number(a) - Number(b);
|
|
104
|
+
return compareStrings(canonicalJson(a), canonicalJson(b));
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Collects attribute values per key. `build` sorts keys, de-duplicates values and turns a
|
|
108
|
+
* single value into a scalar (multi-values become a sorted array), unless the key is listed
|
|
109
|
+
* as always-array.
|
|
110
|
+
*/
|
|
111
|
+
export class AttrBag {
|
|
112
|
+
values = new Map();
|
|
113
|
+
add(key, value) {
|
|
114
|
+
const list = this.values.get(key);
|
|
115
|
+
if (list)
|
|
116
|
+
list.push(value);
|
|
117
|
+
else
|
|
118
|
+
this.values.set(key, [value]);
|
|
119
|
+
}
|
|
120
|
+
/** Replaces every value collected for `key`. */
|
|
121
|
+
set(key, value) {
|
|
122
|
+
this.values.set(key, [value]);
|
|
123
|
+
}
|
|
124
|
+
has(key) {
|
|
125
|
+
return this.values.has(key);
|
|
126
|
+
}
|
|
127
|
+
build(alwaysArray) {
|
|
128
|
+
if (this.values.size === 0)
|
|
129
|
+
return undefined;
|
|
130
|
+
const out = {};
|
|
131
|
+
for (const key of [...this.values.keys()].sort(compareStrings)) {
|
|
132
|
+
const unique = new Map();
|
|
133
|
+
for (const value of this.values.get(key) ?? [])
|
|
134
|
+
unique.set(canonicalJson(value), value);
|
|
135
|
+
const sorted = [...unique.values()].sort(compareAttrValues);
|
|
136
|
+
const [first] = sorted;
|
|
137
|
+
const value = sorted.length === 1 && first !== undefined && !alwaysArray?.has(key) ? first : sorted;
|
|
138
|
+
setOwn(out, key, value);
|
|
139
|
+
}
|
|
140
|
+
return out;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// ─── Nodes and edges ────────────────────────────────────────────────────────
|
|
144
|
+
/** Mutable accumulator for one node; `build` emits a `NodeInput` without empty fields. */
|
|
145
|
+
export class NodeBuilder {
|
|
146
|
+
id;
|
|
147
|
+
label;
|
|
148
|
+
types = new Set();
|
|
149
|
+
aliases = new Set();
|
|
150
|
+
attrs = new AttrBag();
|
|
151
|
+
deprecated = false;
|
|
152
|
+
replaces = new Set();
|
|
153
|
+
replacedBy = new Set();
|
|
154
|
+
constructor(id) {
|
|
155
|
+
this.id = id;
|
|
156
|
+
}
|
|
157
|
+
build(alwaysArray) {
|
|
158
|
+
return makeNode({
|
|
159
|
+
id: this.id,
|
|
160
|
+
label: this.label,
|
|
161
|
+
types: this.types,
|
|
162
|
+
aliases: this.aliases,
|
|
163
|
+
attrs: this.attrs.build(alwaysArray),
|
|
164
|
+
deprecated: this.deprecated,
|
|
165
|
+
replaces: this.replaces,
|
|
166
|
+
replacedBy: this.replacedBy,
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Builds a `NodeInput` with a fixed key order and no empty fields: one type becomes a string,
|
|
172
|
+
* several a sorted array; aliases are sorted and never repeat the label; `deprecated` only
|
|
173
|
+
* appears when true.
|
|
174
|
+
*/
|
|
175
|
+
export function makeNode(fields) {
|
|
176
|
+
const types = sortedUnique(fields.types ?? []);
|
|
177
|
+
const label = fields.label ?? fields.id;
|
|
178
|
+
const aliases = sortedUnique(fields.aliases ?? []).filter((alias) => alias !== label);
|
|
179
|
+
const replaces = sortedUnique(fields.replaces ?? []);
|
|
180
|
+
const replacedBy = sortedUnique(fields.replacedBy ?? []);
|
|
181
|
+
const attrs = fields.attrs && Object.keys(fields.attrs).length > 0 ? fields.attrs : undefined;
|
|
182
|
+
const [onlyType] = types;
|
|
183
|
+
return {
|
|
184
|
+
id: fields.id,
|
|
185
|
+
...(fields.label !== undefined && fields.label !== fields.id ? { label: fields.label } : {}),
|
|
186
|
+
...(types.length === 1 && onlyType !== undefined
|
|
187
|
+
? { type: onlyType }
|
|
188
|
+
: types.length > 1
|
|
189
|
+
? { type: types }
|
|
190
|
+
: {}),
|
|
191
|
+
...(aliases.length > 0 ? { aliases } : {}),
|
|
192
|
+
...(attrs ? { attrs } : {}),
|
|
193
|
+
...(fields.deprecated ? { deprecated: true } : {}),
|
|
194
|
+
...(replaces.length > 0 ? { replaces } : {}),
|
|
195
|
+
...(replacedBy.length > 0 ? { replacedBy } : {}),
|
|
196
|
+
...(fields.position ? { position: fields.position } : {}),
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/** Builds an `EdgeInput` with a fixed key order and no empty fields. */
|
|
200
|
+
export function makeEdge(fields) {
|
|
201
|
+
const attrs = fields.attrs && Object.keys(fields.attrs).length > 0 ? fields.attrs : undefined;
|
|
202
|
+
return {
|
|
203
|
+
...(fields.id !== undefined ? { id: fields.id } : {}),
|
|
204
|
+
source: fields.source,
|
|
205
|
+
target: fields.target,
|
|
206
|
+
...(fields.predicate !== undefined && fields.predicate !== ''
|
|
207
|
+
? { predicate: fields.predicate }
|
|
208
|
+
: {}),
|
|
209
|
+
// An empty label is kept: it differs from the default (the predicate's readable form).
|
|
210
|
+
...(fields.label !== undefined ? { label: fields.label } : {}),
|
|
211
|
+
...(attrs ? { attrs } : {}),
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
const nodeTieBreak = (node) => JSON.stringify(node);
|
|
215
|
+
/** Nodes sorted by id (ties, i.e. duplicate ids, by their canonical JSON). */
|
|
216
|
+
export function sortNodes(nodes) {
|
|
217
|
+
return nodes.sort((a, b) => compareStrings(a.id, b.id) || compareStrings(nodeTieBreak(a), nodeTieBreak(b)));
|
|
218
|
+
}
|
|
219
|
+
/** Edges sorted by (source, predicate, target, id, label, attrs). */
|
|
220
|
+
export function sortEdges(edges) {
|
|
221
|
+
return edges.sort((a, b) => compareStrings(a.source, b.source) ||
|
|
222
|
+
compareStrings(a.predicate ?? '', b.predicate ?? '') ||
|
|
223
|
+
compareStrings(a.target, b.target) ||
|
|
224
|
+
compareStrings(a.id ?? '', b.id ?? '') ||
|
|
225
|
+
compareStrings(a.label ?? '', b.label ?? '') ||
|
|
226
|
+
compareStrings(a.attrs ? canonicalJson(a.attrs) : '', b.attrs ? canonicalJson(b.attrs) : ''));
|
|
227
|
+
}
|
|
228
|
+
/** Meta with keys sorted and empty values dropped; `undefined` when nothing is left. */
|
|
229
|
+
export function makeMeta(meta) {
|
|
230
|
+
const out = {};
|
|
231
|
+
for (const key of Object.keys(meta).sort(compareStrings)) {
|
|
232
|
+
const value = meta[key];
|
|
233
|
+
if (value !== undefined && value !== '')
|
|
234
|
+
setOwn(out, key, value);
|
|
235
|
+
}
|
|
236
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
237
|
+
}
|
|
238
|
+
// ─── Hashing ────────────────────────────────────────────────────────────────
|
|
239
|
+
/**
|
|
240
|
+
* 53-bit string hash (cyrb53), as 14 hex digits. Not cryptographic; used for content-addressed
|
|
241
|
+
* blank node ids where a collision would need ~10^8 distinct blank nodes to become likely.
|
|
242
|
+
*/
|
|
243
|
+
export function hash53(text) {
|
|
244
|
+
let h1 = 0xdeadbeef;
|
|
245
|
+
let h2 = 0x41c6ce57;
|
|
246
|
+
for (let i = 0; i < text.length; i++) {
|
|
247
|
+
const code = text.charCodeAt(i);
|
|
248
|
+
h1 = Math.imul(h1 ^ code, 2654435761);
|
|
249
|
+
h2 = Math.imul(h2 ^ code, 1597334677);
|
|
250
|
+
}
|
|
251
|
+
h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507);
|
|
252
|
+
h1 ^= Math.imul(h2 ^ (h2 >>> 13), 3266489909);
|
|
253
|
+
h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507);
|
|
254
|
+
h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909);
|
|
255
|
+
const high = (h2 & 0x1fffff).toString(16).padStart(6, '0');
|
|
256
|
+
const low = (h1 >>> 0).toString(16).padStart(8, '0');
|
|
257
|
+
return high + low;
|
|
258
|
+
}
|
|
259
|
+
// ─── Warnings and errors ────────────────────────────────────────────────────
|
|
260
|
+
/** Collects warnings; counted warnings are reported once with their total. */
|
|
261
|
+
export class Warnings {
|
|
262
|
+
list = [];
|
|
263
|
+
counts = new Map();
|
|
264
|
+
add(code, message, line) {
|
|
265
|
+
this.list.push(line === undefined ? { code, message } : { code, message, line });
|
|
266
|
+
}
|
|
267
|
+
/** Counts an occurrence; `finish` emits one warning per code with `message(total)`. */
|
|
268
|
+
count(code, message, by = 1) {
|
|
269
|
+
const entry = this.counts.get(code);
|
|
270
|
+
if (entry)
|
|
271
|
+
entry.count += by;
|
|
272
|
+
else
|
|
273
|
+
this.counts.set(code, { count: by, message });
|
|
274
|
+
}
|
|
275
|
+
finish() {
|
|
276
|
+
const counted = [...this.counts.entries()]
|
|
277
|
+
.sort(([a], [b]) => compareStrings(a, b))
|
|
278
|
+
.map(([code, { count, message }]) => ({ code, message: message(count) }));
|
|
279
|
+
return [...this.list, ...counted];
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
export const plural = (count, word, many = `${word}s`) => `${count} ${count === 1 ? word : many}`;
|
|
283
|
+
/** A `KgdiffError('invalid-input')`; `line` (1-based) is appended to the message and details. */
|
|
284
|
+
export function invalidInput(message, details = {}) {
|
|
285
|
+
return new KgdiffError('invalid-input', message, details);
|
|
286
|
+
}
|
|
287
|
+
/** 1-based line and column of a UTF-16 offset. */
|
|
288
|
+
export function lineAndColumn(text, offset) {
|
|
289
|
+
let line = 1;
|
|
290
|
+
let lineStart = 0;
|
|
291
|
+
const end = Math.min(offset, text.length);
|
|
292
|
+
for (let i = 0; i < end; i++) {
|
|
293
|
+
if (text.charCodeAt(i) === 10) {
|
|
294
|
+
line++;
|
|
295
|
+
lineStart = i + 1;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
return { line, column: end - lineStart + 1 };
|
|
299
|
+
}
|
|
300
|
+
export function stripBom(text) {
|
|
301
|
+
return text.charCodeAt(0) === 0xfeff ? text.slice(1) : text;
|
|
302
|
+
}
|
|
303
|
+
/** Exhaustiveness guard for `switch` statements. */
|
|
304
|
+
export function assertNever(value) {
|
|
305
|
+
throw new KgdiffError('invalid-input', `Unexpected value: ${String(value)}`);
|
|
306
|
+
}
|
|
307
|
+
// ─── Typed literals ─────────────────────────────────────────────────────────
|
|
308
|
+
const XSD_INTEGERS = new Set([
|
|
309
|
+
'integer',
|
|
310
|
+
'int',
|
|
311
|
+
'long',
|
|
312
|
+
'short',
|
|
313
|
+
'byte',
|
|
314
|
+
'nonNegativeInteger',
|
|
315
|
+
'positiveInteger',
|
|
316
|
+
'negativeInteger',
|
|
317
|
+
'nonPositiveInteger',
|
|
318
|
+
'unsignedLong',
|
|
319
|
+
'unsignedInt',
|
|
320
|
+
'unsignedShort',
|
|
321
|
+
'unsignedByte',
|
|
322
|
+
]);
|
|
323
|
+
const XSD_DECIMALS = new Set(['decimal', 'double', 'float']);
|
|
324
|
+
const INTEGER_LEXICAL = /^[+-]?\d+$/;
|
|
325
|
+
const DECIMAL_LEXICAL = /^[+-]?(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?$/;
|
|
326
|
+
/**
|
|
327
|
+
* JSON value of a literal with an XSD datatype (`xsdType` is the local name, e.g. `integer`):
|
|
328
|
+
* numeric types become numbers (integers only when safe), `boolean` becomes a boolean, and
|
|
329
|
+
* everything else — including lexical forms that do not parse — stays the lexical string.
|
|
330
|
+
*/
|
|
331
|
+
export function typedValue(lexical, xsdType) {
|
|
332
|
+
if (xsdType === undefined)
|
|
333
|
+
return lexical;
|
|
334
|
+
const trimmed = lexical.trim();
|
|
335
|
+
if (XSD_INTEGERS.has(xsdType)) {
|
|
336
|
+
if (!INTEGER_LEXICAL.test(trimmed))
|
|
337
|
+
return lexical;
|
|
338
|
+
const value = Number(trimmed);
|
|
339
|
+
return Number.isSafeInteger(value) ? value : lexical;
|
|
340
|
+
}
|
|
341
|
+
if (XSD_DECIMALS.has(xsdType)) {
|
|
342
|
+
if (!DECIMAL_LEXICAL.test(trimmed))
|
|
343
|
+
return lexical;
|
|
344
|
+
const value = Number(trimmed);
|
|
345
|
+
return Number.isFinite(value) ? value : lexical;
|
|
346
|
+
}
|
|
347
|
+
if (xsdType === 'boolean') {
|
|
348
|
+
if (trimmed === 'true' || trimmed === '1')
|
|
349
|
+
return true;
|
|
350
|
+
if (trimmed === 'false' || trimmed === '0')
|
|
351
|
+
return false;
|
|
352
|
+
}
|
|
353
|
+
return lexical;
|
|
354
|
+
}
|
|
355
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/xml.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const XML_NS = "http://www.w3.org/XML/1998/namespace";
|
|
2
|
+
/** A namespace-qualified name: `prefix` is `''` when unprefixed, `uri` `''` when in no namespace. */
|
|
3
|
+
export interface XmlName {
|
|
4
|
+
readonly prefix: string;
|
|
5
|
+
readonly local: string;
|
|
6
|
+
readonly uri: string;
|
|
7
|
+
}
|
|
8
|
+
export interface XmlAttribute extends XmlName {
|
|
9
|
+
/** Normalized value: references resolved, literal tabs and line breaks turned into spaces. */
|
|
10
|
+
readonly value: string;
|
|
11
|
+
}
|
|
12
|
+
export interface XmlElement extends XmlName {
|
|
13
|
+
/** Attributes other than namespace declarations, in document order. */
|
|
14
|
+
readonly attributes: readonly XmlAttribute[];
|
|
15
|
+
/** Namespace declarations made on this element (`''` is the default namespace). */
|
|
16
|
+
readonly namespaces: readonly (readonly [prefix: string, uri: string])[];
|
|
17
|
+
/** Offset of the element's `<`, for error positions. */
|
|
18
|
+
readonly offset: number;
|
|
19
|
+
}
|
|
20
|
+
export interface XmlHandler {
|
|
21
|
+
startElement(element: XmlElement): void;
|
|
22
|
+
endElement(offset: number): void;
|
|
23
|
+
/** Character data inside the root element; consecutive chunks may arrive separately. */
|
|
24
|
+
text(value: string, offset: number): void;
|
|
25
|
+
/** A processing instruction inside the root element. */
|
|
26
|
+
processingInstruction(target: string, data: string, offset: number): void;
|
|
27
|
+
/** A comment inside the root element. */
|
|
28
|
+
comment(value: string, offset: number): void;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* A well-formedness (or, thrown by a handler, grammar) error at an offset of the parsed text.
|
|
32
|
+
* `parseXml` fills in the 1-based `line` before passing it on.
|
|
33
|
+
*/
|
|
34
|
+
export declare class XmlSyntaxError {
|
|
35
|
+
readonly message: string;
|
|
36
|
+
readonly offset: number;
|
|
37
|
+
line: number;
|
|
38
|
+
constructor(message: string, offset: number);
|
|
39
|
+
}
|
|
40
|
+
/** XML namespaces `NCName` (a name without colons): rdf:ID and rdf:nodeID values. */
|
|
41
|
+
export declare const NC_NAME: RegExp;
|
|
42
|
+
/**
|
|
43
|
+
* Parses an XML document, reporting elements, text, comments and processing instructions to
|
|
44
|
+
* `handler`. Line breaks are normalized to `\n` first (XML 1.0 §2.11). Throws `XmlSyntaxError`
|
|
45
|
+
* (with its line) on documents that are not namespace-well-formed, and passes on whatever
|
|
46
|
+
* the handler throws, filling in the line of handler-thrown `XmlSyntaxError`s too.
|
|
47
|
+
*/
|
|
48
|
+
export declare function parseXml(text: string, handler: XmlHandler): void;
|
|
49
|
+
export declare const isXmlSpace: (value: string) => boolean;
|
|
50
|
+
//# sourceMappingURL=xml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,MAAM,yCAAyC,CAAC;AAG7D,qGAAqG;AACrG,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,SAAS,YAAY,EAAE,CAAC;IAC7C,mFAAmF;IACnF,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IACzE,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IACxC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,wFAAwF;IACxF,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,wDAAwD;IACxD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1E,yCAAyC;IACzC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED;;;GAGG;AACH,qBAAa,cAAc;IAIvB,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAJzB,IAAI,SAAK;IAET,YACW,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACrB;CACL;AAQD,qFAAqF;AACrF,eAAO,MAAM,OAAO,QAAyC,CAAC;AAwC9D;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAQhE;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,KAAG,OAAiC,CAAC"}
|