export function importForAttribute()

in src/objc-import-utils.ts [307:328]


export function importForAttribute(
  typeName: string,
  underlyingType: string | null,
  libraryTypeIsDefinedIn: string | null,
  fileTypeIsDefinedIn: string | null,
  objectLibrary: string | null,
  isPublic: boolean,
): ObjC.Import {
  const builtInImport = typeDefinitionImportForKnownSystemType(typeName);
  if (builtInImport != null) {
    return builtInImport;
  }

  const requiresPublicImport = isPublic || underlyingType != 'NSObject';
  return {
    library:
      libraryTypeIsDefinedIn != null ? libraryTypeIsDefinedIn : objectLibrary,
    file: `${fileTypeIsDefinedIn != null ? fileTypeIsDefinedIn : typeName}.h`,
    isPublic: requiresPublicImport,
    requiresCPlusPlus: false,
  };
}