decode static method

LineLayer decode(
  1. String properties
)

Implementation

static LineLayer decode(String properties) {
  var map = json.decode(properties);
  if (map["layout"] == null) {
    map["layout"] = {};
  }
  if (map["paint"] == null) {
    map["paint"] = {};
  }
  return LineLayer(
    id: map["id"],
    sourceId: map["source"],
    sourceLayer: map["source-layer"],
    minZoom: map["minzoom"]?.toDouble(),
    maxZoom: map["maxzoom"]?.toDouble(),
    slot: map["slot"],
    visibility: map["layout"]["visibility"] == null
        ? Visibility.VISIBLE
        : Visibility.values.firstWhere(
            (e) => e.name
                .toLowerCase()
                .replaceAll("_", "-")
                .contains(map["layout"]["visibility"]),
          ),
    visibilityExpression: styleOptionalCastList(map["layout"]["visibility"]),
    filter: styleOptionalCastList(map["filter"]),
    lineCap: map["layout"]["line-cap"] == null
        ? null
        : LineCap.values.firstWhere(
            (e) => e.name
                .toLowerCase()
                .replaceAll("_", "-")
                .contains(map["layout"]["line-cap"]),
          ),
    lineCapExpression: styleOptionalCastList(map["layout"]["line-cap"]),
    lineCrossSlope: styleOptionalCast(map["layout"]["line-cross-slope"]),
    lineCrossSlopeExpression: styleOptionalCastList(
      map["layout"]["line-cross-slope"],
    ),
    lineElevationGroundScale: styleOptionalCast(
      map["layout"]["line-elevation-ground-scale"],
    ),
    lineElevationGroundScaleExpression: styleOptionalCastList(
      map["layout"]["line-elevation-ground-scale"],
    ),
    lineElevationReference: map["layout"]["line-elevation-reference"] == null
        ? null
        : LineElevationReference.values.firstWhere(
            (e) => e.name
                .toLowerCase()
                .replaceAll("_", "-")
                .contains(map["layout"]["line-elevation-reference"]),
          ),
    lineElevationReferenceExpression: styleOptionalCastList(
      map["layout"]["line-elevation-reference"],
    ),
    lineJoin: map["layout"]["line-join"] == null
        ? null
        : LineJoin.values.firstWhere(
            (e) => e.name
                .toLowerCase()
                .replaceAll("_", "-")
                .contains(map["layout"]["line-join"]),
          ),
    lineJoinExpression: styleOptionalCastList(map["layout"]["line-join"]),
    lineMiterLimit: styleOptionalCast(map["layout"]["line-miter-limit"]),
    lineMiterLimitExpression: styleOptionalCastList(
      map["layout"]["line-miter-limit"],
    ),
    lineRoundLimit: styleOptionalCast(map["layout"]["line-round-limit"]),
    lineRoundLimitExpression: styleOptionalCastList(
      map["layout"]["line-round-limit"],
    ),
    lineSortKey: styleOptionalCast(map["layout"]["line-sort-key"]),
    lineSortKeyExpression: styleOptionalCastList(
      map["layout"]["line-sort-key"],
    ),
    lineWidthUnit: map["layout"]["line-width-unit"] == null
        ? null
        : LineWidthUnit.values.firstWhere(
            (e) => e.name
                .toLowerCase()
                .replaceAll("_", "-")
                .contains(map["layout"]["line-width-unit"]),
          ),
    lineWidthUnitExpression: styleOptionalCastList(
      map["layout"]["line-width-unit"],
    ),
    lineZOffset: styleOptionalCast(map["layout"]["line-z-offset"]),
    lineZOffsetExpression: styleOptionalCastList(
      map["layout"]["line-z-offset"],
    ),
    lineBlur: styleOptionalCast(map["paint"]["line-blur"]),
    lineBlurExpression: styleOptionalCastList(map["paint"]["line-blur"]),
    lineBorderColor: (map["paint"]["line-border-color"] as List?)
        ?.toRGBAInt(),
    lineBorderColorExpression: styleOptionalCastList(
      map["paint"]["line-border-color"],
    ),
    lineBorderGradient: (map["paint"]["line-border-gradient"] as List?)
        ?.toRGBAInt(),
    lineBorderGradientExpression: styleOptionalCastList(
      map["paint"]["line-border-gradient"],
    ),
    lineBorderWidth: styleOptionalCast(map["paint"]["line-border-width"]),
    lineBorderWidthExpression: styleOptionalCastList(
      map["paint"]["line-border-width"],
    ),
    lineColor: (map["paint"]["line-color"] as List?)?.toRGBAInt(),
    lineColorExpression: styleOptionalCastList(map["paint"]["line-color"]),
    lineCutoutFadeWidth: styleOptionalCast(
      map["paint"]["line-cutout-fade-width"],
    ),
    lineCutoutFadeWidthExpression: styleOptionalCastList(
      map["paint"]["line-cutout-fade-width"],
    ),
    lineCutoutOpacity: styleOptionalCast(map["paint"]["line-cutout-opacity"]),
    lineCutoutOpacityExpression: styleOptionalCastList(
      map["paint"]["line-cutout-opacity"],
    ),
    lineDasharray: (map["paint"]["line-dasharray"] as List?)
        ?.map<double?>((e) => e.toDouble())
        .toList(),
    lineDasharrayExpression: styleOptionalCastList(
      map["paint"]["line-dasharray"],
    ),
    lineDepthOcclusionFactor: styleOptionalCast(
      map["paint"]["line-depth-occlusion-factor"],
    ),
    lineDepthOcclusionFactorExpression: styleOptionalCastList(
      map["paint"]["line-depth-occlusion-factor"],
    ),
    lineEmissiveStrength: styleOptionalCast(
      map["paint"]["line-emissive-strength"],
    ),
    lineEmissiveStrengthExpression: styleOptionalCastList(
      map["paint"]["line-emissive-strength"],
    ),
    lineGapWidth: styleOptionalCast(map["paint"]["line-gap-width"]),
    lineGapWidthExpression: styleOptionalCastList(
      map["paint"]["line-gap-width"],
    ),
    lineGradient: (map["paint"]["line-gradient"] as List?)?.toRGBAInt(),
    lineGradientExpression: styleOptionalCastList(
      map["paint"]["line-gradient"],
    ),
    lineOcclusionOpacity: styleOptionalCast(
      map["paint"]["line-occlusion-opacity"],
    ),
    lineOcclusionOpacityExpression: styleOptionalCastList(
      map["paint"]["line-occlusion-opacity"],
    ),
    lineOffset: styleOptionalCast(map["paint"]["line-offset"]),
    lineOffsetExpression: styleOptionalCastList(map["paint"]["line-offset"]),
    lineOpacity: styleOptionalCast(map["paint"]["line-opacity"]),
    lineOpacityExpression: styleOptionalCastList(
      map["paint"]["line-opacity"],
    ),
    linePattern: styleOptionalCast(map["paint"]["line-pattern"]),
    linePatternExpression: styleOptionalCastList(
      map["paint"]["line-pattern"],
    ),
    linePatternCrossFade: styleOptionalCast(
      map["paint"]["line-pattern-cross-fade"],
    ),
    linePatternCrossFadeExpression: styleOptionalCastList(
      map["paint"]["line-pattern-cross-fade"],
    ),
    lineTranslate: (map["paint"]["line-translate"] as List?)
        ?.map<double?>((e) => e.toDouble())
        .toList(),
    lineTranslateExpression: styleOptionalCastList(
      map["paint"]["line-translate"],
    ),
    lineTranslateAnchor: map["paint"]["line-translate-anchor"] == null
        ? null
        : LineTranslateAnchor.values.firstWhere(
            (e) => e.name
                .toLowerCase()
                .replaceAll("_", "-")
                .contains(map["paint"]["line-translate-anchor"]),
          ),
    lineTranslateAnchorExpression: styleOptionalCastList(
      map["paint"]["line-translate-anchor"],
    ),
    lineTrimColor: (map["paint"]["line-trim-color"] as List?)?.toRGBAInt(),
    lineTrimColorExpression: styleOptionalCastList(
      map["paint"]["line-trim-color"],
    ),
    lineTrimFadeRange: (map["paint"]["line-trim-fade-range"] as List?)
        ?.map<double?>((e) => e.toDouble())
        .toList(),
    lineTrimFadeRangeExpression: styleOptionalCastList(
      map["paint"]["line-trim-fade-range"],
    ),
    lineTrimOffset: (map["paint"]["line-trim-offset"] as List?)
        ?.map<double?>((e) => e.toDouble())
        .toList(),
    lineTrimOffsetExpression: styleOptionalCastList(
      map["paint"]["line-trim-offset"],
    ),
    lineWidth: styleOptionalCast(map["paint"]["line-width"]),
    lineWidthExpression: styleOptionalCastList(map["paint"]["line-width"]),
  );
}