@cratis/fundamentals 7.15.0 → 7.15.2

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 (237) hide show
  1. package/JsonSerializer.ts +88 -56
  2. package/dist/JsonSerializer.d.ts.map +1 -1
  3. package/dist/JsonSerializer.js +50 -54
  4. package/dist/JsonSerializer.js.map +1 -1
  5. package/dist/cjs/JsonSerializer.d.ts.map +1 -1
  6. package/dist/cjs/JsonSerializer.js +56 -54
  7. package/dist/cjs/JsonSerializer.js.map +1 -1
  8. package/dist/cjs/geospatial/LineString.d.ts +7 -0
  9. package/dist/cjs/geospatial/LineString.d.ts.map +1 -0
  10. package/dist/cjs/geospatial/LineString.js +20 -0
  11. package/dist/cjs/geospatial/LineString.js.map +1 -0
  12. package/dist/cjs/geospatial/LinearRing.d.ts +7 -0
  13. package/dist/cjs/geospatial/LinearRing.d.ts.map +1 -0
  14. package/dist/cjs/geospatial/LinearRing.js +17 -0
  15. package/dist/cjs/geospatial/LinearRing.js.map +1 -0
  16. package/dist/cjs/geospatial/Point.d.ts +7 -0
  17. package/dist/cjs/geospatial/Point.d.ts.map +1 -0
  18. package/dist/cjs/geospatial/Point.js +30 -0
  19. package/dist/cjs/geospatial/Point.js.map +1 -0
  20. package/dist/cjs/geospatial/Polygon.d.ts +8 -0
  21. package/dist/cjs/geospatial/Polygon.d.ts.map +1 -0
  22. package/dist/cjs/geospatial/Polygon.js +23 -0
  23. package/dist/cjs/geospatial/Polygon.js.map +1 -0
  24. package/dist/cjs/geospatial/index.d.ts +5 -0
  25. package/dist/cjs/geospatial/index.d.ts.map +1 -0
  26. package/dist/cjs/index.d.ts +2 -1
  27. package/dist/cjs/index.d.ts.map +1 -1
  28. package/dist/cjs/index.js +24 -2
  29. package/dist/cjs/index.js.map +1 -1
  30. package/dist/cjs/json/DateJsonConverter.d.ts +8 -0
  31. package/dist/cjs/json/DateJsonConverter.d.ts.map +1 -0
  32. package/dist/cjs/json/DateJsonConverter.js +18 -0
  33. package/dist/cjs/json/DateJsonConverter.js.map +1 -0
  34. package/dist/cjs/json/GuidJsonConverter.d.ts +9 -0
  35. package/dist/cjs/json/GuidJsonConverter.d.ts.map +1 -0
  36. package/dist/cjs/json/GuidJsonConverter.js +19 -0
  37. package/dist/cjs/json/GuidJsonConverter.js.map +1 -0
  38. package/dist/cjs/json/JsonConverter.d.ts +8 -0
  39. package/dist/cjs/json/JsonConverter.d.ts.map +1 -0
  40. package/dist/cjs/json/JsonConverter.js +10 -0
  41. package/dist/cjs/json/JsonConverter.js.map +1 -0
  42. package/dist/cjs/json/LineStringJsonConverter.d.ts +9 -0
  43. package/dist/cjs/json/LineStringJsonConverter.d.ts.map +1 -0
  44. package/dist/cjs/json/LineStringJsonConverter.js +27 -0
  45. package/dist/cjs/json/LineStringJsonConverter.js.map +1 -0
  46. package/dist/cjs/json/PointJsonConverter.d.ts +9 -0
  47. package/dist/cjs/json/PointJsonConverter.d.ts.map +1 -0
  48. package/dist/cjs/json/PointJsonConverter.js +28 -0
  49. package/dist/cjs/json/PointJsonConverter.js.map +1 -0
  50. package/dist/cjs/json/PolygonJsonConverter.d.ts +9 -0
  51. package/dist/cjs/json/PolygonJsonConverter.d.ts.map +1 -0
  52. package/dist/cjs/json/PolygonJsonConverter.js +29 -0
  53. package/dist/cjs/json/PolygonJsonConverter.js.map +1 -0
  54. package/dist/cjs/json/TimeSpanJsonConverter.d.ts +9 -0
  55. package/dist/cjs/json/TimeSpanJsonConverter.d.ts.map +1 -0
  56. package/dist/cjs/json/TimeSpanJsonConverter.js +19 -0
  57. package/dist/cjs/json/TimeSpanJsonConverter.js.map +1 -0
  58. package/dist/cjs/json/ValueMapJsonConverter.d.ts +12 -0
  59. package/dist/cjs/json/ValueMapJsonConverter.d.ts.map +1 -0
  60. package/dist/cjs/json/ValueMapJsonConverter.js +33 -0
  61. package/dist/cjs/json/ValueMapJsonConverter.js.map +1 -0
  62. package/dist/cjs/json/index.d.ts +9 -0
  63. package/dist/cjs/json/index.d.ts.map +1 -0
  64. package/dist/esm/JsonSerializer.d.ts.map +1 -1
  65. package/dist/esm/JsonSerializer.js +56 -54
  66. package/dist/esm/JsonSerializer.js.map +1 -1
  67. package/dist/esm/geospatial/LineString.d.ts +7 -0
  68. package/dist/esm/geospatial/LineString.d.ts.map +1 -0
  69. package/dist/esm/geospatial/LineString.js +18 -0
  70. package/dist/esm/geospatial/LineString.js.map +1 -0
  71. package/dist/esm/geospatial/LinearRing.d.ts +7 -0
  72. package/dist/esm/geospatial/LinearRing.d.ts.map +1 -0
  73. package/dist/esm/geospatial/LinearRing.js +15 -0
  74. package/dist/esm/geospatial/LinearRing.js.map +1 -0
  75. package/dist/esm/geospatial/Point.d.ts +7 -0
  76. package/dist/esm/geospatial/Point.d.ts.map +1 -0
  77. package/dist/esm/geospatial/Point.js +28 -0
  78. package/dist/esm/geospatial/Point.js.map +1 -0
  79. package/dist/esm/geospatial/Polygon.d.ts +8 -0
  80. package/dist/esm/geospatial/Polygon.d.ts.map +1 -0
  81. package/dist/esm/geospatial/Polygon.js +21 -0
  82. package/dist/esm/geospatial/Polygon.js.map +1 -0
  83. package/dist/esm/geospatial/index.d.ts +5 -0
  84. package/dist/esm/geospatial/index.d.ts.map +1 -0
  85. package/dist/esm/index.d.ts +2 -1
  86. package/dist/esm/index.d.ts.map +1 -1
  87. package/dist/esm/index.js +12 -1
  88. package/dist/esm/index.js.map +1 -1
  89. package/dist/esm/json/DateJsonConverter.d.ts +8 -0
  90. package/dist/esm/json/DateJsonConverter.d.ts.map +1 -0
  91. package/dist/esm/json/DateJsonConverter.js +16 -0
  92. package/dist/esm/json/DateJsonConverter.js.map +1 -0
  93. package/dist/esm/json/GuidJsonConverter.d.ts +9 -0
  94. package/dist/esm/json/GuidJsonConverter.d.ts.map +1 -0
  95. package/dist/esm/json/GuidJsonConverter.js +17 -0
  96. package/dist/esm/json/GuidJsonConverter.js.map +1 -0
  97. package/dist/esm/json/JsonConverter.d.ts +8 -0
  98. package/dist/esm/json/JsonConverter.d.ts.map +1 -0
  99. package/dist/esm/json/JsonConverter.js +8 -0
  100. package/dist/esm/json/JsonConverter.js.map +1 -0
  101. package/dist/esm/json/LineStringJsonConverter.d.ts +9 -0
  102. package/dist/esm/json/LineStringJsonConverter.d.ts.map +1 -0
  103. package/dist/esm/json/LineStringJsonConverter.js +25 -0
  104. package/dist/esm/json/LineStringJsonConverter.js.map +1 -0
  105. package/dist/esm/json/PointJsonConverter.d.ts +9 -0
  106. package/dist/esm/json/PointJsonConverter.d.ts.map +1 -0
  107. package/dist/esm/json/PointJsonConverter.js +26 -0
  108. package/dist/esm/json/PointJsonConverter.js.map +1 -0
  109. package/dist/esm/json/PolygonJsonConverter.d.ts +9 -0
  110. package/dist/esm/json/PolygonJsonConverter.d.ts.map +1 -0
  111. package/dist/esm/json/PolygonJsonConverter.js +27 -0
  112. package/dist/esm/json/PolygonJsonConverter.js.map +1 -0
  113. package/dist/esm/json/TimeSpanJsonConverter.d.ts +9 -0
  114. package/dist/esm/json/TimeSpanJsonConverter.d.ts.map +1 -0
  115. package/dist/esm/json/TimeSpanJsonConverter.js +17 -0
  116. package/dist/esm/json/TimeSpanJsonConverter.js.map +1 -0
  117. package/dist/esm/json/ValueMapJsonConverter.d.ts +12 -0
  118. package/dist/esm/json/ValueMapJsonConverter.d.ts.map +1 -0
  119. package/dist/esm/json/ValueMapJsonConverter.js +31 -0
  120. package/dist/esm/json/ValueMapJsonConverter.js.map +1 -0
  121. package/dist/esm/json/index.d.ts +9 -0
  122. package/dist/esm/json/index.d.ts.map +1 -0
  123. package/dist/geospatial/LineString.d.ts +7 -0
  124. package/dist/geospatial/LineString.d.ts.map +1 -0
  125. package/dist/geospatial/LineString.js +16 -0
  126. package/dist/geospatial/LineString.js.map +1 -0
  127. package/dist/geospatial/LinearRing.d.ts +7 -0
  128. package/dist/geospatial/LinearRing.d.ts.map +1 -0
  129. package/dist/geospatial/LinearRing.js +13 -0
  130. package/dist/geospatial/LinearRing.js.map +1 -0
  131. package/dist/geospatial/Point.d.ts +7 -0
  132. package/dist/geospatial/Point.d.ts.map +1 -0
  133. package/dist/geospatial/Point.js +25 -0
  134. package/dist/geospatial/Point.js.map +1 -0
  135. package/dist/geospatial/Polygon.d.ts +8 -0
  136. package/dist/geospatial/Polygon.d.ts.map +1 -0
  137. package/dist/geospatial/Polygon.js +19 -0
  138. package/dist/geospatial/Polygon.js.map +1 -0
  139. package/dist/geospatial/index.d.ts +5 -0
  140. package/dist/geospatial/index.d.ts.map +1 -0
  141. package/dist/geospatial/index.js +5 -0
  142. package/dist/geospatial/index.js.map +1 -0
  143. package/dist/index.d.ts +2 -1
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +2 -1
  146. package/dist/index.js.map +1 -1
  147. package/dist/json/DateJsonConverter.d.ts +8 -0
  148. package/dist/json/DateJsonConverter.d.ts.map +1 -0
  149. package/dist/json/DateJsonConverter.js +13 -0
  150. package/dist/json/DateJsonConverter.js.map +1 -0
  151. package/dist/json/GuidJsonConverter.d.ts +9 -0
  152. package/dist/json/GuidJsonConverter.d.ts.map +1 -0
  153. package/dist/json/GuidJsonConverter.js +14 -0
  154. package/dist/json/GuidJsonConverter.js.map +1 -0
  155. package/dist/json/JsonConverter.d.ts +8 -0
  156. package/dist/json/JsonConverter.d.ts.map +1 -0
  157. package/dist/json/JsonConverter.js +6 -0
  158. package/dist/json/JsonConverter.js.map +1 -0
  159. package/dist/json/LineStringJsonConverter.d.ts +9 -0
  160. package/dist/json/LineStringJsonConverter.d.ts.map +1 -0
  161. package/dist/json/LineStringJsonConverter.js +21 -0
  162. package/dist/json/LineStringJsonConverter.js.map +1 -0
  163. package/dist/json/PointJsonConverter.d.ts +9 -0
  164. package/dist/json/PointJsonConverter.d.ts.map +1 -0
  165. package/dist/json/PointJsonConverter.js +23 -0
  166. package/dist/json/PointJsonConverter.js.map +1 -0
  167. package/dist/json/PolygonJsonConverter.d.ts +9 -0
  168. package/dist/json/PolygonJsonConverter.d.ts.map +1 -0
  169. package/dist/json/PolygonJsonConverter.js +22 -0
  170. package/dist/json/PolygonJsonConverter.js.map +1 -0
  171. package/dist/json/TimeSpanJsonConverter.d.ts +9 -0
  172. package/dist/json/TimeSpanJsonConverter.d.ts.map +1 -0
  173. package/dist/json/TimeSpanJsonConverter.js +14 -0
  174. package/dist/json/TimeSpanJsonConverter.js.map +1 -0
  175. package/dist/json/ValueMapJsonConverter.d.ts +12 -0
  176. package/dist/json/ValueMapJsonConverter.d.ts.map +1 -0
  177. package/dist/json/ValueMapJsonConverter.js +28 -0
  178. package/dist/json/ValueMapJsonConverter.js.map +1 -0
  179. package/dist/json/index.d.ts +9 -0
  180. package/dist/json/index.d.ts.map +1 -0
  181. package/dist/json/index.js +9 -0
  182. package/dist/json/index.js.map +1 -0
  183. package/dist/tsconfig.tsbuildinfo +1 -1
  184. package/geospatial/LineString.ts +33 -0
  185. package/geospatial/LinearRing.ts +30 -0
  186. package/geospatial/Point.ts +36 -0
  187. package/geospatial/Polygon.ts +37 -0
  188. package/geospatial/index.ts +7 -0
  189. package/index.ts +2 -1
  190. package/json/DateJsonConverter.ts +27 -0
  191. package/json/GuidJsonConverter.ts +28 -0
  192. package/json/JsonConverter.ts +40 -0
  193. package/json/LineStringJsonConverter.ts +35 -0
  194. package/json/PointJsonConverter.ts +37 -0
  195. package/json/PolygonJsonConverter.ts +38 -0
  196. package/json/TimeSpanJsonConverter.ts +28 -0
  197. package/json/ValueMapJsonConverter.ts +57 -0
  198. package/json/for_DateJsonConverter/when_reading_date_with_date_converter.ts +12 -0
  199. package/json/for_DateJsonConverter/when_writing_date_with_date_converter.ts +12 -0
  200. package/json/for_GuidJsonConverter/when_reading_guid_with_guid_converter.ts +13 -0
  201. package/json/for_GuidJsonConverter/when_writing_guid_with_guid_converter.ts +13 -0
  202. package/json/for_LineStringJsonConverter/when_deserializing_linestring.ts +19 -0
  203. package/json/for_LineStringJsonConverter/when_reading_linestring_with_linestring_converter.ts +24 -0
  204. package/json/for_LineStringJsonConverter/when_serializing_linestring.ts +25 -0
  205. package/json/for_LineStringJsonConverter/when_writing_linestring_with_linestring_converter.ts +27 -0
  206. package/json/for_PointJsonConverter/when_deserializing_point.ts +14 -0
  207. package/json/for_PointJsonConverter/when_reading_point_with_point_converter.ts +14 -0
  208. package/json/for_PointJsonConverter/when_serializing_point.ts +17 -0
  209. package/json/for_PointJsonConverter/when_writing_point_with_point_converter.ts +16 -0
  210. package/json/for_PolygonJsonConverter/when_deserializing_polygon_with_holes.ts +28 -0
  211. package/json/for_PolygonJsonConverter/when_deserializing_polygon_with_no_holes.ts +22 -0
  212. package/json/for_PolygonJsonConverter/when_reading_polygon_with_polygon_converter.ts +27 -0
  213. package/json/for_PolygonJsonConverter/when_serializing_polygon_with_holes.ts +53 -0
  214. package/json/for_PolygonJsonConverter/when_serializing_polygon_with_no_holes.ts +33 -0
  215. package/json/for_PolygonJsonConverter/when_writing_polygon_with_polygon_converter.ts +35 -0
  216. package/json/for_TimeSpanJsonConverter/when_reading_timespan_with_timespan_converter.ts +16 -0
  217. package/json/for_TimeSpanJsonConverter/when_writing_timespan_with_timespan_converter.ts +13 -0
  218. package/json/for_ValueMapJsonConverter/when_writing_valuemap_with_valuemap_converter.ts +28 -0
  219. package/json/index.ts +11 -0
  220. package/package.json +11 -1
  221. package/Coordinate.ts +0 -38
  222. package/dist/Coordinate.d.ts +0 -7
  223. package/dist/Coordinate.d.ts.map +0 -1
  224. package/dist/Coordinate.js +0 -27
  225. package/dist/Coordinate.js.map +0 -1
  226. package/dist/cjs/Coordinate.d.ts +0 -7
  227. package/dist/cjs/Coordinate.d.ts.map +0 -1
  228. package/dist/cjs/Coordinate.js +0 -32
  229. package/dist/cjs/Coordinate.js.map +0 -1
  230. package/dist/esm/Coordinate.d.ts +0 -7
  231. package/dist/esm/Coordinate.d.ts.map +0 -1
  232. package/dist/esm/Coordinate.js +0 -30
  233. package/dist/esm/Coordinate.js.map +0 -1
  234. package/for_Coordinate/when_creating_coordinate.ts +0 -11
  235. package/for_Coordinate/when_deserializing_coordinate.ts +0 -14
  236. package/for_Coordinate/when_deserializing_coordinate_with_missing_properties.ts +0 -13
  237. package/for_Coordinate/when_serializing_coordinate.ts +0 -14
