@infra-blocks/zod-utils 0.3.0-alpha.0 → 0.4.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +150 -10
  2. package/lib/cjs/geojson/base.d.ts +8 -0
  3. package/lib/cjs/geojson/base.js +9 -0
  4. package/lib/cjs/geojson/base.js.map +1 -0
  5. package/lib/cjs/geojson/bounding-box.d.ts +5 -0
  6. package/lib/cjs/geojson/bounding-box.js +27 -0
  7. package/lib/cjs/geojson/bounding-box.js.map +1 -0
  8. package/lib/cjs/geojson/coordinate.d.ts +5 -0
  9. package/lib/cjs/geojson/coordinate.js +16 -0
  10. package/lib/cjs/geojson/coordinate.js.map +1 -0
  11. package/lib/cjs/geojson/feature-collection.d.ts +657 -0
  12. package/lib/cjs/geojson/feature-collection.js +15 -0
  13. package/lib/cjs/geojson/feature-collection.js.map +1 -0
  14. package/lib/cjs/geojson/feature.d.ts +397 -0
  15. package/lib/cjs/geojson/feature.js +18 -0
  16. package/lib/cjs/geojson/feature.js.map +1 -0
  17. package/lib/cjs/geojson/geojson.d.ts +1193 -0
  18. package/lib/cjs/geojson/geojson.js +13 -0
  19. package/lib/cjs/geojson/geojson.js.map +1 -0
  20. package/lib/cjs/geojson/geometry.d.ts +155 -0
  21. package/lib/cjs/geojson/geometry.js +33 -0
  22. package/lib/cjs/geojson/geometry.js.map +1 -0
  23. package/lib/cjs/geojson/index.d.ts +622 -0
  24. package/lib/cjs/geojson/index.js +34 -0
  25. package/lib/cjs/geojson/index.js.map +1 -0
  26. package/lib/cjs/geojson/line-string.d.ts +29 -0
  27. package/lib/cjs/geojson/line-string.js +15 -0
  28. package/lib/cjs/geojson/line-string.js.map +1 -0
  29. package/lib/cjs/geojson/multi-line-string.d.ts +29 -0
  30. package/lib/cjs/geojson/multi-line-string.js +15 -0
  31. package/lib/cjs/geojson/multi-line-string.js.map +1 -0
  32. package/lib/cjs/geojson/multi-point.d.ts +29 -0
  33. package/lib/cjs/geojson/multi-point.js +15 -0
  34. package/lib/cjs/geojson/multi-point.js.map +1 -0
  35. package/lib/cjs/geojson/multi-polygon.d.ts +29 -0
  36. package/lib/cjs/geojson/multi-polygon.js +15 -0
  37. package/lib/cjs/geojson/multi-polygon.js.map +1 -0
  38. package/lib/cjs/geojson/point.d.ts +29 -0
  39. package/lib/cjs/geojson/point.js +15 -0
  40. package/lib/cjs/geojson/point.js.map +1 -0
  41. package/lib/cjs/geojson/polygon.d.ts +29 -0
  42. package/lib/cjs/geojson/polygon.js +15 -0
  43. package/lib/cjs/geojson/polygon.js.map +1 -0
  44. package/lib/cjs/geojson/types.d.ts +12 -0
  45. package/lib/cjs/geojson/types.js +3 -0
  46. package/lib/cjs/geojson/types.js.map +1 -0
  47. package/lib/cjs/index.d.ts +608 -0
  48. package/lib/cjs/index.js +2 -0
  49. package/lib/cjs/index.js.map +1 -1
  50. package/lib/esm/geojson/base.d.ts +8 -0
  51. package/lib/esm/geojson/base.js +6 -0
  52. package/lib/esm/geojson/base.js.map +1 -0
  53. package/lib/esm/geojson/bounding-box.d.ts +5 -0
  54. package/lib/esm/geojson/bounding-box.js +23 -0
  55. package/lib/esm/geojson/bounding-box.js.map +1 -0
  56. package/lib/esm/geojson/coordinate.d.ts +5 -0
  57. package/lib/esm/geojson/coordinate.js +12 -0
  58. package/lib/esm/geojson/coordinate.js.map +1 -0
  59. package/lib/esm/geojson/feature-collection.d.ts +657 -0
  60. package/lib/esm/geojson/feature-collection.js +11 -0
  61. package/lib/esm/geojson/feature-collection.js.map +1 -0
  62. package/lib/esm/geojson/feature.d.ts +397 -0
  63. package/lib/esm/geojson/feature.js +14 -0
  64. package/lib/esm/geojson/feature.js.map +1 -0
  65. package/lib/esm/geojson/geojson.d.ts +1193 -0
  66. package/lib/esm/geojson/geojson.js +9 -0
  67. package/lib/esm/geojson/geojson.js.map +1 -0
  68. package/lib/esm/geojson/geometry.d.ts +155 -0
  69. package/lib/esm/geojson/geometry.js +28 -0
  70. package/lib/esm/geojson/geometry.js.map +1 -0
  71. package/lib/esm/geojson/index.d.ts +622 -0
  72. package/lib/esm/geojson/index.js +31 -0
  73. package/lib/esm/geojson/index.js.map +1 -0
  74. package/lib/esm/geojson/line-string.d.ts +29 -0
  75. package/lib/esm/geojson/line-string.js +11 -0
  76. package/lib/esm/geojson/line-string.js.map +1 -0
  77. package/lib/esm/geojson/multi-line-string.d.ts +29 -0
  78. package/lib/esm/geojson/multi-line-string.js +11 -0
  79. package/lib/esm/geojson/multi-line-string.js.map +1 -0
  80. package/lib/esm/geojson/multi-point.d.ts +29 -0
  81. package/lib/esm/geojson/multi-point.js +11 -0
  82. package/lib/esm/geojson/multi-point.js.map +1 -0
  83. package/lib/esm/geojson/multi-polygon.d.ts +29 -0
  84. package/lib/esm/geojson/multi-polygon.js +11 -0
  85. package/lib/esm/geojson/multi-polygon.js.map +1 -0
  86. package/lib/esm/geojson/point.d.ts +29 -0
  87. package/lib/esm/geojson/point.js +11 -0
  88. package/lib/esm/geojson/point.js.map +1 -0
  89. package/lib/esm/geojson/polygon.d.ts +29 -0
  90. package/lib/esm/geojson/polygon.js +11 -0
  91. package/lib/esm/geojson/polygon.js.map +1 -0
  92. package/lib/esm/geojson/types.d.ts +12 -0
  93. package/lib/esm/geojson/types.js +2 -0
  94. package/lib/esm/geojson/types.js.map +1 -0
  95. package/lib/esm/index.d.ts +608 -0
  96. package/lib/esm/index.js +2 -0
  97. package/lib/esm/index.js.map +1 -1
  98. package/package.json +8 -1
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.featureCollection = void 0;
4
+ const zod_1 = require("zod");
5
+ const base_js_1 = require("./base.js");
6
+ const feature_js_1 = require("./feature.js");
7
+ const featureCollectionSchema = base_js_1.schemaWithBoundingBox.extend({
8
+ type: zod_1.z.literal("FeatureCollection"),
9
+ features: zod_1.z.array((0, feature_js_1.feature)()),
10
+ });
11
+ function featureCollection() {
12
+ return featureCollectionSchema;
13
+ }
14
+ exports.featureCollection = featureCollection;
15
+ //# sourceMappingURL=feature-collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-collection.js","sourceRoot":"","sources":["../../../src/geojson/feature-collection.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,uCAAkD;AAClD,6CAAuC;AAEvC,MAAM,uBAAuB,GAAG,+BAAqB,CAAC,MAAM,CAAC;IAC3D,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACpC,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,IAAA,oBAAO,GAAE,CAAC;CAC7B,CAAC,CAAC;AAIH,SAAgB,iBAAiB;IAC/B,OAAO,uBAAuB,CAAC;AACjC,CAAC;AAFD,8CAEC"}
@@ -0,0 +1,397 @@
1
+ import { z } from "zod";
2
+ declare const featureSchema: z.ZodObject<{
3
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
4
+ type: z.ZodLiteral<"Feature">;
5
+ geometry: z.ZodNullable<z.ZodUnion<[z.ZodObject<{
6
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
7
+ type: z.ZodLiteral<"LineString">;
8
+ coordinates: z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">;
9
+ }, "strict", z.ZodTypeAny, {
10
+ type: "LineString";
11
+ coordinates: ([number, number] | [number, number, number])[];
12
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
13
+ }, {
14
+ type: "LineString";
15
+ coordinates: ([number, number] | [number, number, number])[];
16
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
17
+ }>, z.ZodObject<{
18
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
19
+ type: z.ZodLiteral<"MultiLineString">;
20
+ coordinates: z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">;
21
+ }, "strict", z.ZodTypeAny, {
22
+ type: "MultiLineString";
23
+ coordinates: ([number, number] | [number, number, number])[][];
24
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
25
+ }, {
26
+ type: "MultiLineString";
27
+ coordinates: ([number, number] | [number, number, number])[][];
28
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
29
+ }>, z.ZodObject<{
30
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
31
+ type: z.ZodLiteral<"MultiPoint">;
32
+ coordinates: z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">;
33
+ }, "strict", z.ZodTypeAny, {
34
+ type: "MultiPoint";
35
+ coordinates: ([number, number] | [number, number, number])[];
36
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
37
+ }, {
38
+ type: "MultiPoint";
39
+ coordinates: ([number, number] | [number, number, number])[];
40
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
41
+ }>, z.ZodObject<{
42
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
43
+ type: z.ZodLiteral<"MultiPolygon">;
44
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">, "many">;
45
+ }, "strict", z.ZodTypeAny, {
46
+ type: "MultiPolygon";
47
+ coordinates: ([number, number] | [number, number, number])[][][];
48
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
49
+ }, {
50
+ type: "MultiPolygon";
51
+ coordinates: ([number, number] | [number, number, number])[][][];
52
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
53
+ }>, z.ZodObject<{
54
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
55
+ type: z.ZodLiteral<"Point">;
56
+ coordinates: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
57
+ }, "strict", z.ZodTypeAny, {
58
+ type: "Point";
59
+ coordinates: [number, number] | [number, number, number];
60
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
61
+ }, {
62
+ type: "Point";
63
+ coordinates: [number, number] | [number, number, number];
64
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
65
+ }>, z.ZodObject<{
66
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
67
+ type: z.ZodLiteral<"Polygon">;
68
+ coordinates: z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">;
69
+ }, "strict", z.ZodTypeAny, {
70
+ type: "Polygon";
71
+ coordinates: ([number, number] | [number, number, number])[][];
72
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
73
+ }, {
74
+ type: "Polygon";
75
+ coordinates: ([number, number] | [number, number, number])[][];
76
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
77
+ }>, z.ZodType<import("./geometry.js").GeoJsonGeometryCollection, z.ZodTypeDef, import("./geometry.js").GeoJsonGeometryCollection>]>>;
78
+ id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
79
+ properties: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodType<import("../json/json.js").Json, z.ZodTypeDef, import("../json/json.js").Json>>>;
80
+ }, "strict", z.ZodTypeAny, {
81
+ type: "Feature";
82
+ geometry: {
83
+ type: "LineString";
84
+ coordinates: ([number, number] | [number, number, number])[];
85
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
86
+ } | {
87
+ type: "MultiLineString";
88
+ coordinates: ([number, number] | [number, number, number])[][];
89
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
90
+ } | {
91
+ type: "Point";
92
+ coordinates: [number, number] | [number, number, number];
93
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
94
+ } | {
95
+ type: "MultiPoint";
96
+ coordinates: ([number, number] | [number, number, number])[];
97
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
98
+ } | {
99
+ type: "Polygon";
100
+ coordinates: ([number, number] | [number, number, number])[][];
101
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
102
+ } | {
103
+ type: "MultiPolygon";
104
+ coordinates: ([number, number] | [number, number, number])[][][];
105
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
106
+ } | ({
107
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
108
+ } & {
109
+ type: "GeometryCollection";
110
+ geometries: ({
111
+ type: "LineString";
112
+ coordinates: ([number, number] | [number, number, number])[];
113
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
114
+ } | {
115
+ type: "MultiLineString";
116
+ coordinates: ([number, number] | [number, number, number])[][];
117
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
118
+ } | {
119
+ type: "Point";
120
+ coordinates: [number, number] | [number, number, number];
121
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
122
+ } | {
123
+ type: "MultiPoint";
124
+ coordinates: ([number, number] | [number, number, number])[];
125
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
126
+ } | {
127
+ type: "Polygon";
128
+ coordinates: ([number, number] | [number, number, number])[][];
129
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
130
+ } | {
131
+ type: "MultiPolygon";
132
+ coordinates: ([number, number] | [number, number, number])[][][];
133
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
134
+ } | import("./geometry.js").GeoJsonGeometryCollection)[];
135
+ }) | null;
136
+ properties: Record<string, import("../json/json.js").Json> | null;
137
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
138
+ id?: string | number | undefined;
139
+ }, {
140
+ type: "Feature";
141
+ geometry: {
142
+ type: "LineString";
143
+ coordinates: ([number, number] | [number, number, number])[];
144
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
145
+ } | {
146
+ type: "MultiLineString";
147
+ coordinates: ([number, number] | [number, number, number])[][];
148
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
149
+ } | {
150
+ type: "Point";
151
+ coordinates: [number, number] | [number, number, number];
152
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
153
+ } | {
154
+ type: "MultiPoint";
155
+ coordinates: ([number, number] | [number, number, number])[];
156
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
157
+ } | {
158
+ type: "Polygon";
159
+ coordinates: ([number, number] | [number, number, number])[][];
160
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
161
+ } | {
162
+ type: "MultiPolygon";
163
+ coordinates: ([number, number] | [number, number, number])[][][];
164
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
165
+ } | ({
166
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
167
+ } & {
168
+ type: "GeometryCollection";
169
+ geometries: ({
170
+ type: "LineString";
171
+ coordinates: ([number, number] | [number, number, number])[];
172
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
173
+ } | {
174
+ type: "MultiLineString";
175
+ coordinates: ([number, number] | [number, number, number])[][];
176
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
177
+ } | {
178
+ type: "Point";
179
+ coordinates: [number, number] | [number, number, number];
180
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
181
+ } | {
182
+ type: "MultiPoint";
183
+ coordinates: ([number, number] | [number, number, number])[];
184
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
185
+ } | {
186
+ type: "Polygon";
187
+ coordinates: ([number, number] | [number, number, number])[][];
188
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
189
+ } | {
190
+ type: "MultiPolygon";
191
+ coordinates: ([number, number] | [number, number, number])[][][];
192
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
193
+ } | import("./geometry.js").GeoJsonGeometryCollection)[];
194
+ }) | null;
195
+ properties: Record<string, import("../json/json.js").Json> | null;
196
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
197
+ id?: string | number | undefined;
198
+ }>;
199
+ export type GeoJsonFeature = z.infer<typeof featureSchema>;
200
+ export declare function feature(): z.ZodObject<{
201
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
202
+ type: z.ZodLiteral<"Feature">;
203
+ geometry: z.ZodNullable<z.ZodUnion<[z.ZodObject<{
204
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
205
+ type: z.ZodLiteral<"LineString">;
206
+ coordinates: z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">;
207
+ }, "strict", z.ZodTypeAny, {
208
+ type: "LineString";
209
+ coordinates: ([number, number] | [number, number, number])[];
210
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
211
+ }, {
212
+ type: "LineString";
213
+ coordinates: ([number, number] | [number, number, number])[];
214
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
215
+ }>, z.ZodObject<{
216
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
217
+ type: z.ZodLiteral<"MultiLineString">;
218
+ coordinates: z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">;
219
+ }, "strict", z.ZodTypeAny, {
220
+ type: "MultiLineString";
221
+ coordinates: ([number, number] | [number, number, number])[][];
222
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
223
+ }, {
224
+ type: "MultiLineString";
225
+ coordinates: ([number, number] | [number, number, number])[][];
226
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
227
+ }>, z.ZodObject<{
228
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
229
+ type: z.ZodLiteral<"MultiPoint">;
230
+ coordinates: z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">;
231
+ }, "strict", z.ZodTypeAny, {
232
+ type: "MultiPoint";
233
+ coordinates: ([number, number] | [number, number, number])[];
234
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
235
+ }, {
236
+ type: "MultiPoint";
237
+ coordinates: ([number, number] | [number, number, number])[];
238
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
239
+ }>, z.ZodObject<{
240
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
241
+ type: z.ZodLiteral<"MultiPolygon">;
242
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">, "many">;
243
+ }, "strict", z.ZodTypeAny, {
244
+ type: "MultiPolygon";
245
+ coordinates: ([number, number] | [number, number, number])[][][];
246
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
247
+ }, {
248
+ type: "MultiPolygon";
249
+ coordinates: ([number, number] | [number, number, number])[][][];
250
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
251
+ }>, z.ZodObject<{
252
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
253
+ type: z.ZodLiteral<"Point">;
254
+ coordinates: z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
255
+ }, "strict", z.ZodTypeAny, {
256
+ type: "Point";
257
+ coordinates: [number, number] | [number, number, number];
258
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
259
+ }, {
260
+ type: "Point";
261
+ coordinates: [number, number] | [number, number, number];
262
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
263
+ }>, z.ZodObject<{
264
+ bbox: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
265
+ type: z.ZodLiteral<"Polygon">;
266
+ coordinates: z.ZodArray<z.ZodArray<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>, "many">, "many">;
267
+ }, "strict", z.ZodTypeAny, {
268
+ type: "Polygon";
269
+ coordinates: ([number, number] | [number, number, number])[][];
270
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
271
+ }, {
272
+ type: "Polygon";
273
+ coordinates: ([number, number] | [number, number, number])[][];
274
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
275
+ }>, z.ZodType<import("./geometry.js").GeoJsonGeometryCollection, z.ZodTypeDef, import("./geometry.js").GeoJsonGeometryCollection>]>>;
276
+ id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
277
+ properties: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodType<import("../json/json.js").Json, z.ZodTypeDef, import("../json/json.js").Json>>>;
278
+ }, "strict", z.ZodTypeAny, {
279
+ type: "Feature";
280
+ geometry: {
281
+ type: "LineString";
282
+ coordinates: ([number, number] | [number, number, number])[];
283
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
284
+ } | {
285
+ type: "MultiLineString";
286
+ coordinates: ([number, number] | [number, number, number])[][];
287
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
288
+ } | {
289
+ type: "Point";
290
+ coordinates: [number, number] | [number, number, number];
291
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
292
+ } | {
293
+ type: "MultiPoint";
294
+ coordinates: ([number, number] | [number, number, number])[];
295
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
296
+ } | {
297
+ type: "Polygon";
298
+ coordinates: ([number, number] | [number, number, number])[][];
299
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
300
+ } | {
301
+ type: "MultiPolygon";
302
+ coordinates: ([number, number] | [number, number, number])[][][];
303
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
304
+ } | ({
305
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
306
+ } & {
307
+ type: "GeometryCollection";
308
+ geometries: ({
309
+ type: "LineString";
310
+ coordinates: ([number, number] | [number, number, number])[];
311
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
312
+ } | {
313
+ type: "MultiLineString";
314
+ coordinates: ([number, number] | [number, number, number])[][];
315
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
316
+ } | {
317
+ type: "Point";
318
+ coordinates: [number, number] | [number, number, number];
319
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
320
+ } | {
321
+ type: "MultiPoint";
322
+ coordinates: ([number, number] | [number, number, number])[];
323
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
324
+ } | {
325
+ type: "Polygon";
326
+ coordinates: ([number, number] | [number, number, number])[][];
327
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
328
+ } | {
329
+ type: "MultiPolygon";
330
+ coordinates: ([number, number] | [number, number, number])[][][];
331
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
332
+ } | import("./geometry.js").GeoJsonGeometryCollection)[];
333
+ }) | null;
334
+ properties: Record<string, import("../json/json.js").Json> | null;
335
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
336
+ id?: string | number | undefined;
337
+ }, {
338
+ type: "Feature";
339
+ geometry: {
340
+ type: "LineString";
341
+ coordinates: ([number, number] | [number, number, number])[];
342
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
343
+ } | {
344
+ type: "MultiLineString";
345
+ coordinates: ([number, number] | [number, number, number])[][];
346
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
347
+ } | {
348
+ type: "Point";
349
+ coordinates: [number, number] | [number, number, number];
350
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
351
+ } | {
352
+ type: "MultiPoint";
353
+ coordinates: ([number, number] | [number, number, number])[];
354
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
355
+ } | {
356
+ type: "Polygon";
357
+ coordinates: ([number, number] | [number, number, number])[][];
358
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
359
+ } | {
360
+ type: "MultiPolygon";
361
+ coordinates: ([number, number] | [number, number, number])[][][];
362
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
363
+ } | ({
364
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
365
+ } & {
366
+ type: "GeometryCollection";
367
+ geometries: ({
368
+ type: "LineString";
369
+ coordinates: ([number, number] | [number, number, number])[];
370
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
371
+ } | {
372
+ type: "MultiLineString";
373
+ coordinates: ([number, number] | [number, number, number])[][];
374
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
375
+ } | {
376
+ type: "Point";
377
+ coordinates: [number, number] | [number, number, number];
378
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
379
+ } | {
380
+ type: "MultiPoint";
381
+ coordinates: ([number, number] | [number, number, number])[];
382
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
383
+ } | {
384
+ type: "Polygon";
385
+ coordinates: ([number, number] | [number, number, number])[][];
386
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
387
+ } | {
388
+ type: "MultiPolygon";
389
+ coordinates: ([number, number] | [number, number, number])[][][];
390
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
391
+ } | import("./geometry.js").GeoJsonGeometryCollection)[];
392
+ }) | null;
393
+ properties: Record<string, import("../json/json.js").Json> | null;
394
+ bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
395
+ id?: string | number | undefined;
396
+ }>;
397
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.feature = void 0;
4
+ const zod_1 = require("zod");
5
+ const index_js_1 = require("../json/index.js");
6
+ const base_js_1 = require("./base.js");
7
+ const geometry_js_1 = require("./geometry.js");
8
+ const featureSchema = base_js_1.schemaWithBoundingBox.extend({
9
+ type: zod_1.z.literal("Feature"),
10
+ geometry: (0, geometry_js_1.geometry)().nullable(),
11
+ id: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(),
12
+ properties: zod_1.z.record((0, index_js_1.json)()).nullable(),
13
+ });
14
+ function feature() {
15
+ return featureSchema;
16
+ }
17
+ exports.feature = feature;
18
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature.js","sourceRoot":"","sources":["../../../src/geojson/feature.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,+CAAwC;AACxC,uCAAkD;AAClD,+CAAyC;AAEzC,MAAM,aAAa,GAAG,+BAAqB,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,IAAA,sBAAQ,GAAE,CAAC,QAAQ,EAAE;IAC/B,EAAE,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,IAAA,eAAI,GAAE,CAAC,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAIH,SAAgB,OAAO;IACrB,OAAO,aAAa,CAAC;AACvB,CAAC;AAFD,0BAEC"}