sdkbump
    Preparing search index...

    Function parseRuleData

    • Validates rule data; throws RuleDataError listing every problem.

      Parameters

      • value: unknown

      Returns {
          $schema?: string;
          dataVersion: string;
          fixes: {
              ecosystems: ("native" | "flutter" | "react-native" | "expo")[];
              guide: string;
              id: string;
              sources: { title: string; url: string }[];
              steps: string[];
              title: string;
          }[];
          flutterTemplates: {
              objcHeader: string;
              objcImplementation: string;
              source: string;
              swift: string[];
          };
          hooks: {
              id: string;
              kind: "method"
              | "launch-option";
              objc: string;
              replacement: string;
              sources: { title: string; url: string }[];
              swift: string;
              swiftUI: string | null;
          }[];
          milestones: {
              expoBuildProperties: string;
              expoScenesByDefault: string;
              expoSceneSupport: string;
              flutterAutoMigration: string;
              reactNativeScenes: string;
          };
          rules: {
              id: "SCN001"
              | "SCN002"
              | "SCN003"
              | "SCN004";
              severity: "error" | "warning" | "info";
              sources: { title: string; url: string }[];
              summary: string;
              title: string;
          }[];
          ruleSet: string;
          sceneForwarders: string[];
          sdk: string;
          windowLookups: {
              api: string;
              id: string;
              message: string;
              sources: { title: string; url: string }[];
              title: string;
          }[];
          workarounds: {
              ecosystems: ("native" | "flutter" | "react-native" | "expo")[];
              limits: string[];
              mitigates: ("SCN001" | "SCN002" | "SCN003" | "SCN004")[];
              package: string;
              sources: { title: string; url: string }[];
              summary: string;
          }[];
      }

      • Optional$schema?: string
      • dataVersion: string

        Date of the last change, YYYY.MM.DD.

      • fixes: {
            ecosystems: ("native" | "flutter" | "react-native" | "expo")[];
            guide: string;
            id: string;
            sources: { title: string; url: string }[];
            steps: string[];
            title: string;
        }[]
      • flutterTemplates: {
            objcHeader: string;
            objcImplementation: string;
            source: string;
            swift: string[];
        }

        SHA-256 of the trimmed AppDelegate files Flutter's migrator recognises as unmodified.

      • hooks: {
            id: string;
            kind: "method" | "launch-option";
            objc: string;
            replacement: string;
            sources: { title: string; url: string }[];
            swift: string;
            swiftUI: string | null;
        }[]
      • milestones: {
            expoBuildProperties: string;
            expoScenesByDefault: string;
            expoSceneSupport: string;
            flutterAutoMigration: string;
            reactNativeScenes: string;
        }
      • rules: {
            id: "SCN001" | "SCN002" | "SCN003" | "SCN004";
            severity: "error" | "warning" | "info";
            sources: { title: string; url: string }[];
            summary: string;
            title: string;
        }[]
      • ruleSet: string
      • sceneForwarders: string[]

        Scene delegate base classes that pass scene events on to the app delegate.

      • sdk: string
      • windowLookups: {
            api: string;
            id: string;
            message: string;
            sources: { title: string; url: string }[];
            title: string;
        }[]
      • workarounds: {
            ecosystems: ("native" | "flutter" | "react-native" | "expo")[];
            limits: string[];
            mitigates: ("SCN001" | "SCN002" | "SCN003" | "SCN004")[];
            package: string;
            sources: { title: string; url: string }[];
            summary: string;
        }[]