| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import prettier from 'prettier/standalone'
- import parserTypeScript from 'prettier/parser-typescript'
- import { CodeError } from 'types'
-
- /**
- * Format code with prettier
- * @param code
- */
- export function getFormattedCode(code: string): string {
- return prettier.format(code, {
- parser: 'typescript',
- plugins: [parserTypeScript],
- singleQuote: true,
- trailingComma: 'es5',
- semi: false,
- })
- }
-
- /**
- * Get line and column from error.
- * @param e
- */
- export const getErrorWithLineAndColumn = (e: Error | any): CodeError => {
- if ('line' in e) {
- return { message: e.message, line: Number(e.line), column: e.column }
- }
-
- const result = e.stack.split('/n')[0].match(/(.*)\(([0-9]+):([0-9]+)/)
-
- if (result) {
- return {
- message: result[1],
- line: Number(result[2]) + 1,
- column: result[3],
- }
- } else {
- return {
- message: e.message,
- line: null,
- column: null,
- }
- }
- }
|