1.0.3 • Published 12 months ago

@astro-metro/context v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

Astro Context

Save context between components

Allow you to add extra props without the need to manually add them every time

Usage

layouts/Layout.astro

---
import Context from '@astro-metro/context/Context.astro';

function consoleIt(){
    console.log('Hi');
}
---
<Context title="Context is cool" consoleIt={consoleIt}>
    <slot/>
</Context>

components/LayoutTitle.astro

---
import getContextProps from '@astro-metro';

const {title, consoleIt} = getContextProps(Astro);
consoleIt();
---
<h2>{title}</h2>

pages/index.astro

---
import Layout from '../layouts/Layout.astro';
import LayoutTitle from '../components/LayoutTitle.astro';
---
<Layout>
    <LayoutTitle/>
</Layout>

Functions

// if you are module/lib, change the name accordingly
function getContextProps(astro: AstroGlobal, name = "default"): {[key: string]: any}

Every new context inherit the last one

async function readerInContext<T>(promise: () => Promise<T>, astro: AstroGlobal, name = "default"): Promise<T>

Same as Context.astro, help you render astro inside the props context

1.0.3

12 months ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago