zod-geojson 0.0.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.
Files changed (60) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +107 -0
  3. package/lib/base.d.ts +9 -0
  4. package/lib/base.d.ts.map +1 -0
  5. package/lib/base.js +8 -0
  6. package/lib/bbox.d.ts +4 -0
  7. package/lib/bbox.d.ts.map +1 -0
  8. package/lib/bbox.js +9 -0
  9. package/lib/feature.d.ts +634 -0
  10. package/lib/feature.d.ts.map +1 -0
  11. package/lib/feature.js +37 -0
  12. package/lib/feature_collection.d.ts +3174 -0
  13. package/lib/feature_collection.d.ts.map +1 -0
  14. package/lib/feature_collection.js +61 -0
  15. package/lib/geometry/_simple.d.ts +122 -0
  16. package/lib/geometry/_simple.d.ts.map +1 -0
  17. package/lib/geometry/_simple.js +14 -0
  18. package/lib/geometry/geometry_collection.d.ts +18 -0
  19. package/lib/geometry/geometry_collection.d.ts.map +1 -0
  20. package/lib/geometry/geometry_collection.js +60 -0
  21. package/lib/geometry/index.d.ts +131 -0
  22. package/lib/geometry/index.d.ts.map +1 -0
  23. package/lib/geometry/index.js +27 -0
  24. package/lib/geometry/line_string.d.ts +25 -0
  25. package/lib/geometry/line_string.d.ts.map +1 -0
  26. package/lib/geometry/line_string.js +33 -0
  27. package/lib/geometry/multi_line_string.d.ts +24 -0
  28. package/lib/geometry/multi_line_string.d.ts.map +1 -0
  29. package/lib/geometry/multi_line_string.js +32 -0
  30. package/lib/geometry/multi_point.d.ts +24 -0
  31. package/lib/geometry/multi_point.d.ts.map +1 -0
  32. package/lib/geometry/multi_point.js +32 -0
  33. package/lib/geometry/multi_polygon.d.ts +24 -0
  34. package/lib/geometry/multi_polygon.d.ts.map +1 -0
  35. package/lib/geometry/multi_polygon.js +44 -0
  36. package/lib/geometry/point.d.ts +24 -0
  37. package/lib/geometry/point.d.ts.map +1 -0
  38. package/lib/geometry/point.js +25 -0
  39. package/lib/geometry/polygon.d.ts +28 -0
  40. package/lib/geometry/polygon.d.ts.map +1 -0
  41. package/lib/geometry/polygon.js +51 -0
  42. package/lib/geometry/validation/bbox.d.ts +50 -0
  43. package/lib/geometry/validation/bbox.d.ts.map +1 -0
  44. package/lib/geometry/validation/bbox.js +184 -0
  45. package/lib/geometry/validation/dimension.d.ts +16 -0
  46. package/lib/geometry/validation/dimension.d.ts.map +1 -0
  47. package/lib/geometry/validation/dimension.js +54 -0
  48. package/lib/geometry/validation/keys.d.ts +6 -0
  49. package/lib/geometry/validation/keys.d.ts.map +1 -0
  50. package/lib/geometry/validation/keys.js +14 -0
  51. package/lib/index.d.ts +3930 -0
  52. package/lib/index.d.ts.map +1 -0
  53. package/lib/index.js +29 -0
  54. package/lib/position.d.ts +5 -0
  55. package/lib/position.d.ts.map +1 -0
  56. package/lib/position.js +8 -0
  57. package/lib/type.d.ts +6 -0
  58. package/lib/type.d.ts.map +1 -0
  59. package/lib/type.js +15 -0
  60. package/package.json +41 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature_collection.d.ts","sourceRoot":"","sources":["../src/feature_collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6CxB,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAwBrC,CAAC;AAEP,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeoJSONFeatureCollectionSchema = void 0;
