ChemPal Documentation - v1.6.0
    Preparing search index...

    Function parseStructurePrefix

    • Strips an explicit smiles: or inchikey: prefix from a query, letting the user force structure resolution for otherwise-ambiguous input (e.g. smiles:CO instead of carbon monoxide).

      Parameters

      • query: string

        The raw search query, possibly prefixed

      Returns { mode: StructureMode; value: string }

      The detected mode and the bare value with the prefix removed

      parseStructurePrefix("smiles:CCO") // { mode: "smiles", value: "CCO" }
      parseStructurePrefix("inchikey:LFQSCWFLJHTTHZ-UHFFFAOYSA-N")
      // => { mode: "inchikey", value: "LFQSCWFLJHTTHZ-UHFFFAOYSA-N" }
      parseStructurePrefix("ethanol") // { mode: "auto", value: "ethanol" }
      export function parseStructurePrefix(query: string): { mode: StructureMode; value: string } {
      const match = /^(smiles|inchikey)\s*:\s*(.+)$/i.exec(query.trim());
      if (match) {
      return { mode: match[1].toLowerCase() as 'smiles' | 'inchikey', value: match[2].trim() };
      }
      return { mode: 'auto', value: query.trim() };
      }