155 entries across 30 modules.
Internal badge state tracked across events.
The initial badge state (idle, no results).
A badge-lifecycle event fed to reduceBadge.
What the controller should render on the badge after handling an event.
A client for the Cactus Chemical Identifier Resolver API.
This class provides methods to retrieve various chemical information including names, structures, properties, and identifiers from the NCI Cactus service.
API Documentation: https://cactus.nci.nih.gov/chemical/structure_documentation
This service works as a resolver for different chemical structure identifiers and allows one to convert a given structure identifier into another representation or structure identifier. You can either use the web form of the resolver or the following simple URL API scheme:
http:///chemical/structure/"structure identifier"/"representation"
The service returns the requested new structure representation with a corresponding MIME-Type specification (in most cases MIME-Type: "text/plain"). If a requested URL is not resolvable for the service an HTML 404 status message is returned. In the (unlikely) case of an error, an HTML 500 status message is generated.
Query-string key that flags the full-tab view.
Value of VIEW_PARAM that identifies the full-tab view.
Where a corpus title was read from.
Which cached stores to build the corpus from. The plain-English aliases
("both", "cache", "results") are accepted alongside the store names so the
console call reads naturally.
One cached product title plus the provenance needed to interpret a score.
Options for fuzzTest / scoreCorpus.
A corpus entry annotated with a single score.
Result of scoring a corpus with every active scorer.
Options for astTest / evaluateCorpusAst.
A corpus entry that failed the AST predicate, with the leaves responsible.
Result of evaluating a corpus against a parsed search query.
A singleton LRU (Least Recently Used) cache for HTTP responses, backed by
cstorage.local for persistence across browser sessions.
The cache uses a doubly-linked list combined with a Map for O(1) lookups,
insertions, and evictions. When the cache exceeds its configured capacity,
the least recently accessed entry is automatically evicted.
State is persisted to cstorage.local on every mutation so that
cached responses survive extension restarts and browser closures.
Custom event name dispatched when search results are cleared.
Consumers listen for this via window.addEventListener to replace
the former cstorage.onChanged pattern for search_results.
Custom event name dispatched when supplier stats are updated. Consumers listen for this to live-refresh stats during searches.
Custom event name dispatched when the cached exports change (added, deleted, or cleared). The export-history list listens for this to live-refresh.
A cached spreadsheet export: the generated .xlsx Blob plus the metadata the
export-history list displays. Stored in the exports object store.
Per-store record count + serialized JSON size, plus the summed total.
Barrel re-export; see BadgeAnimator.
Barrel re-export; see BadgeAnimator.
Barrel re-export; see Cactus.
Barrel re-export; see Cactus.
Barrel re-export; see Logger.
Barrel re-export; see Logger.
Barrel re-export; see ProductBuilder.
Barrel re-export; see ProductBuilder.
Barrel re-export; see Pubchem.
Barrel re-export; see Pubchem.
Barrel re-export; see SupplierCache.
Barrel re-export; see SupplierCache.
Build-mode flag derived from Vite's import.meta.env.MODE.
true for any non-production Vite build: the dev server (pnpm dev),
--mode=development, --mode=aggregate, --mode=mock, and Vitest
(which uses MODE === "test"). false only for --mode=production
(i.e. pnpm build:prod).
Vite replaces import.meta.env.MODE with a string literal at build time,
so downstream if (!IS_DEV_BUILD) branches collapse to dead code in prod
and are removed by Rollup's tree-shaking.
Builder class for constructing Product objects with a fluent interface. Implements the Builder pattern to handle complex product construction with optional fields and data validation.
A utility class for interacting with the PubChem API to retrieve chemical compound information.
This class provides methods to search for compounds, retrieve their CID (Compound ID), and query detailed molecular properties using PubChem's SDQ (Structure Data Query) agent.
Persists the small bookkeeping record behind the "leave a review" prompt: when the extension was installed, how many searches the user has run, how many products those searches returned, and the prompt's dismissal state.
Stored as a single object under CACHE.REVIEW_PROMPT in
chrome.storage.local (via cstorage). Every mutation is a
read-modify-write of that one record; reads normalize partial or legacy shapes
so callers always receive a fully-populated ReviewPromptState.
The review-prompt record persisted under CACHE.REVIEW_PROMPT.
The kind of thing a single search term looks like. Used purely to colorize the search box — it does not change search behavior.
Options for scoreAstMatch.
How a typed query is being interpreted, driving the search box's visual treatment.
The token classes the highlighter colorizes.
A single highlightable span over the raw query string.
Result of highlighting a query: markup plus how the query is interpreted.
Bare words that act as boolean operators (case-insensitive).
A leaf field-match condition in a CONTAINS filter tree.
A node in a generic boolean CONTAINS filter tree, shared by GraphQL backends
(Wix, Magento2) whose filter input uses the same and/or/not/term
shape. Either a leaf ContainsTermFilter or a boolean combinator.
A single search phrase leaf (e.g. Potassium Permanganate).
Boolean AND of two sub-expressions.
Boolean OR of two sub-expressions.
Boolean negation of a sub-expression.
A node in the normalized search-query tree.
The result of parsing a raw search string.
Wire-format version. Bumped if the envelope shape ever changes.
Envelope wrapping a compressed JSON payload. Detected on read via isLzEnvelope.
Listener registered by callers of cstorage.onChanged.addListener.
Compression-aware wrapper around chrome.storage. Use exactly like
chrome.storage.local / chrome.storage.session, but values are
transparently LZ-compressed at rest.
Utility class for managing supplier data caching in IndexedDB. Provides a robust caching system for both query results and product detail data.
A utility class for managing Chrome extension badge animations and styling. Provides methods to animate the badge with different character sets, set colors, and control the animation timing. The badge can be used to show loading states, progress indicators, or other status information in the Chrome extension icon.