+{"primaryContentSections":[{"kind":"declarations","declarations":[{"tokens":[{"kind":"attribute","text":"@attached"},{"kind":"text","text":"(member, names: arbitrary) "},{"kind":"keyword","text":"macro"},{"kind":"text","text":" "},{"kind":"identifier","text":"ExtractCaseValue"},{"kind":"text","text":"<"},{"kind":"genericParameter","text":"T"},{"kind":"text","text":">("},{"kind":"externalParam","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"kind"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"CaseExtractionKind","preciseIdentifier":"s:22ExtractCaseValueMacros0B14ExtractionKindO"},{"kind":"text","text":" = .default, "},{"kind":"externalParam","text":"defaultValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"T"},{"kind":"text","text":") -> ()"}],"languages":["swift"],"platforms":["macOS"]}]},{"kind":"content","content":[{"anchor":"overview","level":2,"type":"heading","text":"Overview"},{"type":"paragraph","inlineContent":[{"type":"text","text":"For example"}]},{"type":"codeListing","syntax":"swift","code":["@ExtractCaseValue<String>(name: \"path\", kind: CaseExtractionKind.position(0), defaultValue: \"\")","enum Path {"," case relative(String)"," case absolute(String)"," case root","}"]},{"type":"paragraph","inlineContent":[{"type":"text","text":"produces"}]},{"type":"codeListing","syntax":"swift","code":["enum Path {"," case relative(String)"," case absolute(String)"," case root"," var path: String {"," switch self {"," case let .relative(__macro_local_4pathfMu_):"," return __macro_local_4pathfMu_"," case let .absolute(__macro_local_4pathfMu0_):"," return __macro_local_4pathfMu0_"," case .root:"," return \"\""," }"," }","}"]}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/extractcasevalue\/extractcasevalue(name:kind:defaultvalue:)"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/ExtractCaseValue\/documentation\/ExtractCaseValue\/ExtractCaseValue(name:kind:defaultValue:)","interfaceLanguage":"swift"},"abstract":[{"type":"text","text":"A macro that extracts an associated value from enum cases using a default value if"},{"type":"text","text":" "},{"type":"text","text":"extraction is not possible."}],"kind":"symbol","metadata":{"fragments":[{"kind":"keyword","text":"macro"},{"kind":"text","text":" "},{"kind":"identifier","text":"ExtractCaseValue"},{"kind":"text","text":"<"},{"kind":"genericParameter","text":"T"},{"kind":"text","text":">("},{"kind":"externalParam","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"kind"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"CaseExtractionKind","preciseIdentifier":"s:22ExtractCaseValueMacros0B14ExtractionKindO"},{"kind":"text","text":", "},{"kind":"externalParam","text":"defaultValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"T"},{"kind":"text","text":") -> ()"}],"title":"ExtractCaseValue(name:kind:defaultValue:)","roleHeading":"Macro","role":"symbol","symbolKind":"macro","externalID":"s:16ExtractCaseValueAA4name4kind07defaultC0ySS_0abC6Macros0B14ExtractionKindOxtclufm","modules":[{"name":"ExtractCaseValue"}]},"hierarchy":{"paths":[["doc:\/\/ExtractCaseValue\/documentation\/ExtractCaseValue"]]},"references":{"doc://ExtractCaseValue/documentation/ExtractCaseValue":{"role":"collection","title":"ExtractCaseValue","abstract":[],"identifier":"doc:\/\/ExtractCaseValue\/documentation\/ExtractCaseValue","kind":"symbol","type":"topic","url":"\/documentation\/extractcasevalue"},"doc://ExtractCaseValue/documentation/ExtractCaseValue/ExtractCaseValue(name:kind:defaultValue:)":{"role":"symbol","title":"ExtractCaseValue(name:kind:defaultValue:)","fragments":[{"kind":"keyword","text":"macro"},{"kind":"text","text":" "},{"kind":"identifier","text":"ExtractCaseValue"},{"kind":"text","text":"<"},{"kind":"genericParameter","text":"T"},{"kind":"text","text":">("},{"kind":"externalParam","text":"name"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"String","preciseIdentifier":"s:SS"},{"kind":"text","text":", "},{"kind":"externalParam","text":"kind"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"CaseExtractionKind","preciseIdentifier":"s:22ExtractCaseValueMacros0B14ExtractionKindO"},{"kind":"text","text":", "},{"kind":"externalParam","text":"defaultValue"},{"kind":"text","text":": "},{"kind":"typeIdentifier","text":"T"},{"kind":"text","text":") -> ()"}],"abstract":[{"type":"text","text":"A macro that extracts an associated value from enum cases using a default value if"},{"type":"text","text":" "},{"type":"text","text":"extraction is not possible."}],"identifier":"doc:\/\/ExtractCaseValue\/documentation\/ExtractCaseValue\/ExtractCaseValue(name:kind:defaultValue:)","kind":"symbol","type":"topic","url":"\/documentation\/extractcasevalue\/extractcasevalue(name:kind:defaultvalue:)"}}}
0 commit comments