mirror of https://github.com/sveltejs/svelte
parent
7c3fca57cf
commit
48384b846c
@ -0,0 +1,25 @@
|
|||||||
|
import { locate } from 'locate-character';
|
||||||
|
import getCodeFrame from '../utils/getCodeFrame';
|
||||||
|
|
||||||
|
export default class CompileError extends Error {
|
||||||
|
frame: string
|
||||||
|
loc: { line: number, column: number }
|
||||||
|
pos: number
|
||||||
|
filename: string
|
||||||
|
|
||||||
|
constructor ( message: string, template: string, index: number, filename: string ) {
|
||||||
|
super( message );
|
||||||
|
|
||||||
|
const { line, column } = locate( template, index );
|
||||||
|
|
||||||
|
this.loc = { line: line + 1, column };
|
||||||
|
this.pos = index;
|
||||||
|
this.filename = filename;
|
||||||
|
|
||||||
|
this.frame = getCodeFrame( template, line, column );
|
||||||
|
}
|
||||||
|
|
||||||
|
toString () {
|
||||||
|
return `${this.message} (${this.loc.line}:${this.loc.column})\n${this.frame}`;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,8 @@
|
|||||||
import oncreate from './oncreate';
|
import oncreate from './oncreate';
|
||||||
|
import { Validator } from '../../';
|
||||||
|
import { Node } from '../../../interfaces';
|
||||||
|
|
||||||
export default function onrender ( validator, prop ) {
|
export default function onrender ( validator: Validator, prop: Node ) {
|
||||||
validator.warn( `'onrender' has been deprecated in favour of 'oncreate', and will cause an error in Svelte 2.x`, prop.start );
|
validator.warn( `'onrender' has been deprecated in favour of 'oncreate', and will cause an error in Svelte 2.x`, prop.start );
|
||||||
oncreate( validator, prop );
|
oncreate( validator, prop );
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
import ondestroy from './ondestroy';
|
import ondestroy from './ondestroy';
|
||||||
|
import { Validator } from '../../';
|
||||||
|
import { Node } from '../../../interfaces';
|
||||||
|
|
||||||
export default function onteardown ( validator, prop ) {
|
export default function onteardown ( validator: Validator, prop: Node ) {
|
||||||
validator.warn( `'onteardown' has been deprecated in favour of 'ondestroy', and will cause an error in Svelte 2.x`, prop.start );
|
validator.warn( `'onteardown' has been deprecated in favour of 'ondestroy', and will cause an error in Svelte 2.x`, prop.start );
|
||||||
ondestroy( validator, prop );
|
ondestroy( validator, prop );
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
export default function list ( items, conjunction = 'or' ) {
|
export default function list ( items: string[], conjunction = 'or' ) {
|
||||||
if ( items.length === 1 ) return items[0];
|
if ( items.length === 1 ) return items[0];
|
||||||
return `${items.slice( 0, -1 ).join( ', ' )} ${conjunction} ${items[ items.length - 1 ]}`;
|
return `${items.slice( 0, -1 ).join( ', ' )} ${conjunction} ${items[ items.length - 1 ]}`;
|
||||||
}
|
}
|
Loading…
Reference in new issue