Skip to content

astroway/astroway-react

Repository files navigation

@astroway/react

Official React companion for @astroway/sdk — natal charts, synastry, transits, Vedic dashas, AI horoscopes. Provider + hooks, zero extra dependencies.

npm version License: MIT

Install

npm install @astroway/react @astroway/sdk react

@astroway/sdk and react (>=18) are peer dependencies — bring your own.

Quick start

import { AstrowayProvider, useNatalChart } from '@astroway/react';

function App() {
  return (
    <AstrowayProvider options={{ apiKey: import.meta.env.VITE_AW_KEY }}>
      <Chart />
    </AstrowayProvider>
  );
}

function Chart() {
  const { data, error, loading } = useNatalChart({
    date: '1990-01-15',
    time: '14:30:00',
    timezoneOffset: 3,
    latitude: 50.45,
    longitude: 30.52,
  });
  if (loading) return <p>Computing chart…</p>;
  if (error) return <p>Error: {error.message}</p>;
  return <pre>{JSON.stringify(data, null, 2)}</pre>;
}

API

<AstrowayProvider>

Wrap your tree once near the root. Pass either a pre-built client or inline options:

<AstrowayProvider options={{ apiKey: 'aw_live_…' }}>
<AstrowayProvider client={existingAstrowayInstance}>

useAstroway()

Returns the wrapped Astroway instance — escape hatch for one-off imperative calls inside event handlers / effects.

useAstrowayQuery(factory)

Generic query hook. Pass a (aw) => Promise<T> factory; returns { data, error, loading }. Pass null to skip:

const { data, error, loading } = useAstrowayQuery(
  useCallback((aw) => aw.synastry.aspectGrid({ a: bodyA, b: bodyB }), [bodyA, bodyB]),
);

Wrap the factory in useCallback (or memoise its body) — the effect re-runs on factory identity change, exactly like react-query's queryFn.

useNatalChart(body)

Convenience hook for POST /v1/chart. Pass null to skip the call (useful while waiting on form input).

Stability

@astroway/react follows the same SemVer commitment as @astroway/sdk. Pre-1.0 minors may add hooks; alpha/beta/rc patches won't remove or rename existing ones.

Roadmap

  • 0.1.0-alpha.xuseAstrowayQuery, useNatalChart. (current)
  • 0.1.0-alpha.2+useTransits, useSynastry, useVedicDasha typed convenience hooks.
  • 0.1.0-beta.1 — Suspense-compatible variants.
  • 0.1.0-rc.1 — Server-component compatibility (Next.js App Router, "use client" boundaries).
  • 0.1.0 — stable surface freeze.

Links

License

MIT — see LICENSE.

About

Official React companion for @astroway/sdk — AstrowayProvider + useAstroway / useAstrowayQuery / useNatalChart hooks. Zero runtime deps, React 18+, Next.js / Vite / CRA / Remix compatible. AstroWay API natal charts, synastry, transits, Tarot.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors