fmt
This commit is contained in:
@ -108,7 +108,11 @@ export const executor = (
|
||||
return _programMemory.root[arg.name]
|
||||
}
|
||||
})
|
||||
if ('lineTo' === functionName || 'close' === functionName || 'base' === functionName) {
|
||||
if (
|
||||
'lineTo' === functionName ||
|
||||
'close' === functionName ||
|
||||
'base' === functionName
|
||||
) {
|
||||
if (options.bodyType !== 'sketch') {
|
||||
throw new Error(
|
||||
`Cannot call ${functionName} outside of a sketch declaration`
|
||||
|
@ -50,14 +50,13 @@ log(5, myVar)`
|
||||
expect(recasted).toBe(code.trim())
|
||||
})
|
||||
it('function declaration with call', () => {
|
||||
const code =
|
||||
[
|
||||
'fn funcN = (a, b) => {',
|
||||
' return a + b',
|
||||
'}',
|
||||
'const theVar = 60',
|
||||
'const magicNum = funcN(9, theVar)',
|
||||
].join('\n')
|
||||
const code = [
|
||||
'fn funcN = (a, b) => {',
|
||||
' return a + b',
|
||||
'}',
|
||||
'const theVar = 60',
|
||||
'const magicNum = funcN(9, theVar)',
|
||||
].join('\n')
|
||||
const { ast } = code2ast(code)
|
||||
const recasted = recast(ast)
|
||||
expect(recasted).toBe(code.trim())
|
||||
|
@ -113,6 +113,6 @@ function recastSketchExpression(
|
||||
indentation: string
|
||||
): string {
|
||||
return `{
|
||||
${recast(expression.body, '', indentation + ' ')}
|
||||
${recast(expression.body, '', indentation + ' ')}
|
||||
}`
|
||||
}
|
||||
|
@ -92,28 +92,29 @@ function getCoordsFromPaths(paths: Path[], index = 0): Coords2d {
|
||||
}
|
||||
|
||||
export const sketchFns = {
|
||||
base: (programMemory: ProgramMemory,
|
||||
base: (
|
||||
programMemory: ProgramMemory,
|
||||
name: string = '',
|
||||
sourceRange: SourceRange,
|
||||
...args: any[]
|
||||
): PathReturn => {
|
||||
if(programMemory._sketch?.length > 0) {
|
||||
throw new Error('Base can only be called once')
|
||||
}
|
||||
const [x, y] = args as [number, number]
|
||||
let from: [number, number] = [x, y]
|
||||
const newPath: Path = {
|
||||
type: 'base',
|
||||
from,
|
||||
sourceRange,
|
||||
}
|
||||
return {
|
||||
programMemory: {
|
||||
...programMemory,
|
||||
_sketch: [...(programMemory?._sketch || []), newPath],
|
||||
},
|
||||
currentPath: newPath,
|
||||
}
|
||||
): PathReturn => {
|
||||
if (programMemory._sketch?.length > 0) {
|
||||
throw new Error('Base can only be called once')
|
||||
}
|
||||
const [x, y] = args as [number, number]
|
||||
let from: [number, number] = [x, y]
|
||||
const newPath: Path = {
|
||||
type: 'base',
|
||||
from,
|
||||
sourceRange,
|
||||
}
|
||||
return {
|
||||
programMemory: {
|
||||
...programMemory,
|
||||
_sketch: [...(programMemory?._sketch || []), newPath],
|
||||
},
|
||||
currentPath: newPath,
|
||||
}
|
||||
},
|
||||
close: (
|
||||
programMemory: ProgramMemory,
|
||||
|
@ -299,7 +299,6 @@ describe('testing lexer', () => {
|
||||
"whitespace ' ' from 6 to 7",
|
||||
"number '2.5' from 7 to 10",
|
||||
])
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
|
Reference in New Issue
Block a user