UNPKG

58 kBSource Map (JSON)View Raw
1{"version":3,"file":"jsii-diagnostic.js","sourceRoot":"","sources":["../src/jsii-diagnostic.ts"],"names":[],"mappings":"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","sourcesContent":["import * as spec from '@jsii/spec';\nimport { camel, constant, pascal } from 'case';\nimport * as ts from 'typescript';\n\nimport { TypeSystemHints } from './docs';\nimport { WARNINGSCODE_FILE_NAME } from './transforms/deprecation-warnings';\nimport { Violation } from './tsconfig/validator';\nimport { JSII_DIAGNOSTICS_CODE, _formatDiagnostic } from './utils';\n\n/**\n * Descriptors for all valid jsii diagnostic codes.\n *\n * The `category` or non-error codes can be updated, for example to treat\n * warnings as errors, or to suppress certain undesirable warnings.\n */\nexport class Code<T extends DiagnosticMessageFormatter = DiagnosticMessageFormatter> {\n /**\n * @internal\n */\n public static message<T extends DiagnosticMessageFormatter>({\n code,\n name,\n formatter,\n }: {\n code: number;\n formatter: T;\n name: string;\n }) {\n return new Code<T>(code, name, ts.DiagnosticCategory.Message, formatter);\n }\n\n /**\n * @internal\n */\n public static suggestion<T extends DiagnosticMessageFormatter>({\n code,\n name,\n formatter,\n }: {\n code: number;\n formatter: T;\n name: string;\n }) {\n return new Code<T>(code, name, ts.DiagnosticCategory.Suggestion, formatter);\n }\n\n /**\n * @internal\n */\n public static warning<T extends DiagnosticMessageFormatter>({\n code,\n name,\n formatter,\n }: {\n code: number;\n formatter: T;\n name: string;\n }) {\n return new Code<T>(code, name, ts.DiagnosticCategory.Warning, formatter);\n }\n\n /**\n * @internal\n */\n public static error<T extends DiagnosticMessageFormatter>({\n code,\n name,\n formatter,\n }: {\n code: number;\n formatter: T;\n name: string;\n }) {\n return new Code<T>(code, name, ts.DiagnosticCategory.Error, formatter);\n }\n\n /**\n * Get a diagnostic code by code or name.\n *\n * @param codeOrName the looked up diagnostic code or name.\n *\n * @returns the JsiiDiagnosticCode instande, if one exists, or `undefined`\n *\n * @experimental this module is under active development and the error codes\n * and names may change in the future.\n */\n public static lookup(codeOrName: string | number): Code | undefined {\n if (typeof codeOrName === 'number') {\n return this.byCode[codeOrName];\n }\n return this.byName[codeOrName];\n }\n\n private static readonly byCode: { [code: number]: Code } = {};\n private static readonly byName: { [name: string]: Code } = {};\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n readonly #defaultCategory: ts.DiagnosticCategory;\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n #category?: ts.DiagnosticCategory;\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n #formatter: T;\n\n /**\n * Registers a new diagnostic code.\n *\n * @param code the numeric code for the diagnostic\n * @param name the symbolic name for the diagnostic\n * @param defaultCategory the default category this diagnostic ranks in\n * @param formatter a message formatter for easy creation of diagnostics\n */\n private constructor(\n public readonly code: number,\n public readonly name: string,\n defaultCategory: ts.DiagnosticCategory,\n formatter: T,\n ) {\n this.#defaultCategory = defaultCategory;\n this.#formatter = formatter;\n\n if (code in Code.byCode) {\n throw new Error(`Attempted to create two instances of ${this.constructor.name} with code ${code}`);\n }\n if (name in Code.byName) {\n throw new Error(`Attempted to create two instances of ${this.constructor.name} with name ${name}`);\n }\n Code.byCode[code] = Code.byName[name] = this;\n }\n\n /**\n * Determines whether this diagnostic is a compilation error. Diagnostics\n * where this is `true` cannot have their `category` overridden to a lower\n * category.\n */\n public get isError(): boolean {\n return this.#defaultCategory === ts.DiagnosticCategory.Error;\n }\n\n /**\n * The diagnostic category this particular code is filed as.\n */\n public get category(): ts.DiagnosticCategory {\n return this.#category ?? this.#defaultCategory;\n }\n\n /**\n * Update the diagnostic category for this particular code. If `isError` is\n * `true`, attempting to set anything other than `ts.DiagnosticCategory.Error`\n * will result in an error being throw.\n *\n * @param newValue the new diagnostic category to be used.\n */\n public set category(newValue: ts.DiagnosticCategory) {\n if (this.isError && newValue !== ts.DiagnosticCategory.Error) {\n throw new Error(\n `Illegal attempt to override category of error ${this.code} to ${ts.DiagnosticCategory[newValue]}`,\n );\n }\n this.#category = newValue;\n }\n\n /**\n * Creates a new `JsiiDiagnostic` message without any source code location\n * data.\n *\n * @param args the arguments to the message formatter.\n *\n * @deprecated It is preferred to specify a source code location for problem\n * markers. Prefer the use of `create` while providing a value\n * for the `location` parameter whenever possible.\n */\n public createDetached(...args: Parameters<T>): JsiiDiagnostic {\n return new JsiiDiagnostic(this, this.#formatter(...args));\n }\n\n /**\n * Creates a new `JsiiDiagnostic` message with source code location denoted\n * by the provided `location` node.\n *\n * @param location the source code location attachment of the message.\n * @param args the arguments to the message formatter.\n */\n public create(location: ts.Node | undefined, ...args: Parameters<T>): JsiiDiagnostic {\n return new JsiiDiagnostic(this, this.#formatter(...args), location);\n }\n}\n\n/**\n * A jsii-specific diagnostic entry.\n */\nexport class JsiiDiagnostic implements ts.Diagnostic {\n //////////////////////////////////////////////////////////////////////////////\n // 0001 => 0999 -- PACKAGE METADATA PROBLEMS\n\n public static readonly JSII_0001_PKG_MISSING_DESCRIPTION = Code.suggestion({\n code: 1,\n formatter: () => 'A \"description\" field should be specified in \"package.json\"',\n name: 'metadata/package-json-missing-description',\n });\n\n public static readonly JSII_0002_PKG_MISSING_HOMEPAGE = Code.suggestion({\n code: 2,\n formatter: () => 'A \"homepage\" field should be specified in \"package.json\"',\n name: 'metadata/package-json-missing-homepage',\n });\n\n public static readonly JSII_0003_MISSING_README = Code.warning({\n code: 3,\n formatter: () => 'There is no \"README.md\" file. It is required in order to generate valid PyPI (Python) packages.',\n name: 'metadata/missing-readme',\n });\n\n public static readonly JSII_0004_COULD_NOT_FIND_ENTRYPOINT = Code.error({\n code: 4,\n formatter: (mainFile: string) => `Could not find \"main\" file: ${mainFile}`,\n name: 'metadata/could-not-find-entrypoint',\n });\n\n public static readonly JSII_0005_MISSING_PEER_DEPENDENCY = Code.warning({\n code: 5,\n formatter: (assm: string, reference: string) =>\n `The type \"${reference}\" is exposed in the public API of this module. ` +\n `Therefore, the module \"${assm}\" must also be defined under \"peerDependencies\". ` +\n 'This will be auto-corrected unless --no-fix-peer-dependencies was specified.',\n name: 'metadata/missing-peer-dependency',\n });\n\n // NOTE: currently not possible to change the severity of this code,\n // as it's being emitted before the overrides have been loaded\n public static readonly JSII_0006_MISSING_DEV_DEPENDENCY = Code.warning({\n code: 6,\n formatter: (dependencyName: string, peerRange: string, minVersion: string, actual: string) =>\n `A \"peerDependency\" on \"${dependencyName}\" at \"${peerRange}\" means you ` +\n `should take a \"devDependency\" on \"${dependencyName}\" at \"${minVersion}\" ` +\n `(found ${JSON.stringify(actual)})`,\n name: 'metadata/missing-dev-dependency',\n });\n\n public static readonly JSII_0007_MISSING_WARNINGS_EXPORT = Code.error({\n code: 7,\n formatter: () =>\n 'If you are compiling with --add-deprecation-warnings and your package.json ' +\n `declares subpath exports, you must include { \"./${WARNINGSCODE_FILE_NAME}\": \"./${WARNINGSCODE_FILE_NAME}\" } ` +\n 'in the set of exports.',\n name: 'metadata/missing-warnings-export',\n });\n\n //////////////////////////////////////////////////////////////////////////////\n // 1000 => 1999 -- TYPESCRIPT LANGUAGE RESTRICTIONS\n\n public static readonly JSII_1000_NO_CONST_ENUM = Code.error({\n code: 1000,\n formatter: () => 'Exported \"const enum\" declarations are not allowed',\n name: 'typescript-restrictions/no-const-enum',\n });\n\n public static readonly JSII_1001_TYPE_HAS_NO_SYMBOL = Code.error({\n code: 1001,\n formatter: () => 'Non-primitive types without a symbol cannot be processed.',\n name: 'typescript-restrictions/type-has-no-symbol',\n });\n\n public static readonly JSII_1002_UNSPECIFIED_PROMISE = Code.error({\n code: 1002,\n formatter: () => 'Un-specified promise type. Specify it using \"Promise<T>\"',\n name: 'typescript-restrictions/unspecified-promise',\n });\n\n public static readonly JSII_1003_UNSUPPORTED_TYPE = Code.error({\n code: 1003,\n formatter: (messageText) => messageText,\n name: 'typescript-restrictions/unsupported-type',\n });\n\n public static readonly JSII_1004_DUPLICATE_ENUM_VALUE = Code.error({\n code: 1004,\n formatter: (enumValue: string, enumMemberNames: string[]) =>\n `Value ${enumValue} is used for multiple enum values: ${enumMemberNames.join(', ')}`,\n name: 'typescript-restrictions/duplicate-enum-value',\n });\n\n public static readonly JSII_1005_SEPARATE_WRITE_TYPE = Code.error({\n code: 1005,\n formatter: () => 'Visible property signatures cannot use a separate write type. Use the same type as the getter.',\n name: 'typescript-restrictions/separate-write-type',\n });\n\n public static readonly JSII_1006_GENERIC_TYPE = Code.error({\n code: 1006,\n formatter: () => 'Generic types are not supported because semantics are not uniform in target languages.',\n name: 'typescript-restriction/generic-type',\n });\n\n public static readonly JSII_1999_UNSUPPORTED = Code.error({\n code: 1999,\n formatter: ({\n what,\n alternative,\n suggestInternal,\n }: {\n what: string;\n alternative?: string;\n suggestInternal?: boolean;\n }) =>\n `${what} are not supported in jsii APIs.${alternative ? ` Consider using ${alternative} instead.` : ''}${\n suggestInternal\n ? ` This declaration must${alternative ? ' otherwise' : ''} be marked \"@internal\" or \"@jsii ignore\".`\n : ''\n }`,\n name: 'typescript-restrictions/unsupported',\n });\n\n //////////////////////////////////////////////////////////////////////////////\n // 2000 => 2999 -- INCORRECT USE OF THE @jsii DIRECTIVE\n public static readonly JSII_2000_MISSING_DIRECTIVE_ARGUMENT = Code.warning({\n code: 2000,\n formatter: () =>\n 'Missing argument to @jsii directive. Refer to the jsii compiler documentation for more information.',\n name: 'jsii-directive/missing-argument',\n });\n\n public static readonly JSII_2100_STRUCT_ON_NON_INTERFACE = Code.warning({\n code: 2100,\n formatter: () => 'The \"@jsii struct\" directive is only applicable to interface declarations.',\n name: 'jsii-directive/struct-on-non-interface',\n });\n\n public static readonly JSII_2999_UNKNOWN_DIRECTIVE = Code.warning({\n code: 2999,\n formatter: (text: string) =>\n `Unknown @jsii directive: ${JSON.stringify(\n text,\n )}. Refer to the jsii compiler documentation for more information.`,\n name: 'jsii-directive/unknown',\n });\n\n //////////////////////////////////////////////////////////////////////////////\n // 3000 => 3999 -- TYPE MODEL COHERENCE\n\n public static readonly JSII_3000_EXPORTED_API_USES_HIDDEN_TYPE = Code.error({\n code: 3000,\n formatter: (badFqn) => `Exported APIs cannot use un-exported type \"${badFqn}\"`,\n name: 'type-model/exported-api-cannot-use-unexported-type',\n });\n\n public static readonly JSII_3001_EXPOSED_INTERNAL_TYPE = Code.error({\n code: 3001,\n formatter: (symbol: ts.Symbol, isThisType: boolean, typeUse: string) =>\n `Type ${\n isThisType ? `\"this\" (aka: \"${symbol.name}\")` : `\"${symbol.name}\"`\n } cannot be used as the ${typeUse} because it is private or @internal`,\n name: 'type-model/use-of-internal-type',\n });\n\n public static readonly JSII_3002_USE_OF_UNEXPORTED_FOREIGN_TYPE = Code.error({\n code: 3002,\n formatter: (fqn: string, typeUse: string, pkg: { readonly name: string }) =>\n `Type \"${fqn}\" cannot be used as a ${typeUse} because it is not exported from ${pkg.name}`,\n name: 'type-model/unexported-foreign-type',\n });\n\n public static readonly JSII_3003_SYMBOL_IS_EXPORTED_TWICE = Code.error({\n code: 3003,\n formatter: (ns1: string, ns2: string) => `Symbol is exported under two distinct submodules: ${ns1} and ${ns2}`,\n name: 'type-model/symbol-is-exported-twice',\n });\n\n public static readonly JSII_3004_INVALID_SUPERTYPE = Code.error({\n code: 3004,\n formatter: (clause: ts.HeritageClause, badDeclaration: ts.Declaration) => {\n return `Illegal ${clauseType(clause.token)} clause for an exported API: ${ts.SyntaxKind[badDeclaration.kind]}`;\n\n function clauseType(token: ts.SyntaxKind): string {\n switch (token) {\n case ts.SyntaxKind.ExtendsKeyword:\n return 'extends';\n case ts.SyntaxKind.ImplementsKeyword:\n return 'implements';\n default:\n return ts.SyntaxKind[token];\n }\n }\n },\n name: 'type-model/invalid-supertype',\n });\n\n public static readonly JSII_3005_TYPE_USED_AS_INTERFACE = Code.error({\n code: 3005,\n formatter: (badType: spec.TypeReference) =>\n `Type \"${spec.describeTypeReference(badType)}\" cannot be used as an interface`,\n name: 'type-model/type-used-as-interface',\n });\n\n public static readonly JSII_3006_TYPE_USED_AS_CLASS = Code.error({\n code: 3006,\n formatter: (badType: spec.TypeReference) =>\n `Type \"${spec.describeTypeReference(badType)}\" cannot be used as a class`,\n name: 'type-model/type-used-as-class',\n });\n\n public static readonly JSII_3007_ILLEGAL_STRUCT_EXTENSION = Code.error({\n code: 3007,\n formatter: (offender: spec.Type, struct: spec.InterfaceType) =>\n `Attempt to extend or implement struct \"${struct.fqn}\" from \"${offender.fqn}\"`,\n name: 'type-model/illegal-struct-extension',\n });\n\n public static readonly JSII_3008_STRUCT_PROPS_MUST_BE_READONLY = Code.error({\n code: 3008,\n formatter: (propName: string, struct: spec.InterfaceType) =>\n `The \"${propName}\" property of struct \"${struct.fqn}\" must be \"readonly\". Rename \"${struct.fqn}\" to \"I${struct.name}\" if it is meant to be a behavioral interface.`,\n name: 'type-model/struct-props-must-be-readonly',\n });\n\n public static readonly JSII_3009_OPTIONAL_PARAMETER_BEFORE_REQUIRED = Code.error({\n code: 3009,\n formatter: (param: spec.Parameter, nextParam: spec.Parameter) =>\n `Parameter \"${param.name}\" cannot be optional, as it precedes required parameter \"${nextParam.name}\"`,\n name: 'type-model/optional-parameter-before-required',\n });\n\n public static readonly JSII_3999_INCOHERENT_TYPE_MODEL = Code.error({\n code: 3999,\n formatter: (messageText) => messageText,\n name: 'type-model/incoherent-type-model',\n });\n\n //////////////////////////////////////////////////////////////////////////////\n // 4000 => 4999 -- TYPESCRIPT & JSII CONFIG ERRORS\n\n public static readonly JSII_4000_FAILED_TSCONFIG_VALIDATION = Code.error({\n code: 4000,\n formatter: (config: string, ruleSet: string, violations: Array<Violation>) => {\n return `Typescript compiler options in \"${config}\" are not passing validation against rule set \"${ruleSet}\", found the following rule violations:\\n${violations\n .map((v) => ` - ${v.field}: ${v.message}`)\n .join('\\n')}`;\n },\n name: 'typescript-config/invalid-tsconfig',\n });\n\n public static readonly JSII_4009_DISABLED_TSCONFIG_VALIDATION = Code.warning({\n code: 4009,\n formatter: (config: string) =>\n `Validation of typescript config \"${config}\" is disabled. This is intended for experimental setups only. Compilation might fail or produce incompatible artifacts.`,\n name: 'typescript-config/disabled-tsconfig-validation',\n });\n\n //////////////////////////////////////////////////////////////////////////////\n // 5000 => 5999 -- LANGUAGE COMPATIBILITY ERRORS\n\n public static readonly JSII_5000_JAVA_GETTERS = Code.error({\n code: 5000,\n formatter: (badName: string, typeName: string) =>\n `Methods and properties cannot have names like \"getXxx\": those conflict with Java property getters. Rename \"${typeName}.${badName}\"`,\n name: 'language-compatibility/potential-java-getter-conflict',\n });\n\n public static readonly JSII_5001_JAVA_SETTERS = Code.error({\n code: 5001,\n formatter: (badName: string, typeName: string) =>\n `Methods and properties cannot have names like \"setXxx\": those conflict with Java property setters. Rename \"${typeName}.${badName}\"`,\n name: 'language-compatibility/potential-java-setter-conflict',\n });\n\n public static readonly JSII_5002_OVERRIDE_CHANGES_VISIBILITY = Code.error({\n code: 5002,\n formatter: (\n newElement: string,\n action: string,\n newValue: 'protected' | 'public',\n oldValue: 'protected' | 'public',\n ) => `\"${newElement}\" changes visibility to ${newValue} when ${action}. Change it to ${oldValue}`,\n name: 'language-compatibility/override-changes-visibility',\n });\n\n public static readonly JSII_5003_OVERRIDE_CHANGES_RETURN_TYPE = Code.error({\n code: 5003,\n formatter: (newElement: string, action: string, newValue: string, oldValue: string) =>\n `\"${newElement}\" changes the return type to \"${newValue}\" when ${action}. Change it to \"${oldValue}\"`,\n name: 'language-compatibility/override-changes-return-type',\n });\n\n public static readonly JSII_5004_OVERRIDE_CHANGES_PROP_TYPE = Code.error({\n code: 5004,\n formatter: (newElement: string, action: string, newType: spec.TypeReference, oldType: spec.TypeReference) =>\n `\"${newElement}\" changes the property type to \"${spec.describeTypeReference(\n newType,\n )}\" when ${action}. Change it to \"${spec.describeTypeReference(oldType)}\"`,\n name: 'language-compatibility/override-changes-property-type',\n });\n\n public static readonly JSII_5005_OVERRIDE_CHANGES_PARAM_COUNT = Code.error({\n code: 5005,\n formatter: (newElement: string, action: string, newCount: number, oldCount: number) =>\n `\"${newElement}\" has ${newCount} parameters when ${action}. It should accept ${oldCount} parameters`,\n name: 'language-compatibility/override-changes-param-count',\n });\n\n public static readonly JSII_5006_OVERRIDE_CHANGES_PARAM_TYPE = Code.error({\n code: 5006,\n formatter: (newElement: string, action: string, newParam: spec.Parameter, oldParam: spec.Parameter) =>\n `\"${newElement}\" changes the type of parameter \"${newParam.name}\" to ${spec.describeTypeReference(\n newParam.type,\n )} when ${action}. Change it to ${spec.describeTypeReference(oldParam.type)}`,\n name: 'language-compatibility/override-changes-param-type',\n });\n\n public static readonly JSII_5007_OVERRIDE_CHANGES_VARIADIC = Code.error({\n code: 5007,\n formatter: (newElement: string, action: string, newVariadic = false, oldVariadic = false) =>\n `\"${newElement}\" turns ${newVariadic ? 'variadic' : 'non variadic'} when ${action}. Make it ${\n oldVariadic ? 'variadic' : 'non-variadic'\n }`,\n name: 'language-compatibility/override-changes-variadic',\n });\n\n public static readonly JSII_5008_OVERRIDE_CHANGES_PARAM_OPTIONAL = Code.error({\n code: 5008,\n formatter: (newElement: string, action: string, newParam: spec.Parameter, oldParam: spec.Parameter) =>\n `\"${newElement}\" turns parameter \"${newParam.name}\" ${\n newParam.optional ? 'optional' : 'required'\n } when ${action}. Make it ${oldParam.optional ? 'optional' : 'required'}`,\n name: 'language-compatibility/override-changes-param-optional',\n });\n\n public static readonly JSII_5009_OVERRIDE_CHANGES_PROP_OPTIONAL = Code.error({\n code: 5009,\n formatter: (newElement: string, action: string, newOptional = false, oldOptional = false) =>\n `\"${newElement}\" turns ${newOptional ? 'optional' : 'required'} when ${action}. Make it ${\n oldOptional ? 'optional' : 'required'\n }`,\n name: 'language-compatibility/override-changes-prop-optional',\n });\n\n public static readonly JSII_5010_OVERRIDE_CHANGES_MUTABILITY = Code.error({\n code: 5010,\n formatter: (newElement: string, action: string, newReadonly = false, oldReadonly = false) =>\n `\"${newElement}\" turns ${newReadonly ? 'readonly' : 'mutable'} when ${action}. Make it ${\n oldReadonly ? 'readonly' : 'mutable'\n }`,\n name: 'language-compatibility/override-changes-mutability',\n });\n\n public static readonly JSII_5011_SUBMODULE_NAME_CONFLICT = Code.error({\n code: 5011,\n formatter: (submoduleName: string, typeName: string, reserved: readonly string[]) =>\n `Submodule \"${submoduleName}\" conflicts with \"${typeName}, as different languages could represent it as: ${reserved\n .map((x) => `\"${x}\"`)\n .join(', ')}\"`,\n name: 'language-compatibility/submodule-name-conflicts',\n });\n\n public static readonly JSII_5012_NAMESPACE_IN_TYPE = Code.error({\n code: 5012,\n formatter: (typeName: string, namespaceName: string) =>\n `All entities nested under a type (e.g: \"${typeName}\") must be concrete types, but \"${namespaceName}\" is a namespace. This structure cannot be supported in all languages (e.g: Java)`,\n name: 'language-compatibility/namespace-in-type',\n });\n\n public static readonly JSII_5013_STATIC_INSTANCE_CONFLICT = Code.error({\n code: 5013,\n formatter: (member: string, type: spec.ClassType) =>\n `Member \"${member}\" of class \"${type.fqn}\" has both a static and an instance delcaration`,\n name: 'language-compatibility/static-instance-conflict',\n });\n\n public static readonly JSII_5014_INHERITED_STATIC_CONFLICT = Code.error({\n code: 5014,\n formatter: (\n member: spec.Method | spec.Property,\n type: spec.ClassType,\n baseMember: spec.Method | spec.Property,\n baseType: spec.ClassType,\n ) =>\n `${member.static ? 'Static' : 'Instance'} member \"${member.name}\" of class \"${type.fqn}\" conflicts with ${\n baseMember.static ? 'static' : 'instance'\n } member in ancestor \"${baseType.fqn}\"`,\n name: 'language-compatibility/inherited-static-conflict',\n });\n\n public static readonly JSII_5015_REDECLARED_INTERFACE_MEMBER = Code.error({\n code: 5015,\n formatter: (memberName: string, iface: spec.InterfaceType) =>\n `Interface \"${iface.fqn}\" re-declares member \"${memberName}\". This is not supported as it results in invalid C#.`,\n name: 'language-compatibility/redeclared-interface-member',\n });\n\n public static readonly JSII_5016_PROHIBITED_MEMBER_NAME = Code.error({\n code: 5016,\n formatter: (badName: string) =>\n `Members cannot be named \"${badName}\" as it conflicts with synthetic declarations in some languages.`,\n name: 'language-compatibility/prohibited-member-name',\n });\n\n public static readonly JSII_5017_POSITIONAL_KEYWORD_CONFLICT = Code.error({\n code: 5017,\n formatter: (badName: string) =>\n `Parameter name \"${badName}\" is also the name of a property in a struct parameter. Rename the positional parameter.`,\n name: 'language-compatibility/positional-keyword-conflict',\n });\n\n public static readonly JSII_5018_RESERVED_WORD = Code.warning({\n code: 5018,\n formatter: (badName: string, languages: readonly string[]) =>\n `\"${badName}\" is a reserved word in ${languages.join(\n ', ',\n )}. Using this name may cause problems when generating language bindings. Consider a different name.`,\n name: 'language-compatibility/reserved-word',\n });\n\n public static readonly JSII_5019_MEMBER_TYPE_NAME_CONFLICT = Code.warning({\n code: 5019,\n formatter: (memberKind: 'method' | 'property', memberSymbol: ts.Symbol, declaringType: spec.Type) =>\n `The ${memberKind} name \"${memberSymbol.name}\" conflicts with the declaring ${declaringType.kind} \"${declaringType.name}\". This will result in renaming the ${declaringType.kind} to \"_${declaringType.name}\" in C#. Consider renaming \"${memberSymbol.name}\".`,\n name: 'language-compatibility/member-name-conflicts-with-type-name',\n });\n\n public static readonly JSII_5020_STATIC_MEMBER_CONFLICTS_WITH_NESTED_TYPE = Code.error({\n code: 5020,\n formatter: (\n nestingType: spec.Type,\n staticMember: spec.Property | spec.Method | spec.EnumMember,\n nestedType: spec.Type,\n ) =>\n `The static member \"${nestingType.name}.${staticMember.name}\" has the same PascalCased representation as nested type \"${nestingType.name}.${nestedType.name}\". This would result in invalid code in Go.`,\n name: 'language-compatibility/static-member-name-conflicts-with-nested-type',\n });\n\n //////////////////////////////////////////////////////////////////////////////\n // 6000 => 6999 -- RESERVED\n\n //////////////////////////////////////////////////////////////////////////////\n // 7000 => 7999 -- DOCUMENTATION ERRORS\n\n public static readonly JSII_7000_NON_EXISTENT_PARAMETER = Code.warning({\n code: 7000,\n formatter: (method: spec.Method, param: string) =>\n `Documentation for method \"${method.name}\" refers to non-existent @param \"${param}\"`,\n name: 'documentation/non-existent-parameter',\n });\n\n public static readonly JSII_7001_ILLEGAL_HINT = Code.error({\n code: 7001,\n formatter: (hint: keyof TypeSystemHints, ...valid: readonly string[]) =>\n `Illegal use of \"@${hint}\" hint. It is only valid on ${valid.join(', ')}.`,\n name: 'documentation/illegal-hint',\n });\n\n public static readonly JSII_7999_DOCUMENTATION_ERROR = Code.error({\n code: 7999,\n formatter: (messageText) => messageText,\n name: 'documentation/documentation-error',\n });\n\n //////////////////////////////////////////////////////////////////////////////\n // 8000 => 8999 -- JSII STYLE ENFORCEMENT\n\n public static readonly JSII_8000_PASCAL_CASED_TYPE_NAMES = Code.error({\n code: 8000,\n formatter: (badName: string, expectedName: string = pascal(badName)) =>\n `Type names must be PascalCased. Rename \"${badName}\" to \"${expectedName}\"`,\n name: 'code-style/type-names-must-use-pascal-case',\n });\n\n public static readonly JSII_8001_ALL_CAPS_ENUM_MEMBERS = Code.error({\n code: 8001,\n formatter: (badName: string, typeName: string) =>\n `Enum members must be ALL_CAPS. Rename \"${typeName}.${badName}\" to \"${constant(badName)}\"`,\n name: 'code-style/enum-members-must-use-all-caps',\n });\n\n public static readonly JSII_8002_CAMEL_CASED_MEMBERS = Code.error({\n code: 8002,\n formatter: (badName: string, typeName: string) =>\n `Method and property (unless they are static readonly) names must use camelCase. Rename \"${typeName}.${badName}\" to \"${camel(\n badName,\n )}\"`,\n name: 'code-style/member-names-must-use-camel-case',\n });\n\n public static readonly JSII_8003_STATIC_CONST_CASING = Code.error({\n code: 8003,\n formatter: (badName: string, typeName: string) =>\n `Static constant names must use ALL_CAPS, PascalCase, or camelCase. Rename \"${typeName}.${badName}\" to \"${constant(\n badName,\n )}\"`,\n name: 'code-style/static-readonly-property-casing',\n });\n\n public static readonly JSII_8004_SUBMOULE_NAME_CASING = Code.error({\n code: 8004,\n formatter: (badName: string) =>\n `Submodule namespaces must be camelCased or snake_cased. Rename \"${badName}\" to ${camel(badName)}`,\n name: 'code-style/submodule-name-casing',\n });\n\n public static readonly JSII_8005_INTERNAL_UNDERSCORE = Code.error({\n code: 8005,\n formatter: (badName: string) =>\n `Members marked with @internal must have a name starting with \"_\". Rename \"${badName}\" to \"_${badName}\"`,\n name: 'code-style/internal-members-underscore-prefix',\n });\n\n public static readonly JSII_8006_UNDERSCORE_INTERNAL = Code.error({\n code: 8006,\n formatter: (badName: string) =>\n `Members with a name starting with \"_\" (e.g: \"${badName}\") must be marked @internal`,\n name: 'code-style/underscored-members-must-be-internal',\n });\n\n public static readonly JSII_8007_BEHAVIORAL_INTERFACE_NAME = Code.error({\n code: 8007,\n formatter: (badName: string) => `Interface contains behavior. Rename \"${badName}\" to \"I${badName}\"`,\n name: 'code-style/behavioral-interface-name',\n });\n\n //////////////////////////////////////////////////////////////////////////////\n // 9000 => 9999 -- SURPRISING ERRORS & INFORMATIONAL MESSAGES\n\n public static readonly JSII_9000_UNKNOWN_MODULE = Code.error({\n code: 9000,\n formatter: (moduleName) =>\n `Encountered use of module that is not declared in \"dependencies\" or \"peerDependencies\": \"${moduleName}\"`,\n name: 'miscellaneous/unknown-module',\n });\n\n public static readonly JSII_9001_TYPE_NOT_FOUND = Code.error({\n code: 9001,\n formatter: (typeRef: spec.NamedTypeReference) => `Type not found in the corresponding assembly: \"${typeRef.fqn}\"`,\n name: 'miscellaneous/type-not-found',\n });\n\n public static readonly JSII_9002_UNRESOLVEABLE_TYPE = Code.error({\n code: 9002,\n formatter: (reference: string) =>\n `Unable to resolve type \"${reference}\". It may be @internal or not exported from the module's entry point (as configured in \"package.json\" as \"main\").`,\n name: 'miscellaneous/unresolveable-type',\n });\n\n public static readonly JSII_9003_UNRESOLVEABLE_MODULE = Code.error({\n code: 9003,\n formatter: (location: string) => `Unable to resolve module location \"${location}\"`,\n name: 'miscellaneous/unresolveable-module',\n });\n\n public static readonly JSII_9004_UNABLE_TO_COMPUTE_SIGNATURE = Code.error({\n code: 9004,\n formatter: (methodName: string, type: spec.Type) =>\n `Unable to compute signature for method \"${methodName}\" of \"${type.fqn}\"`,\n name: 'miscellaneous/unable-to-compute-signature',\n });\n\n public static readonly JSII_9996_UNNECESSARY_TOKEN = Code.message({\n code: 9996,\n formatter: () => 'Unnecessary token, consider removing it',\n name: 'miscellaneous/unnecessary-token',\n });\n\n public static readonly JSII_9997_UNKNOWN_ERROR = Code.error({\n code: 9997,\n formatter: (error: Error) => `Unknown error: ${error.message} -- ${error.stack}`,\n name: 'miscellaneous/unknown-error',\n });\n\n public static readonly JSII_9998_UNSUPPORTED_NODE = Code.message({\n code: 9998,\n formatter: (kindOrMessage: ts.SyntaxKind | string) =>\n typeof kindOrMessage === 'string'\n ? kindOrMessage\n : `Unsupported ${ts.SyntaxKind[kindOrMessage]} node. This declaration will not be accessible from other languages.`,\n name: 'miscellaneous/unsupported-node',\n });\n\n //////////////////////////////////////////////////////////////////////////////\n\n /**\n * Determines whether a `Diagnostic` instance is a `JsiiDiagnostic` or not.\n * @param diag\n */\n public static isJsiiDiagnostic(diag: ts.Diagnostic): diag is JsiiDiagnostic {\n return (diag as unknown as JsiiDiagnostic).domain === JsiiDiagnostic.DOMAIN;\n }\n\n //////////////////////////////////////////////////////////////////////////////\n\n private static readonly JSII_9999_RELATED_INFO = Code.suggestion({\n code: 9999,\n formatter: (messageText) => messageText,\n name: 'miscellaneous/related-info',\n });\n\n //////////////////////////////////////////////////////////////////////////////\n\n /**\n * This symbol unequivocally identifies the `JsiiDiagnostic` domain.\n */\n private static readonly DOMAIN = Symbol('jsii');\n\n private readonly domain = JsiiDiagnostic.DOMAIN;\n\n public readonly category: ts.DiagnosticCategory;\n public readonly code: number = JSII_DIAGNOSTICS_CODE;\n public readonly jsiiCode: number;\n public readonly messageText: string | ts.DiagnosticMessageChain;\n\n public readonly file: ts.SourceFile | undefined;\n public readonly start: number | undefined;\n public readonly length: number | undefined;\n\n public readonly relatedInformation = new Array<ts.DiagnosticRelatedInformation>();\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n #formatted?: string;\n\n /**\n * Creates a new `JsiiDiagnostic` with the provided properties.\n *\n * @internal\n */\n public constructor(code: Code, messageText: string | ts.DiagnosticMessageChain, location?: ts.Node) {\n this.category = code.category;\n this.jsiiCode = code.code;\n this.messageText = messageText;\n\n if (location != null) {\n this.file = location.getSourceFile();\n this.start = location.getStart(this.file);\n this.length = location.getEnd() - this.start;\n }\n }\n\n public addRelatedInformation(node: ts.Node, message: JsiiDiagnostic['messageText']): this {\n // Don't relate info into the TypeScript standard library\n if (!/[\\\\/]typescript[\\\\/]lib[\\\\/]lib\\..+\\.d\\.ts$/.test(node.getSourceFile().fileName)) {\n this.relatedInformation.push(JsiiDiagnostic.JSII_9999_RELATED_INFO.create(node, message));\n }\n // Clearing out #formatted, as this would no longer be the correct string.\n this.#formatted = undefined;\n return this;\n }\n\n /**\n * Links the provided `node` with the specified `message` as related to the\n * current diagnostic, unless `node` is undefined.\n *\n * @param node the node where the message should be attached, if any.\n * @param message the message to be attached to the diagnostic entry.\n *\n * @returns `this`\n */\n public addRelatedInformationIf(node: ts.Node | undefined, message: JsiiDiagnostic['messageText']): this {\n if (node != null) {\n return this.addRelatedInformation(node, message);\n } else {\n return this;\n }\n }\n\n /**\n * Adds related information to this `JsiiDiagnostic` instance if the provided\n * `node` is defined.\n *\n * @param node the node to bind as related information, or `undefined`.\n * @param message the message to attach to the related information.\n *\n * @returns `this`\n */\n public maybeAddRelatedInformation(node: ts.Node | undefined, message: JsiiDiagnostic['messageText']): this {\n if (node == null) {\n return this;\n }\n this.relatedInformation.push(JsiiDiagnostic.JSII_9999_RELATED_INFO.create(node, message));\n // Clearing out #formatted, as this would no longer be the correct string.\n this.#formatted = undefined;\n return this;\n }\n\n /**\n * Formats this diagnostic with color and context if possible, and returns it.\n * The formatted diagnostic is cached, so that it can be re-used. This is\n * useful for diagnostic messages involving trivia -- as the trivia may have\n * been obliterated from the `SourceFile` by the `TsCommentReplacer`, which\n * makes the error messages really confusing.\n */\n public format(projectRoot: string): string {\n if (this.#formatted == null) {\n this.#formatted = _formatDiagnostic(this, projectRoot);\n }\n return this.#formatted;\n }\n}\n\nexport type DiagnosticMessageFormatter = (...args: any[]) => JsiiDiagnostic['messageText'];\n\nexport function configureCategories(records: { [code: string]: ts.DiagnosticCategory }) {\n for (const [code, category] of Object.entries(records)) {\n const diagCode = Code.lookup(diagnosticCode(code));\n if (!diagCode) {\n throw new Error(`Unrecognized diagnostic code '${code}'`);\n }\n diagCode.category = category;\n }\n}\n\nfunction diagnosticCode(str: string): string | number {\n if (str.toLowerCase().startsWith('jsii')) {\n const re = /^JSII(\\d+)$/i.exec(str);\n if (re) {\n return parseInt(re[1], 10);\n }\n throw new Error(`Invalid diagnostic code ${str}. A number must follow code that starts with 'JSII'`);\n }\n return str;\n}\n"]}
\No newline at end of file