export function createPlugin()

in src/plugins/description-attribute-error.ts [13:45]


export function createPlugin(): ObjectSpec.Plugin {
  return {
    additionalFiles: empty(),
    transformBaseFile: (_, b) => b,
    additionalTypes: empty(),
    attributes: empty(),
    classMethods: empty(),
    transformFileRequest: (request) => request,
    fileType: nothing(),
    forwardDeclarations: empty(),
    functions: empty(),
    headerComments: empty(),
    implementedProtocols: empty(),
    imports: empty(),
    instanceMethods: empty(),
    macros: empty(),
    properties: empty(),
    requiredIncludesToRun: ['RMDescriptionAttributeError'],
    staticConstants: empty(),
    validationErrors: (objectSpec) =>
      objectSpec.attributes.some(
        (attribute) => attribute.name === 'description',
      )
        ? [
            Error(
              'Adding a method named `description` will override the basic `NSObject` method for a string describing the entire object. Consider using a different name instead.',
            ),
          ]
        : [],
    nullability: nothing(),
    subclassingRestricted: (_) => false,
  };
}