# ts-method-signature-style Inspired by `typescript-eslint`'s [method-signature-style](https://typescript-eslint.io/rules/method-signature-style/) rule. See that rule for the rationale behind preferring the function property. ## Options The first option is a string with the following possible values: "method", "property". The next option is an object with the following properties. ### enableFixer Whether to enable the fixer. Defaults to `true`. ||| |---|---| |Context|everywhere| |Tags|``| |Recommended|false| |Settings|| |Options|string ("method", "property") followed by object with `enableFixer`| ## Failing examples The following patterns are considered problems: ````ts /** * @param {{ * func(arg: string): number * }} someName */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "property"] // Message: Found method signature; prefer function property. /** * @param {{ * func(arg: string): number * }} someName */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "property",{"enableFixer":false}] // Message: Found method signature; prefer function property. /** * @param {{ * func(arg: number): void * func(arg: string): void * func(arg: boolean): void * }} someName */ // Message: Found method signature; prefer function property. /** * @param {{ * func: (arg: string) => number * }} someName */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "method"] // Message: Found function property; prefer method signature. /** * @param {{ * func: (arg: string) => number * }} someName */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "method",{"enableFixer":false}] // Message: Found function property; prefer method signature. /** * @type {{ * func: ((arg: number) => void) & * ((arg: string) => void) & * ((arg: boolean) => void) * }} */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "method"] // Message: Found function property; prefer method signature. /** * @param {{ * func: ((arg: number) => void) & * ((arg: string) => void) & * ((arg: boolean) => void) * }} someName */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "method",{"enableFixer":false}] // Message: Found function property; prefer method signature. /** * @param {{ * "func"(arg: string): number * }} someName */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "property"] // Message: Found method signature; prefer function property. /** * @param {{ * 'func': (arg: string) => number * }} someName */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "method"] // Message: Found function property; prefer method signature. /** @type {{ * func: ((arg: number) => void) & * ((arg: string) => void) & * ((arg: boolean) => void) * }} */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "method"] // Message: Found function property; prefer method signature. ```` ## Passing examples The following patterns are not considered problems: ````ts /** * @param {{ * func: (arg: string) => number * }} */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "property"] /** * @param {{ * func: ((arg: number) => void) & * ((arg: string) => void) & * ((arg: boolean) => void) * }} */ /** * @param {abc<} */ /** * @param {{ * func: ((arg: number) => void) & (SomeType) * }} */ // "jsdoc/ts-method-signature-style": ["error"|"warn", "method"] ````