@faubulous/mentor-rdf-serializers 1.3.3 → 1.4.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.
Files changed (63) hide show
  1. package/dist/formatters/nquads-formatter.d.ts +2 -2
  2. package/dist/formatters/nquads-formatter.d.ts.map +1 -1
  3. package/dist/formatters/ntriples-formatter.d.ts +2 -2
  4. package/dist/formatters/ntriples-formatter.d.ts.map +1 -1
  5. package/dist/formatters/sparql-formatter.interface.d.ts +3 -3
  6. package/dist/formatters/sparql-formatter.interface.d.ts.map +1 -1
  7. package/dist/index.d.ts +2 -2
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +2 -2
  10. package/dist/index.js.map +1 -1
  11. package/dist/quad-context-serializer-options.d.ts +46 -0
  12. package/dist/quad-context-serializer-options.d.ts.map +1 -0
  13. package/dist/quad-context-serializer-options.js +2 -0
  14. package/dist/quad-context-serializer-options.js.map +1 -0
  15. package/dist/quad-context-serializer.d.ts +68 -0
  16. package/dist/quad-context-serializer.d.ts.map +1 -0
  17. package/dist/quad-context-serializer.js +204 -0
  18. package/dist/quad-context-serializer.js.map +1 -0
  19. package/dist/quad-serializer-base.d.ts +12 -12
  20. package/dist/quad-serializer-base.d.ts.map +1 -1
  21. package/dist/quad-serializer-base.js +3 -2
  22. package/dist/quad-serializer-base.js.map +1 -1
  23. package/dist/quad-serializer.interface.d.ts +4 -4
  24. package/dist/quad-serializer.interface.d.ts.map +1 -1
  25. package/dist/quad-sorting-strategy.d.ts +2 -2
  26. package/dist/serialization-options.d.ts +131 -0
  27. package/dist/serialization-options.d.ts.map +1 -0
  28. package/dist/serialization-options.js +25 -0
  29. package/dist/serialization-options.js.map +1 -0
  30. package/dist/serializers/jsonld-serializer.d.ts +2 -2
  31. package/dist/serializers/jsonld-serializer.d.ts.map +1 -1
  32. package/dist/serializers/jsonld-serializer.js +4 -3
  33. package/dist/serializers/jsonld-serializer.js.map +1 -1
  34. package/dist/serializers/n3-serializer.d.ts +3 -3
  35. package/dist/serializers/n3-serializer.d.ts.map +1 -1
  36. package/dist/serializers/n3-serializer.js.map +1 -1
  37. package/dist/serializers/nquads-serializer.d.ts +4 -4
  38. package/dist/serializers/nquads-serializer.d.ts.map +1 -1
  39. package/dist/serializers/nquads-serializer.js.map +1 -1
  40. package/dist/serializers/ntriples-serializer.d.ts +4 -4
  41. package/dist/serializers/ntriples-serializer.d.ts.map +1 -1
  42. package/dist/serializers/ntriples-serializer.js.map +1 -1
  43. package/dist/serializers/trig-serializer.d.ts +3 -3
  44. package/dist/serializers/trig-serializer.d.ts.map +1 -1
  45. package/dist/serializers/trig-serializer.js.map +1 -1
  46. package/dist/serializers/turtle-serializer.d.ts +5 -5
  47. package/dist/serializers/turtle-serializer.d.ts.map +1 -1
  48. package/dist/serializers/turtle-serializer.js.map +1 -1
  49. package/dist/token-formatter-base.d.ts +3 -3
  50. package/dist/token-formatter-base.d.ts.map +1 -1
  51. package/dist/token-formatter-base.js.map +1 -1
  52. package/dist/token-formatter.interface.d.ts +3 -3
  53. package/dist/token-formatter.interface.d.ts.map +1 -1
  54. package/dist/token-serializer.d.ts +2 -2
  55. package/dist/token-serializer.d.ts.map +1 -1
  56. package/dist/utilities/blank-nodes.d.ts +7 -0
  57. package/dist/utilities/blank-nodes.d.ts.map +1 -1
  58. package/dist/utilities/blank-nodes.js +40 -0
  59. package/dist/utilities/blank-nodes.js.map +1 -1
  60. package/dist/utilities/terms.d.ts.map +1 -1
  61. package/dist/utilities/terms.js +2 -1
  62. package/dist/utilities/terms.js.map +1 -1
  63. package/package.json +4 -1
@@ -1,12 +1,12 @@
1
1
  import { IToken, RdfSyntax } from '@faubulous/mentor-rdf-parsers';
2
2
  import { SerializationResult } from '../serialization-result';
3
- import { SerializerOptions } from '../serializer-options';
3
+ import { SerializationOptions } from '../serialization-options';
4
4
  import { TokenSerializerOptions } from '../token-serializer';
