diff --git a/notNeededPackages.json b/notNeededPackages.json index d62a16463f424c..9959033381708b 100644 --- a/notNeededPackages.json +++ b/notNeededPackages.json @@ -8279,6 +8279,10 @@ "libraryName": "@wordpress/block-serialization-default-parser", "asOfVersion": "4.17.0" }, + "wordpress__blocks": { + "libraryName": "@wordpress/blocks", + "asOfVersion": "15.17.0" + }, "wordpress__components": { "libraryName": "@wordpress/components", "asOfVersion": "23.8.0" @@ -8391,6 +8395,14 @@ "libraryName": "@wordpress/url", "asOfVersion": "2.14.0" }, + "wordpress__viewport": { + "libraryName": "@wordpress/viewport", + "asOfVersion": "6.44.0" + }, + "wordpress__wordcount": { + "libraryName": "@wordpress/wordcount", + "asOfVersion": "4.32.0" + }, "words-to-numbers": { "libraryName": "words-to-numbers", "asOfVersion": "1.3.0" diff --git a/types/wordpress__blocks/.npmignore b/types/mapbox__geojson-rewind/.npmignore similarity index 100% rename from types/wordpress__blocks/.npmignore rename to types/mapbox__geojson-rewind/.npmignore diff --git a/types/mapbox__geojson-rewind/index.d.ts b/types/mapbox__geojson-rewind/index.d.ts new file mode 100644 index 00000000000000..8e300965fb08ad --- /dev/null +++ b/types/mapbox__geojson-rewind/index.d.ts @@ -0,0 +1,12 @@ +import type { Feature, FeatureCollection, Geometry } from "geojson"; + +/** + * The GeoJSON specification is [picky about winding order](https://tools.ietf.org/html/rfc7946#section-3.1.6). + * This function helps you generate compliant Polygon and MultiPolygon geometries. + * + * @param feature GeoJSON {@link FeatureCollection}, {@link Feature}, or {@link Geometry}. ⚠️**This object is mutated.**⚠️ + * @param clockwise if true, the outer ring is clockwise, otherwise it is counterclockwise. + */ +declare function rewind(feature: T, clockwise?: boolean): T; + +export = rewind; diff --git a/types/mapbox__geojson-rewind/mapbox__geojson-rewind-tests.ts b/types/mapbox__geojson-rewind/mapbox__geojson-rewind-tests.ts new file mode 100644 index 00000000000000..5a3e7b37f5df09 --- /dev/null +++ b/types/mapbox__geojson-rewind/mapbox__geojson-rewind-tests.ts @@ -0,0 +1,16 @@ +import geojsonRewind from "@mapbox/geojson-rewind"; +import type { Feature, MultiPolygon, Polygon } from "geojson"; + +let mp!: MultiPolygon; +let lineFeature!: Feature; + +// $ExpectType MultiPolygon +const mp_output = geojsonRewind(mp, true); + +// $ExpectType Feature +const lineFeature_output = geojsonRewind(lineFeature, true); + +const myLine: Polygon = { type: "Polygon", coordinates: [[[-36, 174], [-36, 175]]] }; + +// $ExpectType Polygon +geojsonRewind(myLine); diff --git a/types/mapbox__geojson-rewind/package.json b/types/mapbox__geojson-rewind/package.json new file mode 100644 index 00000000000000..92e2db614b7279 --- /dev/null +++ b/types/mapbox__geojson-rewind/package.json @@ -0,0 +1,20 @@ +{ + "private": true, + "name": "@types/mapbox__geojson-rewind", + "version": "0.5.9999", + "projects": [ + "https://github.com/mapbox/geojson-rewind" + ], + "dependencies": { + "@types/geojson": "*" + }, + "devDependencies": { + "@types/mapbox__geojson-rewind": "workspace:." + }, + "owners": [ + { + "name": "Kyle Hensel", + "githubUsername": "k-yle" + } + ] +} diff --git a/types/wordpress__wordcount/tsconfig.json b/types/mapbox__geojson-rewind/tsconfig.json similarity index 90% rename from types/wordpress__wordcount/tsconfig.json rename to types/mapbox__geojson-rewind/tsconfig.json index 5a21fc30933e64..e3cac92f0d6d1f 100644 --- a/types/wordpress__wordcount/tsconfig.json +++ b/types/mapbox__geojson-rewind/tsconfig.json @@ -6,14 +6,14 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": true, "strictFunctionTypes": true, + "strictNullChecks": true, "types": [], "noEmit": true, "forceConsistentCasingInFileNames": true }, "files": [ "index.d.ts", - "wordpress__wordcount-tests.ts" + "mapbox__geojson-rewind-tests.ts" ] } diff --git a/types/wordpress__block-editor/components/inner-blocks.d.ts b/types/wordpress__block-editor/components/inner-blocks.d.ts index 924ea98bdabd3a..4ff75919e10424 100644 --- a/types/wordpress__block-editor/components/inner-blocks.d.ts +++ b/types/wordpress__block-editor/components/inner-blocks.d.ts @@ -1,10 +1,13 @@ -import { BlockAttributes, TemplateArray } from "@wordpress/blocks"; +import { Block } from "@wordpress/blocks"; import { ComponentType, JSX, ReactElement, Ref } from "react"; import { EditorTemplateLock } from "../"; import { Merged, Reserved } from "./use-block-props"; +type Template = readonly [string, Readonly>?, TemplateArray?]; +type TemplateArray = ReadonlyArray