@vcmap/ui 5.0.0-rc.6
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/LICENSE.md +21 -0
- package/README.md +132 -0
- package/build/.eslintrc +6 -0
- package/build/build.js +165 -0
- package/build/buildCesium.js +19 -0
- package/build/buildHelpers.js +213 -0
- package/build/buildPreview.js +23 -0
- package/build/commonViteConfig.js +39 -0
- package/build/determineHost.js +46 -0
- package/build/generateOLLib.js +196 -0
- package/build/getPluginProxies.js +29 -0
- package/build/info/api-plugin.js +11 -0
- package/build/info/conf.json +21 -0
- package/build/info/define-plugin.js +31 -0
- package/build/info/package.json +3 -0
- package/build/info/publish.js +190 -0
- package/build/info/virtual-plugin.js +15 -0
- package/build/staging/Dockerfile +2 -0
- package/config/aerowest.config.json +378 -0
- package/config/base.config.json +1073 -0
- package/config/berlin.config.json +529 -0
- package/config/dev.config.json +44 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_0.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_1.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_10.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_11.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_12.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_13.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_14.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_15.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_16.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_17.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_18.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_19.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_2.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_20.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_21.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_22.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_23.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_24.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_25.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_26.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_27.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_3.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_4.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_5.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_6.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_7.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_8.json +1 -0
- package/dist/assets/cesium/Assets/IAU2006_XYS/IAU2006_XYS_9.json +1 -0
- package/dist/assets/cesium/Assets/Images/bing_maps_credit.png +0 -0
- package/dist/assets/cesium/Assets/Images/cesium_credit.png +0 -0
- package/dist/assets/cesium/Assets/Images/google_earth_credit.png +0 -0
- package/dist/assets/cesium/Assets/Images/ion-credit.png +0 -0
- package/dist/assets/cesium/Assets/Textures/LensFlare/DirtMask.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/LensFlare/StarBurst.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/0/0/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/0/1/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/1/0/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/1/0/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/1/1/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/1/1/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/1/2/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/1/2/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/1/3/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/1/3/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/0/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/0/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/0/2.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/0/3.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/1/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/1/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/1/2.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/1/3.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/2/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/2/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/2/2.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/2/3.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/3/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/3/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/3/2.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/3/3.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/4/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/4/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/4/2.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/4/3.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/5/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/5/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/5/2.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/5/3.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/6/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/6/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/6/2.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/6/3.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/7/0.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/7/1.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/7/2.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/2/7/3.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml +14 -0
- package/dist/assets/cesium/Assets/Textures/SkyBox/tycho2t3_80_mx.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/SkyBox/tycho2t3_80_my.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/SkyBox/tycho2t3_80_mz.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/SkyBox/tycho2t3_80_px.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/SkyBox/tycho2t3_80_py.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/SkyBox/tycho2t3_80_pz.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/airfield.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/airport.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/alcohol-shop.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/america-football.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/art-gallery.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/bakery.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/bank.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/bar.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/baseball.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/basketball.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/beer.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/bicycle.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/building.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/bus.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/cafe.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/camera.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/campsite.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/car.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/cemetery.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/cesium.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/chemist.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/cinema.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/circle-stroked.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/circle.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/city.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/clothing-store.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/college.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/commercial.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/cricket.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/cross.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/dam.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/danger.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/disability.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/dog-park.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/embassy.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/emergency-telephone.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/entrance.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/farm.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/fast-food.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/ferry.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/fire-station.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/fuel.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/garden.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/gift.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/golf.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/grocery.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/hairdresser.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/harbor.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/heart.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/heliport.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/hospital.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/ice-cream.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/industrial.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/land-use.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/laundry.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/library.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/lighthouse.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/lodging.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/logging.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/london-underground.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/marker-stroked.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/marker.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/minefield.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/mobilephone.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/monument.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/museum.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/music.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/oil-well.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/park.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/park2.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/parking-garage.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/parking.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/pharmacy.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/pitch.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/place-of-worship.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/playground.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/police.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/polling-place.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/post.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/prison.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/rail-above.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/rail-light.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/rail-metro.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/rail-underground.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/rail.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/religious-christian.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/religious-jewish.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/religious-muslim.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/restaurant.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/roadblock.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/rocket.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/school.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/scooter.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/shop.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/skiing.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/slaughterhouse.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/soccer.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/square-stroked.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/square.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/star-stroked.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/star.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/suitcase.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/swimming.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/telephone.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/tennis.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/theatre.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/toilets.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/town-hall.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/town.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/triangle-stroked.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/triangle.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/village.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/warehouse.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/waste-basket.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/water.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/wetland.png +0 -0
- package/dist/assets/cesium/Assets/Textures/maki/zoo.png +0 -0
- package/dist/assets/cesium/Assets/Textures/moonSmall.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/pin.svg +1 -0
- package/dist/assets/cesium/Assets/Textures/waterNormals.jpg +0 -0
- package/dist/assets/cesium/Assets/Textures/waterNormalsSmall.jpg +0 -0
- package/dist/assets/cesium/Assets/approximateTerrainHeights.json +1 -0
- package/dist/assets/cesium/Workers/ArcType-fc72c06c.js +1 -0
- package/dist/assets/cesium/Workers/AttributeCompression-27507afe.js +1 -0
- package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-7565c1e8.js +1 -0
- package/dist/assets/cesium/Workers/BoundingRectangle-9d707275.js +1 -0
- package/dist/assets/cesium/Workers/BoxGeometry-fb31d3b5.js +1 -0
- package/dist/assets/cesium/Workers/Color-56bb5728.js +1 -0
- package/dist/assets/cesium/Workers/ComponentDatatype-a15c9a19.js +1 -0
- package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-72143c19.js +1 -0
- package/dist/assets/cesium/Workers/CorridorGeometryLibrary-7bae1712.js +1 -0
- package/dist/assets/cesium/Workers/CylinderGeometry-331891fe.js +1 -0
- package/dist/assets/cesium/Workers/CylinderGeometryLibrary-76cda53e.js +1 -0
- package/dist/assets/cesium/Workers/EllipseGeometry-5e3f67b6.js +1 -0
- package/dist/assets/cesium/Workers/EllipseGeometryLibrary-dbc15162.js +1 -0
- package/dist/assets/cesium/Workers/EllipseOutlineGeometry-21191fce.js +1 -0
- package/dist/assets/cesium/Workers/EllipsoidGeodesic-cc3bace8.js +1 -0
- package/dist/assets/cesium/Workers/EllipsoidGeometry-8bfa24a9.js +1 -0
- package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-48d9c023.js +1 -0
- package/dist/assets/cesium/Workers/EllipsoidRhumbLine-125a8b72.js +1 -0
- package/dist/assets/cesium/Workers/EllipsoidTangentPlane-678e34e4.js +1 -0
- package/dist/assets/cesium/Workers/EncodedCartesian3-96fdc0ef.js +1 -0
- package/dist/assets/cesium/Workers/FrustumGeometry-9ab86004.js +1 -0
- package/dist/assets/cesium/Workers/GeometryAttribute-3915ea0b.js +1 -0
- package/dist/assets/cesium/Workers/GeometryAttributes-32b29525.js +1 -0
- package/dist/assets/cesium/Workers/GeometryInstance-13e4ff38.js +1 -0
- package/dist/assets/cesium/Workers/GeometryOffsetAttribute-8c5e10db.js +1 -0
- package/dist/assets/cesium/Workers/GeometryPipeline-e0eb4567.js +1 -0
- package/dist/assets/cesium/Workers/IndexDatatype-f1dcdf35.js +1 -0
- package/dist/assets/cesium/Workers/IntersectionTests-ac2459de.js +1 -0
- package/dist/assets/cesium/Workers/Matrix2-37e55508.js +1 -0
- package/dist/assets/cesium/Workers/OrientedBoundingBox-e9c07538.js +1 -0
- package/dist/assets/cesium/Workers/Plane-6ee42cab.js +1 -0
- package/dist/assets/cesium/Workers/PolygonGeometryLibrary-b408c688.js +1 -0
- package/dist/assets/cesium/Workers/PolygonPipeline-7b8e4643.js +1 -0
- package/dist/assets/cesium/Workers/PolylinePipeline-6757400c.js +1 -0
- package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-eb972210.js +1 -0
- package/dist/assets/cesium/Workers/PrimitivePipeline-f244975e.js +1 -0
- package/dist/assets/cesium/Workers/RectangleGeometryLibrary-1bd6152a.js +1 -0
- package/dist/assets/cesium/Workers/RuntimeError-8952249c.js +1 -0
- package/dist/assets/cesium/Workers/TerrainEncoding-5a21a97f.js +1 -0
- package/dist/assets/cesium/Workers/Transforms-eb5c1a84.js +39 -0
- package/dist/assets/cesium/Workers/VertexFormat-a0b706b0.js +1 -0
- package/dist/assets/cesium/Workers/WallGeometryLibrary-a6b6a368.js +1 -0
- package/dist/assets/cesium/Workers/WebGLConstants-508b9636.js +1 -0
- package/dist/assets/cesium/Workers/WebMercatorProjection-2839e524.js +1 -0
- package/dist/assets/cesium/Workers/_commonjsHelpers-3aae1032-26891ab7.js +1 -0
- package/dist/assets/cesium/Workers/_rollup_plugin_ignore_empty_module_placeholder-57d574d0.js +1 -0
- package/dist/assets/cesium/Workers/arrayRemoveDuplicates-dc2f4046.js +1 -0
- package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +6 -0
- package/dist/assets/cesium/Workers/combine-3c023bda.js +1 -0
- package/dist/assets/cesium/Workers/combineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createBoxGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createCircleGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createSphereGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +1 -0
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +1 -0
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +1 -0
- package/dist/assets/cesium/Workers/createVectorTilePoints.js +1 -0
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +1 -0
- package/dist/assets/cesium/Workers/createVectorTilePolylines.js +1 -0
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -0
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +3 -0
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -0
- package/dist/assets/cesium/Workers/createWallGeometry.js +1 -0
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +1 -0
- package/dist/assets/cesium/Workers/decodeDraco.js +1 -0
- package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +1 -0
- package/dist/assets/cesium/Workers/defaultValue-81eec7ed.js +1 -0
- package/dist/assets/cesium/Workers/transcodeKTX2.js +1 -0
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +1 -0
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +1 -0
- package/dist/assets/cesium.fba8ca.js +9118 -0
- package/dist/assets/cesium.js +1 -0
- package/dist/assets/core.d5ed0f.js +4 -0
- package/dist/assets/core.js +1 -0
- package/dist/assets/index.60dea538.css +1 -0
- package/dist/assets/index.6a83278e.js +1 -0
- package/dist/assets/ol.abea3a.js +318 -0
- package/dist/assets/ol.js +1 -0
- package/dist/assets/ui.ad1ec9.css +1 -0
- package/dist/assets/ui.ad1ec9.js +39 -0
- package/dist/assets/ui.js +1 -0
- package/dist/assets/uicomponents.161461.css +1 -0
- package/dist/assets/uicomponents.161461.js +31 -0
- package/dist/assets/uicomponents.js +1 -0
- package/dist/assets/vue-composition-api.7051d7.js +14 -0
- package/dist/assets/vue-composition-api.js +2 -0
- package/dist/assets/vue.9fd7f6.js +9 -0
- package/dist/assets/vue.js +1 -0
- package/dist/assets/vuetify.33dafc.css +5 -0
- package/dist/assets/vuetify.33dafc.js +48 -0
- package/dist/assets/vuetify.js +2 -0
- package/dist/index.html +26 -0
- package/index.js +18 -0
- package/lib/cesium.js +1 -0
- package/lib/core.js +1 -0
- package/lib/ol.js +1 -0
- package/lib/olLib.js +844 -0
- package/lib/ui.js +1 -0
- package/lib/uicomponents.js +1 -0
- package/lib/vue-composition-api.js +2 -0
- package/lib/vue.js +1 -0
- package/lib/vuetify.js +2 -0
- package/map.config.json +35 -0
- package/package.json +130 -0
- package/plugins/@vcmap/pluginExample/config.json +6 -0
- package/plugins/@vcmap/pluginExample/index.js +193 -0
- package/plugins/@vcmap/pluginExample/package.json +7 -0
- package/plugins/@vcmap/pluginExample/pluginExampleComponent.vue +374 -0
- package/plugins/@vcmap/pluginExample/validation.js +30 -0
- package/plugins/@vcmap/project-selector/ContextsListComponent.vue +62 -0
- package/plugins/@vcmap/project-selector/ProjectSelectorComponent.vue +81 -0
- package/plugins/@vcmap/project-selector/README.md +29 -0
- package/plugins/@vcmap/project-selector/config.json +15 -0
- package/plugins/@vcmap/project-selector/index.js +254 -0
- package/plugins/@vcmap/project-selector/package.json +15 -0
- package/plugins/@vcmap/theme-changer/README.md +21 -0
- package/plugins/@vcmap/theme-changer/ThemeChangerComponent.vue +92 -0
- package/plugins/@vcmap/theme-changer/config.json +69 -0
- package/plugins/@vcmap/theme-changer/index.js +102 -0
- package/plugins/@vcmap/theme-changer/package.json +12 -0
- package/plugins/buttonExamples/ButtonExamples.vue +190 -0
- package/plugins/buttonExamples/index.js +40 -0
- package/plugins/categoryTest/Categories.vue +145 -0
- package/plugins/categoryTest/Category.vue +114 -0
- package/plugins/categoryTest/ItemEditor.vue +13 -0
- package/plugins/categoryTest/index.js +41 -0
- package/plugins/example/index.js +56 -0
- package/plugins/example/mySuperComponent.vue +127 -0
- package/plugins/package.json +5 -0
- package/plugins/test/editor.vue +63 -0
- package/plugins/test/index.js +93 -0
- package/plugins/test/myCustomHeader.vue +19 -0
- package/plugins/test/toolbox-data.js +49 -0
- package/plugins/test/vcsContent.vue +23 -0
- package/plugins/test/windowManagerExample.vue +144 -0
- package/src/actions/actionHelper.js +221 -0
- package/src/actions/stateRefAction.js +50 -0
- package/src/actions/styleSelector.vue +90 -0
- package/src/application/Navbar.vue +89 -0
- package/src/application/VcsApp.vue +147 -0
- package/src/application/VcsMap.vue +57 -0
- package/src/application/empty-cmp.vue +6 -0
- package/src/assets/logo.svg +26 -0
- package/src/contentTree/LayerTree.vue +40 -0
- package/src/contentTree/contentTreeCollection.js +311 -0
- package/src/contentTree/contentTreeItem.js +457 -0
- package/src/contentTree/groupContentTreeItem.js +67 -0
- package/src/contentTree/layerContentTreeItem.js +233 -0
- package/src/contentTree/layerGroupContentTreeItem.js +154 -0
- package/src/contentTree/nodeContentTreeItem.js +37 -0
- package/src/contentTree/obliqueCollectionContentTreeItem.js +155 -0
- package/src/contentTree/subContentTreeItem.js +42 -0
- package/src/contentTree/vcsObjectContentTreeItem.js +98 -0
- package/src/contentTree/viewPointContentTreeItem.js +107 -0
- package/src/init.js +36 -0
- package/src/lang/de.js +60 -0
- package/src/lang/en.js +53 -0
- package/src/manager/buttonManager.js +203 -0
- package/src/manager/toolbox/ToolboxManager.vue +114 -0
- package/src/manager/toolbox/ToolboxMultiSelectButton.vue +96 -0
- package/src/manager/toolbox/ToolboxSingleSelectButton.vue +98 -0
- package/src/manager/toolbox/toolbox-manager.js +203 -0
- package/src/manager/window/WindowComponent.vue +133 -0
- package/src/manager/window/WindowComponentHeader.vue +46 -0
- package/src/manager/window/WindowManager.vue +109 -0
- package/src/manager/window/windowManager.js +437 -0
- package/src/navigation/mapNavCompass.vue +161 -0
- package/src/navigation/mapNavigation.vue +176 -0
- package/src/navigation/obliqueRotation.vue +48 -0
- package/src/navigation/orientationToolsButton.vue +52 -0
- package/src/navigation/tiltSlider.vue +96 -0
- package/src/navigation/vcsCompass.vue +144 -0
- package/src/navigation/vcsZoomButton.vue +27 -0
- package/src/pluginHelper.js +106 -0
- package/src/setup.js +10 -0
- package/src/styles/_theming.scss +15 -0
- package/src/styles/_typography.scss +42 -0
- package/src/styles/main.scss +9 -0
- package/src/styles/utils/_all.scss +12 -0
- package/src/styles/utils/_border.scss +7 -0
- package/src/styles/utils/_cursor.scss +15 -0
- package/src/styles/utils/_display.scss +3 -0
- package/src/styles/utils/_fade-in.scss +8 -0
- package/src/styles/utils/_position.scss +38 -0
- package/src/styles/utils/_size.scss +79 -0
- package/src/styles/utils/_slide-in.scss +26 -0
- package/src/styles/utils/_spacing.scss +11 -0
- package/src/styles/utils/_text.scss +30 -0
- package/src/styles/utils/_transform.scss +11 -0
- package/src/styles/utils/_transition.scss +11 -0
- package/src/styles/utils/_z-index.scss +15 -0
- package/src/vcsUiApp.js +223 -0
- package/src/vuePlugins/i18n.js +20 -0
- package/src/vuePlugins/vuetify.js +54 -0
- package/start.js +3 -0
@@ -0,0 +1,196 @@
|
|
1
|
+
import fs from 'fs';
|
2
|
+
import path from 'path';
|
3
|
+
import { spawn } from 'child_process';
|
4
|
+
|
5
|
+
const isWindows = process.platform.indexOf('win') === 0;
|
6
|
+
const sourceDir = path.join('node_modules', 'ol', 'src');
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Parse the JSDoc output.
|
10
|
+
* @param {string} output JSDoc output
|
11
|
+
* @returns {Object} Symbol and define info.
|
12
|
+
*/
|
13
|
+
function parseOutput(output) {
|
14
|
+
if (!output) {
|
15
|
+
throw new Error('Expected JSON output');
|
16
|
+
}
|
17
|
+
|
18
|
+
let info;
|
19
|
+
try {
|
20
|
+
info = JSON.parse(String(output));
|
21
|
+
} catch (err) {
|
22
|
+
throw new Error(`Failed to parse output as JSON: ${ output}`);
|
23
|
+
}
|
24
|
+
if (!Array.isArray(info.symbols)) {
|
25
|
+
throw new Error(`Expected symbols array: ${ output}`);
|
26
|
+
}
|
27
|
+
if (!Array.isArray(info.defines)) {
|
28
|
+
throw new Error(`Expected defines array: ${ output}`);
|
29
|
+
}
|
30
|
+
|
31
|
+
return info;
|
32
|
+
}
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Get checked path of a binary.
|
36
|
+
* @param {string} binaryName Binary name of the binary path to find.
|
37
|
+
* @returns {string} Path.
|
38
|
+
*/
|
39
|
+
function getBinaryPath(binaryName) {
|
40
|
+
const binary = isWindows ? `${binaryName}.cmd` : binaryName;
|
41
|
+
|
42
|
+
const expectedPaths = [
|
43
|
+
path.join('node_modules', '.bin', binary),
|
44
|
+
path.resolve(
|
45
|
+
path.join('node_modules', 'jsdoc', '.bin', binary),
|
46
|
+
),
|
47
|
+
];
|
48
|
+
|
49
|
+
for (let i = 0; i < expectedPaths.length; i++) {
|
50
|
+
const expectedPath = expectedPaths[i];
|
51
|
+
if (fs.existsSync(expectedPath)) {
|
52
|
+
return expectedPath;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
throw Error(
|
57
|
+
`JsDoc binary was not found in any of the expected paths: ${ expectedPaths}`,
|
58
|
+
);
|
59
|
+
}
|
60
|
+
|
61
|
+
/**
|
62
|
+
* Spawn JSDoc.
|
63
|
+
* @returns {Promise<Object>} Resolves with the JSDoc output (new metadata).
|
64
|
+
* If provided with an empty list of paths, resolves with null.
|
65
|
+
*/
|
66
|
+
function spawnJSDoc() {
|
67
|
+
const jsdocConfig = path.join(
|
68
|
+
'build',
|
69
|
+
'info',
|
70
|
+
'conf.json',
|
71
|
+
);
|
72
|
+
|
73
|
+
return new Promise((resolve, reject) => {
|
74
|
+
let output = '';
|
75
|
+
let errors = '';
|
76
|
+
const child = spawn(getBinaryPath('jsdoc'), ['-c', jsdocConfig, sourceDir]);
|
77
|
+
|
78
|
+
child.stdout.on('data', (data) => {
|
79
|
+
output += String(data);
|
80
|
+
});
|
81
|
+
|
82
|
+
child.stderr.on('data', (data) => {
|
83
|
+
errors += String(data);
|
84
|
+
});
|
85
|
+
|
86
|
+
child.on('exit', (code) => {
|
87
|
+
if (code) {
|
88
|
+
reject(new Error(errors || 'JSDoc failed with no output'));
|
89
|
+
return;
|
90
|
+
}
|
91
|
+
|
92
|
+
let info;
|
93
|
+
try {
|
94
|
+
info = parseOutput(output);
|
95
|
+
} catch (err) {
|
96
|
+
reject(err);
|
97
|
+
return;
|
98
|
+
}
|
99
|
+
resolve(info);
|
100
|
+
});
|
101
|
+
});
|
102
|
+
}
|
103
|
+
|
104
|
+
/**
|
105
|
+
* Read the symbols from info file.
|
106
|
+
* @returns {Promise<Array>} Resolves with an array of symbol objects.
|
107
|
+
*/
|
108
|
+
async function getSymbols() {
|
109
|
+
const info = await spawnJSDoc();
|
110
|
+
return info.symbols.filter(
|
111
|
+
symbol => symbol.kind !== 'member' || symbol.exports,
|
112
|
+
);
|
113
|
+
}
|
114
|
+
|
115
|
+
const exported = new Set();
|
116
|
+
|
117
|
+
/**
|
118
|
+
* Generate an import statement.
|
119
|
+
* @param {Object} symbol Symbol.
|
120
|
+
* @param {string} member Member.
|
121
|
+
* @returns {string|null} An import statement.
|
122
|
+
*/
|
123
|
+
function getImport(symbol, member) {
|
124
|
+
const defaultExport = symbol.name.split('~');
|
125
|
+
const namedExport = symbol.name.split('.');
|
126
|
+
let importName;
|
127
|
+
let exportName;
|
128
|
+
let from;
|
129
|
+
|
130
|
+
if (defaultExport.length > 1 || symbol.exports === 'default') {
|
131
|
+
from = defaultExport[0].replace(/^module:/, '');
|
132
|
+
importName = 'default';
|
133
|
+
exportName = from.replace(/[./]+/g, '$');
|
134
|
+
} else if (namedExport.length > 1 && (member || (symbol.exports && symbol.exports !== 'default'))) {
|
135
|
+
from = namedExport[0].replace(/^module:/, '');
|
136
|
+
importName = member || symbol.exports;
|
137
|
+
exportName = `${from.replace(/[./]+/g, '$')}$${importName}`;
|
138
|
+
}
|
139
|
+
if (exportName && !exported.has(exportName)) {
|
140
|
+
exported.add(exportName);
|
141
|
+
return `export {${importName} as ${exportName}} from '${from}';`;
|
142
|
+
}
|
143
|
+
return null;
|
144
|
+
}
|
145
|
+
|
146
|
+
/**
|
147
|
+
* Generate code to export a named symbol.
|
148
|
+
* @param {Object} symbol Symbol.
|
149
|
+
* @param {Object<string, string>} namespaces Already defined namespaces.
|
150
|
+
* @param {Object} imports Imports.
|
151
|
+
*/
|
152
|
+
function formatSymbolExport(symbol, namespaces, imports) {
|
153
|
+
const { name } = symbol;
|
154
|
+
const parts = name.split('~');
|
155
|
+
const nsParts = parts[0].replace(/^module:/, '').split(/[/.]/);
|
156
|
+
const imp = getImport(symbol, nsParts.pop());
|
157
|
+
if (imp) {
|
158
|
+
imports[imp] = true;
|
159
|
+
}
|
160
|
+
}
|
161
|
+
|
162
|
+
/**
|
163
|
+
* Generate export code given a list symbol names.
|
164
|
+
* @param {Array<Object>} symbols List of symbols.
|
165
|
+
* @returns {string} Export code.
|
166
|
+
*/
|
167
|
+
function generateExports(symbols) {
|
168
|
+
const namespaces = {};
|
169
|
+
const imports = [];
|
170
|
+
symbols.forEach((symbol) => {
|
171
|
+
const { name } = symbol;
|
172
|
+
if (name.indexOf('#') === -1) {
|
173
|
+
const imp = getImport(symbol);
|
174
|
+
if (imp) {
|
175
|
+
imports[imp] = true;
|
176
|
+
}
|
177
|
+
formatSymbolExport(symbol, namespaces, imports);
|
178
|
+
}
|
179
|
+
});
|
180
|
+
const source = Object.keys(imports)
|
181
|
+
.map(line => line.replace('from \'ol/', 'from \'ol/src/'))
|
182
|
+
.map(line => line.replace('from \'ol\'', 'from \'ol/src/index.js\''))
|
183
|
+
.join('\n');
|
184
|
+
return `${source}\nexport * from 'ol/src/index.js';\n`;
|
185
|
+
}
|
186
|
+
|
187
|
+
/**
|
188
|
+
* Generate the exports code.
|
189
|
+
* @returns {Promise<string>} Resolves with the exports code.
|
190
|
+
*/
|
191
|
+
export default async function main() {
|
192
|
+
const symbols = await getSymbols();
|
193
|
+
const code = generateExports(symbols);
|
194
|
+
const filepath = path.join('lib', 'olLib.js');
|
195
|
+
await fs.promises.writeFile(filepath, `/* eslint-disable */\n${code}`);
|
196
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
/* eslint import/no-extraneous-dependencies: ["error", { "devDependencies": false }] */
|
2
|
+
import path from 'path';
|
3
|
+
import { getPluginDirectory, getPluginNames } from './buildHelpers.js';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Determines the proxy setting to serve plugins referrenced in the package.json in the plugins directory
|
7
|
+
* @param {string} [target=http://localhost:8080]
|
8
|
+
* @param {boolean} [production=false]
|
9
|
+
* @returns {Promise<Record<string, string | import("vite").ProxyOptions>>}
|
10
|
+
*/
|
11
|
+
export default async function getPluginProxies(target = 'http://localhost:8080', production = false) {
|
12
|
+
const root = process.cwd();
|
13
|
+
const pluginsDir = getPluginDirectory();
|
14
|
+
const plugins = await getPluginNames();
|
15
|
+
const proxies = {};
|
16
|
+
|
17
|
+
plugins.forEach((plugin) => {
|
18
|
+
proxies[`^/plugins/${plugin}/.*`] = {
|
19
|
+
target,
|
20
|
+
rewrite: (route) => {
|
21
|
+
const rest = route.replace(new RegExp(`^/plugins/${plugin}/`), '');
|
22
|
+
const file = rest || 'index.js';
|
23
|
+
return path.posix.join(path.relative(root, pluginsDir), 'node_modules', plugin, production ? 'dist' : 'src', file);
|
24
|
+
},
|
25
|
+
};
|
26
|
+
});
|
27
|
+
|
28
|
+
return proxies;
|
29
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
{
|
2
|
+
"opts": {
|
3
|
+
"recurse": true,
|
4
|
+
"template": "build/info"
|
5
|
+
},
|
6
|
+
"tags": {
|
7
|
+
"allowUnknownTags": true
|
8
|
+
},
|
9
|
+
"source": {
|
10
|
+
"includePattern": "\\.js$"
|
11
|
+
},
|
12
|
+
"plugins": [
|
13
|
+
"jsdoc-plugin-typescript",
|
14
|
+
"build/info/api-plugin",
|
15
|
+
"build/info/define-plugin",
|
16
|
+
"build/info/virtual-plugin"
|
17
|
+
],
|
18
|
+
"typescript": {
|
19
|
+
"moduleRoot": "node_modules/ol/src"
|
20
|
+
}
|
21
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
/**
|
2
|
+
* @file This plugin extracts info from boolean defines. This only
|
3
|
+
* handles boolean defines with the default value in the description. Default
|
4
|
+
* is assumed to be provided with something like "default is `true`" (case
|
5
|
+
* insensitive, with or without ticks).
|
6
|
+
*/
|
7
|
+
|
8
|
+
const DEFAULT_VALUE = /default\s+is\s+`?(true|false)`?/i;
|
9
|
+
|
10
|
+
/**
|
11
|
+
* Hook to define new tags.
|
12
|
+
* @param {Object} dictionary The tag dictionary.
|
13
|
+
*/
|
14
|
+
exports.defineTags = function defineTags(dictionary) {
|
15
|
+
dictionary.defineTag('define', {
|
16
|
+
canHaveType: true,
|
17
|
+
mustHaveValue: true,
|
18
|
+
onTagged(doclet, tag) {
|
19
|
+
const types = tag.value.type.names;
|
20
|
+
if (types.length === 1 && types[0] === 'boolean') {
|
21
|
+
const match = tag.value.description.match(DEFAULT_VALUE);
|
22
|
+
if (match) {
|
23
|
+
doclet.define = {
|
24
|
+
default: match[1] === 'true',
|
25
|
+
};
|
26
|
+
doclet.description = tag.value.description;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
},
|
30
|
+
});
|
31
|
+
};
|
@@ -0,0 +1,190 @@
|
|
1
|
+
/**
|
2
|
+
* @file Generates JSON output based on exportable symbols.
|
3
|
+
*/
|
4
|
+
const assert = require('assert');
|
5
|
+
const path = require('path');
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Publish hook for the JSDoc template. Writes to JSON stdout.
|
9
|
+
* @param {Function} data The root of the Taffy DB containing doclet records.
|
10
|
+
* @returns {Promise} A promise that resolves when writing is complete.
|
11
|
+
*/
|
12
|
+
exports.publish = function publish(data) {
|
13
|
+
function getTypes(typeData) {
|
14
|
+
const types = [];
|
15
|
+
typeData.forEach((name) => {
|
16
|
+
types.push(name.replace(/^function$/, 'Function'));
|
17
|
+
});
|
18
|
+
return types;
|
19
|
+
}
|
20
|
+
|
21
|
+
// get all doclets that have exports
|
22
|
+
const classes = {};
|
23
|
+
const docs = data(
|
24
|
+
[
|
25
|
+
{ define: { isObject: true } },
|
26
|
+
function someKindOfExportsTransformer() {
|
27
|
+
if (this?.meta?.code?.name) {
|
28
|
+
if (this.meta.code.name === 'module.exports') {
|
29
|
+
this.exports = 'default';
|
30
|
+
} else if (this.meta.code.name.startsWith('exports.')) {
|
31
|
+
this.exports = this.meta.code.name.replace(/exports./, '');
|
32
|
+
}
|
33
|
+
}
|
34
|
+
if (this.kind === 'class') {
|
35
|
+
if (!('extends' in this) || typeof this.api === 'boolean' || this.exports) {
|
36
|
+
classes[this.longname] = this;
|
37
|
+
return true;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
return (
|
41
|
+
typeof this.api === 'boolean' ||
|
42
|
+
this.exports ||
|
43
|
+
(this.meta && /[\\/]externs$/.test(this.meta.path))
|
44
|
+
);
|
45
|
+
},
|
46
|
+
],
|
47
|
+
{ kind: { '!is': 'file' } },
|
48
|
+
{ kind: { '!is': 'event' } },
|
49
|
+
).get();
|
50
|
+
|
51
|
+
// get symbols data, filter out those that are members of private classes
|
52
|
+
const symbols = [];
|
53
|
+
const defines = [];
|
54
|
+
const typedefs = [];
|
55
|
+
const externs = [];
|
56
|
+
let base = [];
|
57
|
+
const augments = {};
|
58
|
+
const symbolsByName = {};
|
59
|
+
docs
|
60
|
+
.filter((doc) => {
|
61
|
+
let include = true;
|
62
|
+
const constructor = doc.memberof;
|
63
|
+
if (
|
64
|
+
constructor &&
|
65
|
+
constructor.substr(-1) === '_' &&
|
66
|
+
constructor.indexOf('module:') === -1
|
67
|
+
) {
|
68
|
+
assert.strictEqual(
|
69
|
+
doc.inherited,
|
70
|
+
true,
|
71
|
+
`Unexpected export on private class: ${ doc.longname}`,
|
72
|
+
);
|
73
|
+
include = false;
|
74
|
+
}
|
75
|
+
return include;
|
76
|
+
})
|
77
|
+
.forEach((doc) => {
|
78
|
+
const isExterns = /[\\/]externs$/.test(doc.meta.path);
|
79
|
+
if (doc.define) {
|
80
|
+
defines.push({
|
81
|
+
name: doc.longname,
|
82
|
+
description: doc.description,
|
83
|
+
path: path.join(doc.meta.path, doc.meta.filename),
|
84
|
+
default: doc.define.default,
|
85
|
+
});
|
86
|
+
} else if (doc.kind === 'typedef' || (doc.isEnum === true && !doc.exports)) {
|
87
|
+
typedefs.push({
|
88
|
+
name: doc.longname,
|
89
|
+
types: getTypes(doc.type.names),
|
90
|
+
});
|
91
|
+
} else {
|
92
|
+
const symbol = {
|
93
|
+
exports: doc.exports,
|
94
|
+
name: doc.longname,
|
95
|
+
kind: doc.kind,
|
96
|
+
description: doc.classdesc || doc.description,
|
97
|
+
path: path.join(doc.meta.path, doc.meta.filename),
|
98
|
+
};
|
99
|
+
if (doc.augments) {
|
100
|
+
symbol.extends = doc.augments[0];
|
101
|
+
}
|
102
|
+
if (doc.virtual) {
|
103
|
+
symbol.virtual = true;
|
104
|
+
}
|
105
|
+
if (doc.type) {
|
106
|
+
symbol.types = getTypes(doc.type.names);
|
107
|
+
}
|
108
|
+
if (doc.params) {
|
109
|
+
const params = [];
|
110
|
+
doc.params.forEach((param) => {
|
111
|
+
const paramInfo = {
|
112
|
+
name: param.name,
|
113
|
+
};
|
114
|
+
params.push(paramInfo);
|
115
|
+
paramInfo.types = getTypes(param.type.names);
|
116
|
+
if (typeof param.variable === 'boolean') {
|
117
|
+
paramInfo.variable = param.variable;
|
118
|
+
}
|
119
|
+
if (typeof param.optional === 'boolean') {
|
120
|
+
paramInfo.optional = param.optional;
|
121
|
+
}
|
122
|
+
if (typeof param.nullable === 'boolean') {
|
123
|
+
paramInfo.nullable = param.nullable;
|
124
|
+
}
|
125
|
+
});
|
126
|
+
symbol.params = params;
|
127
|
+
}
|
128
|
+
if (doc.returns) {
|
129
|
+
symbol.returns = {
|
130
|
+
types: getTypes(doc.returns[0].type.names),
|
131
|
+
};
|
132
|
+
if (typeof doc.returns[0].nullable === 'boolean') {
|
133
|
+
symbol.returns.nullable = doc.returns[0].nullable;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
if (doc.tags) {
|
137
|
+
doc.tags.every((tag) => {
|
138
|
+
if (tag.title === 'template') {
|
139
|
+
symbol.template = tag.value;
|
140
|
+
return false;
|
141
|
+
}
|
142
|
+
return true;
|
143
|
+
});
|
144
|
+
}
|
145
|
+
|
146
|
+
// eslint-disable-next-line no-nested-ternary
|
147
|
+
const target = isExterns ? externs : (doc.api || doc.exports) ? symbols : base;
|
148
|
+
const existingSymbol = symbolsByName[symbol.name];
|
149
|
+
if (existingSymbol) {
|
150
|
+
const idx = target.indexOf(existingSymbol);
|
151
|
+
target.splice(idx, 1);
|
152
|
+
}
|
153
|
+
target.push(symbol);
|
154
|
+
symbolsByName[symbol.name] = symbol;
|
155
|
+
|
156
|
+
if (doc.api && symbol.extends) {
|
157
|
+
while (
|
158
|
+
symbol.extends in classes &&
|
159
|
+
!classes[symbol.extends].api &&
|
160
|
+
classes[symbol.extends].augments
|
161
|
+
) {
|
162
|
+
symbol.extends = classes[symbol.extends].augments[0];
|
163
|
+
}
|
164
|
+
if (symbol.extends) {
|
165
|
+
augments[symbol.extends] = true;
|
166
|
+
}
|
167
|
+
}
|
168
|
+
}
|
169
|
+
});
|
170
|
+
|
171
|
+
base = base.filter((symbol) => {
|
172
|
+
return symbol.name in augments || symbol.virtual;
|
173
|
+
});
|
174
|
+
|
175
|
+
return new Promise(() => {
|
176
|
+
process.stdout.write(
|
177
|
+
JSON.stringify(
|
178
|
+
{
|
179
|
+
symbols,
|
180
|
+
defines,
|
181
|
+
typedefs,
|
182
|
+
externs,
|
183
|
+
base,
|
184
|
+
},
|
185
|
+
null,
|
186
|
+
2,
|
187
|
+
),
|
188
|
+
);
|
189
|
+
});
|
190
|
+
};
|
@@ -0,0 +1,15 @@
|
|
1
|
+
/**
|
2
|
+
* Handle the interface and abstract annotations.
|
3
|
+
* @param {Object} dictionary The tag dictionary.
|
4
|
+
*/
|
5
|
+
exports.defineTags = function defineTags(dictionary) {
|
6
|
+
const classTag = dictionary.lookUp('class');
|
7
|
+
dictionary.defineTag('interface', {
|
8
|
+
mustNotHaveValue: true,
|
9
|
+
onTagged(doclet) {
|
10
|
+
// eslint-disable-next-line prefer-rest-params
|
11
|
+
classTag.onTagged.apply(this, arguments);
|
12
|
+
doclet.virtual = true;
|
13
|
+
},
|
14
|
+
});
|
15
|
+
};
|