John Smith
john@example.com
import type { DefaultPlanes } from '@rust/kcl-lib/bindings/DefaultPlanes'
// KCL string representation of default planes
export type DefaultPlaneStr = 'XY' | 'XZ' | 'YZ' | '-XY' | '-XZ' | '-YZ'
export function defaultPlaneStrToKey(
plane: DefaultPlaneStr
): keyof DefaultPlanes | Error {
switch (plane) {
case 'XY':
return 'xy'
case 'XZ':
return 'xz'
case 'YZ':
return 'yz'
case '-XY':
return 'negXy'
case '-XZ':
return 'negXz'
case '-YZ':
return 'negYz'
default:
return new Error(`Invalid plane string: ${plane}`)
}
export function isDefaultPlaneStr(plane: string): plane is DefaultPlaneStr {
return ['XY', 'XZ', 'YZ', '-XY', '-XZ', '-YZ'].includes(plane)