public TSProperties lookupTSProperties(ClassTemplateSpec templateSpec) { DataSchema schema = templateSpec.getSchema(); if (templateSpec instanceof UnionTemplateSpec && templateSpec.getOriginalTyperefSchema() != null) { schema = templateSpec.getOriginalTyperefSchema(); } if (schema == null) { return defaults; } else { Object typescript = schema.getProperties().get("typescript"); if (typescript == null || !(typescript instanceof DataMap)) { return defaults; } DataMap properties = ((DataMap) typescript); String optionalityString = properties.getString("optionality"); TSProperties.Optionality optionality = optionalityString == null ? defaults.optionality : TSProperties.Optionality.valueOf(optionalityString); Boolean maybeEquatable = properties.getBoolean("equatable"); boolean equatable = maybeEquatable == null ? defaults.equatable : maybeEquatable; Boolean maybeOmit = properties.getBoolean("omit"); boolean omit = maybeOmit == null ? defaults.omit : maybeOmit; return new TSProperties(optionality, equatable, omit); } } }
public SwiftProperties lookupSwiftProperties(ClassTemplateSpec templateSpec) { DataSchema schema = templateSpec.getSchema(); if (templateSpec instanceof UnionTemplateSpec && templateSpec.getOriginalTyperefSchema() != null) { schema = templateSpec.getOriginalTyperefSchema(); } if (schema == null) { return defaults; } else { Object swift = schema.getProperties().get("swift"); if (swift == null || !(swift instanceof DataMap)) { return defaults; } DataMap properties = ((DataMap) swift); String optionalityString = properties.getString("optionality"); SwiftProperties.Optionality optionality = optionalityString == null ? defaults.optionality : SwiftProperties.Optionality.valueOf(optionalityString); Boolean maybeEquatable = properties.getBoolean("equatable"); boolean equatable = maybeEquatable == null ? defaults.equatable : maybeEquatable; Boolean maybeOmit = properties.getBoolean("omit"); boolean omit = maybeOmit == null ? defaults.omit : maybeOmit; return new SwiftProperties(optionality, equatable, omit); } } }