@@ -0,0 +1,14 @@
1
+ import { Guid } from '../Guid';
2
+ import { JsonConverter } from './JsonConverter';
3
+ export class GuidJsonConverter extends JsonConverter {
4
+ get type() {
5
+ return Guid;
6
+ }
7
+ read(value) {
8
+ return Guid.parse(value.toString());
9
+ }
10
+ write(value) {
11
+ return value?.toString() ?? '';
12
+ }
13
+ }
14
+ //# sourceMappingURL=GuidJsonConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GuidJsonConverter.js","sourceRoot":"","sources":["../../json/GuidJsonConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,MAAM,OAAO,iBAAkB,SAAQ,aAAmB;IAEtD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,IAAI,CAAC,KAAU;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxC,CAAC;IAGD,KAAK,CAAC,KAAU;QACZ,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;CACJ"}
@@ -0,0 +1,8 @@
1
+ import { Constructor } from '../Constructor';
2
+ export declare abstract class JsonConverter<T = any> {
3
+ abstract get type(): Constructor<T>;
4
+ canConvert(typeToConvert: Constructor): boolean;
5
+ abstract read(value: any): T;
6
+ abstract write(value: T): any;
7
+ }
8
+ //# sourceMappingURL=JsonConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonConverter.d.ts","sourceRoot":"","sources":["../../json/JsonConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQ7C,8BAAsB,aAAa,CAAC,CAAC,GAAG,GAAG;IAIvC,QAAQ,KAAK,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;IAOpC,UAAU,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO;IAS/C,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC;IAO5B,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG;CAChC"}
@@ -0,0 +1,6 @@
1
+ export class JsonConverter {
2
+ canConvert(typeToConvert) {
3
+ return typeToConvert === this.type;
4
+ }
5
+ }
6
+ //# sourceMappingURL=JsonConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonConverter.js","sourceRoot":"","sources":["../../json/JsonConverter.ts"],"names":[],"mappings":"AAWA,MAAM,OAAgB,aAAa;IAW/B,UAAU,CAAC,aAA0B;QACjC,OAAO,aAAa,KAAK,IAAI,CAAC,IAAI,CAAC;IACvC,CAAC;CAeJ"}
@@ -0,0 +1,9 @@
1
+ import { Constructor } from '../Constructor';
2
+ import { LineString } from '../geospatial';
3
+ import { JsonConverter } from './JsonConverter';
4
+ export declare class LineStringJsonConverter extends JsonConverter<LineString> {
5
+ get type(): Constructor<LineString>;
6
+ read(value: any): LineString;
7
+ write(value: any): any;
8
+ }
9
+ //# sourceMappingURL=LineStringJsonConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineStringJsonConverter.d.ts","sourceRoot":"","sources":["../../json/LineStringJsonConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAS,UAAU,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,qBAAa,uBAAwB,SAAQ,aAAa,CAAC,UAAU,CAAC;IAElE,IAAI,IAAI,IAAI,WAAW,CAAC,UAAU,CAAC,CAElC;IAGD,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,UAAU;IAY5B,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;CAGzB"}
@@ -0,0 +1,21 @@
1
+ import { Point, LineString } from '../geospatial';
2
+ import { JsonConverter } from './JsonConverter';
3
+ export class LineStringJsonConverter extends JsonConverter {
4
+ get type() {
5
+ return LineString;
6
+ }
7
+ read(value) {
8
+ if (value === null || value === undefined) {
9
+ throw new Error('Cannot deserialize null or undefined to LineString');
10
+ }
11
+ if (value.type !== 'LineString' || !value.coordinates || value.coordinates.length < 2) {
12
+ throw new Error('Cannot deserialize LineString: invalid GeoJSON format');
13
+ }
14
+ const points = value.coordinates.map((coord) => new Point(coord[0], coord[1]));
15
+ return new LineString(points);
16
+ }
17
+ write(value) {
18
+ return value?.toJSON() ?? null;
19
+ }
20
+ }
21
+ //# sourceMappingURL=LineStringJsonConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LineStringJsonConverter.js","sourceRoot":"","sources":["../../json/LineStringJsonConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,MAAM,OAAO,uBAAwB,SAAQ,aAAyB;IAElE,IAAI,IAAI;QACJ,OAAO,UAAU,CAAC;IACtB,CAAC;IAGD,IAAI,CAAC,KAAU;QACX,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAe,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAGD,KAAK,CAAC,KAAU;QACZ,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC;IACnC,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { Constructor } from '../Constructor';
2
+ import { Point } from '../geospatial';
3
+ import { JsonConverter } from './JsonConverter';
4
+ export declare class PointJsonConverter extends JsonConverter<Point> {
5
+ get type(): Constructor<Point>;
6
+ read(value: any): Point;
7
+ write(value: any): any;
8
+ }
9
+ //# sourceMappingURL=PointJsonConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PointJsonConverter.d.ts","sourceRoot":"","sources":["../../json/PointJsonConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,KAAK,CAAC;IAExD,IAAI,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,CAE7B;IAGD,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK;IAcvB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;CAGzB"}
@@ -0,0 +1,23 @@
1
+ import { Point } from '../geospatial';
2
+ import { JsonConverter } from './JsonConverter';
3
+ export class PointJsonConverter extends JsonConverter {
4
+ get type() {
5
+ return Point;
6
+ }
7
+ read(value) {
8
+ if (value === null || value === undefined) {
9
+ throw new Error('Cannot deserialize null or undefined to Point');
10
+ }
11
+ if (value.type === 'Point' && value.coordinates && value.coordinates.length === 2) {
12
+ return new Point(value.coordinates[0], value.coordinates[1]);
13
+ }
14
+ if (typeof value.longitude === 'number' && typeof value.latitude === 'number') {
15
+ return new Point(value.longitude, value.latitude);
16
+ }
17
+ throw new Error('Cannot deserialize Point: expected GeoJSON format { type, coordinates } or { longitude, latitude }');
18
+ }
19
+ write(value) {
20
+ return value?.toJSON() ?? null;
21
+ }
22
+ }
23
+ //# sourceMappingURL=PointJsonConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PointJsonConverter.js","sourceRoot":"","sources":["../../json/PointJsonConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,MAAM,OAAO,kBAAmB,SAAQ,aAAoB;IAExD,IAAI,IAAI;QACJ,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,IAAI,CAAC,KAAU;QACX,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChF,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5E,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;IAC1H,CAAC;IAGD,KAAK,CAAC,KAAU;QACZ,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC;IACnC,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { Constructor } from '../Constructor';
2
+ import { Polygon } from '../geospatial';
3
+ import { JsonConverter } from './JsonConverter';
4
+ export declare class PolygonJsonConverter extends JsonConverter<Polygon> {
5
+ get type(): Constructor<Polygon>;
6
+ read(value: any): Polygon;
7
+ write(value: any): any;
8
+ }
9
+ //# sourceMappingURL=PolygonJsonConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolygonJsonConverter.d.ts","sourceRoot":"","sources":["../../json/PolygonJsonConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAqB,OAAO,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,qBAAa,oBAAqB,SAAQ,aAAa,CAAC,OAAO,CAAC;IAE5D,IAAI,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,CAE/B;IAGD,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAezB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;CAGzB"}
@@ -0,0 +1,22 @@
1
+ import { Point, LinearRing, Polygon } from '../geospatial';
2
+ import { JsonConverter } from './JsonConverter';
3
+ export class PolygonJsonConverter extends JsonConverter {
4
+ get type() {
5
+ return Polygon;
6
+ }
7
+ read(value) {
8
+ if (value === null || value === undefined) {
9
+ throw new Error('Cannot deserialize null or undefined to Polygon');
10
+ }
11
+ if (value.type !== 'Polygon' || !value.coordinates || value.coordinates.length === 0) {
12
+ throw new Error('Cannot deserialize Polygon: invalid GeoJSON format');
13
+ }
14
+ const shell = new LinearRing(value.coordinates[0].map((coord) => new Point(coord[0], coord[1])));
15
+ const holes = value.coordinates.slice(1).map((ring) => new LinearRing(ring.map((coord) => new Point(coord[0], coord[1]))));
16
+ return new Polygon(shell, holes);
17
+ }
18
+ write(value) {
19
+ return value?.toJSON() ?? null;
20
+ }
21
+ }
22
+ //# sourceMappingURL=PolygonJsonConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolygonJsonConverter.js","sourceRoot":"","sources":["../../json/PolygonJsonConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,MAAM,OAAO,oBAAqB,SAAQ,aAAsB;IAE5D,IAAI,IAAI;QACJ,OAAO,OAAO,CAAC;IACnB,CAAC;IAGD,IAAI,CAAC,KAAU;QACX,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAe,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3G,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAgB,EAAE,EAAE,CAC9D,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAe,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/E,CAAC;QACF,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAGD,KAAK,CAAC,KAAU;QACZ,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC;IACnC,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ import { Constructor } from '../Constructor';
2
+ import { TimeSpan } from '../TimeSpan';
3
+ import { JsonConverter } from './JsonConverter';
4
+ export declare class TimeSpanJsonConverter extends JsonConverter<TimeSpan> {
5
+ get type(): Constructor<TimeSpan>;
6
+ read(value: any): TimeSpan;
7
+ write(value: any): any;
8
+ }
9
+ //# sourceMappingURL=TimeSpanJsonConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeSpanJsonConverter.d.ts","sourceRoot":"","sources":["../../json/TimeSpanJsonConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,QAAQ,CAAC;IAE9D,IAAI,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,CAEhC;IAGD,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,QAAQ;IAK1B,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;CAGzB"}
@@ -0,0 +1,14 @@
1
+ import { TimeSpan } from '../TimeSpan';
2
+ import { JsonConverter } from './JsonConverter';
3
+ export class TimeSpanJsonConverter extends JsonConverter {
4
+ get type() {
5
+ return TimeSpan;
6
+ }
7
+ read(value) {
8
+ return TimeSpan.parse(value.toString());
9
+ }
10
+ write(value) {
11
+ return value?.toString() ?? '';
12
+ }
13
+ }
14
+ //# sourceMappingURL=TimeSpanJsonConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeSpanJsonConverter.js","sourceRoot":"","sources":["../../json/TimeSpanJsonConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD,MAAM,OAAO,qBAAsB,SAAQ,aAAuB;IAE9D,IAAI,IAAI;QACJ,OAAO,QAAQ,CAAC;IACpB,CAAC;IAGD,IAAI,CAAC,KAAU;QACX,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5C,CAAC;IAGD,KAAK,CAAC,KAAU;QACZ,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACnC,CAAC;CACJ"}
@@ -0,0 +1,12 @@
1
+ import { Constructor } from '../Constructor';
2
+ import { ValueMap } from '../ValueMap';
3
+ import { JsonConverter } from './JsonConverter';
4
+ export declare class ValueMapJsonConverter extends JsonConverter<ValueMap<any, any>> {
5
+ private static serializeMapKey;
6
+ private static convertTypesOnInstance;
7
+ static setHelpers(serializeMapKey: (key: any) => string, convertTypesOnInstance: (instance: any) => any): void;
8
+ get type(): Constructor<ValueMap<any, any>>;
9
+ read(_value: any): ValueMap<any, any>;
10
+ write(value: ValueMap<any, any>): any;
11
+ }
12
+ //# sourceMappingURL=ValueMapJsonConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueMapJsonConverter.d.ts","sourceRoot":"","sources":["../../json/ValueMapJsonConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYhD,qBAAa,qBAAsB,SAAQ,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAExE,OAAO,CAAC,MAAM,CAAC,eAAe,CAAuC;IACrE,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAyC;IAK9E,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,EAAE,sBAAsB,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAM9G,IAAI,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAE1C;IAGD,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IASrC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG;CAWxC"}
@@ -0,0 +1,28 @@
1
+ import { ValueMap } from '../ValueMap';
2
+ import { JsonConverter } from './JsonConverter';
3
+ export class ValueMapJsonConverter extends JsonConverter {
4
+ static serializeMapKey = null;
5
+ static convertTypesOnInstance = null;
6
+ static setHelpers(serializeMapKey, convertTypesOnInstance) {
7
+ ValueMapJsonConverter.serializeMapKey = serializeMapKey;
8
+ ValueMapJsonConverter.convertTypesOnInstance = convertTypesOnInstance;
9
+ }
10
+ get type() {
11
+ return ValueMap;
12
+ }
13
+ read(_value) {
14
+ const valueMap = new ValueMap();
15
+ return valueMap;
16
+ }
17
+ write(value) {
18
+ if (!ValueMapJsonConverter.serializeMapKey || !ValueMapJsonConverter.convertTypesOnInstance) {
19
+ throw new Error('ValueMapJsonConverter helpers not initialized. Call setHelpers() first.');
20
+ }
21
+ const converted = {};
22
+ for (const [key, mapValue] of value.entries()) {
23
+ converted[ValueMapJsonConverter.serializeMapKey(key)] = ValueMapJsonConverter.convertTypesOnInstance(mapValue);
24
+ }
25
+ return converted;
26
+ }
27
+ }
28
+ //# sourceMappingURL=ValueMapJsonConverter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValueMapJsonConverter.js","sourceRoot":"","sources":["../../json/ValueMapJsonConverter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYhD,MAAM,OAAO,qBAAsB,SAAQ,aAAiC;IAEhE,MAAM,CAAC,eAAe,GAAkC,IAAI,CAAC;IAC7D,MAAM,CAAC,sBAAsB,GAAoC,IAAI,CAAC;IAK9E,MAAM,CAAC,UAAU,CAAC,eAAqC,EAAE,sBAA8C;QACnG,qBAAqB,CAAC,eAAe,GAAG,eAAe,CAAC;QACxD,qBAAqB,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IAC1E,CAAC;IAGD,IAAI,IAAI;QACJ,OAAO,QAAQ,CAAC;IACpB,CAAC;IAGD,IAAI,CAAC,MAAW;QAIZ,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAY,CAAC;QAC1C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAGD,KAAK,CAAC,KAAyB;QAC3B,IAAI,CAAC,qBAAqB,CAAC,eAAe,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,EAAE,CAAC;YAC1F,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,SAAS,GAAQ,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,SAAS,CAAC,qBAAqB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACnH,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from './JsonConverter';
2
+ export * from './DateJsonConverter';
3
+ export * from './GuidJsonConverter';
4
+ export * from './TimeSpanJsonConverter';
5
+ export * from './PointJsonConverter';
6
+ export * from './LineStringJsonConverter';
7
+ export * from './PolygonJsonConverter';
8
+ export * from './ValueMapJsonConverter';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../json/index.ts"],"names":[],"mappings":"AAGA,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from './JsonConverter';
2
+ export * from './DateJsonConverter';
3
+ export * from './GuidJsonConverter';
4
+ export * from './TimeSpanJsonConverter';
5
+ export * from './PointJsonConverter';
6
+ export * from './LineStringJsonConverter';
7
+ export * from './PolygonJsonConverter';
8
+ export * from './ValueMapJsonConverter';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../json/index.ts"],"names":[],"mappings":"AAGA,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}