mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 09:25:06 +03:00
Fix dart ref items
This commit is contained in:
1 parent
1bad0a589b
commit
747a259a7b
7 files changed
+298
-189
No files matched your search
@@ -82,8 +82,8 @@ export const highlightSelectedNavItem = (id: string) => {
|
||||
const navMenuItems = document.querySelectorAll('.function-link-item a')
|
||||
|
||||
// find any currently active items and remove them
|
||||
const currentActiveItem = document.querySelector('.function-link-list .text-brand-900')
|
||||
currentActiveItem?.classList.remove('text-brand-900')
|
||||
const currentActiveItems = document.querySelectorAll('.function-link-list .text-brand-900')
|
||||
currentActiveItems.forEach((item) => item.classList.remove('text-brand-900'))
|
||||
|
||||
// Add active class to the current item
|
||||
navMenuItems.forEach((item) => {
|
||||
|
||||
@@ -276,9 +276,24 @@ const SideNav = () => {
|
||||
<NavigationMenuGuideList id={'platform'} currentLevel={level} setLevel={setLevel} />
|
||||
|
||||
{/* reference level */}
|
||||
<NavigationMenuRefList id={'reference_javascript'} currentLevel={level} setLevel={setLevel} />
|
||||
<NavigationMenuRefList id={'reference_dart'} currentLevel={level} setLevel={setLevel} />
|
||||
<NavigationMenuCliList id={'reference_cli'} currentLevel={level} setLevel={setLevel} />
|
||||
<NavigationMenuRefList
|
||||
id={'reference_javascript'}
|
||||
currentLevel={level}
|
||||
setLevel={setLevel}
|
||||
lib="js"
|
||||
/>
|
||||
<NavigationMenuRefList
|
||||
id={'reference_dart'}
|
||||
currentLevel={level}
|
||||
setLevel={setLevel}
|
||||
lib="dart"
|
||||
/>
|
||||
<NavigationMenuCliList
|
||||
id={'reference_cli'}
|
||||
currentLevel={level}
|
||||
setLevel={setLevel}
|
||||
lib="cli"
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -12,9 +12,8 @@ import Image from 'next/image'
|
||||
|
||||
const allFunctions = Object.values(clientLibsCommonSections.sections.functions)
|
||||
|
||||
const introItems = Object.values(clientLibsCommonSections.sections.intro.js.items)
|
||||
|
||||
const NavigationMenuRefList = ({ currentLevel, setLevel, id }) => {
|
||||
const NavigationMenuRefList = ({ currentLevel, setLevel, id, lib }) => {
|
||||
const introItems = Object.values(clientLibsCommonSections.sections.intro[lib].items)
|
||||
const router = useRouter()
|
||||
|
||||
const menu = NavItems[id]
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
id: release-notes
|
||||
title: Release Notes
|
||||
---
|
||||
|
||||
## dart this is the release notes file.
|
||||
@@ -21,7 +21,7 @@ import dartSpec from '~/../../spec/supabase_dart_v1_temp_new_shape.yml' assert {
|
||||
|
||||
// @ts-expect-error
|
||||
import commonLibSpec from '~/../../spec/common-client-libs.yml' assert { type: 'yml' }
|
||||
|
||||
import commonLibJson from '~/../../spec/common-client-libs-sections.json'
|
||||
import { IconDatabase, Tabs } from 'ui'
|
||||
import CodeBlock from '~/components/CodeBlock/CodeBlock'
|
||||
|
||||
@@ -33,7 +33,14 @@ import RefSubLayout from '~/layouts/ref/RefSubLayout'
|
||||
|
||||
import OldLayout from '~/layouts/Default'
|
||||
|
||||
import clientLibsCommonSections from '~/../../spec/common-client-libs-sections.json'
|
||||
|
||||
const allFunctions = Object.values(clientLibsCommonSections.sections.functions)
|
||||
.map((fn: any) => fn.items)
|
||||
.flat(2)
|
||||
|
||||
export default function DartReference(props) {
|
||||
console.log('docs', props.docs)
|
||||
const router = useRouter()
|
||||
const slug = router.query.slug[0]
|
||||
|
||||
@@ -59,169 +66,241 @@ export default function DartReference(props) {
|
||||
}
|
||||
|
||||
return (
|
||||
<RefSubLayout>
|
||||
{dartSpec.functions.map((item, itemIndex) => {
|
||||
const hasTsRef = item['$ref'] || null
|
||||
const tsDefinition = hasTsRef && extractTsDocNode(hasTsRef, jsTypeSpec)
|
||||
const parameters = hasTsRef ? generateParameters(tsDefinition) : ''
|
||||
<>
|
||||
<RefSubLayout>
|
||||
<div>~~~Preamble pages~~~</div>
|
||||
{props.docs
|
||||
.filter((doc) => doc.introPage)
|
||||
.map((item) => (
|
||||
<RefSubLayout.Section
|
||||
key={item.id}
|
||||
title={item.meta.title}
|
||||
id={item.id}
|
||||
slug={item.id}
|
||||
scrollSpyHeader={true}
|
||||
>
|
||||
<RefSubLayout.Details>
|
||||
<MDXRemote {...item.content} components={components} />
|
||||
</RefSubLayout.Details>
|
||||
</RefSubLayout.Section>
|
||||
))}
|
||||
</RefSubLayout>
|
||||
<hr />
|
||||
<RefSubLayout>
|
||||
{/* jsSpec.functions.map((item, itemIndex) => { */}
|
||||
{props.docs
|
||||
.filter((doc) => !doc.introPage)
|
||||
.map((doc, itemIndex) => {
|
||||
const item = dartSpec.functions.find((x) => x.id === doc.id)
|
||||
const hasTsRef = item['$ref'] || null
|
||||
const tsDefinition = hasTsRef && extractTsDocNode(hasTsRef, jsTypeSpec)
|
||||
const parameters = hasTsRef ? generateParameters(tsDefinition) : ''
|
||||
// const functionMarkdownContent = props?.docs[itemIndex]?.content
|
||||
// ? props?.docs[itemIndex]?.content
|
||||
// : null
|
||||
const shortText = hasTsRef ? tsDefinition.signatures[0].comment.shortText : ''
|
||||
|
||||
const functionMarkdownContent = props?.docs[itemIndex]?.content
|
||||
const shortText = hasTsRef ? tsDefinition.signatures[0].comment.shortText : ''
|
||||
// const introFileMarkdownContent =
|
||||
//console.log('props.docs', props.docs)
|
||||
// if (item.id !== 'db-modifiers-select') return <></>
|
||||
|
||||
return (
|
||||
<RefSubLayout.Section
|
||||
key={item.id}
|
||||
title={item.title}
|
||||
id={item.id}
|
||||
slug={commonLibSpec.functions.find((commonItem) => commonItem.id === item.id).slug}
|
||||
scrollSpyHeader={true}
|
||||
>
|
||||
<RefSubLayout.Details>
|
||||
return (
|
||||
<>
|
||||
<header className={['mb-16'].join(' ')}>
|
||||
{shortText && <ReactMarkdown className="text-sm">{shortText}</ReactMarkdown>}
|
||||
</header>
|
||||
<RefSubLayout.Section
|
||||
key={item.id}
|
||||
title={item.title}
|
||||
// examples.functions[itemIndex] doesn't pull the right title
|
||||
// and the ids don't match up, so we can't select that way
|
||||
// removing for now
|
||||
// title={
|
||||
// examples.functions[itemIndex].title ??
|
||||
// examples.functions[itemIndex].id ??
|
||||
// item.name ??
|
||||
// item.id
|
||||
// }
|
||||
id={item.id}
|
||||
slug={allFunctions.find((commonItem) => commonItem.id === item.id).slug}
|
||||
scrollSpyHeader={true}
|
||||
>
|
||||
<RefSubLayout.Details>
|
||||
<>
|
||||
<header className={['mb-16'].join(' ')}>
|
||||
{shortText && (
|
||||
<ReactMarkdown className="text-sm">{shortText}</ReactMarkdown>
|
||||
)}
|
||||
</header>
|
||||
|
||||
{item.description && (
|
||||
<div className="prose">
|
||||
<ReactMarkdown className="text-sm">{item.description}</ReactMarkdown>
|
||||
</div>
|
||||
)}
|
||||
{functionMarkdownContent && (
|
||||
<div className="prose">
|
||||
<MDXRemote {...functionMarkdownContent} components={components} />
|
||||
</div>
|
||||
)}
|
||||
{item.notes && (
|
||||
<div className="prose">
|
||||
<ReactMarkdown className="text-sm">{item.notes}</ReactMarkdown>
|
||||
</div>
|
||||
)}
|
||||
{/* // parameters */}
|
||||
{parameters && (
|
||||
<div className="not-prose mt-12">
|
||||
<h5 className="mb-3 text-base">Parameters</h5>
|
||||
<ul className="">
|
||||
{parameters.map((param) => {
|
||||
// grab override params from yaml file
|
||||
const overrideParams = item.overrideParams
|
||||
{item.description && (
|
||||
<div className="prose">
|
||||
<ReactMarkdown className="text-sm">{item.description}</ReactMarkdown>
|
||||
</div>
|
||||
)}
|
||||
{/* {functionMarkdownContent && (
|
||||
<div className="prose">
|
||||
<MDXRemote {...functionMarkdownContent} components={components} />
|
||||
</div>
|
||||
)} */}
|
||||
{item.notes && (
|
||||
<div className="prose">
|
||||
<ReactMarkdown className="text-sm">{item.notes}</ReactMarkdown>
|
||||
</div>
|
||||
)}
|
||||
{/* // parameters */}
|
||||
{parameters && (
|
||||
<div className="not-prose mt-12">
|
||||
<h5 className="mb-3 text-base text-scale-1200">Parameters</h5>
|
||||
<ul className="">
|
||||
{parameters.map((param) => {
|
||||
// grab override params from yaml file
|
||||
const overrideParams = item.overrideParams
|
||||
|
||||
// params from the yaml file can override the params from parameters if it matches the name
|
||||
const overide = overrideParams?.filter((x) => {
|
||||
return param.name === x.name
|
||||
})
|
||||
// params from the yaml file can override the params from parameters if it matches the name
|
||||
const overide = overrideParams?.filter((x) => {
|
||||
return param.name === x.name
|
||||
})
|
||||
|
||||
const paramItem = overide?.length > 0 ? overide[0] : param
|
||||
const paramItem = overide?.length > 0 ? overide[0] : param
|
||||
|
||||
return (
|
||||
<Param {...paramItem} key={paramItem.title}>
|
||||
{paramItem.subContent && (
|
||||
<div className="mt-3">
|
||||
<Options>
|
||||
{param.subContent.map((param) => {
|
||||
return <Options.Option {...param} />
|
||||
})}
|
||||
</Options>
|
||||
</div>
|
||||
)}
|
||||
</Param>
|
||||
)
|
||||
})}
|
||||
</ul>
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
</RefSubLayout.Details>
|
||||
<RefSubLayout.Examples>
|
||||
{item.examples && (
|
||||
<>
|
||||
<Tabs
|
||||
defaultActiveId={item.examples[0].id}
|
||||
size="small"
|
||||
type="underlined"
|
||||
scrollable
|
||||
>
|
||||
{item.examples &&
|
||||
item.examples.map((example, exampleIndex) => {
|
||||
const exampleString = `
|
||||
import { createClient } from '@supabase/supabase-js'
|
||||
|
||||
// Create a single supabase client for interacting with your database
|
||||
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key')
|
||||
`
|
||||
const currentExampleId = example.id
|
||||
const staticExample = item.examples[exampleIndex]
|
||||
|
||||
const response = staticExample.response
|
||||
const sql = staticExample?.data?.sql
|
||||
const tables = staticExample?.data?.tables
|
||||
|
||||
return (
|
||||
<Tabs.Panel id={example.id} label={example.name}>
|
||||
{tables &&
|
||||
tables.length > 0 &&
|
||||
tables.map((table) => {
|
||||
return (
|
||||
<div className="bg-scale-300 border rounded prose max-w-none">
|
||||
<div className="bg-scale-200 px-5 py-2">
|
||||
<div className="flex gap-2 items-center">
|
||||
<div className="text-brand-900">
|
||||
<IconDatabase size={16} />
|
||||
</div>
|
||||
<h5 className="text-xs text-scale-1200">{table.name}</h5>
|
||||
</div>
|
||||
return (
|
||||
<Param {...paramItem}>
|
||||
{paramItem.subContent && (
|
||||
<div className="mt-3">
|
||||
<Options>
|
||||
{param.subContent.map((param) => {
|
||||
return <Options.Option {...param} />
|
||||
})}
|
||||
</Options>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
})}
|
||||
{sql && (
|
||||
<CodeBlock
|
||||
className="useless-code-block-class"
|
||||
language="sql"
|
||||
hideLineNumbers={true}
|
||||
>
|
||||
{sql}
|
||||
</CodeBlock>
|
||||
)}
|
||||
<CodeBlock
|
||||
className="useless-code-block-class"
|
||||
language="js"
|
||||
hideLineNumbers={true}
|
||||
>
|
||||
{exampleString +
|
||||
(example.code &&
|
||||
example.code
|
||||
.replace('```', '')
|
||||
.replace('js', '')
|
||||
.replace('```', ''))}
|
||||
</CodeBlock>
|
||||
{response && (
|
||||
<>
|
||||
<CodeBlock
|
||||
className="useless-code-block-class"
|
||||
language="json"
|
||||
hideLineNumbers={true}
|
||||
)}
|
||||
</Param>
|
||||
)
|
||||
})}
|
||||
</ul>
|
||||
</div>
|
||||
)}
|
||||
</>
|
||||
</RefSubLayout.Details>
|
||||
<RefSubLayout.Examples>
|
||||
{item.examples && (
|
||||
<>
|
||||
<Tabs
|
||||
defaultActiveId={item.examples[0].id}
|
||||
size="tiny"
|
||||
type="rounded-pills"
|
||||
scrollable
|
||||
>
|
||||
{item.examples &&
|
||||
item.examples.map((example, exampleIndex) => {
|
||||
const exampleString = `
|
||||
import { createClient } from '@supabase/supabase-js'
|
||||
|
||||
// Create a single supabase client for interacting with your database
|
||||
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key')
|
||||
`
|
||||
const currentExampleId = example.id
|
||||
const staticExample = item.examples[exampleIndex]
|
||||
|
||||
const response = staticExample.response
|
||||
const sql = staticExample?.data?.sql
|
||||
const tables = staticExample?.data?.tables
|
||||
|
||||
return (
|
||||
<Tabs.Panel
|
||||
id={example.id}
|
||||
label={example.name}
|
||||
className="flex flex-col gap-3"
|
||||
>
|
||||
{response}
|
||||
</CodeBlock>
|
||||
</>
|
||||
)}
|
||||
</Tabs.Panel>
|
||||
)
|
||||
})}
|
||||
</Tabs>
|
||||
</>
|
||||
)}
|
||||
</RefSubLayout.Examples>
|
||||
</RefSubLayout.Section>
|
||||
)
|
||||
})}
|
||||
</RefSubLayout>
|
||||
{((tables && tables.length > 0) || sql) && (
|
||||
<ReferenceDetailCollapse
|
||||
id={`${example.id}-${exampleIndex}-data`}
|
||||
label="Example data source"
|
||||
defaultOpen={false}
|
||||
>
|
||||
<>
|
||||
{tables &&
|
||||
tables.length > 0 &&
|
||||
tables.map((table) => {
|
||||
return (
|
||||
<div className="bg-scale-300 border rounded prose max-w-none">
|
||||
<div className="bg-scale-200 px-5 py-2">
|
||||
<div className="flex gap-2 items-center">
|
||||
<div className="text-brand-900">
|
||||
<IconDatabase size={16} />
|
||||
</div>
|
||||
<h5 className="text-xs text-scale-1200">
|
||||
{table.name}
|
||||
</h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
})}
|
||||
{sql && (
|
||||
<CodeBlock
|
||||
className="useless-code-block-class my-0 border border-t-0 border-scale-500 !rounded-tl-none !rounded-tr-none"
|
||||
language="sql"
|
||||
hideLineNumbers={true}
|
||||
>
|
||||
{sql}
|
||||
</CodeBlock>
|
||||
)}
|
||||
</>
|
||||
</ReferenceDetailCollapse>
|
||||
)}
|
||||
|
||||
<CodeBlock
|
||||
className="useless-code-block-class"
|
||||
language="js"
|
||||
hideLineNumbers={true}
|
||||
>
|
||||
{exampleString +
|
||||
(example.code &&
|
||||
example.code
|
||||
.replace('```', '')
|
||||
.replace('js', '')
|
||||
.replace('```', ''))}
|
||||
</CodeBlock>
|
||||
{response && (
|
||||
<ReferenceDetailCollapse
|
||||
id={`${example.id}-${exampleIndex}-response`}
|
||||
label="Example response"
|
||||
defaultOpen={false}
|
||||
>
|
||||
<CodeBlock
|
||||
className="useless-code-block-class"
|
||||
language="js"
|
||||
hideLineNumbers={true}
|
||||
>
|
||||
{response
|
||||
.replace('```', '')
|
||||
.replace('json', '')
|
||||
.replace('```', '')}
|
||||
</CodeBlock>
|
||||
</ReferenceDetailCollapse>
|
||||
)}
|
||||
</Tabs.Panel>
|
||||
)
|
||||
})}
|
||||
</Tabs>
|
||||
</>
|
||||
)}
|
||||
</RefSubLayout.Examples>
|
||||
</RefSubLayout.Section>
|
||||
</>
|
||||
)
|
||||
})}
|
||||
</RefSubLayout>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export async function getStaticProps({ params }: { params: { slug: string[] } }) {
|
||||
const pages = dartSpec.functions.map((x) => x.id)
|
||||
// an array of ids of the intro sections for this library
|
||||
const introPages = commonLibJson.sections.intro.dart.items.map((item) => item.id)
|
||||
|
||||
const specPpages = allFunctions.filter((fn) => fn.libs.includes('dart')).map((x) => x.id)
|
||||
|
||||
const pages = [...introPages, ...specPpages]
|
||||
|
||||
/**
|
||||
* Read all the markdown files that might have
|
||||
@@ -231,7 +310,7 @@ export async function getStaticProps({ params }: { params: { slug: string[] } })
|
||||
*/
|
||||
const allMarkdownDocs = await Promise.all(
|
||||
pages.map(async (x, i) => {
|
||||
const pathName = `docs/ref/js/${x}.mdx`
|
||||
const pathName = `docs/ref/dart/${x}.mdx`
|
||||
|
||||
function checkFileExists(x) {
|
||||
// console.log('checking this ', x)
|
||||
@@ -254,6 +333,7 @@ export async function getStaticProps({ params }: { params: { slug: string[] } })
|
||||
title: x,
|
||||
// ...content,
|
||||
meta: data,
|
||||
introPage: introPages.includes(x),
|
||||
content: content ? await serialize(content || '') : null,
|
||||
}
|
||||
})
|
||||
|
||||
@@ -42,6 +42,7 @@ const allFunctions = Object.values(clientLibsCommonSections.sections.functions)
|
||||
.flat(2)
|
||||
|
||||
export default function JSReference(props) {
|
||||
console.log('docs', props.docs)
|
||||
const router = useRouter()
|
||||
|
||||
const slug = router.query.slug[0]
|
||||
@@ -127,9 +128,7 @@ export default function JSReference(props) {
|
||||
// item.id
|
||||
// }
|
||||
id={item.id}
|
||||
slug={
|
||||
commonLibSpec.functions.find((commonItem) => commonItem.id === item.id).slug
|
||||
}
|
||||
slug={allFunctions.find((commonItem) => commonItem.id === item.id).slug}
|
||||
scrollSpyHeader={true}
|
||||
>
|
||||
<RefSubLayout.Details>
|
||||
@@ -214,8 +213,6 @@ const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key
|
||||
const sql = staticExample?.data?.sql
|
||||
const tables = staticExample?.data?.tables
|
||||
|
||||
const [dataOpen, setDataOpen] = useState(false)
|
||||
|
||||
return (
|
||||
<Tabs.Panel
|
||||
id={example.id}
|
||||
|
||||
@@ -18,11 +18,23 @@
|
||||
},
|
||||
"js_v1": {
|
||||
"title": "Getting Started",
|
||||
"items": []
|
||||
"items": [
|
||||
{
|
||||
"id": "release-notes",
|
||||
"title": "Release Notes",
|
||||
"slug": "release-notes"
|
||||
}
|
||||
]
|
||||
},
|
||||
"dart": {
|
||||
"title": "Getting Started",
|
||||
"items": []
|
||||
"items": [
|
||||
{
|
||||
"id": "release-notes",
|
||||
"title": "Release Notes",
|
||||
"slug": "release-notes"
|
||||
}
|
||||
]
|
||||
},
|
||||
"dart_v0": {
|
||||
"title": "Getting Started",
|
||||
@@ -281,7 +293,7 @@
|
||||
"slug": "db-modifiers-select",
|
||||
"product": "database",
|
||||
"parent": "modifiers",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "order",
|
||||
@@ -313,7 +325,7 @@
|
||||
"slug": "db-abortsignal",
|
||||
"product": "database",
|
||||
"parent": "modifiers",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "single",
|
||||
@@ -329,7 +341,7 @@
|
||||
"slug": "maybesingle",
|
||||
"product": "database",
|
||||
"parent": "modifiers",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "csv",
|
||||
@@ -337,7 +349,7 @@
|
||||
"slug": "db-csv",
|
||||
"product": "database",
|
||||
"parent": "modifiers",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -356,63 +368,63 @@
|
||||
"title": "Sign in",
|
||||
"slug": "auth-signin",
|
||||
"product": "auth",
|
||||
"libs": ["js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "send-mobile-otp",
|
||||
"title": "sendMobileOTP()",
|
||||
"slug": "auth-api-sendmobileotp",
|
||||
"product": "auth",
|
||||
"libs": ["js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "sign-in-with-password",
|
||||
"title": "Sign in with password",
|
||||
"slug": "auth-signinwithpassword",
|
||||
"product": "auth",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "sign-in-with-otp",
|
||||
"title": "Sign in with OTP",
|
||||
"slug": "auth-signinwithotp",
|
||||
"product": "auth",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "sign-in-with-oauth",
|
||||
"title": "Sign in with 0auth",
|
||||
"slug": "auth-signinwithoauth",
|
||||
"product": "auth",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "sign-out",
|
||||
"title": "signOut()",
|
||||
"slug": "auth-signout",
|
||||
"product": "auth",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "verify-otp",
|
||||
"title": "verifyOtp()",
|
||||
"slug": "auth-verifyotp",
|
||||
"product": "auth",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "current-session",
|
||||
"title": "currentSession()",
|
||||
"slug": "auth-currentsession",
|
||||
"product": "auth",
|
||||
"libs": ["dart", "dart_v0"]
|
||||
"libs": ["dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "current-user",
|
||||
"title": "currentUser()",
|
||||
"slug": "auth-currentuser",
|
||||
"product": "auth",
|
||||
"libs": ["dart", "dart_v0"]
|
||||
"libs": ["dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "get-session",
|
||||
@@ -440,7 +452,7 @@
|
||||
"title": "updateUser()",
|
||||
"slug": "auth-updateuser",
|
||||
"product": "auth",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "set-session",
|
||||
@@ -455,14 +467,14 @@
|
||||
"title": "onAuthStateChange()",
|
||||
"slug": "auth-onauthstatechange",
|
||||
"product": "auth",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "reset-password-for-email",
|
||||
"title": "resetPasswordForEmail()",
|
||||
"slug": "auth-resetpasswordforemail",
|
||||
"product": "auth",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -568,21 +580,21 @@
|
||||
"title": "removeSubscription()",
|
||||
"slug": "removesubscription",
|
||||
"product": "realtime",
|
||||
"libs": ["dart", "dart_v0"]
|
||||
"libs": ["dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "remove-all-subscriptions",
|
||||
"title": "removeallsubscriptions()",
|
||||
"slug": "removeallsubscriptions",
|
||||
"product": "realtime",
|
||||
"libs": ["dart", "dart_v0"]
|
||||
"libs": ["dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "get-subscriptions",
|
||||
"title": "getSubscriptions()",
|
||||
"slug": "getsubscriptions",
|
||||
"product": "realtime",
|
||||
"libs": ["dart", "dart_v0"]
|
||||
"libs": ["dart_v0"]
|
||||
},
|
||||
|
||||
{
|
||||
@@ -693,7 +705,7 @@
|
||||
"title": "from.copy()",
|
||||
"slug": "storage-from-copy",
|
||||
"product": "storage",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "from-remove",
|
||||
@@ -714,14 +726,14 @@
|
||||
"title": "from.createSignedUrls()",
|
||||
"slug": "storage-from-createsignedurls",
|
||||
"product": "storage",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js", "js_v1", "dart_v0"]
|
||||
},
|
||||
{
|
||||
"id": "from-get-public-url",
|
||||
"title": "from.getPublicUrl()",
|
||||
"slug": "storage-from-getpublicurl",
|
||||
"product": "storage",
|
||||
"libs": ["js", "js_v1", "dart", "dart_v0"]
|
||||
"libs": ["js2", "js_v1", "dart", "dart_v0"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user