AK-21/Graphite-Industrial-Intelligence
0
1/**2 * Message.3 */4export class VFileMessage extends Error {5 /**6 * Create a message for `reason`.7 *8 * > πͺ¦ **Note**: also has obsolete signatures.9 *10 * @overload11 * @param {string} reason12 * @param {Options | null | undefined} [options]13 * @returns14 *15 * @overload16 * @param {string} reason17 * @param {Node | NodeLike | null | undefined} parent18 * @param {string | null | undefined} [origin]19 * @returns20 *21 * @overload22 * @param {string} reason23 * @param {Point | Position | null | undefined} place24 * @param {string | null | undefined} [origin]25 * @returns26 *27 * @overload28 * @param {string} reason29 * @param {string | null | undefined} [origin]30 * @returns31 *32 * @overload33 * @param {Error | VFileMessage} cause34 * @param {Node | NodeLike | null | undefined} parent35 * @param {string | null | undefined} [origin]36 * @returns37 *38 * @overload39 * @param {Error | VFileMessage} cause40 * @param {Point | Position | null | undefined} place41 * @param {string | null | undefined} [origin]42 * @returns43 *44 * @overload45 * @param {Error | VFileMessage} cause46 * @param {string | null | undefined} [origin]47 * @returns48 *49 * @param {Error | VFileMessage | string} causeOrReason50 * Reason for message, should use markdown.51 * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]52 * Configuration (optional).53 * @param {string | null | undefined} [origin]54 * Place in code where the message originates (example:55 * `'my-package:my-rule'` or `'my-rule'`).56 * @returns57 * Instance of `VFileMessage`.58 */59 constructor(reason: string, options?: Options | null | undefined);60 /**61 * Create a message for `reason`.62 *63 * > πͺ¦ **Note**: also has obsolete signatures.64 *65 * @overload66 * @param {string} reason67 * @param {Options | null | undefined} [options]68 * @returns69 *70 * @overload71 * @param {string} reason72 * @param {Node | NodeLike | null | undefined} parent73 * @param {string | null | undefined} [origin]74 * @returns75 *76 * @overload77 * @param {string} reason78 * @param {Point | Position | null | undefined} place79 * @param {string | null | undefined} [origin]80 * @returns81 *82 * @overload83 * @param {string} reason84 * @param {string | null | undefined} [origin]85 * @returns86 *87 * @overload88 * @param {Error | VFileMessage} cause89 * @param {Node | NodeLike | null | undefined} parent90 * @param {string | null | undefined} [origin]91 * @returns92 *93 * @overload94 * @param {Error | VFileMessage} cause95 * @param {Point | Position | null | undefined} place96 * @param {string | null | undefined} [origin]97 * @returns98 *99 * @overload100 * @param {Error | VFileMessage} cause101 * @param {string | null | undefined} [origin]102 * @returns103 *104 * @param {Error | VFileMessage | string} causeOrReason105 * Reason for message, should use markdown.106 * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]107 * Configuration (optional).108 * @param {string | null | undefined} [origin]109 * Place in code where the message originates (example:110 * `'my-package:my-rule'` or `'my-rule'`).111 * @returns112 * Instance of `VFileMessage`.113 */114 constructor(reason: string, parent: Node | NodeLike | null | undefined, origin?: string | null | undefined);115 /**116 * Create a message for `reason`.117 *118 * > πͺ¦ **Note**: also has obsolete signatures.119 *120 * @overload121 * @param {string} reason122 * @param {Options | null | undefined} [options]123 * @returns124 *125 * @overload126 * @param {string} reason127 * @param {Node | NodeLike | null | undefined} parent128 * @param {string | null | undefined} [origin]129 * @returns130 *131 * @overload132 * @param {string} reason133 * @param {Point | Position | null | undefined} place134 * @param {string | null | undefined} [origin]135 * @returns136 *137 * @overload138 * @param {string} reason139 * @param {string | null | undefined} [origin]140 * @returns141 *142 * @overload143 * @param {Error | VFileMessage} cause144 * @param {Node | NodeLike | null | undefined} parent145 * @param {string | null | undefined} [origin]146 * @returns147 *148 * @overload149 * @param {Error | VFileMessage} cause150 * @param {Point | Position | null | undefined} place151 * @param {string | null | undefined} [origin]152 * @returns153 *154 * @overload155 * @param {Error | VFileMessage} cause156 * @param {string | null | undefined} [origin]157 * @returns158 *159 * @param {Error | VFileMessage | string} causeOrReason160 * Reason for message, should use markdown.161 * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]162 * Configuration (optional).163 * @param {string | null | undefined} [origin]164 * Place in code where the message originates (example:165 * `'my-package:my-rule'` or `'my-rule'`).166 * @returns167 * Instance of `VFileMessage`.168 */169 constructor(reason: string, place: Point | Position | null | undefined, origin?: string | null | undefined);170 /**171 * Create a message for `reason`.172 *173 * > πͺ¦ **Note**: also has obsolete signatures.174 *175 * @overload176 * @param {string} reason177 * @param {Options | null | undefined} [options]178 * @returns179 *180 * @overload181 * @param {string} reason182 * @param {Node | NodeLike | null | undefined} parent183 * @param {string | null | undefined} [origin]184 * @returns185 *186 * @overload187 * @param {string} reason188 * @param {Point | Position | null | undefined} place189 * @param {string | null | undefined} [origin]190 * @returns191 *192 * @overload193 * @param {string} reason194 * @param {string | null | undefined} [origin]195 * @returns196 *197 * @overload198 * @param {Error | VFileMessage} cause199 * @param {Node | NodeLike | null | undefined} parent200 * @param {string | null | undefined} [origin]201 * @returns202 *203 * @overload204 * @param {Error | VFileMessage} cause205 * @param {Point | Position | null | undefined} place206 * @param {string | null | undefined} [origin]207 * @returns208 *209 * @overload210 * @param {Error | VFileMessage} cause211 * @param {string | null | undefined} [origin]212 * @returns213 *214 * @param {Error | VFileMessage | string} causeOrReason215 * Reason for message, should use markdown.216 * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]217 * Configuration (optional).218 * @param {string | null | undefined} [origin]219 * Place in code where the message originates (example:220 * `'my-package:my-rule'` or `'my-rule'`).221 * @returns222 * Instance of `VFileMessage`.223 */224 constructor(reason: string, origin?: string | null | undefined);225 /**226 * Create a message for `reason`.227 *228 * > πͺ¦ **Note**: also has obsolete signatures.229 *230 * @overload231 * @param {string} reason232 * @param {Options | null | undefined} [options]233 * @returns234 *235 * @overload236 * @param {string} reason237 * @param {Node | NodeLike | null | undefined} parent238 * @param {string | null | undefined} [origin]239 * @returns240 *241 * @overload242 * @param {string} reason243 * @param {Point | Position | null | undefined} place244 * @param {string | null | undefined} [origin]245 * @returns246 *247 * @overload248 * @param {string} reason249 * @param {string | null | undefined} [origin]250 * @returns251 *252 * @overload253 * @param {Error | VFileMessage} cause254 * @param {Node | NodeLike | null | undefined} parent255 * @param {string | null | undefined} [origin]256 * @returns257 *258 * @overload259 * @param {Error | VFileMessage} cause260 * @param {Point | Position | null | undefined} place261 * @param {string | null | undefined} [origin]262 * @returns263 *264 * @overload265 * @param {Error | VFileMessage} cause266 * @param {string | null | undefined} [origin]267 * @returns268 *269 * @param {Error | VFileMessage | string} causeOrReason270 * Reason for message, should use markdown.271 * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]272 * Configuration (optional).273 * @param {string | null | undefined} [origin]274 * Place in code where the message originates (example:275 * `'my-package:my-rule'` or `'my-rule'`).276 * @returns277 * Instance of `VFileMessage`.278 */279 constructor(cause: Error | VFileMessage, parent: Node | NodeLike | null | undefined, origin?: string | null | undefined);280 /**281 * Create a message for `reason`.282 *283 * > πͺ¦ **Note**: also has obsolete signatures.284 *285 * @overload286 * @param {string} reason287 * @param {Options | null | undefined} [options]288 * @returns289 *290 * @overload291 * @param {string} reason292 * @param {Node | NodeLike | null | undefined} parent293 * @param {string | null | undefined} [origin]294 * @returns295 *296 * @overload297 * @param {string} reason298 * @param {Point | Position | null | undefined} place299 * @param {string | null | undefined} [origin]300 * @returns301 *302 * @overload303 * @param {string} reason304 * @param {string | null | undefined} [origin]305 * @returns306 *307 * @overload308 * @param {Error | VFileMessage} cause309 * @param {Node | NodeLike | null | undefined} parent310 * @param {string | null | undefined} [origin]311 * @returns312 *313 * @overload314 * @param {Error | VFileMessage} cause315 * @param {Point | Position | null | undefined} place316 * @param {string | null | undefined} [origin]317 * @returns318 *319 * @overload320 * @param {Error | VFileMessage} cause321 * @param {string | null | undefined} [origin]322 * @returns323 *324 * @param {Error | VFileMessage | string} causeOrReason325 * Reason for message, should use markdown.326 * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]327 * Configuration (optional).328 * @param {string | null | undefined} [origin]329 * Place in code where the message originates (example:330 * `'my-package:my-rule'` or `'my-rule'`).331 * @returns332 * Instance of `VFileMessage`.333 */334 constructor(cause: Error | VFileMessage, place: Point | Position | null | undefined, origin?: string | null | undefined);335 /**336 * Create a message for `reason`.337 *338 * > πͺ¦ **Note**: also has obsolete signatures.339 *340 * @overload341 * @param {string} reason342 * @param {Options | null | undefined} [options]343 * @returns344 *345 * @overload346 * @param {string} reason347 * @param {Node | NodeLike | null | undefined} parent348 * @param {string | null | undefined} [origin]349 * @returns350 *351 * @overload352 * @param {string} reason353 * @param {Point | Position | null | undefined} place354 * @param {string | null | undefined} [origin]355 * @returns356 *357 * @overload358 * @param {string} reason359 * @param {string | null | undefined} [origin]360 * @returns361 *362 * @overload363 * @param {Error | VFileMessage} cause364 * @param {Node | NodeLike | null | undefined} parent365 * @param {string | null | undefined} [origin]366 * @returns367 *368 * @overload369 * @param {Error | VFileMessage} cause370 * @param {Point | Position | null | undefined} place371 * @param {string | null | undefined} [origin]372 * @returns373 *374 * @overload375 * @param {Error | VFileMessage} cause376 * @param {string | null | undefined} [origin]377 * @returns378 *379 * @param {Error | VFileMessage | string} causeOrReason380 * Reason for message, should use markdown.381 * @param {Node | NodeLike | Options | Point | Position | string | null | undefined} [optionsOrParentOrPlace]382 * Configuration (optional).383 * @param {string | null | undefined} [origin]384 * Place in code where the message originates (example:385 * `'my-package:my-rule'` or `'my-rule'`).386 * @returns387 * Instance of `VFileMessage`.388 */389 constructor(cause: Error | VFileMessage, origin?: string | null | undefined);390 /**391 * Stack of ancestor nodes surrounding the message.392 *393 * @type {Array<Node> | undefined}394 */395 ancestors: Array<Node> | undefined;396 /**397 * Starting column of message.398 *399 * @type {number | undefined}400 */401 column: number | undefined;402 /**403 * State of problem.404 *405 * * `true` β error, file not usable406 * * `false` β warning, change may be needed407 * * `undefined` β change likely not needed408 *409 * @type {boolean | null | undefined}410 */411 fatal: boolean | null | undefined;412 /**413 * Path of a file (used throughout the `VFile` ecosystem).414 *415 * @type {string | undefined}416 */417 file: string | undefined;418 /**419 * Starting line of error.420 *421 * @type {number | undefined}422 */423 line: number | undefined;424 /**425 * Place of message.426 *427 * @type {Point | Position | undefined}428 */429 place: Point | Position | undefined;430 /**431 * Reason for message, should use markdown.432 *433 * @type {string}434 */435 reason: string;436 /**437 * Category of message (example: `'my-rule'`).438 *439 * @type {string | undefined}440 */441 ruleId: string | undefined;442 /**443 * Namespace of message (example: `'my-package'`).444 *445 * @type {string | undefined}446 */447 source: string | undefined;448 /**449 * Specify the source value thatβs being reported, which is deemed450 * incorrect.451 *452 * @type {string | undefined}453 */454 actual: string | undefined;455 /**456 * Suggest acceptable values that can be used instead of `actual`.457 *458 * @type {Array<string> | undefined}459 */460 expected: Array<string> | undefined;461 /**462 * Long form description of the message (you should use markdown).463 *464 * @type {string | undefined}465 */466 note: string | undefined;467 /**468 * Link to docs for the message.469 *470 * > π **Note**: this must be an absolute URL that can be passed as `x`471 * > to `new URL(x)`.472 *473 * @type {string | undefined}474 */475 url: string | undefined;476}477export type NodeLike = object & {478 type: string;479 position?: Position | undefined;480};481/**482 * Configuration.483 */484export type Options = {485 /**486 * Stack of (inclusive) ancestor nodes surrounding the message (optional).487 */488 ancestors?: Array<Node> | null | undefined;489 /**490 * Original error cause of the message (optional).491 */492 cause?: Error | null | undefined;493 /**494 * Place of message (optional).495 */496 place?: Point | Position | null | undefined;497 /**498 * Category of message (optional, example: `'my-rule'`).499 */500 ruleId?: string | null | undefined;501 /**502 * Namespace of who sent the message (optional, example: `'my-package'`).503 */504 source?: string | null | undefined;505};506import type { Node } from 'unist';507import type { Point } from 'unist';508import type { Position } from 'unist';509 