UNPKG

@anysphere/scip-typescript

Version:

SCIP indexer for TypeScript and JavaScript

38 lines (29 loc) 897 B
import { descriptorString } from './Descriptor' import * as scip from './scip' export class ScipSymbol { private constructor(public readonly value: string) {} public isEmpty(): boolean { return this.value === '' } public isLocal(): boolean { return this.value.startsWith('local ') } public static local(counter: number): ScipSymbol { return new ScipSymbol(`local ${counter}`) } public static empty(): ScipSymbol { return new ScipSymbol('') } public static package(name: string, version: string): ScipSymbol { return new ScipSymbol(`scip-typescript npm ${name} ${version} `) } public static anonymousPackage(): ScipSymbol { return ScipSymbol.package('.', '.') } public static global( owner: ScipSymbol, descriptor: scip.scip.Descriptor ): ScipSymbol { return new ScipSymbol(owner.value + descriptorString(descriptor)) } }