svelte-meta-tags
Version:
Svelte Meta Tags provides components designed to help you manage SEO for Svelte projects
44 lines (43 loc) • 1.21 kB
JavaScript
/**
* A convenience wrapper for creating a readonly, type-safe
* {@link MetaTagsProps} object for `+layout`.
*
* @param obj the input props
* @returns a frozen copy of the input props inside a ready-to-use object
*
* @example
* ```typescript
* // In +layout.ts
* export const load = () => {
* const baseTags = defineBaseMetaTags({
* title: 'My App',
* description: 'Welcome to my application'
* });
* return { ...baseTags };
* };
* ```
*/
export const defineBaseMetaTags = (obj) => ({ baseMetaTags: Object.freeze(obj) });
/**
* A convenience wrapper for creating a readonly, type-safe
* {@link MetaTagsProps} object for `+page`.
*
* @param obj the input props
* @returns a frozen copy of the input props inside a ready-to-use object
*
* @example
* ```typescript
* // In +page.ts
* export const load = () => {
* const pageTags = definePageMetaTags({
* title: 'About Us',
* description: 'Learn more about our company'
* });
* return { ...pageTags };
* };
*
* // In +layout.svelte
* const metaTags = deepMerge(data.baseMetaTags, page.data.pageMetaTags);
* ```
*/
export const definePageMetaTags = (obj) => ({ pageMetaTags: Object.freeze(obj) });