UNPKG

@seasketch/geoprocessing

Version:

Geoprocessing and reporting framework for SeaSketch 2.0

27 lines (24 loc) 832 B
import { SketchProperties, UserAttribute } from "../types/index.js"; import { useContext } from "react"; import { ReportContext } from "../context/index.js"; function useSketchProperties(): [ SketchProperties, (exportId: string, defaultValue?: any) => any, ] { const context = useContext(ReportContext); if (!context) { throw new Error("ReportContext could not be found."); } context.sketchProperties.userAttributes = context.sketchProperties.userAttributes || ([] as UserAttribute[]); return [ context.sketchProperties, (exportId: string, defaultValue?: any): any => { const userAttribute = context.sketchProperties.userAttributes.find( (attr) => attr.exportId === exportId, ); return userAttribute?.value || defaultValue; }, ]; } export default useSketchProperties;