@graphty/graph-io 0.2.4 → 0.3.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 (180) hide show
  1. package/README.md +29 -7
  2. package/dist/chunks/{escape-DyI8JofU.js → escape-CKied3Ri.js} +16 -10
  3. package/dist/chunks/escape-CKied3Ri.js.map +1 -0
  4. package/dist/chunks/{importer-DbnGYr3_.js → importer-C6QcIRIb.js} +129 -39
  5. package/dist/chunks/importer-C6QcIRIb.js.map +1 -0
  6. package/dist/chunks/{importer-CpCpfbxr.js → importer-D5pAsweZ.js} +136 -31
  7. package/dist/chunks/importer-D5pAsweZ.js.map +1 -0
  8. package/dist/chunks/{importer-GozH8DkN.js → importer-DbMrAR_w.js} +10 -4
  9. package/dist/chunks/importer-DbMrAR_w.js.map +1 -0
  10. package/dist/chunks/{importer-CQnJuWJw.js → importer-DkzjTvHc.js} +82 -40
  11. package/dist/chunks/importer-DkzjTvHc.js.map +1 -0
  12. package/dist/chunks/{records-CGpxszm1.js → records-BKSMowhR.js} +3 -3
  13. package/dist/chunks/{records-CGpxszm1.js.map → records-BKSMowhR.js.map} +1 -1
  14. package/dist/chunks/{text-CajMdVFy.js → text-Dr0Ifpag.js} +2 -2
  15. package/dist/chunks/{text-CajMdVFy.js.map → text-Dr0Ifpag.js.map} +1 -1
  16. package/dist/chunks/{writer-DxSKC7TL.js → writer-BdMak4_J.js} +341 -112
  17. package/dist/chunks/writer-BdMak4_J.js.map +1 -0
  18. package/dist/csv.js +24 -6
  19. package/dist/csv.js.map +1 -1
  20. package/dist/dot.js +1 -1
  21. package/dist/gexf.js +42 -10
  22. package/dist/gexf.js.map +1 -1
  23. package/dist/gml.js +69 -25
  24. package/dist/gml.js.map +1 -1
  25. package/dist/graph-io.js +186 -129
  26. package/dist/graph-io.js.map +1 -1
  27. package/dist/graphml.js +1 -1
  28. package/dist/json.js +1 -1
  29. package/dist/neo4j.js +10 -4
  30. package/dist/neo4j.js.map +1 -1
  31. package/dist/pajek.js +1 -1
  32. package/dist/src/common/codes.d.ts +6 -0
  33. package/dist/src/common/codes.d.ts.map +1 -1
  34. package/dist/src/common/codes.js +6 -0
  35. package/dist/src/common/codes.js.map +1 -1
  36. package/dist/src/common/escape.d.ts +5 -4
  37. package/dist/src/common/escape.d.ts.map +1 -1
  38. package/dist/src/common/escape.js +6 -5
  39. package/dist/src/common/escape.js.map +1 -1
  40. package/dist/src/common/format.d.ts +3 -3
  41. package/dist/src/common/format.js +5 -5
  42. package/dist/src/common/format.js.map +1 -1
  43. package/dist/src/common/input.d.ts +24 -6
  44. package/dist/src/common/input.d.ts.map +1 -1
  45. package/dist/src/common/input.js +259 -23
  46. package/dist/src/common/input.js.map +1 -1
  47. package/dist/src/common/options.d.ts +2 -0
  48. package/dist/src/common/options.d.ts.map +1 -1
  49. package/dist/src/common/options.js +17 -0
  50. package/dist/src/common/options.js.map +1 -1
  51. package/dist/src/common/text.js +4 -4
  52. package/dist/src/common/text.js.map +1 -1
  53. package/dist/src/common/weights.d.ts.map +1 -1
  54. package/dist/src/common/weights.js +8 -0
  55. package/dist/src/common/weights.js.map +1 -1
  56. package/dist/src/common/xml.d.ts +7 -0
  57. package/dist/src/common/xml.d.ts.map +1 -1
  58. package/dist/src/common/xml.js +12 -0
  59. package/dist/src/common/xml.js.map +1 -1
  60. package/dist/src/formats/csv/exporter.d.ts +5 -1
  61. package/dist/src/formats/csv/exporter.d.ts.map +1 -1
  62. package/dist/src/formats/csv/exporter.js +8 -1
  63. package/dist/src/formats/csv/exporter.js.map +1 -1
  64. package/dist/src/formats/csv/importer.d.ts.map +1 -1
  65. package/dist/src/formats/csv/importer.js +1 -0
  66. package/dist/src/formats/csv/importer.js.map +1 -1
  67. package/dist/src/formats/csv/index.d.ts +6 -0
  68. package/dist/src/formats/csv/index.d.ts.map +1 -1
  69. package/dist/src/formats/csv/index.js +7 -1
  70. package/dist/src/formats/csv/index.js.map +1 -1
  71. package/dist/src/formats/csv/records.js +1 -1
  72. package/dist/src/formats/csv/records.js.map +1 -1
  73. package/dist/src/formats/dot/exporter.d.ts +1 -1
  74. package/dist/src/formats/dot/exporter.d.ts.map +1 -1
  75. package/dist/src/formats/dot/exporter.js +3 -3
  76. package/dist/src/formats/dot/exporter.js.map +1 -1
  77. package/dist/src/formats/dot/importer.d.ts +6 -0
  78. package/dist/src/formats/dot/importer.d.ts.map +1 -1
  79. package/dist/src/formats/dot/importer.js +151 -24
  80. package/dist/src/formats/dot/importer.js.map +1 -1
  81. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  82. package/dist/src/formats/gexf/exporter.js +32 -7
  83. package/dist/src/formats/gexf/exporter.js.map +1 -1
  84. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  85. package/dist/src/formats/gexf/importer.js +2 -2
  86. package/dist/src/formats/gexf/importer.js.map +1 -1
  87. package/dist/src/formats/gexf/index.d.ts +6 -0
  88. package/dist/src/formats/gexf/index.d.ts.map +1 -1
  89. package/dist/src/formats/gexf/index.js +7 -1
  90. package/dist/src/formats/gexf/index.js.map +1 -1
  91. package/dist/src/formats/gml/importer.d.ts +2 -2
  92. package/dist/src/formats/gml/importer.d.ts.map +1 -1
  93. package/dist/src/formats/gml/importer.js +66 -25
  94. package/dist/src/formats/gml/importer.js.map +1 -1
  95. package/dist/src/formats/gml/index.d.ts +7 -1
  96. package/dist/src/formats/gml/index.d.ts.map +1 -1
  97. package/dist/src/formats/gml/index.js +8 -2
  98. package/dist/src/formats/gml/index.js.map +1 -1
  99. package/dist/src/formats/graphml/constants.d.ts +6 -0
  100. package/dist/src/formats/graphml/constants.d.ts.map +1 -1
  101. package/dist/src/formats/graphml/constants.js +7 -1
  102. package/dist/src/formats/graphml/constants.js.map +1 -1
  103. package/dist/src/formats/graphml/importer.d.ts.map +1 -1
  104. package/dist/src/formats/graphml/importer.js +2 -2
  105. package/dist/src/formats/graphml/importer.js.map +1 -1
  106. package/dist/src/formats/json/exporter.d.ts.map +1 -1
  107. package/dist/src/formats/json/exporter.js +14 -5
  108. package/dist/src/formats/json/exporter.js.map +1 -1
  109. package/dist/src/formats/json/importer.d.ts +8 -0
  110. package/dist/src/formats/json/importer.d.ts.map +1 -1
  111. package/dist/src/formats/json/importer.js +84 -37
  112. package/dist/src/formats/json/importer.js.map +1 -1
  113. package/dist/src/formats/neo4j/importer.js +1 -1
  114. package/dist/src/formats/neo4j/importer.js.map +1 -1
  115. package/dist/src/formats/neo4j/index.d.ts +6 -0
  116. package/dist/src/formats/neo4j/index.d.ts.map +1 -1
  117. package/dist/src/formats/neo4j/index.js +7 -1
  118. package/dist/src/formats/neo4j/index.js.map +1 -1
  119. package/dist/src/formats/pajek/exporter.d.ts +2 -0
  120. package/dist/src/formats/pajek/exporter.d.ts.map +1 -1
  121. package/dist/src/formats/pajek/exporter.js +13 -2
  122. package/dist/src/formats/pajek/exporter.js.map +1 -1
  123. package/dist/src/formats/pajek/importer.d.ts +8 -2
  124. package/dist/src/formats/pajek/importer.d.ts.map +1 -1
  125. package/dist/src/formats/pajek/importer.js +122 -26
  126. package/dist/src/formats/pajek/importer.js.map +1 -1
  127. package/dist/src/index.d.ts +1 -1
  128. package/dist/src/index.d.ts.map +1 -1
  129. package/dist/src/index.js +1 -1
  130. package/dist/src/index.js.map +1 -1
  131. package/dist/src/registry.d.ts +26 -0
  132. package/dist/src/registry.d.ts.map +1 -1
  133. package/dist/src/registry.js +101 -35
  134. package/dist/src/registry.js.map +1 -1
  135. package/dist/src/sniff.d.ts +1 -1
  136. package/dist/src/sniff.d.ts.map +1 -1
  137. package/dist/src/sniff.js +6 -1
  138. package/dist/src/sniff.js.map +1 -1
  139. package/dist/src/types.d.ts +22 -3
  140. package/dist/src/types.d.ts.map +1 -1
  141. package/dist/src/types.js.map +1 -1
  142. package/package.json +4 -3
  143. package/src/common/codes.ts +9 -0
  144. package/src/common/escape.ts +6 -5
  145. package/src/common/format.ts +5 -5
  146. package/src/common/input.ts +293 -22
  147. package/src/common/options.ts +24 -0
  148. package/src/common/text.ts +4 -4
  149. package/src/common/weights.ts +9 -0
  150. package/src/common/xml.ts +14 -0
  151. package/src/formats/csv/exporter.ts +12 -1
  152. package/src/formats/csv/importer.ts +1 -0
  153. package/src/formats/csv/index.ts +9 -0
  154. package/src/formats/csv/records.ts +1 -1
  155. package/src/formats/dot/exporter.ts +3 -3
  156. package/src/formats/dot/importer.ts +172 -32
  157. package/src/formats/gexf/exporter.ts +38 -7
  158. package/src/formats/gexf/importer.ts +12 -2
  159. package/src/formats/gexf/index.ts +9 -0
  160. package/src/formats/gml/importer.ts +75 -22
  161. package/src/formats/gml/index.ts +10 -1
  162. package/src/formats/graphml/constants.ts +9 -0
  163. package/src/formats/graphml/importer.ts +9 -2
  164. package/src/formats/json/exporter.ts +14 -5
  165. package/src/formats/json/importer.ts +104 -36
  166. package/src/formats/neo4j/importer.ts +1 -1
  167. package/src/formats/neo4j/index.ts +9 -0
  168. package/src/formats/pajek/exporter.ts +19 -2
  169. package/src/formats/pajek/importer.ts +145 -28
  170. package/src/index.ts +1 -0
  171. package/src/registry.ts +131 -40
  172. package/src/sniff.ts +6 -1
  173. package/src/types.ts +26 -3
  174. package/dist/chunks/escape-DyI8JofU.js.map +0 -1
  175. package/dist/chunks/importer-CQnJuWJw.js.map +0 -1
  176. package/dist/chunks/importer-CpCpfbxr.js.map +0 -1
  177. package/dist/chunks/importer-DbnGYr3_.js.map +0 -1
  178. package/dist/chunks/importer-GozH8DkN.js.map +0 -1
  179. package/dist/chunks/writer-DxSKC7TL.js.map +0 -1
  180. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -3,7 +3,7 @@