4
+ var zod_1 = require("zod");
5
+ var base_1 = require("./base");
6
+ var feature_1 = require("./feature");
7
+ var bbox_1 = require("./geometry/validation/bbox");
8
+ var dimension_1 = require("./geometry/validation/dimension");
9
+ var INVALID_FEATURE_COLLECTION_KEYS_ISSUE = {
10
+ code: "custom",
11
+ message: 'GeoJSON feature cannot have "coordinates", "geometry", "properties", or "geometries" keys',
12
+ };
13
+ var INVALID_FEATURE_COLLECTION_DIMENSIONS_ISSUE = {
14
+ code: "custom",
15
+ message: "Invalid dimensions. All features in feature collection must have the same dimension.",
16
+ };
17
+ function getGeometries(_a) {
18
+ var features = _a.features;
19
+ return features.map(function (feature) { return feature.geometry; }).filter(function (x) { return x != null; });
20
+ }
21
+ function validFeatureCollection(collection) {
22
+ return (!("coordinates" in collection) &&
23
+ !("geometry" in collection) &&
24
+ !("properties" in collection) &&
25
+ !("geometries" in collection));
26
+ }
27
+ function validFeatureCollectionDimensions(collection) {
28
+ var geometries = getGeometries(collection);
29
+ var dimension = (0, dimension_1.getDimensionForGeometry)(geometries[0]);
30
+ return geometries.slice(1).every(function (geometry) { return (0, dimension_1.getDimensionForGeometry)(geometry) === dimension; });
31
+ }
32
+ function validFeatureCollectionBbox(_a) {
33
+ var features = _a.features, bbox = _a.bbox;
34
+ if (!bbox) {
35
+ return true;
36
+ }
37
+ var expectedBbox = (0, bbox_1.getBboxForGeometries)(getGeometries({ features: features }));
38
+ return (0, bbox_1.bboxEquals)(expectedBbox, bbox);
39
+ }
40
+ exports.GeoJSONFeatureCollectionSchema = base_1.GeoJSONBaseSchema.extend({
41
+ type: zod_1.z.literal("FeatureCollection"),
42
+ features: zod_1.z.array(feature_1.GeoJSONFeatureSchema),
43
+ })
44
+ .passthrough()
45
+ .superRefine(function (val, ctx) {
46
+ if (!validFeatureCollection(val)) {
47
+ ctx.addIssue(INVALID_FEATURE_COLLECTION_KEYS_ISSUE);
48
+ return;
49
+ }
50
+ if (!val.features.length) {
51
+ return;
52
+ }
53
+ if (!validFeatureCollectionDimensions(val)) {
54
+ ctx.addIssue(INVALID_FEATURE_COLLECTION_DIMENSIONS_ISSUE);
55
+ return;
56
+ }
57
+ if (!validFeatureCollectionBbox(val)) {
58
+ ctx.addIssue(bbox_1.INVALID_BBOX_ISSUE);
59
+ return;
60
+ }
61
+ });
@@ -0,0 +1,122 @@
1
+ export declare const _GeoJSONSimpleGeometrySchema: import("zod").ZodUnion<[import("zod").ZodUnion<[import("zod").ZodUnion<[import("zod").ZodUnion<[import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodObject<{
2
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
3
+ type: import("zod").ZodLiteral<"Point">;
4
+ coordinates: import("zod").ZodArray<import("zod").ZodNumber, "many">;
5
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
6
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
7
+ type: import("zod").ZodLiteral<"Point">;
8
+ coordinates: import("zod").ZodArray<import("zod").ZodNumber, "many">;
9
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
10
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
11
+ type: import("zod").ZodLiteral<"Point">;
12
+ coordinates: import("zod").ZodArray<import("zod").ZodNumber, "many">;
13
+ }, import("zod").ZodTypeAny, "passthrough">>, import("zod").objectOutputType<{
14
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
15
+ type: import("zod").ZodLiteral<"Point">;
16
+ coordinates: import("zod").ZodArray<import("zod").ZodNumber, "many">;
17
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
18
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
19
+ type: import("zod").ZodLiteral<"Point">;
20
+ coordinates: import("zod").ZodArray<import("zod").ZodNumber, "many">;
21
+ }, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodEffects<import("zod").ZodObject<{
22
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
23
+ type: import("zod").ZodLiteral<"LineString">;
24
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">;
25
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
26
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
27
+ type: import("zod").ZodLiteral<"LineString">;
28
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">;
29
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
30
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
31
+ type: import("zod").ZodLiteral<"LineString">;
32
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">;
33
+ }, import("zod").ZodTypeAny, "passthrough">>, import("zod").objectOutputType<{
34
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
35
+ type: import("zod").ZodLiteral<"LineString">;
36
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">;
37
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
38
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
39
+ type: import("zod").ZodLiteral<"LineString">;
40
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">;
41
+ }, import("zod").ZodTypeAny, "passthrough">>]>, import("zod").ZodEffects<import("zod").ZodObject<{
42
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
43
+ type: import("zod").ZodLiteral<"MultiPoint">;
44
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">;
45
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
46
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
47
+ type: import("zod").ZodLiteral<"MultiPoint">;
48
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">;
49
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
50
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
51
+ type: import("zod").ZodLiteral<"MultiPoint">;
52
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">;
53
+ }, import("zod").ZodTypeAny, "passthrough">>, import("zod").objectOutputType<{
54
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
55
+ type: import("zod").ZodLiteral<"MultiPoint">;
56
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">;
57
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
58
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
59
+ type: import("zod").ZodLiteral<"MultiPoint">;
60
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">;
61
+ }, import("zod").ZodTypeAny, "passthrough">>]>, import("zod").ZodEffects<import("zod").ZodObject<{
62
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
63
+ type: import("zod").ZodLiteral<"Polygon">;
64
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">;
65
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
66
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
67
+ type: import("zod").ZodLiteral<"Polygon">;
68
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">;
69
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
70
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
71
+ type: import("zod").ZodLiteral<"Polygon">;
72
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">;
73
+ }, import("zod").ZodTypeAny, "passthrough">>, import("zod").objectOutputType<{
74
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
75
+ type: import("zod").ZodLiteral<"Polygon">;
76
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">;
77
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
78
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
79
+ type: import("zod").ZodLiteral<"Polygon">;
80
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">;
81
+ }, import("zod").ZodTypeAny, "passthrough">>]>, import("zod").ZodEffects<import("zod").ZodObject<{
82
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
83
+ type: import("zod").ZodLiteral<"MultiLineString">;
84
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">;
85
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
86
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
87
+ type: import("zod").ZodLiteral<"MultiLineString">;
88
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">;
89
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
90
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
91
+ type: import("zod").ZodLiteral<"MultiLineString">;
92
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">;
93
+ }, import("zod").ZodTypeAny, "passthrough">>, import("zod").objectOutputType<{
94
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
95
+ type: import("zod").ZodLiteral<"MultiLineString">;
96
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">;
97
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
98
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
99
+ type: import("zod").ZodLiteral<"MultiLineString">;
100
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">;
101
+ }, import("zod").ZodTypeAny, "passthrough">>]>, import("zod").ZodEffects<import("zod").ZodObject<{
102
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
103
+ type: import("zod").ZodLiteral<"MultiPolygon">;
104
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">, "many">;
105
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
106
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
107
+ type: import("zod").ZodLiteral<"MultiPolygon">;
108
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">, "many">;
109
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
110
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
111
+ type: import("zod").ZodLiteral<"MultiPolygon">;
112
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">, "many">;
113
+ }, import("zod").ZodTypeAny, "passthrough">>, import("zod").objectOutputType<{
114
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
115
+ type: import("zod").ZodLiteral<"MultiPolygon">;
116
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">, "many">;
117
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
118
+ bbox: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodNumber, "many">, number[], number[]>>;
119
+ type: import("zod").ZodLiteral<"MultiPolygon">;
120
+ coordinates: import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodArray<import("zod").ZodNumber, "many">, "many">, "many">, "many">;
121
+ }, import("zod").ZodTypeAny, "passthrough">>]>;
122
+ //# sourceMappingURL=_simple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_simple.d.ts","sourceRoot":"","sources":["../../src/geometry/_simple.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAIP,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._GeoJSONSimpleGeometrySchema = void 0;
4
+ var line_string_1 = require("./line_string");
5
+ var multi_line_string_1 = require("./multi_line_string");
6
+ var multi_point_1 = require("./multi_point");
7
+ var multi_polygon_1 = require("./multi_polygon");
8
+ var point_1 = require("./point");
9
+ var polygon_1 = require("./polygon");
10
+ exports._GeoJSONSimpleGeometrySchema = point_1.GeoJSONPointSchema.or(line_string_1.GeoJSONLineStringSchema)
11
+ .or(multi_point_1.GeoJSONMultiPointSchema)
12
+ .or(polygon_1.GeoJSONPolygonSchema)
13
+ .or(multi_line_string_1.GeoJSONMultiLineStringSchema)
14
+ .or(multi_polygon_1.GeoJSONMultiPolygonSchema);
@@ -0,0 +1,18 @@
1
+ import { z, ZodType } from "zod";
2
+ import { GeoJSONGeometry } from "./index";
3
+ declare const _GeoJSONGeometryCollectionBaseSchema: z.ZodObject<{
4
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
5
+ type: z.ZodLiteral<"GeometryCollection">;
6
+ }, "strip", z.ZodTypeAny, {
7
+ type: "GeometryCollection";
8
+ bbox?: number[] | undefined;
9
+ }, {
10
+ type: "GeometryCollection";
11
+ bbox?: number[] | undefined;
12
+ }>;
13
+ export declare const GeoJSONGeometryCollectionSchema: ZodType<GeoJSONGeometryCollection>;
14
+ export type GeoJSONGeometryCollection = z.infer<typeof _GeoJSONGeometryCollectionBaseSchema> & {
15
+ geometries: GeoJSONGeometry[];
16
+ };
17
+ export {};
18
+ //# sourceMappingURL=geometry_collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry_collection.d.ts","sourceRoot":"","sources":["../../src/geometry/geometry_collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAIjC,OAAO,EAAE,eAAe,EAAyB,MAAM,SAAS,CAAC;AAyCjE,QAAA,MAAM,oCAAoC;;;;;;;;;EAExC,CAAC;AAEH,eAAO,MAAM,+BAA+B,EAAE,OAAO,CAAC,yBAAyB,CAuBzE,CAAC;AAEP,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,GAAG;IAC3F,UAAU,EAAE,eAAe,EAAE,CAAC;CACjC,CAAC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeoJSONGeometryCollectionSchema = void 0;
4
+ var zod_1 = require("zod");
5
+ var bbox_1 = require("./validation/bbox");
6
+ var dimension_1 = require("./validation/dimension");
7
+ var base_1 = require("../base");
8
+ var index_1 = require("./index");
9
+ var INVALID_GEOMETRY_COLLECTION_KEYS_ISSUE = {
10
+ code: "custom",
11
+ message: 'GeoJSON geometry collection object cannot have "geometry", "coordinates", "properties", or "features" keys',
12
+ };
13
+ var INVALID_GEOMETRY_COLLECTION_DIMENSION_ISSUE = {
14
+ code: "custom",
15
+ message: "Invalid geometry collection dimensions. All geometries must have the same dimension.",
16
+ };
17
+ function validGeometryCollectionKeys(collection) {
18
+ return (!("coordinates" in collection) &&
19
+ !("geometry" in collection) &&
20
+ !("properties" in collection) &&
21
+ !("features" in collection));
22
+ }
23
+ function validGeometryCollectionDimension(_a) {
24
+ var geometries = _a.geometries;
25
+ var dimension = (0, dimension_1.getDimensionForGeometry)(geometries[0]);
26
+ return geometries.slice(1).every(function (geometry) { return (0, dimension_1.getDimensionForGeometry)(geometry) === dimension; });
27
+ }
28
+ function validGeometryCollectionBbox(_a) {
29
+ var bbox = _a.bbox, geometries = _a.geometries;
30
+ if (!bbox) {
31
+ return true;
32
+ }
33
+ var expectedBbox = (0, bbox_1.getBboxForGeometries)(geometries);
34
+ return (0, bbox_1.bboxEquals)(bbox, expectedBbox);
35
+ }
36
+ var _GeoJSONGeometryCollectionBaseSchema = base_1.GeoJSONBaseSchema.extend({
37
+ type: zod_1.z.literal("GeometryCollection"),
38
+ });
39
+ exports.GeoJSONGeometryCollectionSchema = _GeoJSONGeometryCollectionBaseSchema
40
+ .extend({
41
+ geometries: zod_1.z.lazy(function () { return zod_1.z.array(index_1.GeoJSONGeometrySchema); }),
42
+ })
43
+ .passthrough()
44
+ .superRefine(function (val, ctx) {
45
+ if (!validGeometryCollectionKeys(val)) {
46
+ ctx.addIssue(INVALID_GEOMETRY_COLLECTION_KEYS_ISSUE);
47
+ return;
48
+ }
49
+ if (!val.geometries.length) {
50
+ return;
51
+ }
52
+ if (!validGeometryCollectionDimension(val)) {
53
+ ctx.addIssue(INVALID_GEOMETRY_COLLECTION_DIMENSION_ISSUE);
54
+ return;
55
+ }
56
+ if (!validGeometryCollectionBbox(val)) {
57
+ ctx.addIssue(bbox_1.INVALID_BBOX_ISSUE);
58
+ return;
59
+ }
60
+ });
@@ -0,0 +1,131 @@
1
+ import { z } from "zod";
2
+ export * from "./geometry_collection";
3
+ export * from "./line_string";
4
+ export * from "./multi_line_string";
5
+ export * from "./multi_point";
6
+ export * from "./multi_polygon";
7
+ export * from "./point";
8
+ export * from "./polygon";
9
+ export declare const GeoJSONGeometrySchema: z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodUnion<[z.ZodEffects<z.ZodObject<{
10
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
11
+ type: z.ZodLiteral<"Point">;
12
+ coordinates: z.ZodArray<z.ZodNumber, "many">;
13
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
14
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
15
+ type: z.ZodLiteral<"Point">;
16
+ coordinates: z.ZodArray<z.ZodNumber, "many">;
17
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
18
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
19
+ type: z.ZodLiteral<"Point">;
20
+ coordinates: z.ZodArray<z.ZodNumber, "many">;
21
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
22
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
23
+ type: z.ZodLiteral<"Point">;
24
+ coordinates: z.ZodArray<z.ZodNumber, "many">;
25
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
26
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
27
+ type: z.ZodLiteral<"Point">;
28
+ coordinates: z.ZodArray<z.ZodNumber, "many">;
29
+ }, z.ZodTypeAny, "passthrough">>, z.ZodEffects<z.ZodObject<{
30
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
31
+ type: z.ZodLiteral<"LineString">;
32
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
33
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
34
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
35
+ type: z.ZodLiteral<"LineString">;
36
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
37
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
38
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
39
+ type: z.ZodLiteral<"LineString">;
40
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
41
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
42
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
43
+ type: z.ZodLiteral<"LineString">;
44
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
45
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
46
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
47
+ type: z.ZodLiteral<"LineString">;
48
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
49
+ }, z.ZodTypeAny, "passthrough">>]>, z.ZodEffects<z.ZodObject<{
50
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
51
+ type: z.ZodLiteral<"MultiPoint">;
52
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
53
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
54
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
55
+ type: z.ZodLiteral<"MultiPoint">;
56
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
57
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
58
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
59
+ type: z.ZodLiteral<"MultiPoint">;
60
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
61
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
62
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
63
+ type: z.ZodLiteral<"MultiPoint">;
64
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
65
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
66
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
67
+ type: z.ZodLiteral<"MultiPoint">;
68
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
69
+ }, z.ZodTypeAny, "passthrough">>]>, z.ZodEffects<z.ZodObject<{
70
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
71
+ type: z.ZodLiteral<"Polygon">;
72
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
73
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
74
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
75
+ type: z.ZodLiteral<"Polygon">;
76
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
77
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
78
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
79
+ type: z.ZodLiteral<"Polygon">;
80
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
81
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
82
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
83
+ type: z.ZodLiteral<"Polygon">;
84
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
85
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
86
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
87
+ type: z.ZodLiteral<"Polygon">;
88
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
89
+ }, z.ZodTypeAny, "passthrough">>]>, z.ZodEffects<z.ZodObject<{
90
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
91
+ type: z.ZodLiteral<"MultiLineString">;
92
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
93
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
94
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
95
+ type: z.ZodLiteral<"MultiLineString">;
96
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
97
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
98
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
99
+ type: z.ZodLiteral<"MultiLineString">;
100
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
101
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
102
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
103
+ type: z.ZodLiteral<"MultiLineString">;
104
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
105
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
106
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
107
+ type: z.ZodLiteral<"MultiLineString">;
108
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
109
+ }, z.ZodTypeAny, "passthrough">>]>, z.ZodEffects<z.ZodObject<{
110
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
111
+ type: z.ZodLiteral<"MultiPolygon">;
112
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">, "many">;
113
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
114
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
115
+ type: z.ZodLiteral<"MultiPolygon">;
116
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">, "many">;
117
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
118
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
119
+ type: z.ZodLiteral<"MultiPolygon">;
120
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">, "many">;
121
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
122
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
123
+ type: z.ZodLiteral<"MultiPolygon">;
124
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">, "many">;
125
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
126
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
127
+ type: z.ZodLiteral<"MultiPolygon">;
128
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">, "many">;
129
+ }, z.ZodTypeAny, "passthrough">>]>, z.ZodType<import("./geometry_collection").GeoJSONGeometryCollection, z.ZodTypeDef, import("./geometry_collection").GeoJSONGeometryCollection>]>;
130
+ export type GeoJSONGeometry = z.infer<typeof GeoJSONGeometrySchema>;
131
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geometry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAE1B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mLAAmE,CAAC;AAEtG,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.GeoJSONGeometrySchema = void 0;
18
+ var _simple_1 = require("./_simple");
19
+ var geometry_collection_1 = require("./geometry_collection");
20
+ __exportStar(require("./geometry_collection"), exports);
21
+ __exportStar(require("./line_string"), exports);
22
+ __exportStar(require("./multi_line_string"), exports);
23
+ __exportStar(require("./multi_point"), exports);
24
+ __exportStar(require("./multi_polygon"), exports);
25
+ __exportStar(require("./point"), exports);
26
+ __exportStar(require("./polygon"), exports);
27
+ exports.GeoJSONGeometrySchema = _simple_1._GeoJSONSimpleGeometrySchema.or(geometry_collection_1.GeoJSONGeometryCollectionSchema);
@@ -0,0 +1,25 @@
1
+ import { z } from "zod";
2
+ export declare const GeoJSONLineStringSchema: z.ZodEffects<z.ZodObject<{
3
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
4
+ type: z.ZodLiteral<"LineString">;
5
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
6
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
7
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
8
+ type: z.ZodLiteral<"LineString">;
9
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
10
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
11
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
12
+ type: z.ZodLiteral<"LineString">;
13
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
14
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
15
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
16
+ type: z.ZodLiteral<"LineString">;
17
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
18
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
19
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
20
+ type: z.ZodLiteral<"LineString">;
21
+ coordinates: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
22
+ }, z.ZodTypeAny, "passthrough">>;
23
+ export declare const GeoJSONLineStringCoordinatesSchema: z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">;
24
+ export type GeoJSONLineString = z.infer<typeof GeoJSONLineStringSchema>;
25
+ //# sourceMappingURL=line_string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line_string.d.ts","sourceRoot":"","sources":["../../src/geometry/line_string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;gCAwB9B,CAAC;AAEP,eAAO,MAAM,kCAAkC,qDAAwD,CAAC;AAExG,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeoJSONLineStringCoordinatesSchema = exports.GeoJSONLineStringSchema = void 0;
4
+ var zod_1 = require("zod");
5
+ var position_1 = require("../position");
6
+ var dimension_1 = require("./validation/dimension");
7
+ var keys_1 = require("./validation/keys");
8
+ var bbox_1 = require("./validation/bbox");
9
+ var base_1 = require("../base");
10
+ exports.GeoJSONLineStringSchema = base_1.GeoJSONBaseSchema.extend({
11
+ type: zod_1.z.literal("LineString"),
12
+ coordinates: zod_1.z.array(position_1.GeoJSONPositionSchema).min(2),
13
+ })
14
+ .passthrough()
15
+ .superRefine(function (val, ctx) {
16
+ if (!(0, keys_1.validGeometryKeys)(val)) {
17
+ ctx.addIssue(keys_1.INVALID_KEYS_ISSUE);
18
+ return;
19
+ }
20
+ // Skip remaining checks if coordinates empty
21
+ if (!val.coordinates.length) {
22
+ return;
23
+ }
24
+ if (!(0, dimension_1.validDimensionsForPositionList)(val)) {
25
+ ctx.addIssue(dimension_1.INVALID_DIMENSIONS_ISSUE);
26
+ return;
27
+ }
28
+ if (!(0, bbox_1.validBboxForPositionList)(val)) {
29
+ ctx.addIssue(bbox_1.INVALID_BBOX_ISSUE);
30
+ return;
31
+ }
32
+ });
33
+ exports.GeoJSONLineStringCoordinatesSchema = exports.GeoJSONLineStringSchema.innerType().shape.coordinates;
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ export declare const GeoJSONMultiLineStringSchema: z.ZodEffects<z.ZodObject<{
3
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
4
+ type: z.ZodLiteral<"MultiLineString">;
5
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
6
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
7
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
8
+ type: z.ZodLiteral<"MultiLineString">;
9
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
10
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
11
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
12
+ type: z.ZodLiteral<"MultiLineString">;
13
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
14
+ }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
15
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
16
+ type: z.ZodLiteral<"MultiLineString">;
17
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
18
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
19
+ bbox: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodNumber, "many">, number[], number[]>>;
20
+ type: z.ZodLiteral<"MultiLineString">;
21
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodNumber, "many">, "many">, "many">;
22
+ }, z.ZodTypeAny, "passthrough">>;
23
+ export type GeoJSONMultiLineString = z.infer<typeof GeoJSONMultiLineStringSchema>;
24
+ //# sourceMappingURL=multi_line_string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi_line_string.d.ts","sourceRoot":"","sources":["../../src/geometry/multi_line_string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;gCAuBnC,CAAC;AAEP,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeoJSONMultiLineStringSchema = void 0;
4
+ var zod_1 = require("zod");
5
+ var bbox_1 = require("./validation/bbox");
6
+ var dimension_1 = require("./validation/dimension");
7
+ var keys_1 = require("./validation/keys");
8
+ var line_string_1 = require("./line_string");
9
+ var base_1 = require("../base");
10
+ exports.GeoJSONMultiLineStringSchema = base_1.GeoJSONBaseSchema.extend({
11
+ type: zod_1.z.literal("MultiLineString"),
12
+ coordinates: zod_1.z.array(line_string_1.GeoJSONLineStringCoordinatesSchema).min(1),
13
+ })
14
+ .passthrough()
15
+ .superRefine(function (val, ctx) {
16
+ if (!(0, keys_1.validGeometryKeys)(val)) {
17
+ ctx.addIssue(keys_1.INVALID_KEYS_ISSUE);
18
+ return;
19
+ }
20
+ // Skip remaining checks if coordinates array is empty
21
+ if (!val.coordinates.length) {
22
+ return;
23
+ }
24
+ if (!(0, dimension_1.validDimensionsForPositionGrid)(val)) {
25
+ ctx.addIssue(dimension_1.INVALID_DIMENSIONS_ISSUE);
26
+ return;
27
+ }
28
+ if (!(0, bbox_1.validBboxForPositionGrid)(val)) {
29
+ ctx.addIssue(bbox_1.INVALID_BBOX_ISSUE);
30
+ return;
31
+ }
32
+ });