@cratis/fundamentals 7.14.0 → 7.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/JsonSerializer.ts +88 -42
- package/README.md +10 -0
- package/dist/JsonSerializer.d.ts.map +1 -1
- package/dist/JsonSerializer.js +50 -40
- package/dist/JsonSerializer.js.map +1 -1
- package/dist/cjs/JsonSerializer.d.ts.map +1 -1
- package/dist/cjs/JsonSerializer.js +56 -40
- package/dist/cjs/JsonSerializer.js.map +1 -1
- package/dist/cjs/geospatial/LineString.d.ts +7 -0
- package/dist/cjs/geospatial/LineString.d.ts.map +1 -0
- package/dist/cjs/geospatial/LineString.js +20 -0
- package/dist/cjs/geospatial/LineString.js.map +1 -0
- package/dist/cjs/geospatial/LinearRing.d.ts +7 -0
- package/dist/cjs/geospatial/LinearRing.d.ts.map +1 -0
- package/dist/cjs/geospatial/LinearRing.js +17 -0
- package/dist/cjs/geospatial/LinearRing.js.map +1 -0
- package/dist/cjs/geospatial/Point.d.ts +7 -0
- package/dist/cjs/geospatial/Point.d.ts.map +1 -0
- package/dist/cjs/geospatial/Point.js +30 -0
- package/dist/cjs/geospatial/Point.js.map +1 -0
- package/dist/cjs/geospatial/Polygon.d.ts +8 -0
- package/dist/cjs/geospatial/Polygon.d.ts.map +1 -0
- package/dist/cjs/geospatial/Polygon.js +23 -0
- package/dist/cjs/geospatial/Polygon.js.map +1 -0
- package/dist/cjs/geospatial/index.d.ts +5 -0
- package/dist/cjs/geospatial/index.d.ts.map +1 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/json/DateJsonConverter.d.ts +8 -0
- package/dist/cjs/json/DateJsonConverter.d.ts.map +1 -0
- package/dist/cjs/json/DateJsonConverter.js +18 -0
- package/dist/cjs/json/DateJsonConverter.js.map +1 -0
- package/dist/cjs/json/GuidJsonConverter.d.ts +9 -0
- package/dist/cjs/json/GuidJsonConverter.d.ts.map +1 -0
- package/dist/cjs/json/GuidJsonConverter.js +19 -0
- package/dist/cjs/json/GuidJsonConverter.js.map +1 -0
- package/dist/cjs/json/JsonConverter.d.ts +8 -0
- package/dist/cjs/json/JsonConverter.d.ts.map +1 -0
- package/dist/cjs/json/JsonConverter.js +10 -0
- package/dist/cjs/json/JsonConverter.js.map +1 -0
- package/dist/cjs/json/LineStringJsonConverter.d.ts +9 -0
- package/dist/cjs/json/LineStringJsonConverter.d.ts.map +1 -0
- package/dist/cjs/json/LineStringJsonConverter.js +27 -0
- package/dist/cjs/json/LineStringJsonConverter.js.map +1 -0
- package/dist/cjs/json/PointJsonConverter.d.ts +9 -0
- package/dist/cjs/json/PointJsonConverter.d.ts.map +1 -0
- package/dist/cjs/json/PointJsonConverter.js +25 -0
- package/dist/cjs/json/PointJsonConverter.js.map +1 -0
- package/dist/cjs/json/PolygonJsonConverter.d.ts +9 -0
- package/dist/cjs/json/PolygonJsonConverter.d.ts.map +1 -0
- package/dist/cjs/json/PolygonJsonConverter.js +29 -0
- package/dist/cjs/json/PolygonJsonConverter.js.map +1 -0
- package/dist/cjs/json/TimeSpanJsonConverter.d.ts +9 -0
- package/dist/cjs/json/TimeSpanJsonConverter.d.ts.map +1 -0
- package/dist/cjs/json/TimeSpanJsonConverter.js +19 -0
- package/dist/cjs/json/TimeSpanJsonConverter.js.map +1 -0
- package/dist/cjs/json/ValueMapJsonConverter.d.ts +12 -0
- package/dist/cjs/json/ValueMapJsonConverter.d.ts.map +1 -0
- package/dist/cjs/json/ValueMapJsonConverter.js +33 -0
- package/dist/cjs/json/ValueMapJsonConverter.js.map +1 -0
- package/dist/cjs/json/index.d.ts +9 -0
- package/dist/cjs/json/index.d.ts.map +1 -0
- package/dist/esm/JsonSerializer.d.ts.map +1 -1
- package/dist/esm/JsonSerializer.js +56 -40
- package/dist/esm/JsonSerializer.js.map +1 -1
- package/dist/esm/geospatial/LineString.d.ts +7 -0
- package/dist/esm/geospatial/LineString.d.ts.map +1 -0
- package/dist/esm/geospatial/LineString.js +18 -0
- package/dist/esm/geospatial/LineString.js.map +1 -0
- package/dist/esm/geospatial/LinearRing.d.ts +7 -0
- package/dist/esm/geospatial/LinearRing.d.ts.map +1 -0
- package/dist/esm/geospatial/LinearRing.js +15 -0
- package/dist/esm/geospatial/LinearRing.js.map +1 -0
- package/dist/esm/geospatial/Point.d.ts +7 -0
- package/dist/esm/geospatial/Point.d.ts.map +1 -0
- package/dist/esm/geospatial/Point.js +28 -0
- package/dist/esm/geospatial/Point.js.map +1 -0
- package/dist/esm/geospatial/Polygon.d.ts +8 -0
- package/dist/esm/geospatial/Polygon.d.ts.map +1 -0
- package/dist/esm/geospatial/Polygon.js +21 -0
- package/dist/esm/geospatial/Polygon.js.map +1 -0
- package/dist/esm/geospatial/index.d.ts +5 -0
- package/dist/esm/geospatial/index.d.ts.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/json/DateJsonConverter.d.ts +8 -0
- package/dist/esm/json/DateJsonConverter.d.ts.map +1 -0
- package/dist/esm/json/DateJsonConverter.js +16 -0
- package/dist/esm/json/DateJsonConverter.js.map +1 -0
- package/dist/esm/json/GuidJsonConverter.d.ts +9 -0
- package/dist/esm/json/GuidJsonConverter.d.ts.map +1 -0
- package/dist/esm/json/GuidJsonConverter.js +17 -0
- package/dist/esm/json/GuidJsonConverter.js.map +1 -0
- package/dist/esm/json/JsonConverter.d.ts +8 -0
- package/dist/esm/json/JsonConverter.d.ts.map +1 -0
- package/dist/esm/json/JsonConverter.js +8 -0
- package/dist/esm/json/JsonConverter.js.map +1 -0
- package/dist/esm/json/LineStringJsonConverter.d.ts +9 -0
- package/dist/esm/json/LineStringJsonConverter.d.ts.map +1 -0
- package/dist/esm/json/LineStringJsonConverter.js +25 -0
- package/dist/esm/json/LineStringJsonConverter.js.map +1 -0
- package/dist/esm/json/PointJsonConverter.d.ts +9 -0
- package/dist/esm/json/PointJsonConverter.d.ts.map +1 -0
- package/dist/esm/json/PointJsonConverter.js +23 -0
- package/dist/esm/json/PointJsonConverter.js.map +1 -0
- package/dist/esm/json/PolygonJsonConverter.d.ts +9 -0
- package/dist/esm/json/PolygonJsonConverter.d.ts.map +1 -0
- package/dist/esm/json/PolygonJsonConverter.js +27 -0
- package/dist/esm/json/PolygonJsonConverter.js.map +1 -0
- package/dist/esm/json/TimeSpanJsonConverter.d.ts +9 -0
- package/dist/esm/json/TimeSpanJsonConverter.d.ts.map +1 -0
- package/dist/esm/json/TimeSpanJsonConverter.js +17 -0
- package/dist/esm/json/TimeSpanJsonConverter.js.map +1 -0
- package/dist/esm/json/ValueMapJsonConverter.d.ts +12 -0
- package/dist/esm/json/ValueMapJsonConverter.d.ts.map +1 -0
- package/dist/esm/json/ValueMapJsonConverter.js +31 -0
- package/dist/esm/json/ValueMapJsonConverter.js.map +1 -0
- package/dist/esm/json/index.d.ts +9 -0
- package/dist/esm/json/index.d.ts.map +1 -0
- package/dist/geospatial/LineString.d.ts +7 -0
- package/dist/geospatial/LineString.d.ts.map +1 -0
- package/dist/geospatial/LineString.js +16 -0
- package/dist/geospatial/LineString.js.map +1 -0
- package/dist/geospatial/LinearRing.d.ts +7 -0
- package/dist/geospatial/LinearRing.d.ts.map +1 -0
- package/dist/geospatial/LinearRing.js +13 -0
- package/dist/geospatial/LinearRing.js.map +1 -0
- package/dist/geospatial/Point.d.ts +7 -0
- package/dist/geospatial/Point.d.ts.map +1 -0
- package/dist/geospatial/Point.js +25 -0
- package/dist/geospatial/Point.js.map +1 -0
- package/dist/geospatial/Polygon.d.ts +8 -0
- package/dist/geospatial/Polygon.d.ts.map +1 -0
- package/dist/geospatial/Polygon.js +19 -0
- package/dist/geospatial/Polygon.js.map +1 -0
- package/dist/geospatial/index.d.ts +5 -0
- package/dist/geospatial/index.d.ts.map +1 -0
- package/dist/geospatial/index.js +5 -0
- package/dist/geospatial/index.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/json/DateJsonConverter.d.ts +8 -0
- package/dist/json/DateJsonConverter.d.ts.map +1 -0
- package/dist/json/DateJsonConverter.js +13 -0
- package/dist/json/DateJsonConverter.js.map +1 -0
- package/dist/json/GuidJsonConverter.d.ts +9 -0
- package/dist/json/GuidJsonConverter.d.ts.map +1 -0
- package/dist/json/GuidJsonConverter.js +14 -0
- package/dist/json/GuidJsonConverter.js.map +1 -0
- package/dist/json/JsonConverter.d.ts +8 -0
- package/dist/json/JsonConverter.d.ts.map +1 -0
- package/dist/json/JsonConverter.js +6 -0
- package/dist/json/JsonConverter.js.map +1 -0
- package/dist/json/LineStringJsonConverter.d.ts +9 -0
- package/dist/json/LineStringJsonConverter.d.ts.map +1 -0
- package/dist/json/LineStringJsonConverter.js +21 -0
- package/dist/json/LineStringJsonConverter.js.map +1 -0
- package/dist/json/PointJsonConverter.d.ts +9 -0
- package/dist/json/PointJsonConverter.d.ts.map +1 -0
- package/dist/json/PointJsonConverter.js +20 -0
- package/dist/json/PointJsonConverter.js.map +1 -0
- package/dist/json/PolygonJsonConverter.d.ts +9 -0
- package/dist/json/PolygonJsonConverter.d.ts.map +1 -0
- package/dist/json/PolygonJsonConverter.js +22 -0
- package/dist/json/PolygonJsonConverter.js.map +1 -0
- package/dist/json/TimeSpanJsonConverter.d.ts +9 -0
- package/dist/json/TimeSpanJsonConverter.d.ts.map +1 -0
- package/dist/json/TimeSpanJsonConverter.js +14 -0
- package/dist/json/TimeSpanJsonConverter.js.map +1 -0
- package/dist/json/ValueMapJsonConverter.d.ts +12 -0
- package/dist/json/ValueMapJsonConverter.d.ts.map +1 -0
- package/dist/json/ValueMapJsonConverter.js +28 -0
- package/dist/json/ValueMapJsonConverter.js.map +1 -0
- package/dist/json/index.d.ts +9 -0
- package/dist/json/index.d.ts.map +1 -0
- package/dist/json/index.js +9 -0
- package/dist/json/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/geospatial/LineString.ts +33 -0
- package/geospatial/LinearRing.ts +30 -0
- package/geospatial/Point.ts +36 -0
- package/geospatial/Polygon.ts +37 -0
- package/geospatial/index.ts +7 -0
- package/index.ts +2 -0
- package/json/DateJsonConverter.ts +27 -0
- package/json/GuidJsonConverter.ts +28 -0
- package/json/JsonConverter.ts +40 -0
- package/json/LineStringJsonConverter.ts +35 -0
- package/json/PointJsonConverter.ts +34 -0
- package/json/PolygonJsonConverter.ts +38 -0
- package/json/TimeSpanJsonConverter.ts +28 -0
- package/json/ValueMapJsonConverter.ts +57 -0
- package/json/for_DateJsonConverter/when_reading_date_with_date_converter.ts +12 -0
- package/json/for_DateJsonConverter/when_writing_date_with_date_converter.ts +12 -0
- package/json/for_GuidJsonConverter/when_reading_guid_with_guid_converter.ts +13 -0
- package/json/for_GuidJsonConverter/when_writing_guid_with_guid_converter.ts +13 -0
- package/json/for_LineStringJsonConverter/when_deserializing_linestring.ts +19 -0
- package/json/for_LineStringJsonConverter/when_reading_linestring_with_linestring_converter.ts +24 -0
- package/json/for_LineStringJsonConverter/when_serializing_linestring.ts +25 -0
- package/json/for_LineStringJsonConverter/when_writing_linestring_with_linestring_converter.ts +27 -0
- package/json/for_PointJsonConverter/when_deserializing_point.ts +14 -0
- package/json/for_PointJsonConverter/when_reading_point_with_point_converter.ts +14 -0
- package/json/for_PointJsonConverter/when_serializing_point.ts +17 -0
- package/json/for_PointJsonConverter/when_writing_point_with_point_converter.ts +16 -0
- package/json/for_PolygonJsonConverter/when_deserializing_polygon_with_holes.ts +28 -0
- package/json/for_PolygonJsonConverter/when_deserializing_polygon_with_no_holes.ts +22 -0
- package/json/for_PolygonJsonConverter/when_reading_polygon_with_polygon_converter.ts +27 -0
- package/json/for_PolygonJsonConverter/when_serializing_polygon_with_holes.ts +53 -0
- package/json/for_PolygonJsonConverter/when_serializing_polygon_with_no_holes.ts +33 -0
- package/json/for_PolygonJsonConverter/when_writing_polygon_with_polygon_converter.ts +35 -0
- package/json/for_TimeSpanJsonConverter/when_reading_timespan_with_timespan_converter.ts +16 -0
- package/json/for_TimeSpanJsonConverter/when_writing_timespan_with_timespan_converter.ts +13 -0
- package/json/for_ValueMapJsonConverter/when_writing_valuemap_with_valuemap_converter.ts +28 -0
- package/json/index.ts +11 -0
- package/package.json +11 -1
|
@@ -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;IAWvB,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;CAGzB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
throw new Error('Cannot deserialize Point: invalid GeoJSON format');
|
|
13
|
+
}
|
|
14
|
+
return new Point(value.coordinates[0], value.coordinates[1]);
|
|
15
|
+
}
|
|
16
|
+
write(value) {
|
|
17
|
+
return value?.toJSON() ?? null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# 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,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,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"}
|