Contents

isAvailable(on:version:)

Returns whether this node definition is available on a given platform and OS version.

Declaration

func isAvailable(on platform: ShaderGraph.NodeDefinition.Platform, version: OperatingSystemVersion? = nil) -> Bool

Parameters

  • platform:

    The platform to check availability for.

  • version:

    The OS version to check against. When nil, returns true if the definition is available on the platform at any version.

Return Value

true if this definition is available on platform at version; false if it is unavailable or has been obsoleted by that version.

Discussion

Use this method to filter node definitions before presenting them to the user, or before adding them to a graph that targets a specific deployment target.

let library = ShaderGraph.NodeLibrary(version: .materialX138)
let currentVersion = ProcessInfo.processInfo.operatingSystemVersion

let supportedDefinitions = library.definitions.filter {
    $0.isAvailable(on: .iOS, version: currentVersion)
}