5
5
  import { ITokenFormatter } from '../token-formatter.interface';
6
6
  /**
7
7
  * N-Quads-specific formatting options.
8
8
  */
9
- export interface NQuadsFormatterOptions extends SerializerOptions {
9
+ export interface NQuadsFormatterOptions extends SerializationOptions {
10
10
  /**
11
11
  * Whether to normalize whitespace to single spaces.
12
12
  * Default: true
@@ -1 +1 @@
1
- {"version":3,"file":"nquads-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/nquads-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAyB,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC7D;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACnD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAoB;IAE9C,OAAO,CAAC,KAAK,CAAqB;IAElC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,mBAAmB;IAapF;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,GAAG,mBAAmB;IAMlH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,mBAAmB;IAI5E;;OAEG;IACH,OAAO,CAAC,YAAY;IAiFpB;;OAEG;IACH,OAAO,CAAC,UAAU;CAMrB"}
1
+ {"version":3,"file":"nquads-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/nquads-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAyB,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,oBAAoB;IAChE;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACnD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAoB;IAE9C,OAAO,CAAC,KAAK,CAAqB;IAElC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,mBAAmB;IAapF;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,GAAG,mBAAmB;IAMlH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,mBAAmB;IAI5E;;OAEG;IACH,OAAO,CAAC,YAAY;IAiFpB;;OAEG;IACH,OAAO,CAAC,UAAU;CAMrB"}
@@ -1,12 +1,12 @@
1
1
  import { IToken, RdfSyntax } from '@faubulous/mentor-rdf-parsers';
2
2
  import { SerializationResult } from '../serialization-result';
3
- import { SerializerOptions } from '../serializer-options';
3
+ import { SerializationOptions } from '../serialization-options';
4
4
  import { ITokenFormatter } from '../token-formatter.interface';
5
5
  import { TokenSerializerOptions } from '../token-serializer';
6
6
  /**
7
7
  * N-Triples-specific formatting options.
8
8
  */
9
- export interface NTriplesFormatterOptions extends SerializerOptions {
9
+ export interface NTriplesFormatterOptions extends SerializationOptions {
10
10
  /**
11
11
  * Whether to normalize whitespace to single spaces.
12
12
  * Default: true
@@ -1 +1 @@
1
- {"version":3,"file":"ntriples-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/ntriples-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAA2B,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IAC/D;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACrD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAsB;IAEhD,OAAO,CAAC,KAAK,CAAuB;IAEpC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,mBAAmB;IAYtF;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,sBAAsB,GAAG,mBAAmB;IAMpH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,mBAAmB;IAI9E;;OAEG;IACH,OAAO,CAAC,YAAY;IA0EpB;;OAEG;IACH,OAAO,CAAC,UAAU;CAOrB"}
1
+ {"version":3,"file":"ntriples-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/ntriples-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAA2B,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAClE;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACrD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAsB;IAEhD,OAAO,CAAC,KAAK,CAAuB;IAEpC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,mBAAmB;IAYtF;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,sBAAsB,GAAG,mBAAmB;IAMpH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,mBAAmB;IAI9E;;OAEG;IACH,OAAO,CAAC,YAAY;IA0EpB;;OAEG;IACH,OAAO,CAAC,UAAU;CAOrB"}
@@ -1,5 +1,5 @@
1
1
  import { SerializationResult } from "../serialization-result";
2
- import { SerializerOptions } from "../serializer-options";
2
+ import { SerializationOptions } from "../serialization-options";
3
3
  /**
4
4
  * Interface for SPARQL formatters.
5
5
  */
@@ -7,10 +7,10 @@ export interface ISparqlFormatter {
7
7
  /**
8
8
  * Formats a SPARQL query string.
9
9
  */
10
- formatFromText(query: string, options?: SerializerOptions): SerializationResult;
10
+ formatFromText(query: string, options?: SerializationOptions): SerializationResult;
11
11
  /**
12
12
  * Formats SPARQL from parsed tokens.
13
13
  */
14
- formatFromTokens(tokens: unknown[], options?: SerializerOptions): SerializationResult;
14
+ formatFromTokens(tokens: unknown[], options?: SerializationOptions): SerializationResult;
15
15
  }
16
16
  //# sourceMappingURL=sparql-formatter.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sparql-formatter.interface.d.ts","sourceRoot":"","sources":["../../src/formatters/sparql-formatter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IAEhF;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;CACzF"}
1
+ {"version":3,"file":"sparql-formatter.interface.d.ts","sourceRoot":"","sources":["../../src/formatters/sparql-formatter.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;IAEnF;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;CAC5F"}
package/dist/index.d.ts CHANGED
@@ -7,8 +7,8 @@ export * from './quad-serializer.interface';
7
7
  export * from './quad-sorting-strategy';
8
8
  export * from './quad-sorter';
9
9
  export * from './serialization-result';
10
- export * from './serializer-options';
11
- export * from './statement-serializer';
10
+ export * from './serialization-options';
11
+ export * from './quad-context-serializer';
12
12
  export * from './token-formatter-base';
13
13
  export * from './token-formatter.interface';
14
14
  export * from './token-serializer';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC"}
package/dist/index.js CHANGED
@@ -7,8 +7,8 @@ export * from './quad-serializer.interface';
7
7
  export * from './quad-sorting-strategy';
8
8
  export * from './quad-sorter';
9
9
  export * from './serialization-result';
10
- export * from './serializer-options';
11
- export * from './statement-serializer';
10
+ export * from './serialization-options';
11
+ export * from './quad-context-serializer';
12
12
  export * from './token-formatter-base';
13
13
  export * from './token-formatter.interface';
14
14
  export * from './token-serializer';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { QuadSortingStrategy } from "./quad-sorting-strategy";
2
+ /**
3
+ * Options for {@link StatementSerializer.serialize}.
4
+ */
5
+ export interface QuadContextSerializerOptions {
6
+ /**
7
+ * Prefix mappings for compacting IRIs and emitting prefix declarations.
8
+ */
9
+ prefixes?: Record<string, string>;
10
+ /**
11
+ * Base IRI for the document. When set, a `BASE` / `@base` declaration
12
+ * is emitted at the top of the output.
13
+ */
14
+ baseIri?: string;
15
+ /**
16
+ * Line ending string (default: `'\n'`).
17
+ */
18
+ lineEnd?: string;
19
+ /**
20
+ * Whether to insert blank lines between subject blocks (default: `true`).
21
+ */
22
+ blankLinesBetweenSubjects?: boolean;
23
+ /**
24
+ * The sorting strategy to use for reordering statements.
25
+ */
26
+ sortingStrategy?: QuadSortingStrategy;
27
+ /**
28
+ * When `true`, skip the sort stage even if `sortingStrategy` is specified. Use this
29
+ * when the caller has already sorted the contexts and wants to avoid the O(n log n)
30
+ * overhead. Default: `false`.
31
+ */
32
+ assumeSorted?: boolean;
33
+ /**
34
+ * Use lowercase directives (`@prefix` / `@base`) instead of uppercase
35
+ * (`PREFIX` / `BASE`). Default: `false`.
36
+ */
37
+ lowercaseDirectives?: boolean;
38
+ /**
39
+ * Whether to serialize single-use blank nodes as local property lists
40
+ * (`[ ... ]`) when pretty printing.
41
+ *
42
+ * Default: `true`.
43
+ */
44
+ inlineSingleUseBlankNodes?: boolean;
45
+ }
46
+ //# sourceMappingURL=quad-context-serializer-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quad-context-serializer-options.d.ts","sourceRoot":"","sources":["../src/quad-context-serializer-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAEtC;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACvC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=quad-context-serializer-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quad-context-serializer-options.js","sourceRoot":"","sources":["../src/quad-context-serializer-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ import { Quad } from '@rdfjs/types';
2
+ import { QuadContext } from '@faubulous/mentor-rdf-parsers';
3
+ import { IQuadSerializer } from './quad-serializer.interface';
4
+ import { SortingOption } from './serialization-options';
5
+ import { QuadContextSerializerOptions } from './quad-context-serializer-options';
6
+ /**
7
+ * Serializes {@link QuadContext | statement contexts} to a complete
8
+ * document string, preserving source comments and emitting prefix/base
9
+ * declarations automatically.
10
+ */
11
+ export declare class QuadContextSerializer {
12
+ private readonly serializer;
13
+ /**
14
+ * Shared synthetic token for contexts created from external quads.
15
+ */
16
+ private readonly syntheticToken;
17
+ /**
18
+ * Creates a new `StatementSerializer`.
19
+ *
20
+ * @param serializer The underlying format-specific serializer used to
21
+ * render individual quads (e.g. `TurtleSerializer`).
22
+ */
23
+ constructor(serializer: IQuadSerializer);
24
+ /**
25
+ * Merges externally created quads into an existing set of statement
26
+ * contexts. New quads receive empty comment arrays so they serialize
27
+ * cleanly between existing statements.
28
+ *
29
+ * @param contexts Existing statement contexts (from the parser).
30
+ * @param newQuads Additional quads to add.
31
+ * @returns A new array containing both the original and new contexts.
32
+ */
33
+ addStatements(contexts: QuadContext[], newQuads: Quad[]): QuadContext[];
34
+ /**
35
+ * Sorts statement contexts using the provided sorting option.
36
+ * Comments travel with their quads so that each comment block stays
37
+ * associated with the correct statement after reordering.
38
+ *
39
+ * @param contexts The statement contexts to sort.
40
+ * @param sort Sorting option (see {@link SortOption}).
41
+ * @returns A new sorted array.
42
+ */
43
+ sort(contexts: QuadContext[], sort: SortingOption): QuadContext[];
44
+ /**
45
+ * Serializes statement contexts to a complete document string.
46
+ *
47
+ * The output includes:
48
+ * - `BASE` / `@base` declaration (when `baseIri` is set)
49
+ * - `PREFIX` / `@prefix` declarations (when `prefixes` is provided)
50
+ * - A blank line separating declarations from statements
51
+ * - Pretty-printed subject blocks with predicate-object grouping
52
+ * - Sorted and comment-decorated statements
53
+ *
54
+ * @param contexts The (optionally pre-sorted / pre-merged) statement contexts.
55
+ * @param options Serialization options.
56
+ * @returns The complete serialized document string.
57
+ */
58
+ serialize(contexts: QuadContext[], options?: QuadContextSerializerOptions): string;
59
+ /**
60
+ * Splits serializer output into subject blocks using blank-line separators.
61
+ */
62
+ private splitSubjectBlocks;
63
+ /**
64
+ * Appends a trailing comment to the final logical line of a block.
65
+ */
66
+ private appendTrailingComment;
67
+ }
68
+ //# sourceMappingURL=quad-context-serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quad-context-serializer.d.ts","sourceRoot":"","sources":["../src/quad-context-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,WAAW,EAAU,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAwB,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AAGjF;;;;GAIG;AACH,qBAAa,qBAAqB;IAsBlB,OAAO,CAAC,QAAQ,CAAC,UAAU;IArBvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAU7B;IAEF;;;;;OAKG;gBAC0B,UAAU,EAAE,eAAe;IAExD;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE;IAsBvE;;;;;;;;OAQG;IACH,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,EAAE;IAIjE;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAI,MAAM;IAqHnF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAWhC"}
@@ -0,0 +1,204 @@
1
+ import { QuadSorter } from './quad-sorter';
2
+ /**
3
+ * Serializes {@link QuadContext | statement contexts} to a complete
4
+ * document string, preserving source comments and emitting prefix/base
5
+ * declarations automatically.
6
+ */
7
+ export class QuadContextSerializer {
8
+ serializer;
9
+ /**
10
+ * Shared synthetic token for contexts created from external quads.
11
+ */
12
+ syntheticToken = {
13
+ image: '',
14
+ startOffset: Infinity,
15
+ endOffset: Infinity,
16
+ startLine: Infinity,
17
+ endLine: Infinity,
18
+ startColumn: Infinity,
19
+ endColumn: Infinity,
20
+ tokenType: { name: 'SYNTHETIC' },
21
+ tokenTypeIdx: -1,
22
+ };
23
+ /**
24
+ * Creates a new `StatementSerializer`.
25
+ *
26
+ * @param serializer The underlying format-specific serializer used to
27
+ * render individual quads (e.g. `TurtleSerializer`).
28
+ */
29
+ constructor(serializer) {
30
+ this.serializer = serializer;
31
+ }
32
+ /**
33
+ * Merges externally created quads into an existing set of statement
34
+ * contexts. New quads receive empty comment arrays so they serialize
35
+ * cleanly between existing statements.
36
+ *
37
+ * @param contexts Existing statement contexts (from the parser).
38
+ * @param newQuads Additional quads to add.
39
+ * @returns A new array containing both the original and new contexts.
40
+ */
41
+ addStatements(contexts, newQuads) {
42
+ const result = newQuads.map(q => ({
43
+ termType: q.termType,
44
+ subject: q.subject,
45
+ subjectToken: this.syntheticToken,
46
+ predicate: q.predicate,
47
+ predicateToken: this.syntheticToken,
48
+ object: q.object,
49
+ objectToken: this.syntheticToken,
50
+ graph: q.graph,
51
+ leadingComments: [],
52
+ trailingComment: undefined,
53
+ value: '',
54
+ equals: q.equals
55
+ }));
56
+ return [
57
+ ...contexts,
58
+ ...result
59
+ ];
60
+ }
61
+ /**
62
+ * Sorts statement contexts using the provided sorting option.
63
+ * Comments travel with their quads so that each comment block stays
64
+ * associated with the correct statement after reordering.
65
+ *
66
+ * @param contexts The statement contexts to sort.
67
+ * @param sort Sorting option (see {@link SortOption}).
68
+ * @returns A new sorted array.
69
+ */
70
+ sort(contexts, sort) {
71
+ return QuadSorter.sort(contexts, sort);
72
+ }
73
+ /**
74
+ * Serializes statement contexts to a complete document string.
75
+ *
76
+ * The output includes:
77
+ * - `BASE` / `@base` declaration (when `baseIri` is set)
78
+ * - `PREFIX` / `@prefix` declarations (when `prefixes` is provided)
79
+ * - A blank line separating declarations from statements
80
+ * - Pretty-printed subject blocks with predicate-object grouping
81
+ * - Sorted and comment-decorated statements
82
+ *
83
+ * @param contexts The (optionally pre-sorted / pre-merged) statement contexts.
84
+ * @param options Serialization options.
85
+ * @returns The complete serialized document string.
86
+ */
87
+ serialize(contexts, options) {
88
+ const prefixes = options?.prefixes ?? {};
89
+ const baseIri = options?.baseIri ?? '';
90
+ const lineEnd = options?.lineEnd ?? '\n';
91
+ const blankLines = options?.blankLinesBetweenSubjects ?? true;
92
+ const sortingStrategy = options?.sortingStrategy ?? false;
93
+ const assumeSorted = options?.assumeSorted ?? false;
94
+ const lowercaseDirectives = options?.lowercaseDirectives ?? false;
95
+ const inlineSingleUseBlankNodes = options?.inlineSingleUseBlankNodes ?? true;
96
+ // Sort if requested and not already sorted.
97
+ const sortedContexts = (sortingStrategy && !assumeSorted) ? this.sort(contexts, sortingStrategy) : contexts;
98
+ const parts = [];
99
+ if (baseIri) {
100
+ const keyword = lowercaseDirectives ? '@base' : 'BASE';
101
+ const terminator = lowercaseDirectives ? ' .' : '';
102
+ parts.push(`${keyword} <${baseIri}>${terminator}`);
103
+ }
104
+ for (const [prefix, namespace] of Object.entries(prefixes)) {
105
+ const keyword = lowercaseDirectives ? '@prefix' : 'PREFIX';
106
+ const terminator = lowercaseDirectives ? ' .' : '';
107
+ parts.push(`${keyword} ${prefix}: <${namespace}>${terminator}`);
108
+ }
109
+ // Blank line after declarations.
110
+ if (parts.length > 0) {
111
+ parts.push('');
112
+ }
113
+ const serializerOpts = {
114
+ prefixes,
115
+ baseIri: baseIri || undefined,
116
+ lowercaseDirectives,
117
+ lineEnd,
118
+ emitDirectives: false,
119
+ inlineSingleUseBlankNodes,
120
+ };
121
+ // Group contexts by subject for pretty-printed output with
122
+ // predicate-object lists (e.g. Turtle's ";" syntax).
123
+ const subjectGroups = new Map();
124
+ for (const ctx of sortedContexts) {
125
+ const key = ctx.subject.value;
126
+ if (!subjectGroups.has(key)) {
127
+ subjectGroups.set(key, []);
128
+ }
129
+ subjectGroups.get(key).push(ctx);
130
+ }
131
+ const groupEntries = Array.from(subjectGroups.entries());
132
+ // Fast path: render all quads in one serializer call and split by
133
+ // subject-block separators. This avoids repeated serializer setup.
134
+ const batchedBody = this.serializer.serialize(sortedContexts, {
135
+ ...serializerOpts,
136
+ blankLinesBetweenSubjects: true,
137
+ });
138
+ const batchedBlocks = this.splitSubjectBlocks(batchedBody, lineEnd);
139
+ const canUseBatchedBlocks = batchedBlocks.length === groupEntries.length;
140
+ for (let groupIndex = 0; groupIndex < groupEntries.length; groupIndex++) {
141
+ const [_subjectKey, groupContexts] = groupEntries[groupIndex];
142
+ // Blank line between subject blocks.
143
+ if (groupIndex > 0 && blankLines) {
144
+ parts.push('');
145
+ }
146
+ // Collect comments from all contexts in this subject group.
147
+ // Leading comments are emitted before the subject block.
148
+ // Trailing comments on non-last quads are also emitted as
149
+ // leading comments since they cannot be placed inline within
150
+ // a grouped subject block.
151
+ for (let i = 0; i < groupContexts.length; i++) {
152
+ const ctx = groupContexts[i];
153
+ if (ctx.leadingComments) {
154
+ for (const comment of ctx.leadingComments) {
155
+ parts.push(comment.image);
156
+ }
157
+ }
158
+ if (i < groupContexts.length - 1 && ctx.trailingComment) {
159
+ parts.push(ctx.trailingComment.image);
160
+ }
161
+ }
162
+ // Serialize the subject block using the underlying serializer,
163
+ // which handles predicate-object grouping and pretty-printing.
164
+ let body;
165
+ if (canUseBatchedBlocks) {
166
+ body = batchedBlocks[groupIndex];
167
+ }
168
+ else {
169
+ body = this.serializer.serialize(groupContexts, serializerOpts);
170
+ }
171
+ // Append trailing comment from the last context in the group.
172
+ const lastCtx = groupContexts[groupContexts.length - 1];
173
+ if (lastCtx.trailingComment) {
174
+ parts.push(this.appendTrailingComment(body, lineEnd, lastCtx.trailingComment.image));
175
+ }
176
+ else {
177
+ parts.push(body);
178
+ }
179
+ }
180
+ return parts.join(lineEnd);
181
+ }
182
+ /**
183
+ * Splits serializer output into subject blocks using blank-line separators.
184
+ */
185
+ splitSubjectBlocks(body, lineEnd) {
186
+ if (!body) {
187
+ return [];
188
+ }
189
+ const blocks = body.split(`${lineEnd}${lineEnd}`);
190
+ return blocks.filter(block => block.trim() !== '');
191
+ }
192
+ /**
193
+ * Appends a trailing comment to the final logical line of a block.
194
+ */
195
+ appendTrailingComment(body, lineEnd, commentImage) {
196
+ const lastBreak = body.lastIndexOf(lineEnd);
197
+ if (lastBreak === -1) {
198
+ return `${body} ${commentImage}`;
199
+ }
200
+ const lineStart = lastBreak + lineEnd.length;
201
+ return body.slice(0, lineStart) + body.slice(lineStart) + ' ' + commentImage;
202
+ }
203
+ }
204
+ //# sourceMappingURL=quad-context-serializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quad-context-serializer.js","sourceRoot":"","sources":["../src/quad-context-serializer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAsBD;IArB7B;;OAEG;IACc,cAAc,GAAW;QACtC,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;QAChC,YAAY,EAAE,CAAC,CAAC;KACnB,CAAC;IAEF;;;;;OAKG;IACH,YAA6B,UAA2B;QAA3B,eAAU,GAAV,UAAU,CAAiB;IAAI,CAAC;IAE7D;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAuB,EAAE,QAAgB;QACnD,MAAM,MAAM,GAAkB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7C,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,YAAY,EAAE,IAAI,CAAC,cAAc;YACjC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,WAAW,EAAE,IAAI,CAAC,cAAc;YAChC,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,SAAS;YAC1B,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,CAAC,CAAC,MAAM;SACnB,CAAC,CAAC,CAAC;QAEJ,OAAO;YACH,GAAG,QAAQ;YACX,GAAG,MAAM;SACZ,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,CAAC,QAAuB,EAAE,IAAmB;QAC7C,OAAO,UAAU,CAAC,IAAI,CAAC,QAAkB,EAAE,IAAI,CAAkB,CAAC;IACtE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,QAAuB,EAAE,OAAsC;QACrE,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QACzC,MAAM,UAAU,GAAG,OAAO,EAAE,yBAAyB,IAAI,IAAI,CAAC;QAC9D,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;QAC1D,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,KAAK,CAAC;QACpD,MAAM,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,IAAI,KAAK,CAAC;QAClE,MAAM,yBAAyB,GAAG,OAAO,EAAE,yBAAyB,IAAI,IAAI,CAAC;QAE7E,4CAA4C;QAC5C,MAAM,cAAc,GAAG,CAAC,eAAe,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5G,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YACvD,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAEnD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,KAAK,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3D,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAEnD,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,MAAM,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,iCAAiC;QACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,cAAc,GAAyB;YACzC,QAAQ;YACR,OAAO,EAAE,OAAO,IAAI,SAAS;YAC7B,mBAAmB;YACnB,OAAO;YACP,cAAc,EAAE,KAAK;YACrB,yBAAyB;SAC5B,CAAC;QAEF,2DAA2D;QAC3D,qDAAqD;QACrD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;QAEvD,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;YAE9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzD,kEAAkE;QAClE,mEAAmE;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE;YAC1D,GAAG,cAAc;YACjB,yBAAyB,EAAE,IAAI;SAClC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpE,MAAM,mBAAmB,GAAG,aAAa,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC;QAEzE,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;YACtE,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YAE9D,qCAAqC;YACrC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;YAED,4DAA4D;YAC5D,yDAAyD;YACzD,0DAA0D;YAC1D,6DAA6D;YAC7D,2BAA2B;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAE7B,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;oBACtB,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;wBACxC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;oBACtD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;YAED,+DAA+D;YAC/D,+DAA+D;YAC/D,IAAI,IAAY,CAAC;YAEjB,IAAI,mBAAmB,EAAE,CAAC;gBACtB,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACJ,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YACpE,CAAC;YAED,8DAA8D;YAC9D,MAAM,OAAO,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAExD,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAAY,EAAE,OAAe;QACpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;QAElD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,IAAY,EAAE,OAAe,EAAE,YAAoB;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,IAAI,IAAI,YAAY,EAAE,CAAC;QACrC,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;QAE7C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC;IACjF,CAAC;CACJ"}
@@ -3,7 +3,7 @@ import { BlankNode, Literal, NamedNode, Quad, Term, Variable } from '@rdfjs/type
3
3
  import { Rdf12Quad, Rdf12Term, TripleTerm } from './utilities/types';
4
4
  import { IQuadSerializer } from './quad-serializer.interface';
5
5
  import { SerializationResult } from './serialization-result';
6
- import { SerializerOptions } from './serializer-options';
6
+ import { SerializationOptions } from './serialization-options';
7
7
  /**
8
8
  * Abstract base class for RDF serializers. Provides common functionality
9
9
  * for serializing terms and literals.
@@ -28,46 +28,46 @@ export declare abstract class QuadSerializerBase implements IQuadSerializer {
28
28
  /**
29
29
  * Serializes a single quad to a string.
30
30
  */
31
- abstract serializeQuad(quad: Quad | Rdf12Quad, options?: SerializerOptions): string;
31
+ abstract serializeQuad(quad: Quad | Rdf12Quad, options?: SerializationOptions): string;
32
32
  /**
33
33
  * Serializes an array of quads to a string.
34
34
  */
35
- abstract serialize(quads: Iterable<Quad | Rdf12Quad>, options?: SerializerOptions): string;
35
+ abstract serialize(quads: Iterable<Quad | Rdf12Quad>, options?: SerializationOptions): string;
36
36
  /**
37
37
  * Serializes quads with formatting, returning detailed result.
38
38
  */
39
- format(quads: Iterable<Quad | Rdf12Quad>, options?: SerializerOptions): SerializationResult;
39
+ format(quads: Iterable<Quad | Rdf12Quad>, options?: SerializationOptions): SerializationResult;
40
40
  /**
41
41
  * Serializes a named node (IRI).
42
42
  */
43
- protected serializeNamedNode(node: NamedNode, options: Required<SerializerOptions>): string;
43
+ protected serializeNamedNode(node: NamedNode, options: Required<SerializationOptions>): string;
44
44
  /**
45
45
  * Serializes a blank node.
46
46
  */
47
- protected serializeBlankNode(node: BlankNode, _options: Required<SerializerOptions>): string;
47
+ protected serializeBlankNode(node: BlankNode, _options: Required<SerializationOptions>): string;
48
48
  /**
49
49
  * Serializes a literal value.
50
50
  */
51
- protected serializeLiteral(literal: Literal, options: Required<SerializerOptions>): string;
51
+ protected serializeLiteral(literal: Literal, options: Required<SerializationOptions>): string;
52
52
  /**
53
53
  * Serializes a SPARQL variable.
54
54
  */
55
- protected serializeVariable(variable: Variable, _options: Required<SerializerOptions>): string;
55
+ protected serializeVariable(variable: Variable, _options: Required<SerializationOptions>): string;
56
56
  /**
57
57
  * Serializes an RDF 1.2 Triple Term.
58
58
  */
59
- protected serializeTripleTerm(tripleTerm: TripleTerm, options: Required<SerializerOptions>): string;
59
+ protected serializeTripleTerm(tripleTerm: TripleTerm, options: Required<SerializationOptions>): string;
60
60
  /**
61
61
  * Serializes any RDF term.
62
62
  */
63
- protected serializeTerm(term: Term | Rdf12Term, options: Required<SerializerOptions>): string;
63
+ protected serializeTerm(term: Term | Rdf12Term, options: Required<SerializationOptions>): string;
64
64
  /**
65
65
  * Gets merged options with defaults.
66
66
  */
67
- protected getOptions(options?: SerializerOptions): Required<SerializerOptions>;
67
+ protected getOptions(options?: SerializationOptions): Required<SerializationOptions>;
68
68
  }
69
69
  /**
70
70
  * Merges user options with defaults.
71
71
  */
72
- export declare function mergeOptions(options?: SerializerOptions): Required<SerializerOptions>;
72
+ export declare function mergeOptions(options?: SerializationOptions): Required<SerializationOptions>;
73
73
  //# sourceMappingURL=quad-serializer-base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quad-serializer-base.d.ts","sourceRoot":"","sources":["../src/quad-serializer-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAmB,MAAM,sBAAsB,CAAC;AAK1E;;;GAGG;AACH,8BAAsB,kBAAmB,YAAW,eAAe;IAC/D;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAEpC;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;IAE5C;;OAEG;IACH,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAS;IAEpD;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;IAEzC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM;IAEnF;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM;IAE1F;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,mBAAmB;IAM3F;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM;IAmB3F;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM;IAI5F;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM;IAuD1F;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM;IAI9F;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM;IAYnG;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,MAAM;IAmB7F;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;CAGjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CASrF"}
1
+ {"version":3,"file":"quad-serializer-base.d.ts","sourceRoot":"","sources":["../src/quad-serializer-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAmB,MAAM,yBAAyB,CAAC;AAMhF;;;GAGG;AACH,8BAAsB,kBAAmB,YAAW,eAAe;IAC/D;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAEpC;;OAEG;IACH,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAS;IAE5C;;OAEG;IACH,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAS;IAEpD;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,OAAO,CAAS;IAEzC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM;IAEtF;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM;IAE7F;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB;IAM9F;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAmB9F;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAI/F;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAuD7F;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAIjG;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAYtG;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,MAAM;IAmBhG;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;CAGvF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAS3F"}
@@ -1,7 +1,8 @@
1
1
  import { RDF, XSD } from './ontologies';
2
- import { DEFAULT_OPTIONS } from './serializer-options';
2
+ import { DEFAULT_OPTIONS } from './serialization-options';
3
3
  import { escapeLocalName, escapeIri, escapeString } from "./utilities/escaping";
4
4
  import { isInteger, isDecimal, isDouble, needsLongString } from "./utilities/literals";
5
+ import { normalizeBlankNodeId } from './utilities/blank-nodes';
5
6
  import { findPrefix } from "./utilities/prefixes";
6
7
  /**
7
8
  * Abstract base class for RDF serializers. Provides common functionality
@@ -49,7 +50,7 @@ export class QuadSerializerBase {
49
50
  * Serializes a blank node.
50
51
  */
51
52
  serializeBlankNode(node, _options) {
52
- return `_:${node.value}`;
53
+ return `_:${normalizeBlankNodeId(node.value)}`;
53
54
  }
54
55
  /**
55
56
  * Serializes a literal value.
@@ -1 +1 @@
1
- {"version":3,"file":"quad-serializer-base.js","sourceRoot":"","sources":["../src/quad-serializer-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quad-serializer-base.js","sourceRoot":"","sources":["../src/quad-serializer-base.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Quad } from "@rdfjs/types";
2
2
  import { RdfSyntax } from "@faubulous/mentor-rdf-parsers";
3
3
  import { Rdf12Quad } from "./utilities/types";
4
- import { SerializerOptions } from "./serializer-options";
4
+ import { SerializationOptions } from "./serialization-options";
5
5
  import { SerializationResult } from "./serialization-result";
6
6
  /**
7
7
  * Common interface for all serializers that can serialize RDF quads to a string format.
@@ -14,14 +14,14 @@ export interface IQuadSerializer {
14
14
  /**
15
15
  * Serializes a single quad to a string.
16
16
  */
17
- serializeQuad(quad: Quad | Rdf12Quad, options?: SerializerOptions): string;
17
+ serializeQuad(quad: Quad | Rdf12Quad, options?: SerializationOptions): string;
18
18
  /**
19
19
  * Serializes an array of quads to a string.
20
20
  */
21
- serialize(quads: Iterable<Quad | Rdf12Quad>, options?: SerializerOptions): string;
21
+ serialize(quads: Iterable<Quad | Rdf12Quad>, options?: SerializationOptions): string;
22
22
  /**
23
23
  * Serializes quads to a string with formatting applied.
24
24
  */
25
- format(quads: Iterable<Quad | Rdf12Quad>, options?: SerializerOptions): SerializationResult;
25
+ format(quads: Iterable<Quad | Rdf12Quad>, options?: SerializationOptions): SerializationResult;
26
26
  }
27
27
  //# sourceMappingURL=quad-serializer.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quad-serializer.interface.d.ts","sourceRoot":"","sources":["../src/quad-serializer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAE3B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAE3E;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAElF;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;CAC/F"}
1
+ {"version":3,"file":"quad-serializer.interface.d.ts","sourceRoot":"","sources":["../src/quad-serializer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAE3B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAAC;IAE9E;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAAC;IAErF;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;CAClG"}
@@ -5,8 +5,8 @@ import { Rdf12Quad } from "./utilities/types.js";
5
5
  */
6
6
  export type QuadComparator = (a: Quad | Rdf12Quad, b: Quad | Rdf12Quad) => number;
7
7
  /**
8
- * Strategy for sorting quads.
9
- * Supports pluggable sorting algorithms with optional preparation step.
8
+ * A strategy for sorting quads that supports pluggable sorting
9
+ * algorithms with optional preparation step.
10
10
  */
11
11
  export interface QuadSortingStrategy {
12
12
  /**