3
3
  * (design section 8.2), the names of the reserved columns and the issue and loss-note codes
4
4
  * grouped in two tables.
5
5
  */
6
- import { COLUMN_RENAMED_CODE, INVALID_UTF8_CODE, MUTUAL_EXPANDED_CODE, OPTION_IGNORED_CODE, PRECISION_CODE, ROLE_DROPPED_CODE, SINK_OPTION_CODE, UNKNOWN_ATTR_TYPE_CODE, WEIGHT_KEY_CLASH_CODE, } from "../../common/codes.js";
6
+ import { COLUMN_RENAMED_CODE, ENCODING_FALLBACK_CODE, INVALID_ENCODING_CODE, INVALID_UTF8_CODE, MUTUAL_EXPANDED_CODE, OPTION_IGNORED_CODE, PRECISION_CODE, ROLE_DROPPED_CODE, SINK_OPTION_CODE, UNKNOWN_ATTR_TYPE_CODE, UNKNOWN_ENCODING_CODE, WEIGHT_KEY_CLASH_CODE, } from "../../common/codes.js";
7
7
  import { BAD_QUOTE_CODE, UNCLOSED_QUOTE_CODE } from "../csv/records.js";
8
8
  import { ARRAY_DELIMITER_LOSS, DECLARED_TYPE_CHANGED_LOSS, ID_COLUMN_TAKEN_LOSS, ID_TEXT_COLLISION_LOSS, ID_TEXT_TYPE_LOSS, MULTIPLE_ID_PROPERTIES_LOSS, UNDIRECTED_LOSS, WEIGHT_COLUMN_TAKEN_LOSS, } from "./exporter.js";
9
9
  import { COLUMN_COUNT_CODE, DUPLICATE_NODE_CODE, HEADER_CODE, HEADER_OPTION_CODE, ID_MERGED_CODE, ID_SPACE_COLLISION_CODE, IGNORED_COLUMNS_LOSS, MISSING_ENDPOINT_CODE, MISSING_ID_CODE, ROLE_TAKEN_CODE, } from "./importer.js";
@@ -17,6 +17,12 @@ export { ID_SPACE_COLUMN, LABELS_COLUMN, neo4jImporter, TYPE_COLUMN } from "./im
17
17
  export const NEO4J_ISSUE = Object.freeze({
18
18
  /** The input holds invalid UTF-8 (fatal). */
19
19
  INVALID_UTF8: INVALID_UTF8_CODE,
20
+ /** Invalid bytes in the encoding a BOM, a declaration or the encoding option chose (fatal). */
21
+ INVALID_ENCODING: INVALID_ENCODING_CODE,
22
+ /** Bytes that are not UTF-8 and declare no encoding were read as windows-1252. */
23
+ ENCODING_FALLBACK: ENCODING_FALLBACK_CODE,
24
+ /** A declared encoding the platform cannot decode was ignored. */
25
+ UNKNOWN_ENCODING: UNKNOWN_ENCODING_CODE,
20
26
  /** An unterminated quoted field (fatal). */
21
27
  CSV_UNCLOSED_QUOTE: UNCLOSED_QUOTE_CODE,
22
28
  /** Text after a closing quote (fatal). */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/formats/neo4j/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,wBAAwB,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,eAAe,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAA2B,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAA2B,WAAW,EAAE,MAAM,eAAe,CAAC;AAEpH;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,6CAA6C;IAC7C,YAAY,EAAE,iBAAiB;IAC/B,4CAA4C;IAC5C,kBAAkB,EAAE,mBAAmB;IACvC,0CAA0C;IAC1C,SAAS,EAAE,cAAc;IACzB,+CAA+C;IAC/C,MAAM,EAAE,WAAW;IACnB,0DAA0D;IAC1D,YAAY,EAAE,iBAAiB;IAC/B,gCAAgC;IAChC,UAAU,EAAE,eAAe;IAC3B,oDAAoD;IACpD,gBAAgB,EAAE,qBAAqB;IACvC,4DAA4D;IAC5D,cAAc,EAAE,mBAAmB;IACnC,2CAA2C;IAC3C,kBAAkB,EAAE,uBAAuB;IAC3C,8DAA8D;IAC9D,SAAS,EAAE,cAAc;IACzB,yDAAyD;IACzD,qBAAqB,EAAE,kBAAkB;IACzC,mEAAmE;IACnE,iBAAiB,EAAE,sBAAsB;IACzC,wCAAwC;IACxC,SAAS,EAAE,cAAc;IACzB,sFAAsF;IACtF,cAAc,EAAE,mBAAmB;IACnC,8CAA8C;IAC9C,UAAU,EAAE,eAAe;IAC3B,sFAAsF;IACtF,cAAc,EAAE,mBAAmB;IACnC,wDAAwD;IACxD,WAAW,EAAE,gBAAgB;CAChC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,2CAA2C;IAC3C,eAAe,EAAE,oBAAoB;IACrC,oHAAoH;IACpH,sBAAsB,EAAE,eAAe;IACvC,4EAA4E;IAC5E,eAAe,EAAE,oBAAoB;IACrC,oFAAoF;IACpF,YAAY,EAAE,iBAAiB;IAC/B,iGAAiG;IACjG,gBAAgB,EAAE,qBAAqB;IACvC,gFAAgF;IAChF,YAAY,EAAE,iBAAiB;IAC/B,oEAAoE;IACpE,iBAAiB,EAAE,sBAAsB;IACzC,0EAA0E;IAC1E,mBAAmB,EAAE,wBAAwB;IAC7C,qEAAqE;IACrE,eAAe,EAAE,oBAAoB;IACrC,kEAAkE;IAClE,sBAAsB,EAAE,2BAA2B;IACnD,0EAA0E;IAC1E,qBAAqB,EAAE,0BAA0B;IACjD,6EAA6E;IAC7E,eAAe,EAAE,oBAAoB;CACxC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/formats/neo4j/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EACH,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,wBAAwB,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,eAAe,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAA2B,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAA2B,WAAW,EAAE,MAAM,eAAe,CAAC;AAEpH;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,6CAA6C;IAC7C,YAAY,EAAE,iBAAiB;IAC/B,+FAA+F;IAC/F,gBAAgB,EAAE,qBAAqB;IACvC,kFAAkF;IAClF,iBAAiB,EAAE,sBAAsB;IACzC,kEAAkE;IAClE,gBAAgB,EAAE,qBAAqB;IACvC,4CAA4C;IAC5C,kBAAkB,EAAE,mBAAmB;IACvC,0CAA0C;IAC1C,SAAS,EAAE,cAAc;IACzB,+CAA+C;IAC/C,MAAM,EAAE,WAAW;IACnB,0DAA0D;IAC1D,YAAY,EAAE,iBAAiB;IAC/B,gCAAgC;IAChC,UAAU,EAAE,eAAe;IAC3B,oDAAoD;IACpD,gBAAgB,EAAE,qBAAqB;IACvC,4DAA4D;IAC5D,cAAc,EAAE,mBAAmB;IACnC,2CAA2C;IAC3C,kBAAkB,EAAE,uBAAuB;IAC3C,8DAA8D;IAC9D,SAAS,EAAE,cAAc;IACzB,yDAAyD;IACzD,qBAAqB,EAAE,kBAAkB;IACzC,mEAAmE;IACnE,iBAAiB,EAAE,sBAAsB;IACzC,wCAAwC;IACxC,SAAS,EAAE,cAAc;IACzB,sFAAsF;IACtF,cAAc,EAAE,mBAAmB;IACnC,8CAA8C;IAC9C,UAAU,EAAE,eAAe;IAC3B,sFAAsF;IACtF,cAAc,EAAE,mBAAmB;IACnC,wDAAwD;IACxD,WAAW,EAAE,gBAAgB;CAChC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,2CAA2C;IAC3C,eAAe,EAAE,oBAAoB;IACrC,oHAAoH;IACpH,sBAAsB,EAAE,eAAe;IACvC,4EAA4E;IAC5E,eAAe,EAAE,oBAAoB;IACrC,oFAAoF;IACpF,YAAY,EAAE,iBAAiB;IAC/B,iGAAiG;IACjG,gBAAgB,EAAE,qBAAqB;IACvC,gFAAgF;IAChF,YAAY,EAAE,iBAAiB;IAC/B,oEAAoE;IACpE,iBAAiB,EAAE,sBAAsB;IACzC,0EAA0E;IAC1E,mBAAmB,EAAE,wBAAwB;IAC7C,qEAAqE;IACrE,eAAe,EAAE,oBAAoB;IACrC,kEAAkE;IAClE,sBAAsB,EAAE,2BAA2B;IACnD,0EAA0E;IAC1E,qBAAqB,EAAE,0BAA0B;IACjD,6EAA6E;IAC7E,eAAe,EAAE,oBAAoB;CACxC,CAAC,CAAC"}
@@ -52,6 +52,8 @@ export declare const PAJEK_LOSS: Readonly<{
52
52
  ROLE_ASSUMED: "W_ROLE_ASSUMED";
53
53
  /** Under sanitizeIds "mangle": an original id whose text reads back as the other type under ids "canonical". */
54
54
  ID_TEXT_TYPE: "W_ID_TEXT_TYPE";
55
+ /** Parameter text that looks like a number or a boolean reads back as one (parameters are untyped, design 5.1). */
56
+ TEXT_INFERRED: "W_TEXT_INFERRED";
55
57
  }>;
56
58
  /** The Pajek NET exporter. */
57
59
  export declare const pajekExporter: GraphExporter<PajekExportOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../../src/formats/pajek/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,OAAO,EAAqD,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAWtH,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU;IACnB,qGAAqG;;IAErG,8GAA8G;;IAE9G,oGAAoG;;IAEpG,0FAA0F;;IAE1F,oEAAoE;;IAEpE,oGAAoG;;IAEpG,yDAAyD;;IAEzD,iGAAiG;;IAEjG,sGAAsG;;IAEtG,kHAAkH;;IAElH,6HAA6H;;IAE7H,kHAAkH;;IAElH,gHAAgH;;EAElH,CAAC;AA6xBH,8BAA8B;AAC9B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CA6H1D,CAAC"}
1
+ {"version":3,"file":"exporter.d.ts","sourceRoot":"","sources":["../../../../src/formats/pajek/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,OAAO,EAAqD,KAAK,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAWtH,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU;IACnB,qGAAqG;;IAErG,8GAA8G;;IAE9G,oGAAoG;;IAEpG,0FAA0F;;IAE1F,oEAAoE;;IAEpE,oGAAoG;;IAEpG,yDAAyD;;IAEzD,iGAAiG;;IAEjG,sGAAsG;;IAEtG,kHAAkH;;IAElH,6HAA6H;;IAE7H,kHAAkH;;IAElH,gHAAgH;;IAEhH,mHAAmH;;EAErH,CAAC;AA2yBH,8BAA8B;AAC9B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CA6H1D,CAAC"}
@@ -18,6 +18,7 @@ import { capabilities, checkCapabilities, LOSS, sanitizeIds } from "../../common
18
18
  import { formatDecimal, formatF32, formatF64, formatInteger } from "../../common/format.js";
19
19
  import { canonicalId } from "../../common/ids.js";
20
20
  import { resolveExportOptions } from "../../common/options.js";
21
+ import { inferTextDtype } from "../../common/text.js";
21
22
  import { explicitWeights } from "../../common/weights.js";
22
23
  import { encodeChunks, joinText } from "../../common/writer.js";
23
24
  import { formatIntervals, isParameterKey, LABEL_COLUMN, ORIGINAL_ID_KEY, RELATION_COLUMN, SHAPE_COLUMN, SHAPES, } from "./syntax.js";
@@ -53,6 +54,8 @@ export const PAJEK_LOSS = Object.freeze({
53
54
  ROLE_ASSUMED: LOSS.ROLE_ASSUMED,
54
55
  /** Under sanitizeIds "mangle": an original id whose text reads back as the other type under ids "canonical". */
55
56
  ID_TEXT_TYPE: LOSS.ID_TEXT_TYPE,
57
+ /** Parameter text that looks like a number or a boolean reads back as one (parameters are untyped, design 5.1). */
58
+ TEXT_INFERRED: LOSS.TEXT_INFERRED,
56
59
  });
57
60
  /** The roles Pajek has a slot for beyond the structural, position and temporal ones. */
58
61
  const SLOT_ROLES = new Set(["label"]);
@@ -300,7 +303,7 @@ function cellText(column, row) {
300
303
  }
301
304
  /**
302
305
  * Count the cells of a plan that cannot be written (text with a quote or line break, non-finite
303
- * f64) and add the notes.
306
+ * f64) or read back typed (parameter text that looks like a number or a boolean) and add the notes.
304
307
  * @param planned - the plan
305
308
  * @param domain - node or edge
306
309
  * @param notes - the note list
@@ -313,6 +316,7 @@ function checkCells(planned, domain, notes) {
313
316
  const { name } = column.meta;
314
317
  let badText = 0;
315
318
  let nonFinite = 0;
319
+ let typed = 0;
316
320
  for (let r = 0; r < column.length; r++) {
317
321
  if (!column.isSet(r)) {
318
322
  continue;
@@ -329,14 +333,21 @@ function checkCells(planned, domain, notes) {
329
333
  }
330
334
  }
331
335
  else if (column.dtype === "string" || column.dtype === "dict") {
332
- if (!isPajekLabel(column.value(r))) {
336
+ const text = column.value(r);
337
+ if (!isPajekLabel(text)) {
333
338
  badText++;
334
339
  }
340
+ else if (slot === "param" && inferTextDtype(text) !== "string") {
341
+ typed++;
342
+ }
335
343
  }
336
344
  }
337
345
  if (badText > 0) {
338
346
  notes.push(note(PAJEK_LOSS.TEXT, `${badText} value(s) of ${domain} column "${name}" hold a double quote or a line break; Pajek cannot write them`, name, badText));
339
347
  }
348
+ if (typed > 0) {
349
+ notes.push(note(PAJEK_LOSS.TEXT_INFERRED, `${typed} value(s) of ${domain} column "${name}" look like numbers or booleans; Pajek parameters are untyped and they read back as such`, name, typed));
350
+ }
340
351
  if (nonFinite > 0) {
341
352
  notes.push(note(PAJEK_LOSS.NONFINITE_AS_TEXT, `${nonFinite} non-finite value(s) of ${domain} column "${name}" are written as text`, name, nonFinite));
342
353
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/pajek/exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/pajek/exporter.ts"],"names":[],"mappings":"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"}
@@ -26,12 +26,18 @@ export interface PajekImportOptions {
26
26
  export declare const PAJEK_ISSUE: Readonly<{
27
27
  /** The input holds invalid UTF-8 (fatal). */
28
28
  INVALID_UTF8: "E_INVALID_UTF8";
29
+ /** Invalid bytes in the encoding a BOM, a declaration or the encoding option chose (fatal). */
30
+ INVALID_ENCODING: "E_INVALID_ENCODING";
31
+ /** Bytes that are not UTF-8 and declare no encoding were read as windows-1252. */
32
+ ENCODING_FALLBACK: "W_ENCODING_FALLBACK";
33
+ /** A declared encoding the platform cannot decode was ignored. */
34
+ UNKNOWN_ENCODING: "W_UNKNOWN_ENCODING";
29
35
  /** Fatal: no `*Vertices` section (an empty file, or not a Pajek network). */
30
36
  NO_VERTICES: "E_PAJEK_NO_VERTICES";
31
37
  /** Fatal: `*Vertices` without a vertex count, or one the sink cannot hold. */
32
38
  VERTICES_COUNT: "E_PAJEK_VERTICES_COUNT";
33
- /** Aborts: a second `*Vertices` or `*Network` section; only one network per file is read. */
34
- MULTIPLE_NETWORKS: "E_PAJEK_MULTIPLE_NETWORKS";
39
+ /** A project file holds several networks; import() reads the first, importAll() reads every one. */
40
+ MULTIPLE_GRAPHS: "W_MULTIPLE_GRAPHS";
35
41
  /** A data line before the first section header. */
36
42
  OUTSIDE_SECTION: "E_PAJEK_OUTSIDE_SECTION";
37
43
  /** A section header the importer cannot parse. */
@@ -1 +1 @@
1
- {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/pajek/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA6BH,OAAO,EAA4B,KAAK,aAAa,EAAuC,MAAM,gBAAgB,CAAC;AAqBnH,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,yCAAyC;AACzC,eAAO,MAAM,WAAW;IACpB,6CAA6C;;IAE7C,6EAA6E;;IAE7E,8EAA8E;;IAE9E,6FAA6F;;IAE7F,mDAAmD;;IAEnD,kDAAkD;;IAElD,4DAA4D;;IAE5D,iDAAiD;;IAEjD,kDAAkD;;IAElD,4FAA4F;;IAE5F,qEAAqE;;IAErE,0EAA0E;;IAE1E,sFAAsF;;IAEtF,uCAAuC;;IAEvC,yDAAyD;;IAEzD,wFAAwF;;IAExF,sEAAsE;;IAEtE,sDAAsD;;IAEtD,kDAAkD;;IAElD,kDAAkD;;IAElD,+EAA+E;;IAE/E,yEAAyE;;IAEzE,uGAAuG;;IAEvG,4IAA4I;;IAE5I,uFAAuF;;IAEvF,oGAAoG;;IAEpG,6GAA6G;;IAE7G,gJAAgJ;;IAEhJ,gHAAgH;;EAElH,CAAC;AAsmCH,8BAA8B;AAC9B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAkD1D,CAAC"}
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/pajek/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsCH,OAAO,EAA4B,KAAK,aAAa,EAAuC,MAAM,gBAAgB,CAAC;AAqBnH,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,yCAAyC;AACzC,eAAO,MAAM,WAAW;IACpB,6CAA6C;;IAE7C,+FAA+F;;IAE/F,kFAAkF;;IAElF,kEAAkE;;IAElE,6EAA6E;;IAE7E,8EAA8E;;IAE9E,oGAAoG;;IAEpG,mDAAmD;;IAEnD,kDAAkD;;IAElD,4DAA4D;;IAE5D,iDAAiD;;IAEjD,kDAAkD;;IAElD,4FAA4F;;IAE5F,qEAAqE;;IAErE,0EAA0E;;IAE1E,sFAAsF;;IAEtF,uCAAuC;;IAEvC,yDAAyD;;IAEzD,wFAAwF;;IAExF,sEAAsE;;IAEtE,sDAAsD;;IAEtD,kDAAkD;;IAElD,kDAAkD;;IAElD,+EAA+E;;IAE/E,yEAAyE;;IAEzE,uGAAuG;;IAEvG,4IAA4I;;IAE5I,uFAAuF;;IAEvF,oGAAoG;;IAEpG,6GAA6G;;IAE7G,gJAAgJ;;IAEhJ,gHAAgH;;EAElH,CAAC;AAmmCH,8BAA8B;AAC9B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CA+G1D,CAAC"}
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { GraphFormatError, INVALID_INDEX, } from "@graphty/graph-format";
17
17
  import { declareResolved, RENAMED_CODE, ROLE_TAKEN_CODE } from "../../common/attributes.js";
18
- import { DUPLICATE_NODE_CODE, INVALID_UTF8_CODE, OPTION_IGNORED_CODE, SYNTAX_CODE } from "../../common/codes.js";
18
+ import { DUPLICATE_NODE_CODE, ENCODING_FALLBACK_CODE, INVALID_ENCODING_CODE, INVALID_UTF8_CODE, MULTIPLE_GRAPHS_CODE, OPTION_IGNORED_CODE, SYNTAX_CODE, UNKNOWN_ENCODING_CODE, } from "../../common/codes.js";
19
19
  import { DirectionResolver } from "../../common/direction.js";
20
20
  import { coerceIdText, ID_MERGED_CODE, IdCoercer } from "../../common/ids.js";
21
21
  import { LineReader, throwIfAborted } from "../../common/input.js";
@@ -28,12 +28,18 @@ import { isCommentOrBlank, isIntervalToken, isSectionLine, isVertexNumber, LABEL
28
28
  export const PAJEK_ISSUE = Object.freeze({
29
29
  /** The input holds invalid UTF-8 (fatal). */
30
30
  INVALID_UTF8: INVALID_UTF8_CODE,
31
+ /** Invalid bytes in the encoding a BOM, a declaration or the encoding option chose (fatal). */
32
+ INVALID_ENCODING: INVALID_ENCODING_CODE,
33
+ /** Bytes that are not UTF-8 and declare no encoding were read as windows-1252. */
34
+ ENCODING_FALLBACK: ENCODING_FALLBACK_CODE,
35
+ /** A declared encoding the platform cannot decode was ignored. */
36
+ UNKNOWN_ENCODING: UNKNOWN_ENCODING_CODE,
31
37
  /** Fatal: no `*Vertices` section (an empty file, or not a Pajek network). */
32
38
  NO_VERTICES: "E_PAJEK_NO_VERTICES",
33
39
  /** Fatal: `*Vertices` without a vertex count, or one the sink cannot hold. */
34
40
  VERTICES_COUNT: "E_PAJEK_VERTICES_COUNT",
35
- /** Aborts: a second `*Vertices` or `*Network` section; only one network per file is read. */
36
- MULTIPLE_NETWORKS: "E_PAJEK_MULTIPLE_NETWORKS",
41
+ /** A project file holds several networks; import() reads the first, importAll() reads every one. */
42
+ MULTIPLE_GRAPHS: MULTIPLE_GRAPHS_CODE,
37
43
  /** A data line before the first section header. */
38
44
  OUTSIDE_SECTION: "E_PAJEK_OUTSIDE_SECTION",
39
45
  /** A section header the importer cannot parse. */
@@ -225,6 +231,8 @@ class PajekParser {
225
231
  this.relationHandle = INVALID_INDEX;
226
232
  this.edgeSpellsHandle = INVALID_INDEX;
227
233
  this.nodeParams = new Map();
234
+ /** Set when a header line starts the next network of a project file (that line is not consumed). */
235
+ this.ended = false;
228
236
  this.edgeParams = new Map();
229
237
  this.sink = sink;
230
238
  this.report = report;
@@ -237,33 +245,34 @@ class PajekParser {
237
245
  * Handle one line; every problem of the line is recorded as an issue and the line skipped.
238
246
  * @param text - the line without its terminator
239
247
  * @param line - the 1-based line number
248
+ * @returns true when the line is the header of the next network (not consumed: this network is complete)
240
249
  */
241
250
  line(text, line) {
242
251
  if (isCommentOrBlank(text)) {
243
- return;
252
+ return false;
244
253
  }
245
254
  try {
246
255
  if (isSectionLine(text)) {
247
256
  this.header(text, line);
248
- return;
257
+ return this.ended;
249
258
  }
250
259
  switch (this.section) {
251
260
  case "none":
252
261
  throw new LineError("parse-error", PAJEK_ISSUE.OUTSIDE_SECTION, "data before the first section header; a Pajek network starts with *Vertices");
253
262
  case "vertices":
254
263
  this.vertexLine(text, line);
255
- return;
264
+ return false;
256
265
  case "lines":
257
266
  this.edgeLine(text, line);
258
- return;
267
+ return false;
259
268
  case "list":
260
269
  this.listLine(text, line);
261
- return;
270
+ return false;
262
271
  case "matrix":
263
272
  this.matrixLine(text, line);
264
- return;
273
+ return false;
265
274
  case "skip":
266
- return;
275
+ return false;
267
276
  default: {
268
277
  const name = this.section;
269
278
  throw new Error(`unknown section state ${name}`);
@@ -273,9 +282,10 @@ class PajekParser {
273
282
  catch (err) {
274
283
  if (err instanceof LineError) {
275
284
  this.report.error(err.category, err.code, err.message, { line });
276
- return;
285
+ return false;
277
286
  }
278
287
  this.report.recordError(err, { line });
288
+ return false;
279
289
  }
280
290
  }
281
291
  /**
@@ -322,7 +332,8 @@ class PajekParser {
322
332
  switch (h.kind) {
323
333
  case "network":
324
334
  if (this.networkName !== null || this.vertexCount >= 0) {
325
- this.refuseSecondNetwork(h.keyword, line);
335
+ this.ended = true;
336
+ return;
326
337
  }
327
338
  this.networkName = h.name ?? "";
328
339
  this.section = "none";
@@ -333,6 +344,11 @@ class PajekParser {
333
344
  this.section = "skip";
334
345
  return;
335
346
  }
347
+ if (this.vertexCount >= 0) {
348
+ // a second `*Vertices` without a `*Network` header starts the next network
349
+ this.ended = true;
350
+ return;
351
+ }
336
352
  this.verticesHeader(h, line);
337
353
  return;
338
354
  case "arcs":
@@ -363,9 +379,6 @@ class PajekParser {
363
379
  * @param line - the line number
364
380
  */
365
381
  verticesHeader(h, line) {
366
- if (this.vertexCount >= 0) {
367
- this.refuseSecondNetwork(h.keyword, line);
368
- }
369
382
  if (h.count === null) {
370
383
  this.report.fail(PAJEK_ISSUE.VERTICES_COUNT, "*Vertices needs a vertex count", { line });
371
384
  }
@@ -419,16 +432,6 @@ class PajekParser {
419
432
  this.kind = kind;
420
433
  this.relation = h.relation === null ? null : (h.name ?? String(h.relation));
421
434
  }
422
- /**
423
- * Refuse a second network: an issue, then ImportError with the report so far.
424
- * @param keyword - the header keyword
425
- * @param line - the line number
426
- */
427
- refuseSecondNetwork(keyword, line) {
428
- const message = `*${keyword} starts a second network; the importer reads one network per file`;
429
- this.report.error("unsupported", PAJEK_ISSUE.MULTIPLE_NETWORKS, message, { line });
430
- throw this.report.abort(message, { code: PAJEK_ISSUE.MULTIPLE_NETWORKS, line });
431
- }
432
435
  /**
433
436
  * Checks that run when a section ends.
434
437
  */
@@ -1031,17 +1034,110 @@ export const pajekImporter = Object.freeze({
1031
1034
  reportUnusedOptions(options, report, USED_OPTIONS);
1032
1035
  const parser = new PajekParser(sink, report, resolved, firstVertex);
1033
1036
  const reader = new LineReader(input, report, resolved);
1037
+ // after the first network: only its successors' headers are counted
1038
+ let rest = null;
1039
+ let restLine = 0;
1034
1040
  let sinceCheck = 0;
1035
1041
  for await (const text of reader) {
1036
- parser.line(text, reader.line);
1042
+ if (rest !== null) {
1043
+ rest.line(text);
1044
+ }
1045
+ else if (parser.line(text, reader.line)) {
1046
+ rest = new NetworkCounter();
1047
+ rest.line(text);
1048
+ restLine = reader.line;
1049
+ }
1037
1050
  if (++sinceCheck >= ABORT_CHECK_INTERVAL) {
1038
1051
  sinceCheck = 0;
1039
1052
  throwIfAborted(resolved.signal);
1040
1053
  }
1041
1054
  }
1042
1055
  parser.finish();
1056
+ if (rest !== null) {
1057
+ report.warning("unsupported", PAJEK_ISSUE.MULTIPLE_GRAPHS, `the project file holds ${rest.count} more network(s) after the first; import() reads the first, importAll() reads every one`, { line: restLine });
1058
+ }
1043
1059
  throwIfAborted(resolved.signal);
1044
1060
  return report.finish();
1045
1061
  },
1062
+ /**
1063
+ * Read every network of a Pajek project file (`.paj`), each into its own sink. A network starts
1064
+ * at `*Network` or at a `*Vertices` that does not belong to a `*Partition` / `*Vector` section.
1065
+ * @param input - the text, bytes or stream
1066
+ * @param sinkFor - the sink of the network with this index, called before its first push
1067
+ * @param options - common and Pajek options
1068
+ * @returns one report per network
1069
+ */
1070
+ async importAll(input, sinkFor, options) {
1071
+ const resolved = resolveImportOptions(options, DEFAULTS);
1072
+ const firstVertex = firstVertexOption(options?.firstVertex);
1073
+ const reports = [new ImportReportBuilder("pajek", resolved.errorLimit)];
1074
+ reportUnusedOptions(options, reports[0], USED_OPTIONS);
1075
+ const open = () => {
1076
+ const report = reports[reports.length - 1];
1077
+ const sink = sinkFor(reports.length - 1);
1078
+ reportSinkOptions(sink, options, report);
1079
+ return new PajekParser(sink, report, resolved, firstVertex);
1080
+ };
1081
+ let parser = open();
1082
+ // decoding issues belong to the file, so they go to the first network's report
1083
+ const reader = new LineReader(input, reports[0], resolved);
1084
+ let sinceCheck = 0;
1085
+ for await (const text of reader) {
1086
+ if (parser.line(text, reader.line)) {
1087
+ parser.finish();
1088
+ reports.push(new ImportReportBuilder("pajek", resolved.errorLimit));
1089
+ parser = open();
1090
+ parser.line(text, reader.line);
1091
+ }
1092
+ if (++sinceCheck >= ABORT_CHECK_INTERVAL) {
1093
+ sinceCheck = 0;
1094
+ throwIfAborted(resolved.signal);
1095
+ }
1096
+ }
1097
+ parser.finish();
1098
+ throwIfAborted(resolved.signal);
1099
+ return reports.map((r) => r.finish());
1100
+ },
1046
1101
  });
1102
+ /**
1103
+ * Counts the networks of the rest of a project file by their headers alone, with the parser's
1104
+ * rule: a network starts at `*Network` after a named or populated one, or at a `*Vertices` after a
1105
+ * populated one unless it belongs to a skipped section (`*Partition`, `*Vector`, ...).
1106
+ */
1107
+ class NetworkCounter {
1108
+ constructor() {
1109
+ /** Networks started so far (the first header fed opens the first). */
1110
+ this.count = 0;
1111
+ this.named = false;
1112
+ this.populated = false;
1113
+ this.skipping = false;
1114
+ }
1115
+ /**
1116
+ * Feed one line.
1117
+ * @param text - the line
1118
+ */
1119
+ line(text) {
1120
+ if (!isSectionLine(text)) {
1121
+ return;
1122
+ }
1123
+ const h = parseSectionHeader(text);
1124
+ const kind = h === null ? "unsupported" : h.kind;
1125
+ const { skipping } = this;
1126
+ this.skipping = kind === "unsupported" || (kind === "vertices" && skipping && this.populated);
1127
+ if (kind === "network") {
1128
+ if (this.count === 0 || this.named || this.populated) {
1129
+ this.count++;
1130
+ this.populated = false;
1131
+ }
1132
+ this.named = true;
1133
+ }
1134
+ else if (kind === "vertices" && !this.skipping) {
1135
+ if (this.count === 0 || this.populated) {
1136
+ this.count++;
1137
+ this.named = false;
1138
+ }
1139
+ this.populated = true;
1140
+ }
1141
+ }
1142
+ }
1047
1143
  //# sourceMappingURL=importer.js.map